{"version":3,"file":"main.e240010b8bf63b5d.js","mappings":"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AC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CU;AAC8B;AACqC;AACH;AACG;AACjD;AAC2C;AACY;AACA;AACQ;AACR;AACZ;AACA;AACjD;AAC0D;AACJ;AAC8B;AACnI,IAAI54M,0BAA0B,GAAG,MAAMA,0BAA0B,CAAC,EACjE;AACDA,0BAA0B,GAAGV,kDAAU,CAAC,CACpCS,wDAAQ,CAAC;EACLc,OAAO,EAAE,CAACf,kEAAsB,CAAC;EACjCgB,YAAY,EAAE,CACVk0M,+GAAsB,EACtByC,4GAAqB,EACrBe,+GAAsB,EACtBpD,yGAAoB,EACpBE,qHAAwB,EACxBC,qHAAwB,EACxB2B,6HAA0B,EAC1BG,6IAA+B,EAC/BF,qHAAwB,EACxBoB,yGAAoB,EACpBD,yGAAoB,EACpBO,mHAAuB,EACvBpB,4GAAqB,EACrBS,+GAAsB,CACzB;EACDn3M,OAAO,EAAE,CACLghB,gEAAmB,EACnBzhB,0DAAY,CACf;EACDU,OAAO,EAAE,CACLg0M,+GAAsB,EACtByC,4GAAqB,EACrBe,+GAAsB,EACtBpD,yGAAoB,EACpBE,qHAAwB,EACxBC,qHAAwB,EACxB8B,6IAA+B,EAC/BH,6HAA0B,EAC1BC,qHAAwB,EACxBoB,yGAAoB,EACpBD,yGAAoB,EACpBb,4GAAqB,EACrBoB,mHAAuB;AAE/B,CAAC,CAAC,CACL,EAAE74M,0BAA0B,CAAC;;;;;;;;;;;AC1D9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AChUA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3BA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACpDA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjBA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC9BA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7BA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACtMA;AACA,+CAA+C,mBAAO,CAAC,4EAAkE;AACzH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACxCA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACvFA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACVA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7wDA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjBA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC9hBA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AClCA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzGA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AClBA;AACA,+CAA+C,mBAAO,CAAC,2FAAiF;AACxI,kCAAkC,mBAAO,CAAC,mFAAwE;AAClH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACrLA;AACA,+CAA+C,mBAAO,CAAC,2FAAiF;AACxI,kCAAkC,mBAAO,CAAC,mFAAwE;AAClH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACpCA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7DA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACrBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7DA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjCA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AClEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3GA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACtDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzCA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACxCA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACrEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/BA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7EA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACxBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjBA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACtCA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/HA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AClDA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC5EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACpHA;AACA,+CAA+C,mBAAO,CAAC,8FAAoF;AAC3I,kCAAkC,mBAAO,CAAC,sFAA2E;AACrH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjKA;AACA,+CAA+C,mBAAO,CAAC,8FAAoF;AAC3I,kCAAkC,mBAAO,CAAC,sFAA2E;AACrH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,8FAAoF;AAC3I,kCAAkC,mBAAO,CAAC,sFAA2E;AACrH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACvKA;AACA,+CAA+C,mBAAO,CAAC,2FAAiF;AACxI,kCAAkC,mBAAO,CAAC,mFAAwE;AAClH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzBA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,qFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC5HA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjHA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACfA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACxJA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACVA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7BA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACrBA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC9CA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACXA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjHA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACpDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC/EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC5HA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjHA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACnFA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjEA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACjDA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7EA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,wFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC7EA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACpFA;AACA,+CAA+C,mBAAO,CAAC,kFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://afla-portal-v2/./projects/afla-common/src/lib/afla-common.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/afla-common.module.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/afla-common.service.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-drop-down/common-drop-down.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-filter-by/common-filter-by.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-pop-up/common-pop-up.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-primary-button/common-primary-button.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-secondary-button/common-secondary-button.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-table/common-table.component.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/constants/shared-constants.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/directives/common-table-sort-header.directive.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/models/sort.model.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/pipes/highlight/highlight-with-column.pipe.ts","webpack://afla-portal-v2/./projects/afla-common/src/lib/utils/search-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app-controller.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app-routing.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app.config.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/dashboard-routing.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/dashboard.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/dashboard.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/dashboard.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/disclaimer-dialog-body/disclaimer-dialog-body.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/disclaimer-dialog-body/disclaimer-dialog-body.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/landing-page/landing-page.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/landing-page/landing-page.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/landing-page/shared/services/landing-page.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/login/login.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/login/login.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/logout/logout.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav-pane-content/nav-pan.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav-pane-content/nav-pane-content.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav-toolbar-content/nav-toolbar-content.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/refresh/refresh-view-application/refresh-view-application.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-documentation/create-application-documentation-enums/create-application-documentation-enums.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-documentation/create-application-documentation.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-documentation/create-application-documentation.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-people-of-interest/create-application-people-of-interest.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-people-of-interest/create-application-people-of-interest.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-details-a/create-application-details-a.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-details-a/create-application-details-a.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-location-a/create-application-location-a.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-location-a/create-application-location-a.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/craate-application-details-bl/create-application-details-bl.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/craate-application-details-bl/create-application-details-bl.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/create-application-location-bl/create-application-location-bl.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/create-application-location-bl/create-application-location-bl.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-details-bpams/create-application-details-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-details-bpams/create-application-details-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/add-building/add-building.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/edit-building/edit-building.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/property-building-heading.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-professional-bodies-bpams/create-application-professional-bodies-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-professional-bodies-bpams/create-application-professional-bodies-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-burial-details-cm/create-burial-details-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-burial-details-cm/create-burial-details-cm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-deceased-details-cm/create-deceased-details-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-deceased-details-cm/create-deceased-details-cm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-family-member-det-cm/create-familly-member-det.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-family-member-det-cm/create-family-member-det-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/shared/custom-validators.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-application-details-dm/create-application-details-dm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-application-details-dm/create-application-details-dm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-location-dm/create-location-dm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-location-dm/create-location-dm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-details-ec/create-application-details-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-details-ec/create-application-details-ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-location-ec/create-application-location-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-location-ec/create-application-location-ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-professional-bodies-ec/create-application-professional-bodies-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-professional-bodies-ec/create-application-professional-bodies-ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-details-itams/create-application-details-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-details-itams/create-application-details-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-location-itams/create-application-location-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-location-itams/create-application-location-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-stakeholders-itams/create-application-stakeholders-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-stakeholders-itams/create-application-stakeholders-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-details-plams/create-application-details-plams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-details-plams/create-application-details-plams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-location-plams/create-application-location-plams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-location-plams/create-application-location-plams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-details-rc/create-application-details-rc.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-details-rc/create-application-details-rc.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-location-rc/create-application-location-rc.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-location-rc/create-application-location-rc.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-details-sn/create-application-details-sn.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-details-sn/create-application-details-sn.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-location-sn/create-application-location-sn.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-location-sn/create-application-location-sn.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-details-tmams/create-application-details-tmams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-details-tmams/create-application-details-tmams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-location-tmams/create-application-location-tmams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-location-tmams/create-application-location-tmams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-details-tpams/create-application-details-tpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-details-tpams/create-application-details-tpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-details-wams/create-application-details-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-details-wams/create-application-details-wams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-location-wams/create-application-location-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-location-wams/create-application-location-wams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-professional-bodies-wams/create-application-professional-bodies-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-professional-bodies-wams/create-application-professional-bodies-wams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-details-zcams/create-application-details-zc.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-details-zcams/create-application-details-zcams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-location-zcams/create-application-location-zc.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-location-zcams/create-application-location-zcams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/application-create.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/create-application-view-base/create-application-view-base.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/create-application.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/add-documents-dialog/add-document-dialog.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/add-documents-dialog/add-documents-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/edit-documents-dialog/edit-documents-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/edit-documents-dialog/edit-documents-dialog.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/refresh/refresh.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/utils/create-application-utils.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/utils/create-application-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/documents-and-information/documents-and-information-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/map-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/bookmark/bookmark.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/draw/draw-buffer/draw-buffer-checkbox.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/draw/draw-buffer/draw-buffer-toolbar.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/draw/draw-remove-all/draw-remove-all.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/extent/extent.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/layer-list/layer-list.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/map.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/map.tools.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/measure/measure.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/search/search.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/search-applications/search-applications-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/search-applications/shared/property-search-option.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/search-applications/shared/search-applications.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/classes/error-state-matcher.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/classes/global-error-handler.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/classes/min-length-array-validator.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/classes/phone-number-validator.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/classes/window-reference.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/alert/alert.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/content-menu/content-menu.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/document-tree-view/document-tree-view.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/help-modal/help-modal.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/input/input.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/page-heading/page-heading.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/pop-up/pop-up.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/primary-button/primary-button.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/pwa-install-bottom-sheet/pwa-install-bottom-sheet.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-list/recipient-list.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-list/recipient-list.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-select/recipient-select.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-select/recipient-select.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/enums/recipient-heading.enum.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/add-recipient-modal/add-recipient-modal.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/confirm-delete-modal/confirm-delete-modal.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/edit-recipient-modal/edit-recipient-modal.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/recipient-filter/recipient-filter.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/recipient-filter/recipient-filter.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/shared-contants/recipient-shared.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/shared-services/recipient.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/secondary-button/secondary-button.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/view-application-stepper/view-application-stepper.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-advertising.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-application-search.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-attachment.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-building-plans.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-business-licence.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-cemetery.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-communication.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-demolition-management.constamt.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-electrical-conection.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-informal-trade.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-lookup.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-module-map.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-module-setting.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-module.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-organisation.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-property-and-lease.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-proxy.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-rates-certificate.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-recipient-group-settings.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-recipient-verification.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-recipient.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-step-meta.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-street-naming.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-town-planning.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-training.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-user-settings.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-user.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-wayleave.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-workflow.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/api-constants/api-zoning-certificate.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/lookup.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/map-service.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/shared.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/constants/url.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/decorators/autounsub-portal.decorator.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/directives/drag-drop.directive.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/guards/auth-guard/auth.guard.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/alert.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/application/generic/recipient.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/crud-operation-enum.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/gpserver-truecentroid-model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/http-status-code-enum.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/link.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/models/module-config.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/app-view-short-date/app-view-short-date.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/highlight/highlight-with-column.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/highlight/highlight.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/sa-long-date/sa-long-date.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/sa-short-date/sa-short-date.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/safeHtml/safe-html.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/pipes/utc-date/utc-date.pipe.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/a-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/afla-module-strategy.service.provider.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/afla-module-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/bl-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/bpams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/cemetery-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/dams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/ec-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/itams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/plams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/rc-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/sn-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/tmams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/tpams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/wams-strategy-service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/afla-module-strategy/zcams-strategy.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/auth/auth.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/background-preload/background-preload.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/login/login.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/module-config/module-config.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/modules/informal-trade.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/modules/property-and-lease.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/odata-query/odata-action.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/odata-query/odata-operator.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/odata-query/odata-query.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/request-status/request-status.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/route-params.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/selected-application/selected-application.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/server-notification/server-notification.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/service-interceptor/server-interceptor.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/storage/local-storage-constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/storage/local-storage.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/storage/session-storage-constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/storage/session-storage.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/storage/storage-base.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/system-module-settings.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/user/user-information.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/services/web-notification/web-notification.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/shared.module.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/date-field-validator.utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/file-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/geometry-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/object-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/recipient-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/utils/wkt-converter-utils.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-details-a/view-application-details-a.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-details-a/view-application-details-a.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-location-a/view-application-location-a.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-location-a/view-application-location-a.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-details-bl/view-application-details-bl.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-details-bl/view-application-details-bl.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-location-bl/view-application-location-bl.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-location-bl/view-application-location-bl.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-details-bpams/view-application-details-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-details-bpams/view-application-details-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-location-bpams/property-building-heading.model.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-professional-bodies-bpams/view-application-professional-bodies-bpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-professional-bodies-bpams/view-application-professional-bodies-bpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-burial-details-cm/view-burial-details-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-burial-details-cm/view-burial-details-cm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-family-member-cm/view-family-member-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-family-member-cm/view-family-member-cm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-funeral-parlour-cm/view-funeral-parlour-cm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-application-details-dm/view-application-details-dm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-application-details-dm/view-application-details-dm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-location-dm/view-location-dm.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-location-dm/view-location-dm.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-details-ec/view-application-details-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-details-ec/view-application-details-ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-location-ec/view-application-location-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-location-ec/view-application-location.ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-professional-bodies-ec/view-application-professional-bodies-ec.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-professional-bodies-ec/view-application-professional-bodies-ec.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-details-itams/view-application-details-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-details-itams/view-application-details-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-location-itams/view-application-location-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-location-itams/view-application-location-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-stakeholders-itams/view-application-stakeholders-itams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-stakeholders-itams/view-application-stakeholders-itams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-details-plams/view-application-details-plams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-details-plams/view-application-details-plams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-location-plams/view-application-location-plams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-location-plams/view-application-location-plams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-details-rc/view-application-details-rc.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-details-rc/view-application-details-rc.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-location-rc/view-application-location-rc.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-location-rc/view-application-location-rc.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-details-sn/view-application-details-sn.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-details-sn/view-application-details-sn.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-location-sn/view-application-location-sn.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-location-sn/view-application-location-sn.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-details-tmams/view-application-details-tmams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-details-tmams/view-application-details-tmams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-location-tmams/view-application-location-tmams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-location-tmams/view-application-location-tmams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-details-tpams/view-application-details-tpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-details-tpams/view-application-details-tpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-location-tpams/view-application-location-tpams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-location-tpams/view-application-location-tpams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-details-wams/view-application-details-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-details-wams/view-application-details-wams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-location-wams/view-application-location-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-professional-bodies-wams/view-application-professional-bodies-wams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-professional-bodies-wams/view-application-professional-bodies-wams.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-details-zcams/view-application-details-zc.constant.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-details-zcams/view-application-details-zcams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-location-zcams/view-application-location-zc.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-location-zcams/view-application-location-zcams.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/application-search-constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/application-search.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/application-view.service.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/add-documents-dialog/add-documents-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/edit-documents-dialog/edit-documents-dialog.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/view-application-base/view-application-base.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/view-application-host.directive.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/view-application.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-documentation/view-application-documentation-enums/view-application-documentation-enums.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-documentation/view-application-documentation.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-documentation/view-application-documentation.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-people-of-interest/view-application-people-of-interest.component.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-people-of-interest/view-application-people-of-interest.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-routing.constants.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/environments/environment.prod.ts","webpack://afla-portal-v2/./projects/afla-portal-v2/src/main.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-button/calcite-button.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-card/calcite-card.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-checkbox/calcite-checkbox.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-combobox/calcite-combobox.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-date-picker/calcite-date-picker.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-dropdown/calcite-dropdown.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-form-multiselect/calcite-form-multiselect.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-input/calcite-input.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-input/required-class.directive.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-link/calcite-link.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-list/calcite-list.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-select/calcite-select.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-stepper/calcite-stepper.component.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-stepper/calcite-stepper.service.ts","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/zaesri-angular-calcite.module.ts","webpack://afla-portal-v2/./node_modules/@arcgis/core/node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack://afla-portal-v2/./node_modules/@esri/calcite-components/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-button/calcite-button.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-card/calcite-card.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-checkbox/calcite-checkbox.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-combobox/calcite-combobox.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-date-picker/calcite-date-picker.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-dropdown/calcite-dropdown.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-form-multiselect/calcite-form-multiselect.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-input/calcite-input.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-link/calcite-link.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-list/calcite-list.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-select/calcite-select.component.css","webpack://afla-portal-v2/./projects/zaesri-angular-calcite/src/lib/calcite/components/calcite-stepper/calcite-stepper.component.css","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-drop-down/common-drop-down.component.scss","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-filter-by/common-filter-by.component.scss","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-pop-up/common-pop-up.component.scss","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-primary-button/common-primary-button.component.scss","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-secondary-button/common-secondary-button.component.scss","webpack://afla-portal-v2/./projects/afla-common/src/lib/components/common-table/common-table.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/app.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/dashboard.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/dashboard/disclaimer-dialog-body/disclaimer-dialog-body.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/landing-page/landing-page.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/login/login.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/logout/logout.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav-pane-content/nav-pane-content.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav-toolbar-content/nav-toolbar-content.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/nav/nav.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/core/refresh/refresh-view-application/refresh-view-application.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-documentation/create-application-documentation.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/create-application-people-of-interest/create-application-people-of-interest.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-details-a/create-application-details-a.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/a/create-application-location-a/create-application-location-a.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/craate-application-details-bl/create-application-details-bl.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bl/create-application-location-bl/create-application-location-bl.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-details-bpams/create-application-details-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/add-building/add-building.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-location-bpams/edit-building/edit-building.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/bp/create-application-professional-bodies-bpams/create-application-professional-bodies-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-burial-details-cm/create-burial-details-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-deceased-details-cm/create-deceased-details-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-family-member-det-cm/create-family-member-det-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-application-details-dm/create-application-details-dm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/dm/create-location-dm/create-location-dm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-details-ec/create-application-details-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-location-ec/create-application-location-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/ec/create-application-professional-bodies-ec/create-application-professional-bodies-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-details-itams/create-application-details-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-location-itams/create-application-location-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/it/create-application-stakeholders-itams/create-application-stakeholders-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-details-plams/create-application-details-plams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/pl/create-application-location-plams/create-application-location-plams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-details-rc/create-application-details-rc.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/rc/create-application-location-rc/create-application-location-rc.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-details-sn/create-application-details-sn.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/sn/create-application-location-sn/create-application-location-sn.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-details-tmams/create-application-details-tmams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tm/create-application-location-tmams/create-application-location-tmams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-details-tpams/create-application-details-tpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-details-wams/create-application-details-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-location-wams/create-application-location-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/w/create-application-professional-bodies-wams/create-application-professional-bodies-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-details-zcams/create-application-details-zcams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/modules/zc/create-application-location-zcams/create-application-location-zcams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/add-documents-dialog/add-documents-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/forms/edit-documents-dialog/edit-documents-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/create-application/shared/refresh/refresh.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/esri-map/esri-map.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/draw/draw-buffer/draw-buffer-checkbox.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/draw/draw-buffer/draw-buffer-toolbar.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/extent/extent.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/map/shared/measure/measure.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/content-menu/content-menu.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/document-tree-view/document-tree-view.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/help-modal/help-modal.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/input/input.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/page-heading/page-heading.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/pop-up/pop-up.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/primary-button/primary-button.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/pwa-install-bottom-sheet/pwa-install-bottom-sheet.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-list/recipient-list.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/recipient-select/recipient-select.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/add-recipient-modal/add-recipient-modal.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/confirm-delete-modal/confirm-delete-modal.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/modal-components/edit-recipient-modal/edit-recipient-modal.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/recipient-components/shared/recipient-filter/recipient-filter.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/secondary-button/secondary-button.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/shared/components/view-application-stepper/view-application-stepper.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-details-a/view-application-details-a.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/a/view-application-location-a/view-application-location-a.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-details-bl/view-application-details-bl.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bl/view-application-location-bl/view-application-location-bl.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-details-bpams/view-application-details-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/bp/view-application-professional-bodies-bpams/view-application-professional-bodies-bpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-burial-details-cm/view-burial-details-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-family-member-cm/view-family-member-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/cm/view-funeral-parlour-cm/view-funeral-parlour-cm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-application-details-dm/view-application-details-dm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/dm/view-location-dm/view-location-dm.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-details-ec/view-application-details-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-location-ec/view-application-location-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/ec/view-application-professional-bodies-ec/view-application-professional-bodies-ec.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-details-itams/view-application-details-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-location-itams/view-application-location-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/it/view-application-stakeholders-itams/view-application-stakeholders-itams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-details-plams/view-application-details-plams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/pl/view-application-location-plams/view-application-location-plams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-details-rc/view-application-details-rc.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/rc/view-application-location-rc/view-application-location-rc.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-details-sn/view-application-details-sn.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/sn/view-application-location-sn/view-application-location-sn.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-details-tmams/view-application-details-tmams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tm/view-application-location-tmams/view-application-location-tmams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-details-tpams/view-application-details-tpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/tp/view-application-location-tpams/view-application-location-tpams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-details-wams/view-application-details-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-location-wams/view-application-location-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/w/view-application-professional-bodies-wams/view-application-professional-bodies-wams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-details-zcams/view-application-details-zcams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/modules/zc/view-application-location-zcams/view-application-location-zcams.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/add-documents-dialog/add-documents-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/shared/forms/edit-documents-dialog/edit-documents-dialog.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-documentation/view-application-documentation.component.scss","webpack://afla-portal-v2/./projects/afla-portal-v2/src/app/view-application/view-application-people-of-interest/view-application-people-of-interest.component.scss","webpack://afla-portal-v2/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { __decorate } from \"tslib\";\nimport { Component } from '@angular/core';\nlet AflaCommonComponent = class AflaCommonComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nAflaCommonComponent = __decorate([\n Component({\n selector: 'lib-afla-common',\n template: `\r\n

\r\n afla-common works!\r\n

\r\n `\n })\n], AflaCommonComponent);\nexport { AflaCommonComponent };\n","import { __decorate } from \"tslib\";\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { AflaCommonComponent } from \"./afla-common.component\";\nimport { ZaesriAngularCalciteModule } from \"../../../zaesri-angular-calcite/src/lib/zaesri-angular-calcite.module\";\nimport { CommonTableComponent } from \"./components/common-table/common-table.component\";\nimport { CommonTableSortHeaderDirective } from \"./directives/common-table-sort-header.directive\";\nimport { CommonFilterByComponent } from \"./components/common-filter-by/common-filter-by.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgPipesModule } from \"ngx-pipes\";\nimport { CommonModule } from \"@angular/common\";\nimport { HighlightWithColumnPipe } from \"./pipes/highlight/highlight-with-column.pipe\";\nimport { CommonDropDownComponent } from \"./components/common-drop-down/common-drop-down.component\";\nimport { CommonPopUpComponent } from \"./components/common-pop-up/common-pop-up.component\";\nimport { CommonSecondaryButtonComponent } from \"./components/common-secondary-button/common-secondary-button.component\";\nimport { CommonPrimaryButtonComponent } from \"./components/common-primary-button/common-primary-button.component\";\nlet AflaCommonModule = class AflaCommonModule {\n};\nAflaCommonModule = __decorate([\n NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [\n AflaCommonComponent,\n CommonTableComponent,\n CommonFilterByComponent,\n CommonDropDownComponent,\n CommonTableSortHeaderDirective,\n HighlightWithColumnPipe,\n CommonPopUpComponent,\n CommonPrimaryButtonComponent,\n CommonSecondaryButtonComponent\n ],\n imports: [\n ZaesriAngularCalciteModule,\n FormsModule,\n NgPipesModule,\n CommonModule\n ],\n exports: [\n AflaCommonComponent,\n CommonTableComponent,\n CommonDropDownComponent,\n CommonFilterByComponent,\n CommonTableSortHeaderDirective,\n CommonPopUpComponent,\n CommonPrimaryButtonComponent,\n CommonSecondaryButtonComponent\n ]\n })\n], AflaCommonModule);\nexport { AflaCommonModule };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from '@angular/core';\nlet AflaCommonService = class AflaCommonService {\n branding;\n constructor() { }\n setThemeColors(branding) {\n this.branding = branding;\n }\n static ctorParameters = () => [];\n};\nAflaCommonService = __decorate([\n Injectable({\n providedIn: 'root'\n })\n], AflaCommonService);\nexport { AflaCommonService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-drop-down.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-drop-down.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet CommonDropDownComponent = class CommonDropDownComponent {\n changeDetectorRef;\n aflaCommonService;\n options = [];\n valueSelected = new EventEmitter();\n stateReset = new EventEmitter();\n preSelected = \"\";\n placeholder = \"\";\n doNotSort = false;\n branding;\n selected = \"\";\n constructor(changeDetectorRef, aflaCommonService) {\n this.changeDetectorRef = changeDetectorRef;\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n ngOnInit() {\n if (this.preSelected && this.options && this.options.indexOf(this.preSelected) < 0) {\n throw new Error(`Pre selected value ${this.preSelected} is not present in the options`);\n }\n this.refreshSelectionOptions();\n this.changeDetectorRef.detectChanges();\n }\n refreshSelectionOptions() {\n if (!this.placeholder) {\n this.placeholder = SharedConstants.PLACEHOLDER_TEXT;\n }\n if (this.preSelected) {\n this.selected = this.preSelected;\n this.valueSelected.emit(this.selected);\n }\n if (!this.doNotSort && this.options)\n this.options.sort();\n }\n emitValueChange($event) {\n const value = $event.target.value;\n if (value === this.placeholder) {\n this.stateReset.emit(true);\n return;\n }\n this.valueSelected.emit(value);\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: AflaCommonService }\n ];\n static propDecorators = {\n options: [{ type: Input }],\n valueSelected: [{ type: Output }],\n stateReset: [{ type: Output }],\n preSelected: [{ type: Input }],\n placeholder: [{ type: Input }],\n doNotSort: [{ type: Input }]\n };\n};\nCommonDropDownComponent = __decorate([\n Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-drop-down[options]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonDropDownComponent);\nexport { CommonDropDownComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-filter-by.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-filter-by.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet CommonFilterByComponent = class CommonFilterByComponent {\n changeDetectorRef;\n aflaCommonService;\n filterByOptions = [];\n filterByChanged = new EventEmitter();\n filterTextChanged = new EventEmitter();\n errorMessageDisplay = new EventEmitter();\n pageName = \"\";\n initialFilterText = \"\";\n initialFilterColumn = \"\";\n branding;\n label = SharedConstants.FILTER_PREFIX;\n filterTextPlaceHolder = \"\";\n filterText = \"\";\n dropDownValue = \"\";\n dropDownPlaceHolder = SharedConstants.FILTER_BY_PLACEHOLDER;\n dropDownDefault = SharedConstants.FILTER_BY_DEFAULT;\n constructor(changeDetectorRef, aflaCommonService) {\n this.changeDetectorRef = changeDetectorRef;\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n ngOnInit() {\n this.filterText = this.initialFilterText;\n this.addFilterByDefault();\n this.initializePlaceHolder();\n if (this.initialFilterColumn) {\n this.dropDownDefault = this.initialFilterColumn;\n this.dropDownValue = this.initialFilterColumn;\n }\n else {\n this.dropDownValue = this.dropDownDefault;\n }\n }\n filterChanged($event) {\n this.dropDownValue = $event;\n this.filterByChanged.emit({\n text: this.filterText || \"\",\n // @ts-ignore\n column: this.dropDownValue\n });\n this.changeDetectorRef.markForCheck();\n }\n textChanged($event) {\n this.filterText = $event;\n if (this.dropDownValue === this.dropDownPlaceHolder) {\n this.errorMessageDisplay.emit(SharedConstants.NO_FILTER_SELECTED_MESSAGE);\n return;\n }\n // @ts-ignore\n this.filterTextChanged.emit({ text: $event, column: this.dropDownValue });\n this.changeDetectorRef.markForCheck();\n }\n addFilterByDefault() {\n if (this.filterByOptions && this.filterByOptions.indexOf(SharedConstants.FILTER_BY_DEFAULT) < 0)\n this.filterByOptions.unshift(SharedConstants.FILTER_BY_DEFAULT);\n if (this.filterByOptions && this.filterByOptions.indexOf(SharedConstants.EXCLUDE_HEADING_ACTIONS) < 0)\n this.filterByOptions.unshift(SharedConstants.EXCLUDE_HEADING_ACTIONS);\n }\n initializePlaceHolder() {\n if (this.pageName) {\n this.filterTextPlaceHolder = `Filter ${this.pageName.toLocaleLowerCase()}`;\n }\n else {\n this.filterTextPlaceHolder = SharedConstants.FILTER_ITEMS_PLACEHOLDER;\n }\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: AflaCommonService }\n ];\n static propDecorators = {\n filterByOptions: [{ type: Input }],\n filterByChanged: [{ type: Output }],\n filterTextChanged: [{ type: Output }],\n errorMessageDisplay: [{ type: Output }],\n pageName: [{ type: Input }],\n initialFilterText: [{ type: Input }],\n initialFilterColumn: [{ type: Input }]\n };\n};\nCommonFilterByComponent = __decorate([\n Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-common-filter-by\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonFilterByComponent);\nexport { CommonFilterByComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-pop-up.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-pop-up.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet CommonPopUpComponent = class CommonPopUpComponent {\n activeModal;\n aflaCommonService;\n title = \"\";\n contentMessage = \"\";\n data;\n updateBtnPlaceholder = SharedConstants.YES_LABEL;\n cancelBtnPlaceholder = SharedConstants.NO_LABEL;\n branding;\n constructor(activeModal, aflaCommonService) {\n this.activeModal = activeModal;\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n onBtnOkClick() {\n this.activeModal.close(this.data);\n }\n onBtnCancel() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AflaCommonService }\n ];\n static propDecorators = {\n title: [{ type: Input }],\n contentMessage: [{ type: Input }],\n data: [{ type: Input }],\n updateBtnPlaceholder: [{ type: Input }],\n cancelBtnPlaceholder: [{ type: Input }]\n };\n};\nCommonPopUpComponent = __decorate([\n Component({\n selector: \"lib-pop-up.component\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonPopUpComponent);\nexport { CommonPopUpComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-primary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-primary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet CommonPrimaryButtonComponent = class CommonPrimaryButtonComponent {\n aflaCommonService;\n displayText = \"\";\n clickCallBack = new EventEmitter();\n disabled = false;\n branding;\n constructor(aflaCommonService) {\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [\n { type: AflaCommonService }\n ];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nCommonPrimaryButtonComponent = __decorate([\n Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-primary-button\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonPrimaryButtonComponent);\nexport { CommonPrimaryButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-secondary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-secondary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet CommonSecondaryButtonComponent = class CommonSecondaryButtonComponent {\n aflaCommonService;\n displayText = \"\";\n clickCallBack = new EventEmitter();\n disabled = false;\n branding;\n constructor(aflaCommonService) {\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [\n { type: AflaCommonService }\n ];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nCommonSecondaryButtonComponent = __decorate([\n Component({\n // tslint:disable-next-line:component-selector\n selector: \"lib-secondary-button[displayText]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonSecondaryButtonComponent);\nexport { CommonSecondaryButtonComponent };\n","var CommonTableComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./common-table.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./common-table.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChildren } from \"@angular/core\";\nimport { CommonTableSortHeaderDirective } from \"../../directives/common-table-sort-header.directive\";\nimport { compare } from \"../../models/sort.model\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport moment from \"moment\";\nimport SearchUtils from \"../../utils/search-utils\";\nimport _ from \"underscore\";\nimport { AflaCommonService } from \"../../afla-common.service\";\nlet elId = 0;\nlet CommonTableComponent = class CommonTableComponent {\n static { CommonTableComponent_1 = this; }\n changeDetectorRef;\n route;\n router;\n aflaCommonService;\n headers;\n tableItems = [];\n columnToItemPropertyMap;\n tdTemplate;\n tdTemplate2;\n thTemplate;\n showFilter = true;\n rowActions = false;\n checkboxColumn = false;\n showRadioButtonColumn = false;\n allowSingleSelect = false;\n disableRowSelect = true;\n nextID = elId++;\n pageName = \"\";\n defaultSort;\n showRecipientTypeColumn = false;\n preSelected = SharedConstants.FILTER_BY_DEFAULT;\n parentComponent = \"\";\n allowExport = false;\n isApplicationSearchTable = false;\n tableItemClicked = new EventEmitter();\n tableItemsChecked = new EventEmitter();\n // @Output() recipientRadioButtonClicked: EventEmitter = new EventEmitter();\n branding;\n tableColumns = [];\n visibleTableItems = [];\n searchTerm = \"\";\n // @ts-ignore\n selectedColumn;\n // @ts-ignore\n focusedElement;\n selectedRows = [];\n isSelected = false;\n filterByOptions = [];\n preSelectedFilterText = \"\";\n preSelectedFilterColumn = SharedConstants.FILTER_BY_DEFAULT;\n noItemsMessage = SharedConstants.NO_ITEMS_AVAILABLE_MESSAGE;\n noFilterResults = SharedConstants.NO_FILTER_RESULTS;\n exportFilenameLabel = SharedConstants.ENTER_FILENAME_LABEL;\n applyTableWidthClass = false;\n constructor(changeDetectorRef, route, router, aflaCommonService) {\n this.changeDetectorRef = changeDetectorRef;\n this.route = route;\n this.router = router;\n this.aflaCommonService = aflaCommonService;\n this.branding = aflaCommonService.branding;\n }\n static checkIfObject(test) {\n return typeof test === \"object\";\n }\n static checkIfDate(test) {\n return moment(test, SharedConstants.SYSTEM_DATE_FORMAT_DEFAULT, true).isValid();\n }\n checkIfNumber(maybeNumber) {\n const checkNumber = Number(maybeNumber);\n return !isNaN(checkNumber);\n }\n getObjectId(row) {\n // @ts-ignore\n return row.hasOwnProperty(\"id\") ? row.id.toString() : \"\";\n }\n ngAfterViewInit() {\n this.headers.forEach((header) => {\n if (header.sortable === this.defaultSort) {\n header.direction = \"asc\";\n }\n });\n this.expandTableHorizontally();\n }\n ngOnChanges(changes) {\n this.isSelected = false;\n this.selectedRows = [];\n this.tableItemsChecked.emit(this.selectedRows);\n this.tableItems = changes.tableItems ? changes.tableItems.currentValue : this.tableItems;\n this.setInitialVisibleTableItems();\n if (this.tableItems) {\n this.filterTable({ text: this.searchTerm, column: this.selectedColumn });\n }\n if (changes.hasOwnProperty(\"columnToItemPropertyMap\") && !this.applyTableWidthClass)\n this.expandTableHorizontally();\n }\n ngOnInit() {\n this.checkIfColumnMappingExists();\n this.listenForQueryParamChanges();\n this.initialize();\n }\n radioButtonAction(row) {\n this.selectedRows = [];\n this.selectedRows.push(row);\n this.tableItemsChecked.emit(this.selectedRows);\n this.tableItems.map(tableItem => {\n // @ts-ignore\n if (row.id === tableItem.id) {\n // @ts-ignore\n tableItem.selected = true;\n }\n else {\n // @ts-ignore\n tableItem.selected = false;\n }\n });\n }\n checkBoxAction(row, event) {\n if (!this.disableRowSelect || this.allowSingleSelect || this.checkboxColumn) {\n const index = this.selectedRows.indexOf(row, 0);\n if (this.tableItems && this.allowSingleSelect) {\n this.tableItems.map(tableItem => {\n // @ts-ignore\n if (row.id === tableItem.id) {\n // @ts-ignore\n tableItem.selected = !row.selected;\n }\n else {\n // @ts-ignore\n tableItem.selected = false;\n }\n });\n this.selectedRows = [];\n }\n if (event === false) {\n this.selectedRows.splice(index, 1);\n // set the table item to false\n if (this.tableItems) {\n this.tableItems.map(tableItem => {\n // @ts-ignore\n if (row.id === tableItem.id) {\n // @ts-ignore\n tableItem.selected = false;\n }\n });\n }\n const checkAllBox = document.getElementById(\"tableCheckAll_\" + this.nextID);\n // @ts-ignore\n if (checkAllBox?.checked) {\n // @ts-ignore\n checkAllBox.checked = false;\n }\n }\n else {\n // @ts-ignore\n row.selected = true;\n this.selectedRows.push(row);\n }\n this.tableItemsChecked.emit(this.selectedRows);\n }\n }\n checkedAll(event) {\n if (event === true) {\n this.isSelected = true;\n this.selectedRows = this.tableItems.slice(0);\n for (const selectedRow of this.tableItems) {\n // @ts-ignore\n selectedRow.selected = true;\n }\n this.tableItemsChecked.emit(this.selectedRows);\n }\n else {\n this.isSelected = false;\n this.selectedRows = [];\n for (const selectedRow of this.tableItems) {\n // @ts-ignore\n selectedRow.selected = false;\n }\n this.tableItemsChecked.emit(this.selectedRows);\n }\n }\n executeClickAction(row, column, $event) {\n // @ts-ignore\n this.checkBoxAction(row, !row.selected);\n this.tableItemClicked.emit(row);\n }\n getElementValue(element, column) {\n const propertyValue = this.getTableItemValue(element, column);\n if (propertyValue === undefined || propertyValue === null) {\n return \"\";\n }\n if (CommonTableComponent_1.checkIfObject(propertyValue)) {\n throw Error(SharedConstants.INVALID_TABLE_VALUE_ERROR);\n }\n return propertyValue;\n }\n filterTable(filter) {\n this.setQueryParams(filter);\n this.searchTerm = filter.text;\n this.selectedColumn = filter.column;\n if (!filter || !filter.text) {\n this.setInitialVisibleTableItems();\n this.changeDetectorRef.markForCheck();\n return;\n }\n if (filter.column === SharedConstants.FILTER_BY_DEFAULT || filter.column === undefined) {\n this.setVisibleTableItems(this.filterAllTableItems(filter.text));\n }\n else {\n this.setVisibleTableItems(this.filterTableItemsByColumn(filter));\n }\n this.changeDetectorRef.markForCheck();\n }\n onSort({ column, direction }) {\n this.setSortableHeaders(column);\n // @ts-ignore\n if (direction === \"\" || column === \"\") {\n this.visibleTableItems = this.tableItems;\n }\n else {\n this.visibleTableItems = this.sortTableItems(this.tableItems, column, direction);\n }\n }\n getTableDate() {\n return this.tableItems;\n }\n resetTableColumns() {\n if (!this.tableItems) {\n this.tableItems = new Array();\n }\n if (this.columnToItemPropertyMap) {\n this.tableColumns = Array.from(this.columnToItemPropertyMap.keys());\n this.initializeFilterOptions();\n }\n }\n initialize() {\n this.resetTableColumns();\n this.visibleTableItems = new Array();\n this.setInitialVisibleTableItems();\n if (!this.defaultSort) {\n this.defaultSort = { column: this.tableColumns[0], direction: \"asc\" };\n }\n }\n setInitialVisibleTableItems() {\n if (this.tableItems && this.tableItems.length > 0) {\n this.visibleTableItems = this.tableItems.slice(0);\n this.sortByDefault();\n }\n if (this.tableItems && this.tableItems.length === 0) {\n this.visibleTableItems = new Array();\n }\n this.changeDetectorRef.markForCheck();\n }\n filterAllTableItems(text) {\n // we only want to search the displayed columns - not all columns in tableItems\n return SearchUtils.searchAllItemsProperties(this.tableItems, text, this.listOfVisibleColumns());\n }\n listOfVisibleColumns() {\n const list = [];\n this.tableColumns.forEach((column) => {\n // @ts-ignore\n const mappedColumn = this.columnToItemPropertyMap.get(column);\n // @ts-ignore\n if (mappedColumn)\n list.push(mappedColumn);\n });\n // @ts-ignore\n return list;\n }\n filterTableItemsByColumn(search) {\n // @ts-ignore\n const mappedColumn = this.columnToItemPropertyMap.get(search.column);\n // @ts-ignore\n return SearchUtils.searchAllItemsSingleProperty(this.tableItems, mappedColumn, search.text);\n }\n setVisibleTableItems(items) {\n this.visibleTableItems = items;\n }\n checkForExistingCheckedItems() {\n for (const tableItem of this.visibleTableItems) {\n if (this.selectedRows.includes(tableItem)) {\n // @ts-ignore\n if (tableItem.hasOwnProperty(\"id\")) {\n // @ts-ignore\n const checkbox = document.getElementById(tableItem.id);\n console.log(checkbox.checked);\n checkbox.checked = true;\n }\n }\n }\n this.changeDetectorRef.markForCheck();\n }\n initializeFilterOptions() {\n this.filterByOptions = new Array();\n this.filterByOptions.push(SharedConstants.FILTER_BY_DEFAULT);\n this.filterByOptions.push(..._.values(this.tableColumns));\n this.changeDetectorRef.detectChanges();\n }\n setSortableHeaders(column) {\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = \"\";\n }\n });\n }\n getTableItemValue(element, column) {\n // @ts-ignore\n return element[this.columnToItemPropertyMap.get(column)];\n }\n sortByDefault() {\n if (this.defaultSort && this.tableItems && this.tableItems.length > 0) {\n this.visibleTableItems = this.sortTableItems(this.tableItems, this.defaultSort.column, this.defaultSort.direction);\n }\n }\n sortTableItems(tableItems, column, direction = \"asc\") {\n return [...tableItems].sort((a, b) => {\n // TODO Dylan remove this cast when you remove the link safe html\n // @ts-ignore\n const result = compare(this.getCorrectPrimitiveTypeForPropertyValue(this.getElementValue(a, column)), this.getCorrectPrimitiveTypeForPropertyValue(this.getElementValue(b, column)));\n return direction === \"asc\" ? result : -result;\n });\n }\n getCorrectPrimitiveTypeForPropertyValue(propertyValue) {\n if (!propertyValue) {\n return null;\n }\n if (this.checkIfNumber(propertyValue)) {\n return +propertyValue;\n }\n if (CommonTableComponent_1.checkIfDate(propertyValue)) {\n return propertyValue;\n }\n // @ts-ignore\n return propertyValue.toLocaleString()?.toLocaleLowerCase();\n }\n checkIfColumnMappingExists() {\n if (!this.columnToItemPropertyMap) {\n throw new Error(SharedConstants.TABLE_COLUMN_MAPPING_EXISTS_ERROR);\n }\n }\n listenForQueryParamChanges() {\n this.route.queryParams.subscribe((queryParams) => {\n if (this.visibleTableItems !== this.tableItems) {\n this.filterTable({ column: queryParams.column, text: queryParams.text });\n this.preSelectedFilterText = queryParams.text;\n this.preSelectedFilterColumn = queryParams.column;\n }\n });\n }\n setQueryParams(filter) {\n this.router.navigate([], {\n queryParams: {\n text: filter.text,\n column: filter.column\n },\n queryParamsHandling: \"merge\"\n });\n }\n expandTableHorizontally() {\n if (this.columnToItemPropertyMap?.size > 0 && this.isApplicationSearchTable) {\n this.applyTableWidthClass = true;\n }\n else {\n this.applyTableWidthClass = false;\n }\n this.changeDetectorRef.detectChanges();\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: ActivatedRoute },\n { type: Router },\n { type: AflaCommonService }\n ];\n static propDecorators = {\n headers: [{ type: ViewChildren, args: [CommonTableSortHeaderDirective,] }],\n tableItems: [{ type: Input }],\n columnToItemPropertyMap: [{ type: Input }],\n tdTemplate: [{ type: Input }],\n tdTemplate2: [{ type: Input }],\n thTemplate: [{ type: Input }],\n showFilter: [{ type: Input }],\n rowActions: [{ type: Input }],\n checkboxColumn: [{ type: Input }],\n showRadioButtonColumn: [{ type: Input }],\n allowSingleSelect: [{ type: Input }],\n disableRowSelect: [{ type: Input }],\n nextID: [{ type: Input }],\n pageName: [{ type: Input }],\n defaultSort: [{ type: Input }],\n showRecipientTypeColumn: [{ type: Input }],\n preSelected: [{ type: Input }],\n parentComponent: [{ type: Input }],\n allowExport: [{ type: Input }],\n isApplicationSearchTable: [{ type: Input }],\n tableItemClicked: [{ type: Output }],\n tableItemsChecked: [{ type: Output }]\n };\n};\nCommonTableComponent = CommonTableComponent_1 = __decorate([\n Component({\n selector: \"lib-common-table[tableItems][columnToItemPropertyMap]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CommonTableComponent);\nexport { CommonTableComponent };\n","export class SharedConstants {\n // Filter labels\n static FILTER_BY_DEFAULT = \"All columns\";\n static NO_ITEMS_AVAILABLE_MESSAGE = \"There are no items to display\";\n static NO_FILTER_RESULTS = \"Filter yielded no results\"; // Shows when no results from a search in the table\n static FILTER_BY_PLACEHOLDER = \"Filter by none\";\n static FILTER_ITEMS_PLACEHOLDER = \"Filter items\";\n static FILTER_PREFIX = \"Filter by\";\n static SEARCH_PREFIX = \"Search\"; // Placeholder on table search\n static FILTER_DEFAULT = \"All\"; // used on recipients select and recipients list filters\n static NO_FILTER_SELECTED_MESSAGE = \"Please select a filter option\";\n static PLACEHOLDER_TEXT = \"Please select an option\"; // Dropdown place holder used dropdowns\n static EXCLUDE_HEADING_ACTIONS = \"Actions\";\n static SYSTEM_DATE_FORMAT_DEFAULT = \"yyyy/MM/dd\";\n static INVALID_TABLE_VALUE_ERROR = \"Invalid table value exists\";\n static TABLE_COLUMN_MAPPING_EXISTS_ERROR = \"No column-to-item property mapping exists for table\";\n /* Search Filter */\n static SEARCH_NOT_BLANK = \"Search criteria may not be blank\";\n static ENTER_FILENAME_LABEL = \"Enter filename\";\n static YES_LABEL = \"Yes\";\n static NO_LABEL = \"No\";\n static REQUIRED_INPUT_CONTROL_VALIDATION = \"is required.\";\n}\n","import { __decorate } from \"tslib\";\nimport { Directive, Input, Output, EventEmitter } from \"@angular/core\";\nimport { rotate } from \"../models/sort.model\";\nlet CommonTableSortHeaderDirective = class CommonTableSortHeaderDirective {\n sortable = \"\";\n direction = \"\";\n sort = new EventEmitter();\n constructor() {\n }\n rotate() {\n this.direction = rotate[this.direction];\n this.sort.emit({ column: this.sortable, direction: this.direction });\n }\n static ctorParameters = () => [];\n static propDecorators = {\n sortable: [{ type: Input }],\n direction: [{ type: Input }],\n sort: [{ type: Output }]\n };\n};\nCommonTableSortHeaderDirective = __decorate([\n Directive({\n // tslint:disable-next-line:directive-selector\n selector: \"th[sortable]\",\n // tslint:disable-next-line:no-host-metadata-property\n host: {\n \"[class.asc]\": \"direction === \\\"asc\\\"\",\n \"[class.desc]\": \"direction === \\\"desc\\\"\",\n \"(click)\": \"rotate()\"\n }\n })\n], CommonTableSortHeaderDirective);\nexport { CommonTableSortHeaderDirective };\n","import moment from \"moment\";\nexport const rotate = { asc: \"desc\", desc: \"\", \"\": \"asc\" };\nexport const compare = (v1, v2) => {\n if (v1 instanceof Date) {\n return moment(v1).diff(v2);\n }\n return v1 < v2 ? -1 : v1 > v2 ? 1 : 0;\n};\n","var HighlightWithColumnPipe_1;\nimport { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nlet HighlightWithColumnPipe = class HighlightWithColumnPipe {\n static { HighlightWithColumnPipe_1 = this; }\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n static checkColumnsEqual(firstColumn, secondColumn) {\n firstColumn = HighlightWithColumnPipe_1.formatColumnValue(firstColumn);\n secondColumn = HighlightWithColumnPipe_1.formatColumnValue(secondColumn);\n return firstColumn === secondColumn;\n }\n static formatColumnValue(value) {\n return value.toString().trim().replace(\" \", \"\");\n }\n transform(value, searchTerm, column, currentColumn) {\n if (!searchTerm) {\n return value;\n }\n if (!value) {\n return value;\n }\n if (!currentColumn && !column) {\n return value;\n }\n if (!HighlightWithColumnPipe_1.checkColumnsEqual(currentColumn, column) && (currentColumn !== SharedConstants.FILTER_BY_DEFAULT)) {\n return value;\n }\n const stringValue = value.toString();\n const re = new RegExp(searchTerm, \"gi\");\n const match = stringValue.match(re);\n if (!match) {\n return value;\n }\n const replacedValue = stringValue.replace(re, ` ${match[0]} `);\n return this.sanitizer.bypassSecurityTrustHtml(replacedValue);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nHighlightWithColumnPipe = HighlightWithColumnPipe_1 = __decorate([\n Pipe({\n name: \"highlightWithColumn\"\n })\n], HighlightWithColumnPipe);\nexport { HighlightWithColumnPipe };\n","export default class SearchUtils {\n static searchAllItemsProperties(list, searchKey, searchableColumns = [], caseSensitive = false) {\n return list.filter((item) => {\n return this.searchItemProperties(item, searchKey, searchableColumns, caseSensitive);\n });\n }\n static searchItemProperties(item, searchKey, searchableColumns, caseSensitive) {\n return Object.keys(item).some((key) => {\n if (searchableColumns.length > 0 && searchableColumns.toLocaleString().toLocaleLowerCase().indexOf(key.toLocaleLowerCase()) > -1) {\n // @ts-ignore\n const value = item[key];\n if (!value) {\n return false;\n }\n if (caseSensitive) {\n return value.includes(searchKey);\n }\n return value.toLocaleString().toLocaleLowerCase().includes(searchKey.toLocaleLowerCase());\n }\n else\n return false;\n });\n }\n static searchItemProperty(item, property, search, caseSensitive = false) {\n const value = item[property];\n if (!value) {\n return false;\n }\n if (caseSensitive) {\n // @ts-ignore\n return value.toLocaleString().includes(search);\n }\n // @ts-ignore\n return value.toLocaleString().toLocaleLowerCase().includes(search.toLocaleLowerCase());\n }\n static searchAllItemsSingleProperty(list, property, search) {\n return list.filter(item => {\n return this.searchItemProperty(item, property, search);\n });\n }\n}\n","import { __decorate } from \"tslib\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\nimport { filter } from \"rxjs/operators\";\nimport { Alert, AlertType } from \"./shared/models/alert\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { NavigationStart, Router } from \"@angular/router\";\nimport { SessionStorageService } from \"./shared/services/storage/session-storage.service\";\nimport { SessionStorageEnum } from \"./shared/services/storage/session-storage-constants\";\nimport { HttpStatusCodeEnum } from \"./shared/models/http-status-code-enum.model\";\nimport { SharedConstants } from \"./shared/constants/shared.constants\";\nimport { Title } from \"@angular/platform-browser\";\nimport { AppConfig } from \"./app.config\";\nlet AppControllerService = class AppControllerService {\n router;\n sessionStorage;\n titleService;\n selectedApplicationID;\n selectedJobID;\n modules;\n organisations;\n appTitle;\n alertSubject = new Subject();\n keepAfterRouteChange = false;\n selectedOrgIdSubject = new BehaviorSubject(null);\n selectedOrgSubject = new BehaviorSubject(null);\n $selectedOrgSubject = this.selectedOrgSubject.asObservable();\n baseRequestObject = {\n authenticatedUser: {}, moduleID: null, appID: null\n };\n _selectedOrganisationID;\n configLoadedSubject = new BehaviorSubject(false);\n $configLoadedSubject = this.configLoadedSubject.asObservable();\n constructor(router, sessionStorage, titleService) {\n this.router = router;\n this.sessionStorage = sessionStorage;\n this.titleService = titleService;\n // clear alert messages on route change unless 'keepAfterRouteChange' flag is true\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterRouteChange) {\n // only keep for a single route change\n this.keepAfterRouteChange = false;\n }\n else {\n // clear alert messages\n // this.clearMessage();\n }\n }\n });\n }\n _selectedModuleID;\n get selectedModuleID() {\n const doubleQuoteRe = new RegExp(\"\\\"\", \"gi\");\n if (this._selectedModuleID) {\n return this._selectedModuleID.toString().replace(doubleQuoteRe, \"\");\n }\n return this.sessionStorage.get(SessionStorageEnum.SelectedModuleID)?.replace(doubleQuoteRe, \"\");\n }\n get selectedOrganisationId() {\n return this.selectedOrgIdSubject.value;\n }\n selectedOrganisationID(organisationId) {\n this.selectedOrgIdSubject.next(organisationId);\n this.organisations.forEach(org => {\n if (org.id === organisationId) {\n this.selectedOrgSubject.next(org);\n }\n });\n }\n configLoadedComplete(complete) {\n this.configLoadedSubject.next(complete);\n this.titleService.setTitle(AppConfig.settings.projectSettings.title);\n this.appTitle = AppConfig.settings.projectSettings.projectName;\n }\n getRequest(includeAppID = true, includeModuleID = true) {\n const request = JSON.parse(JSON.stringify(this.baseRequestObject));\n if (includeAppID) {\n request.moduleID = this._selectedModuleID;\n request.AppID = this.selectedApplicationID;\n }\n else if (includeModuleID) {\n request.moduleID = this._selectedModuleID;\n }\n return request;\n }\n // subscribe to alerts\n getAlert(alertId) {\n return this.alertSubject.asObservable().pipe(filter((x) => x && x.alertId === alertId));\n }\n showMessage(message, type, keepAfterRouteChange = false) {\n const alert = new Alert({ message, type });\n this.keepAfterRouteChange = alert.keepAfterRouteChange = keepAfterRouteChange;\n this.alertSubject.next(alert);\n }\n // clear alerts\n clearMessage(alertId) {\n this.alertSubject.next(new Alert({ alertId }));\n }\n showConsoleMessage(message) {\n if (!isDevMode()) {\n console.log(message);\n }\n }\n setSelectedModule(value) {\n if (!value) {\n return;\n }\n if (this._selectedModuleID !== value) {\n this._selectedModuleID = value;\n this.sessionStorage.set(SessionStorageEnum.SelectedModuleID, value.toString());\n }\n }\n handleServerErrorMessage(objectName, httpErrorResponse, operation) {\n switch (httpErrorResponse.status) {\n case +HttpStatusCodeEnum.InternalServerError: {\n this.showMessage(objectName ? `Something went wrong ${operation} the ${objectName.toLocaleLowerCase()}` : \"Something went wrong, please try again\", AlertType.Error);\n break;\n }\n case +HttpStatusCodeEnum.BadRequest: {\n if (httpErrorResponse.error !== null) {\n if (httpErrorResponse.error.hasOwnProperty(\"value\") && httpErrorResponse.error.value !== undefined) {\n this.showMessage(httpErrorResponse.error.value, AlertType.Warning);\n }\n else if (httpErrorResponse.error.error.hasOwnProperty(\"message\") && httpErrorResponse.error.error.message !== undefined) {\n this.showMessage(httpErrorResponse.error.error.message, AlertType.Warning);\n }\n else if (httpErrorResponse.error.hasOwnProperty(\"error\") && httpErrorResponse.error.error.hasOwnProperty(\"value\") && httpErrorResponse.error.error.value !== undefined) {\n this.showMessage(httpErrorResponse.error.error.value, AlertType.Warning);\n }\n else if (httpErrorResponse.error.hasOwnProperty(\"value\") && httpErrorResponse.error.hasOwnProperty(\"message\") && httpErrorResponse.error.error.message !== undefined) {\n this.showMessage(httpErrorResponse.error.error.message, AlertType.Warning);\n }\n else if (httpErrorResponse.error.hasOwnProperty(\"errors\") && httpErrorResponse.error.errors !== undefined) {\n try {\n const errors = [];\n const keys = Object.keys(httpErrorResponse.error.errors);\n keys.forEach(key => {\n const error = httpErrorResponse.error.errors[key];\n error.forEach(errorValue => {\n errors.push(errorValue);\n });\n });\n this.showMessage(errors.join(\" \"), AlertType.Warning);\n }\n catch (e) {\n // this should never swollow errors\n this.showMessage(httpErrorResponse.message, AlertType.Warning);\n }\n }\n else {\n this.showMessage(httpErrorResponse.error, AlertType.Warning);\n }\n }\n else {\n this.showMessage(httpErrorResponse.message, AlertType.Warning);\n }\n break;\n }\n case +HttpStatusCodeEnum.Forbidden: {\n this.showMessage(`${SharedConstants.FORBIDDEN_MESSAGE}`, AlertType.Warning);\n break;\n }\n case +HttpStatusCodeEnum.NotFound: {\n this.showMessage(httpErrorResponse.message ? httpErrorResponse.message : `${SharedConstants.NOT_FOUND_MESSAGE}`, AlertType.Warning);\n break;\n }\n case +HttpStatusCodeEnum.Conflict: {\n this.showMessage(httpErrorResponse.message ? httpErrorResponse.message : `${SharedConstants.CONFLICT_MESSAGE}`, AlertType.Warning);\n break;\n }\n default: {\n if (objectName !== undefined && objectName !== null && objectName !== \"\") {\n throw new Error(`${SharedConstants.UNKNOWN_ERROR_MESSAGE} ${operation} the ${objectName.toLocaleLowerCase()}: `\n + httpErrorResponse.message);\n }\n else {\n throw new Error(`${SharedConstants.UNKNOWN_ERROR_MESSAGE}: ` + httpErrorResponse.message);\n }\n break;\n }\n }\n }\n static ctorParameters = () => [\n { type: Router },\n { type: SessionStorageService },\n { type: Title }\n ];\n};\nAppControllerService = __decorate([\n Injectable()\n], AppControllerService);\nexport { AppControllerService };\n","export class AppRoutingConstants {\n static ROUTE_SEPERATOR = \"/\";\n static PATH_MATCH_FULL = \"full\";\n static API_PREFIX = \"api\";\n static API_VERSION_1 = \"v1\";\n static API_VERSION_2 = \"v2\";\n static MODULE_ID_ROUTE_PARAMETER = \":moduleID\";\n static APPLICATION_ID_ROUTE_PARAMETER = \":applicationID\";\n static ORGANISATION_ROUTE_ID_PARAMETER = \":organisationID\";\n static ADD_ORGANISATION_ROUTE = \"addorganisation\";\n static ORGANISATION_APPLY_ACCESS_ROUTE = \"applyaccess\";\n static REFRESH_ROUTE = \"refresh\";\n static LOGOUT_ROUTE = \"logout\";\n static REFRESH_VIEW_APPLICATION_ROUTE = \"refreshViewApplication\";\n static createEndpointRoutev2(...endpointSuffixRoutes) {\n const endpointURL = AppRoutingConstants.API_PREFIX +\n AppRoutingConstants.ROUTE_SEPERATOR +\n AppRoutingConstants.API_VERSION_2 +\n AppRoutingConstants.ROUTE_SEPERATOR + endpointSuffixRoutes.join(AppRoutingConstants.ROUTE_SEPERATOR);\n const emptySpaceRe = new RegExp(\" \", \"gi\");\n return endpointURL.replace(emptySpaceRe, \"\");\n }\n static createEndpointRoutev1(...endpointSuffixRoutes) {\n const endpointURL = AppRoutingConstants.API_PREFIX +\n AppRoutingConstants.ROUTE_SEPERATOR +\n AppRoutingConstants.API_VERSION_1 +\n AppRoutingConstants.ROUTE_SEPERATOR + endpointSuffixRoutes.join(AppRoutingConstants.ROUTE_SEPERATOR);\n const emptySpaceRe = new RegExp(\" \", \"gi\");\n return endpointURL.replace(emptySpaceRe, \"\");\n }\n static createRouteToView(...routeComponents) {\n const route = routeComponents.join(AppRoutingConstants.ROUTE_SEPERATOR);\n const emptySpaceRe = new RegExp(\" \", \"gi\");\n const DashRe = new RegExp(\"-\", \"gi\");\n const DoubleRouteRe = new RegExp(this.ROUTE_SEPERATOR + this.ROUTE_SEPERATOR, \"gi\");\n return route.replace(emptySpaceRe, \"\").toLowerCase().replace(DashRe, \"\").replace(DoubleRouteRe, this.ROUTE_SEPERATOR);\n }\n static createRouteToViewWithPrefixRouteSeparator(...routeComponents) {\n const routeComponentsWithSeparator = [AppRoutingConstants.ROUTE_SEPERATOR, ...routeComponents];\n return AppRoutingConstants.createRouteToView(...routeComponentsWithSeparator);\n }\n}\n","import { __decorate } from \"tslib\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\nimport { BackgroundPreloadService } from \"./shared/services/background-preload/background-preload.service\";\nimport { AppRoutingConstants } from \"./app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"./create-application/create-application-routing.constants\";\nimport { AuthGuard } from \"./shared/guards/auth-guard/auth.guard\";\nimport { aflaModuleServiceProvider } from \"./shared/services/afla-module-strategy/afla-module-strategy.service.provider\";\nimport { SearchApplicationsRoutingConstants } from \"./search-applications/search-applications-routing.constants\";\nimport { RefreshComponent } from \"./create-application/shared/refresh/refresh.component\";\nimport { DocumentsAndInformationRoutingConstants } from \"./documents-and-information/documents-and-information-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"./view-application/view-application-routing.constants\";\nimport { RefreshViewApplicationComponent } from \"./core/refresh/refresh-view-application/refresh-view-application.component\";\nimport { MapRoutingConstants } from \"./map/map-routing.constants\";\nimport { LogoutComponent } from \"./core/logout/logout.component\";\nconst routes = [{\n path: AppRoutingConstants\n .createRouteToView(AppRoutingConstants.MODULE_ID_ROUTE_PARAMETER, MapRoutingConstants.ESRI_MAP_ROUTE),\n loadChildren: () => import(\"./map/map.module\").then(mod => mod.MapModule),\n canActivate: [AuthGuard],\n data: { preload: true }\n }, {\n path: AppRoutingConstants\n .createRouteToView(AppRoutingConstants.MODULE_ID_ROUTE_PARAMETER, CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE),\n loadChildren: () => import(\"./create-application/create-application.module\").then(module => module.CreateApplicationModule),\n canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants\n .createRouteToView(AppRoutingConstants.MODULE_ID_ROUTE_PARAMETER, ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE),\n loadChildren: () => import(\"./view-application/view-application.module\").then(module => module.ViewApplicationModule),\n canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants\n .createRouteToView(AppRoutingConstants.MODULE_ID_ROUTE_PARAMETER, DocumentsAndInformationRoutingConstants.VIEW_DOCUMENTS_AND_INFORMATION_ROUTE),\n loadChildren: () => import(\"./documents-and-information/documents-and-information.module\").then(module => module.DocumentsAndInformationModule),\n canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants\n .createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE),\n loadChildren: () => import(\"./search-applications/search-applications.module\").then(module => module.SearchApplicationsModule),\n canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants.REFRESH_VIEW_APPLICATION_ROUTE,\n component: RefreshViewApplicationComponent,\n canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants.REFRESH_ROUTE, component: RefreshComponent, canActivate: [AuthGuard]\n }, {\n path: AppRoutingConstants.LOGOUT_ROUTE, component: LogoutComponent\n }];\nlet AppRoutingModule = class AppRoutingModule {\n};\nAppRoutingModule = __decorate([\n NgModule({\n declarations: [],\n imports: [\n RouterModule.forRoot(routes, {\n preloadingStrategy: BackgroundPreloadService\n }),\n CommonModule\n ],\n exports: [RouterModule],\n providers: [aflaModuleServiceProvider]\n })\n], AppRoutingModule);\nexport { AppRoutingModule };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./app.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./app.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AuthService } from \"./shared/services/auth/auth.service\";\nimport { LoginService } from \"./shared/services/login/login.service\";\nimport { AppControllerService } from \"./app-controller.service\";\nimport { WindowReference } from \"./shared/classes/window-reference\";\nimport { MatBottomSheet } from \"@angular/material/bottom-sheet\";\nimport { take } from \"rxjs/operators\";\nimport { UserInformationService } from \"./shared/services/user/user-information.service\";\nimport { AppConfig } from \"./app.config\";\nimport { RequestStatusService } from \"./shared/services/request-status/request-status.service\";\nimport { SystemModuleSettingsService } from \"./shared/services/system-module-settings.service\";\nimport { ServerNotificationService } from \"./shared/services/server-notification/server-notification.service\";\nimport { WebNotificationService } from \"./shared/services/web-notification/web-notification.service\";\nimport { Router } from \"@angular/router\";\nimport { LocalStorageEnum } from \"./shared/services/storage/local-storage-constants\";\nimport { LocalStorageService } from \"./shared/services/storage/local-storage.service\";\nimport { SessionStorageEnum } from \"./shared/services/storage/session-storage-constants\";\nimport { SessionStorageService } from \"./shared/services/storage/session-storage.service\";\nimport { LandingPageService } from \"./core/landing-page/shared/services/landing-page.service\";\nimport { AutoUnsubPortal } from \"./shared/decorators/autounsub-portal.decorator\";\nimport { Title } from \"@angular/platform-browser\";\nimport { AflaCommonService } from \"../../../afla-common/src/lib/afla-common.service\";\nlet AppComponent = class AppComponent {\n appController;\n authService;\n loginService;\n sessionStorageService;\n windowReference;\n bottomSheet;\n landingPageService;\n userInformationService;\n appConfig;\n requestStatusService;\n systemModuleSettingsService;\n serverMessageService;\n webNotificationService;\n router;\n localStorage;\n changeDetectorRefs;\n titleService;\n aflaCommonService;\n /* branding: IBranding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n calciteUIBrand: SharedConstants.DEFAULT_COLOR,\n calciteUIBrandHover: SharedConstants.DEFAULT_DARKER_COLOR,\n calciteUIBrandPress: SharedConstants.DEFAULT_COLOR,\n }; */\n branding = {\n themeMainColor: null,\n themeMainDarkerColor: null,\n themeMainBackgroundColor: null,\n themeMainBorderColor: null,\n themeHeaderBorderColor: null,\n themeActiveColor: null,\n themeActiveAlternateColor: null,\n calciteUIBrand: null,\n calciteUIBrandHover: null,\n calciteUIBrandPress: null,\n };\n mapCenter = [-122.4194, 37.7749];\n basemapType = \"satellite\";\n mapZoomLevel = 12;\n $isAuthenticated;\n $userInformationFetched;\n showBusyIndicator = false;\n showLandingPage = false;\n deferredPromptEvent;\n ON_SAME_RELOAD_STRATEGY = \"reload\";\n messageReceivedSubscription;\n constructor(appController, authService, loginService, sessionStorageService, windowReference, bottomSheet, landingPageService, userInformationService, appConfig, requestStatusService, systemModuleSettingsService, serverMessageService, webNotificationService, router, localStorage, changeDetectorRefs, titleService, aflaCommonService) {\n this.appController = appController;\n this.authService = authService;\n this.loginService = loginService;\n this.sessionStorageService = sessionStorageService;\n this.windowReference = windowReference;\n this.bottomSheet = bottomSheet;\n this.landingPageService = landingPageService;\n this.userInformationService = userInformationService;\n this.appConfig = appConfig;\n this.requestStatusService = requestStatusService;\n this.systemModuleSettingsService = systemModuleSettingsService;\n this.serverMessageService = serverMessageService;\n this.webNotificationService = webNotificationService;\n this.router = router;\n this.localStorage = localStorage;\n this.changeDetectorRefs = changeDetectorRefs;\n this.titleService = titleService;\n this.aflaCommonService = aflaCommonService;\n this.$userInformationFetched = this.userInformationService.$userInformationFetched;\n this.$isAuthenticated = this.authService.$isAuthenticated;\n this.saveUrl();\n this.listenForLandingPageLogin();\n this.startAuthenticationProcess();\n this.setupPwaInstall(windowReference);\n }\n ngOnInit() {\n this.listenForBusySpinnerChanges();\n this.setRouterReloadStrategy();\n }\n saveUrl() {\n this.router.events.pipe(take(1)).subscribe((event) => {\n if (!this.localStorage.get(LocalStorageEnum.Url)) {\n this.localStorage.set(LocalStorageEnum.Url, event.url);\n }\n });\n }\n startAuthenticationProcess() {\n this.loadAppConfig(() => {\n const localStorageIsAuthenticated = this.sessionStorageService.get(SessionStorageEnum.Nonce);\n if (!localStorageIsAuthenticated) {\n this.showLandingPage = true;\n }\n else if (this.router.url.includes(\"/logout\")) {\n this.authService.unAuthenticateFrontChannel();\n }\n else {\n this.showLandingPage = false;\n if (this.authService.checkIfLoggedIn()) {\n this.authService.configureAuth();\n this.showLandingPage = false;\n }\n else {\n this.authenticate();\n }\n }\n });\n }\n loadAppConfig(appConfigLoadedAction) {\n this.appConfig.load().then(() => {\n appConfigLoadedAction();\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n this.aflaCommonService.setThemeColors(this.branding);\n this.changeDetectorRefs.detectChanges();\n });\n }\n authenticate() {\n this.authService.authenticate().then((result) => {\n this.handleUserLoggedIn();\n });\n }\n setupPwaInstall(windowReference) {\n windowReference.nativeWindow.addEventListener(\"beforeinstallprompt\", (event) => {\n event.preventDefault();\n this.deferredPromptEvent = event;\n // TODO: Re-add this\n // const bottomSheetRef = this.bottomSheet.open(PwaInstallBottomSheetComponent);\n // bottomSheetRef.afterDismissed()\n // .pipe(takeUntil(this.ngUnsubscribe))\n // .subscribe((result) => {\n // if (result) {\n // this.promptInstallPWA();\n // }\n // });\n });\n }\n promptInstallPWA() {\n this.deferredPromptEvent.prompt();\n }\n listenForBusySpinnerChanges() {\n this.requestStatusService.$requestBusy.subscribe(value => {\n this.showBusyIndicator = value;\n this.changeDetectorRefs.detectChanges();\n });\n }\n handleUserLoggedIn() {\n this.listenForServerMessages();\n }\n listenForServerMessages() {\n this.messageReceivedSubscription = this.serverMessageService.messageReceived.subscribe((message) => {\n this.webNotificationService.showNotification(\"Message received\", message);\n });\n }\n setRouterReloadStrategy() {\n this.router.onSameUrlNavigation = this.ON_SAME_RELOAD_STRATEGY;\n }\n listenForLandingPageLogin() {\n this.landingPageService.loginButtonClicked.subscribe({\n next: (isLoginButtonClicked) => {\n if (isLoginButtonClicked) {\n this.authenticate();\n }\n }\n });\n }\n busySpinnerDoubleClick() {\n this.requestStatusService.printBusyIndicators();\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: AuthService },\n { type: LoginService },\n { type: SessionStorageService },\n { type: WindowReference },\n { type: MatBottomSheet },\n { type: LandingPageService },\n { type: UserInformationService },\n { type: AppConfig },\n { type: RequestStatusService },\n { type: SystemModuleSettingsService },\n { type: ServerNotificationService },\n { type: WebNotificationService },\n { type: Router },\n { type: LocalStorageService },\n { type: ChangeDetectorRef },\n { type: Title },\n { type: AflaCommonService }\n ];\n};\nAppComponent = __decorate([\n Component({\n selector: \"app-root\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], AppComponent);\nexport { AppComponent };\n","var AppConfig_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AppControllerService } from \"./app-controller.service\";\nlet AppConfig = class AppConfig {\n static { AppConfig_1 = this; }\n http;\n appController;\n static settings;\n constructor(http, appController) {\n this.http = http;\n this.appController = appController;\n }\n load() {\n const uniqueParam = new Date().getTime();\n const jsonFile = `assets/config/config.json?cacheBuster=${uniqueParam}`;\n return new Promise((resolve, reject) => {\n {\n this.http.get(jsonFile).toPromise().then((response) => {\n AppConfig_1.settings = response;\n this.appController.configLoadedComplete(true);\n resolve();\n }).catch((response) => {\n reject(`Could not load file '${jsonFile}': ${JSON.stringify(response)}`);\n });\n }\n });\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: AppControllerService }\n ];\n};\nAppConfig = AppConfig_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n })\n], AppConfig);\nexport { AppConfig };\n","import { __decorate } from \"tslib\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, Injector, NgModule } from \"@angular/core\";\nimport { AppComponent } from \"./app.component\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { ServiceWorkerModule } from \"@angular/service-worker\";\nimport { environment } from \"../environments/environment\";\nimport { ServerInterceptor } from \"./shared/services/service-interceptor/server-interceptor.service\";\nimport { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from \"@angular/common/http\";\nimport { AppConfig } from \"./app.config\";\nimport { DashboardModule } from \"./core/dashboard/dashboard.module\";\nimport { LoginComponent } from \"./core/login/login.component\";\nimport { SharedModule } from \"./shared/shared.module\";\nimport { AppControllerService } from \"./app-controller.service\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { WindowReference } from \"./shared/classes/window-reference\";\nimport { MatBottomSheetModule } from \"@angular/material/bottom-sheet\";\nimport { NavModule } from \"./core/nav/nav.module\";\nimport { OAuthModule } from \"angular-oauth2-oidc\";\nimport { AuthService } from \"./shared/services/auth/auth.service\";\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\nimport { TreeModule } from \"@ali-hm/angular-tree-component\";\nimport { APP_BASE_HREF, PlatformLocation } from \"@angular/common\";\nimport { GlobalErrorHandler } from \"./shared/classes/global-error-handler\";\nimport { RefreshViewApplicationComponent } from \"./core/refresh/refresh-view-application/refresh-view-application.component\";\nimport { LandingPageComponent } from \"./core/landing-page/landing-page.component\";\nimport { LogoutComponent } from \"./core/logout/logout.component\";\nimport { NgPipesModule } from \"ngx-pipes\";\nexport let AppInjector;\nlet AppModule = class AppModule {\n injector;\n constructor(injector) {\n this.injector = injector;\n AppInjector = this.injector;\n }\n static ctorParameters = () => [\n { type: Injector }\n ];\n};\nAppModule = __decorate([\n NgModule({ schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [\n AppComponent,\n LoginComponent,\n RefreshViewApplicationComponent,\n LandingPageComponent,\n LogoutComponent\n ],\n bootstrap: [AppComponent],\n exports: [], imports: [BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n AppRoutingModule,\n ServiceWorkerModule.register(\"ngsw-worker.js\", { enabled: environment.production }),\n MatProgressSpinnerModule,\n MatDialogModule,\n MatInputModule,\n ReactiveFormsModule,\n MatIconModule,\n MatSidenavModule,\n MatToolbarModule,\n MatButtonModule,\n DashboardModule,\n SharedModule,\n MatBottomSheetModule,\n NavModule,\n OAuthModule.forRoot(),\n NgbModule,\n TreeModule,\n NgPipesModule], providers: [\n // Providing these two services like this here is done for a reason.\n // The Http interceptor needs them and the config.json file needs the interceptor\n // When the config is fetched the http interceptor hasn't received the services yet (they arent loaded yet)\n AuthService,\n AppControllerService,\n { provide: HTTP_INTERCEPTORS, useClass: ServerInterceptor, multi: true },\n WindowReference,\n AppConfig,\n { provide: ErrorHandler, useClass: GlobalErrorHandler },\n {\n provide: APP_BASE_HREF,\n useFactory: (s) => s.getBaseHrefFromDOM(),\n deps: [PlatformLocation]\n },\n provideHttpClient(withInterceptorsFromDi())\n ] })\n], AppModule);\nexport { AppModule };\n","import { __decorate } from \"tslib\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\nimport { DashboardComponent } from \"./dashboard.component\";\nconst routes = [\n {\n path: \"\",\n component: DashboardComponent,\n // canActivate: [AuthGuard],\n // children: [\n // ]\n },\n];\nlet DashboardRoutingModule = class DashboardRoutingModule {\n};\nDashboardRoutingModule = __decorate([\n NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n })\n], DashboardRoutingModule);\nexport { DashboardRoutingModule };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./dashboard.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./dashboard.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AuthService } from \"../../shared/services/auth/auth.service\";\nimport { of, switchMap } from \"rxjs\";\nimport { DashboardConstants } from \"./dashboard.constants\";\nimport { Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { UserInformationService } from \"../../shared/services/user/user-information.service\";\nimport { LocalStorageService } from \"../../shared/services/storage/local-storage.service\";\nimport { AppConfig } from \"../../app.config\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { SearchApplicationsRoutingConstants } from \"../../search-applications/search-applications-routing.constants\";\nlet DashboardComponent = class DashboardComponent {\n authService;\n changeDetector;\n router;\n appControllerService;\n userInformationService;\n localStorage;\n howItWorks = DashboardConstants.HOW_IT_WORKS;\n howItWorksText = \"\";\n note = DashboardConstants.NOTE;\n noteText = \"\";\n overview = DashboardConstants.OVERVIEW;\n applicationText = DashboardConstants.APPLICATONS;\n InProgress = DashboardConstants.IN_PROGRESS;\n unCompleted = DashboardConstants.UNCOMPLETED;\n aflaPortal;\n aflaPortalText = \"\";\n $authenticated;\n isAuthenticated;\n applicationsCount = 0;\n applicationInProgressCount = 0;\n applicationUncompletedCount = 0;\n authenticatedSubscribe;\n constructor(authService, changeDetector, router, appControllerService, userInformationService, localStorage) {\n this.authService = authService;\n this.changeDetector = changeDetector;\n this.router = router;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.localStorage = localStorage;\n this.$authenticated = this.authService.$isAuthenticated;\n }\n ngOnInit() {\n // this.redirectToDefaultLink();\n this.loadDashboarInformaton();\n }\n loadDashboarInformaton() {\n this.authenticatedSubscribe = this.$authenticated.pipe(switchMap(isAuthenticated => {\n if (isAuthenticated)\n this.isAuthenticated = isAuthenticated;\n this.changeDetector.markForCheck();\n if (isAuthenticated) {\n this.howItWorksText = AppConfig.settings.dashboard.howItWorksText;\n this.noteText = AppConfig.settings.dashboard.noteText;\n this.aflaPortalText = AppConfig.settings.dashboard.aflaPortalText;\n this.aflaPortal = AppConfig.settings.projectSettings.projectName;\n return this.userInformationService.retrieveMyPortalApplications();\n }\n else {\n return of(null);\n }\n })).subscribe(myApp => {\n if (myApp) {\n this.applicationsCount = myApp.value.length;\n this.applicationInProgressCount = myApp.value.filter(ap => ap.status !== \"Not submitted\").length;\n this.applicationUncompletedCount = myApp.value.filter(ap => ap.status === \"Not submitted\").length;\n }\n this.changeDetector.markForCheck();\n });\n }\n onSearchApplicationClicked(filter) {\n if (filter === undefined || filter === null || filter === \"\" || filter.toLowerCase() === \"all\") {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE)\n ]);\n }\n else {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE, SearchApplicationsRoutingConstants.FILTERED_SEARCH_APPLICATIONS_ROUTE, filter)\n ]);\n }\n }\n static ctorParameters = () => [\n { type: AuthService },\n { type: ChangeDetectorRef },\n { type: Router },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: LocalStorageService }\n ];\n};\nDashboardComponent = __decorate([\n Component({\n selector: \"app-nav\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DashboardComponent);\nexport { DashboardComponent };\n","export class DashboardConstants {\n static PHASES_HEADING = \"Application status\";\n static DEFAULT_COLUMN = \"default\";\n static MODULES_SEARCH_PLACEHOLDER_TEXT = \"Filter modules\";\n static APPLICATONS = \"Applications\";\n static IN_PROGRESS = \"In progress\";\n static UNCOMPLETED = \"Incomplete\";\n static OVERVIEW = \"Overview\";\n static HOW_IT_WORKS = \"How it works\";\n static AFLA_PORTAL = \"Default Project Portal\";\n static NOTE = \"Note\";\n}\n","import { __decorate } from \"tslib\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DashboardRoutingModule } from \"./dashboard-routing.module\";\nimport { MatGridListModule } from \"@angular/material/grid-list\";\nimport { SharedModule } from \"../../shared/shared.module\";\nimport { DisclaimerDialogBodyComponent } from \"./disclaimer-dialog-body/disclaimer-dialog-body.component\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { DashboardComponent } from \"./dashboard.component\";\nlet DashboardModule = class DashboardModule {\n};\nDashboardModule = __decorate([\n NgModule({\n declarations: [DisclaimerDialogBodyComponent, DashboardComponent],\n imports: [\n CommonModule,\n DashboardRoutingModule,\n MatGridListModule,\n SharedModule,\n MatDialogModule\n ]\n })\n], DashboardModule);\nexport { DashboardModule };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./disclaimer-dialog-body.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./disclaimer-dialog-body.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\nimport { Router } from \"@angular/router\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { DisclaimerDialogBodyConstants } from \"./disclaimer-dialog-body.constants\";\nimport { AppConfig } from \"../../../app.config\";\nimport { RequestStatusService } from \"../../../shared/services/request-status/request-status.service\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nlet DisclaimerDialogBodyComponent = class DisclaimerDialogBodyComponent {\n dialogRef;\n router;\n http;\n requestStatusService;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n disclaimerTitle = \"\";\n disclaimerContent = \"\";\n acceptDisclaimerURL = DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_URL;\n acceptButtonLabel = DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT;\n httpSubscription;\n constructor(dialogRef, router, http, requestStatusService) {\n this.dialogRef = dialogRef;\n this.router = router;\n this.http = http;\n this.requestStatusService = requestStatusService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n this.disclaimerTitle = AppConfig.settings.disclaimer.title;\n this.disclaimerContent = \"

\" + AppConfig.settings.disclaimer.content + \"

\";\n }\n ngOnInit() {\n }\n acceptDisclaimer($event) {\n this.requestStatusService.showBusySpinner(DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT);\n this.httpSubscription = this.http.post(this.acceptDisclaimerURL, {})\n .subscribe(response => {\n this.closeDisclaimer();\n this.requestStatusService.removeBusySpinner(DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT);\n });\n }\n closeDisclaimer() {\n this.dialogRef.close(true);\n }\n static ctorParameters = () => [\n { type: MatDialogRef },\n { type: Router },\n { type: HttpClient },\n { type: RequestStatusService }\n ];\n};\nDisclaimerDialogBodyComponent = __decorate([\n Component({\n selector: \"app-dialog-body\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DisclaimerDialogBodyComponent);\nexport { DisclaimerDialogBodyComponent };\n","import { ApiUserConstants } from \"../../../shared/constants/api-constants/api-user.constants\";\nexport class DisclaimerDialogBodyConstants {\n static ACCEPT_DISCLAIMER_URL = ApiUserConstants.URL + \"/\" + ApiUserConstants.FUNCTION_ACCEPT_DISCLAIMER;\n static ACCEPT_DISCLAIMER_TEXT = \"Accept disclaimer\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./landing-page.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./landing-page.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { LandingPageConstants } from \"./landing-page.constants\";\nimport { AppConfig } from \"../../app.config\";\nimport { LandingPageService } from \"./shared/services/landing-page.service\";\nlet LandingPageComponent = class LandingPageComponent {\n landingPageService;\n // header on the top left side of the page\n logoImageUrl;\n // header on the top left side of the page\n logoImageAlt;\n // login button\n loginButtonLabel = LandingPageConstants.LOGIN_TEXT;\n // Main banner background image url\n mainBannerBackgroundImageUrl;\n // Main banner heading\n mainBannerHeading;\n // Banner sub heading\n bannerSubHeading;\n // Banner content\n bannerContent;\n // about section heading\n aboutSectionHeading;\n // about section description\n aboutSectionDescription;\n // modules and tools main heading\n modulesAndToolsHeading;\n // modules and tools main sub-heading\n modulesAndToolsSubHeading;\n // list of module data\n modules = [];\n // screenshot section main header\n screenshotSectionMainHeader;\n // screenshot section sub header\n screenshotSectionSubHeader;\n // list of the images that are loaded on the carousel\n screenshots = [];\n // copyright\n copyrightText;\n constructor(landingPageService) {\n this.landingPageService = landingPageService;\n }\n ngOnInit() {\n this.loadConfigData();\n }\n onLoginClicked() {\n this.landingPageService.loginButtonClicked.next(true);\n }\n loadConfigData() {\n const config = AppConfig.settings.landingPageData;\n this.logoImageUrl = config.logoImageUrl;\n this.logoImageAlt = config.logoImageAlt;\n this.mainBannerBackgroundImageUrl = config.mainBannerBackgroundImageUrl;\n this.mainBannerHeading = config.mainBannerHeading;\n this.bannerSubHeading = config.bannerSubHeading;\n this.bannerContent = config.bannerContent;\n this.aboutSectionHeading = config.aboutSectionHeading;\n this.aboutSectionDescription = config.aboutSectionDescription;\n this.modulesAndToolsHeading = config.modulesAndToolsHeading;\n this.modulesAndToolsSubHeading = config.modulesAndToolsSubHeading;\n this.modules = [];\n // tslint:disable-next-line:forin\n for (const key in config.modules) {\n const module = config.modules[key];\n if (module.show.toString() === \"true\") {\n this.modules.push(module);\n }\n }\n this.screenshotSectionMainHeader = config.screenshotSectionMainHeader;\n this.screenshotSectionSubHeader = config.screenshotSectionSubHeader;\n this.screenshots = [];\n // tslint:disable-next-line:forin\n for (const key in config.screenshots) {\n const screenshot = config.screenshots[key];\n if (screenshot.show.toString() === \"true\") {\n this.screenshots.push(screenshot);\n }\n }\n this.copyrightText = config.copyrightText;\n }\n static ctorParameters = () => [\n { type: LandingPageService }\n ];\n};\nLandingPageComponent = __decorate([\n Component({\n selector: \"app-landing-page\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LandingPageComponent);\nexport { LandingPageComponent };\n","export class LandingPageConstants {\n static LOGIN_TEXT = \"Login\";\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nlet LandingPageService = class LandingPageService {\n loginButtonClicked = new BehaviorSubject(null);\n constructor() {\n }\n static ctorParameters = () => [];\n};\nLandingPageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LandingPageService);\nexport { LandingPageService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./login.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./login.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AppConfig } from \"../../app.config\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { LoginConstants } from \"./login.constants\";\nimport { FormErrorStateMatcher } from \"../../shared/classes/error-state-matcher\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { Subject } from \"rxjs\";\nlet LoginComponent = class LoginComponent {\n dialogRef;\n appController;\n loginErrorStateMatcher;\n ngUnsubscribe = new Subject();\n usernamePlaceHolderText = LoginConstants.USERNAME_TEXT;\n passwordPlaceHolderText = LoginConstants.PASSWORD_TEXT;\n usernameRequiredErrorText = LoginConstants.USERNAME_REQUIRED_TEXT;\n passwordRequiredErrorText = LoginConstants.PASSWORD_REQUIRED_TEXT;\n dialogTitle = LoginConstants.LOGIN_DIALOGUE_TITLE;\n loginButtonText = LoginConstants.LOGIN_BUTTON_TEXT;\n loginErrorText = LoginConstants.LOGIN_ERROR_TEXT;\n spinnerDiameter = LoginConstants.LOGIN_SPINNER_DIAMETER;\n spinnerMode = LoginConstants.LOGIN_SPINNER_MODE;\n loginFormGroup;\n loginInProgress = false;\n loginErrorOccured = false;\n constructor(dialogRef, appController, loginErrorStateMatcher) {\n this.dialogRef = dialogRef;\n this.appController = appController;\n this.loginErrorStateMatcher = loginErrorStateMatcher;\n }\n get username() {\n return this.loginFormGroup.get(LoginConstants.USERNAME_FORM_CONTROL);\n }\n get password() {\n return this.loginFormGroup.get(LoginConstants.PASSWORD_FORM_CONTROL);\n }\n ngOnInit() {\n this.loginFormGroup = new FormGroup({\n username: new FormControl(\"\", [Validators.required]),\n password: new FormControl(\"\", [Validators.required])\n });\n this.trackChangesForLoginError();\n }\n ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n ngAfterContentInit() {\n if (AppConfig !== undefined && AppConfig !== null && AppConfig.settings.testing && AppConfig.settings.testing.enabled) {\n this.username.setValue(AppConfig.settings.testing.username);\n this.password.setValue(AppConfig.settings.testing.password);\n this.login();\n }\n }\n loginDisabled() {\n return !this.loginFormGroup.valid || this.loginInProgress;\n }\n hasUsernameRequiredError() {\n return this.username.hasError(LoginConstants.REQUIRED_ERROR_CODE);\n }\n hasPasswordRequiredError() {\n return this.password.hasError(LoginConstants.REQUIRED_ERROR_CODE);\n }\n login() {\n /* this.loginInProgress = true;\n this.authService.authenticate(this.username.value, this.password.value)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((userResult: IUserResult) => {\n this.handleAuthenticationResult(userResult);\n this.loginInProgress = false;\n }, error => {\n this.loginErrorOccured = true;\n this.loginInProgress = false;\n });*/\n }\n handleAuthenticationResult(userResult) {\n if (userResult.resultStatus.success) {\n this.appController.showMessage(\"Successfully logged in.\", AlertType.Success);\n this.close(true);\n }\n else {\n this.loginErrorOccured = true;\n this.loginInProgress = false;\n }\n }\n close(loginSuccessful) {\n this.dialogRef.close(loginSuccessful);\n }\n trackChangesForLoginError() {\n this.username.valueChanges\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(value => {\n if (this.loginErrorOccured) {\n this.loginErrorOccured = false;\n }\n });\n this.password.valueChanges\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(value => {\n if (this.loginErrorOccured) {\n this.loginErrorOccured = false;\n }\n });\n }\n static ctorParameters = () => [\n { type: MatDialogRef },\n { type: AppControllerService },\n { type: FormErrorStateMatcher }\n ];\n};\nLoginComponent = __decorate([\n Component({\n selector: \"app-login\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LoginComponent);\nexport { LoginComponent };\n","export class LoginConstants {\n static USERNAME_TEXT = \"Username\";\n static PASSWORD_TEXT = \"Password\";\n static USERNAME_REQUIRED_TEXT = \"Username is required\";\n static PASSWORD_REQUIRED_TEXT = \"Password is required\";\n static LOGIN_DIALOGUE_TITLE = \"Log in\";\n static LOGIN_BUTTON_TEXT = \"LOGIN\";\n static LOGIN_ERROR_TEXT = \"Error occurred while logging in\";\n static LOGIN_SPINNER_DIAMETER = 20;\n static LOGIN_SPINNER_MODE = \"indeterminate\";\n static REQUIRED_ERROR_CODE = \"required\";\n static USERNAME_FORM_CONTROL = \"username\";\n static PASSWORD_FORM_CONTROL = \"password\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./logout.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./logout.component.scss?ngResource\";\nimport { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { AppConfig } from 'src/app/app.config';\nimport { AuthService } from 'src/app/shared/services/auth/auth.service';\nlet LogoutComponent = class LogoutComponent {\n router;\n appController;\n authService;\n appConfig;\n constructor(router, appController, authService, appConfig) {\n this.router = router;\n this.appController = appController;\n this.authService = authService;\n this.appConfig = appConfig;\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService },\n { type: AuthService },\n { type: AppConfig }\n ];\n};\nLogoutComponent = __decorate([\n Component({\n selector: 'app-logout',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LogoutComponent);\nexport { LogoutComponent };\n","import { __decorate } from \"tslib\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ApiOrganisationConstants } from \"../../../shared/constants/api-constants/api-organisation.constants\";\nimport { ApiModuleConstants } from \"../../../shared/constants/api-constants/api-module.constants\";\nlet NavPanService = class NavPanService {\n http;\n selectedApplication$ = new BehaviorSubject(null);\n constructor(http) {\n this.http = http;\n }\n getMunicipalities() {\n const params = { $filter: `Modules/any(m: m/enableAFLAPortal eq true) ` };\n return this.http.get(ApiOrganisationConstants.URL, { params }).pipe(map(result => {\n const newResult = result.value.sort((a, b) => 0 - (a.name.toLowerCase() > b.name.toLowerCase() ? -1 : 1));\n return newResult;\n }));\n }\n getApplicationTypes(organisationId) {\n const params = {\n organisationId\n };\n return this.http.get(ApiModuleConstants.URL + \"/\" + ApiModuleConstants.GET_PORTAL_MODULES, { params }).pipe(map(result => {\n const newResult = result.value.sort((a, b) => 0 - (a.name.toLowerCase() > b.name.toLowerCase() ? -1 : 1));\n return newResult;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nNavPanService = __decorate([\n Injectable({\n providedIn: \"root\",\n })\n], NavPanService);\nexport { NavPanService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav-pane-content.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav-pane-content.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { NavConstants } from \"../nav.constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { Router } from \"@angular/router\";\nimport { UserInformationService } from \"../../../shared/services/user/user-information.service\";\nimport { AuthService } from \"../../../shared/services/auth/auth.service\";\nimport { SystemModuleSettingsService } from \"../../../shared/services/system-module-settings.service\";\nimport { CreateApplicationRoutingConstants } from \"../../../create-application/create-application-routing.constants\";\nimport { SearchApplicationsRoutingConstants } from \"../../../search-applications/search-applications-routing.constants\";\nimport { CommonPopUpComponent } from \"../../../../../../afla-common/src/lib/components/common-pop-up/common-pop-up.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../shared/constants/shared.constants\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { NavPanService } from \"./nav-pan.service\";\nimport { DocumentsAndInformationRoutingConstants } from \"../../../documents-and-information/documents-and-information-routing.constants\";\nimport { SessionStorageService } from \"../../../shared/services/storage/session-storage.service\";\nimport { LocalStorageEnum } from \"../../../shared/services/storage/local-storage-constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppConfig } from \"../../../app.config\";\nimport { RequestStatusService } from \"../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"../../../shared/decorators/autounsub-portal.decorator\";\nlet NavPaneContentComponent = class NavPaneContentComponent {\n userInformationService;\n appControllerService;\n authService;\n router;\n applicationCreateService;\n sessionStorageService;\n changeDetectorRef;\n selectedApplicationService;\n systemModuleSettingsService;\n navService;\n modalService;\n requestStatusService;\n modulesLink = AppRoutingConstants.ROUTE_SEPERATOR;\n homeLinkText = NavConstants.HOME_LINK_TEXT;\n logoutLinkText = NavConstants.LOGOUT_LINK_TEXT;\n organisationId;\n activeId = \"\";\n selectedModuleID;\n isAuthenticated = false;\n isSystemModuleSettingsFetched = false;\n selectMunicipalityText = \"\";\n municipalities = [];\n selectedMunicipality;\n applicationTypes;\n selectedApplicationType;\n applications = [];\n selectMunicipalityLabel = NavConstants.SELECT_MUNICIPALITY_LABEL;\n selectApplicationLabel = NavConstants.SELECT_APPLICATION_LABEL;\n viewDocumentationText = NavConstants.VIEW_DOCUMENTATION_TEXT;\n createApplicationText = NavConstants.CREATE_APPLICATION_TEXT;\n searchMyApplicationText = NavConstants.SEARCH_MY_APPLICATION_TEXT;\n selectAnOptionText = NavConstants.PLEASE_SELECT_AN_OPTION;\n logo = \"\";\n loadedApplicationTypesMap = new Map();\n dialogTitle = NavConstants.INCOMPLETE_APPLICATIONS_TITLE;\n dialogMessage = NavConstants.INCOMPLETE_APPLICATIONS_MESSAGE;\n modalBodyOptions = NavConstants.MODAL_OPTIONS;\n selectedMunicipalityId = null;\n selectedApplicationTypeId = null;\n userInformationServiceSubscription;\n isAuthenticatedSubscription;\n navServiceSubscription;\n systemModuleSettingsServiceSubscription;\n navServiceApplicationTypesSubscription;\n navServiceSelectedApplicationSubscription;\n constructor(userInformationService, appControllerService, authService, router, applicationCreateService, sessionStorageService, changeDetectorRef, selectedApplicationService, systemModuleSettingsService, navService, modalService, requestStatusService) {\n this.userInformationService = userInformationService;\n this.appControllerService = appControllerService;\n this.authService = authService;\n this.router = router;\n this.applicationCreateService = applicationCreateService;\n this.sessionStorageService = sessionStorageService;\n this.changeDetectorRef = changeDetectorRef;\n this.selectedApplicationService = selectedApplicationService;\n this.systemModuleSettingsService = systemModuleSettingsService;\n this.navService = navService;\n this.modalService = modalService;\n this.requestStatusService = requestStatusService;\n }\n ngOnInit() {\n this.subscribeToConfigSubject();\n this.loadMunicipalities();\n this.listenForAuthentication();\n this.listenForModuleFetch();\n this.showDefaultModule();\n this.subscribeToSelectedApplicationFromSearchPage();\n }\n logout() {\n this.authService.logOutRedirect();\n // this.authService.unAuthenticate();\n }\n onSearchApplicationClicked() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE)\n ]).then(() => {\n this.clearResetDropdowns();\n });\n }\n onCreateApplicationClicked() {\n this.appControllerService.setSelectedModule(this.selectedModuleID);\n this.checkIncompleteApplications();\n }\n checkIncompleteApplications() {\n this.requestStatusService.showBusySpinner(\"Searching incomplete applications\");\n this.userInformationServiceSubscription = this.userInformationService.hasOpenPortalApplications(Number(this.appControllerService.selectedModuleID)).subscribe(result => {\n this.requestStatusService.removeBusySpinner(\"Searching incomplete applications\");\n if (result.value === true) {\n this.openIncompleteApplicationsDialog();\n }\n else {\n this.proceedToCreateApplications();\n }\n });\n }\n onViewDocumentationClicked() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, DocumentsAndInformationRoutingConstants.VIEW_DOCUMENTS_AND_INFORMATION_ROUTE)\n ]);\n }\n selectMunicipality(event) {\n const input = event.target.value;\n this.selectedApplicationType = null;\n this.applicationTypes = null;\n if (!input) {\n return;\n }\n this.selectedMunicipality = this.municipalities.find(m => m.id === +input);\n if (!this.selectedMunicipality)\n return;\n this.appControllerService.selectedOrganisationID(this.selectedMunicipality.id);\n this.getApplicationTypes(this.selectedMunicipality.id);\n }\n selectApplicationType(event) {\n const input = event.target.value;\n this.selectedApplicationType = null;\n if (!input)\n return;\n this.selectedApplicationType = this.applicationTypes.find(m => m.id === +input);\n if (!this.selectedApplicationType)\n return;\n this.selectedModuleID = this.selectedApplicationType.id;\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n this.router.navigate([\"/\"]);\n }\n proceedToCreateApplications() {\n this.selectedApplicationService.setSelectedApplication(null);\n this.sessionStorageService.remove(LocalStorageEnum.SelectedJobID);\n this.sessionStorageService.set(LocalStorageEnum.SelectedModuleID, this.appControllerService.selectedModuleID);\n this.selectedApplicationService.setIncompleteJobId(0);\n this.applicationCreateService.setSelectGoToStep(0);\n this.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => {\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE)]);\n });\n }\n openIncompleteApplicationsDialog() {\n const dialogRef = this.modalService.open(CommonPopUpComponent, this.modalBodyOptions);\n dialogRef.componentInstance.title = this.dialogTitle;\n dialogRef.componentInstance.contentMessage = this.dialogMessage;\n dialogRef.componentInstance.updateBtnPlaceholder = SharedConstants.OK_LABEL;\n dialogRef.componentInstance.cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((proceed) => {\n this.changeDetectorRef.markForCheck();\n if (proceed) {\n this.proceedToCreateApplications();\n }\n else {\n this.onSearchApplicationClicked();\n }\n });\n }\n showDefaultModule() {\n // function will show all modules by default if user has only 1 organisation assigned\n const activePanel = \"panel-0\";\n this.activeId = activePanel;\n }\n listenForAuthentication() {\n this.isAuthenticatedSubscription = this.authService.$isAuthenticated.subscribe(result => {\n this.isAuthenticated = result;\n this.changeDetectorRef.detectChanges();\n });\n }\n loadMunicipalities() {\n this.isAuthenticatedSubscription = this.authService.$isAuthenticated.subscribe(connected => {\n if (connected) {\n this.navServiceSubscription = this.navService.getMunicipalities().subscribe(mun => {\n this.municipalities = mun;\n this.appControllerService.organisations = this.municipalities;\n if (this.municipalities.length === 1) {\n this.selectedMunicipality = this.municipalities[0];\n this.selectedMunicipalityId = this.selectedMunicipality.id;\n this.getApplicationTypes(this.selectedMunicipality.id);\n this.appControllerService.selectedOrganisationID(this.municipalities[0].id);\n }\n this.changeDetectorRef.markForCheck();\n });\n }\n });\n }\n getApplicationTypes(municipalityId) {\n if (this.loadedApplicationTypesMap.has(municipalityId)) {\n this.applicationTypes = this.loadedApplicationTypesMap.get(municipalityId);\n if (this.applicationTypes.length === 1) {\n this.selectedApplicationType = this.applicationTypes[0];\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n }\n }\n else {\n this.navServiceApplicationTypesSubscription = this.navService.getApplicationTypes(municipalityId).subscribe(appType => {\n this.applicationTypes = appType;\n this.appControllerService.modules = this.applicationTypes;\n if (this.applicationTypes.length === 1) {\n this.selectedApplicationType = this.applicationTypes[0];\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n }\n this.loadedApplicationTypesMap.set(municipalityId, this.applicationTypes);\n this.changeDetectorRef.detectChanges();\n });\n }\n }\n subscribeToConfigSubject() {\n this.appControllerService.$configLoadedSubject.subscribe((configLoaded) => {\n if (configLoaded) {\n this.logo = AppConfig.settings.logoUrl;\n this.selectMunicipalityText = AppConfig.settings.selectMunicipalityText.text;\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n listenForModuleFetch() {\n this.systemModuleSettingsServiceSubscription = this.systemModuleSettingsService.$systemModuleSettingsFetched.subscribe(result => {\n this.isSystemModuleSettingsFetched = result;\n this.changeDetectorRef.detectChanges();\n });\n }\n subscribeToSelectedApplicationFromSearchPage() {\n this.navServiceSelectedApplicationSubscription = this.navService.selectedApplication$.subscribe({\n next: (application) => {\n if (application) {\n this.setMunicipalityAndSelectedApplicationTypes(application);\n }\n }\n });\n }\n setMunicipalityAndSelectedApplicationTypes(application) {\n this.selectedMunicipality = this.municipalities.find(m => m.name === application.organisationName);\n this.selectedMunicipalityId = this.selectedMunicipality.id;\n this.navServiceApplicationTypesSubscription = this.navService.getApplicationTypes(this.selectedMunicipality.id).subscribe({\n next: (applicationTypes) => {\n if (applicationTypes.length > 0) {\n this.applicationTypes = applicationTypes;\n this.appControllerService.modules = this.applicationTypes;\n this.selectedApplicationType = this.applicationTypes.find(applicationType => applicationType.name === application.applicationType);\n this.selectedApplicationTypeId = this.selectedApplicationType.id;\n this.loadedApplicationTypesMap.set(application.moduleId, this.applicationTypes);\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n clearResetDropdowns() {\n this.selectedApplicationType = null;\n this.selectedApplicationTypeId = null;\n this.selectedMunicipality = null;\n this.selectedMunicipalityId = null;\n this.changeDetectorRef.detectChanges();\n }\n static ctorParameters = () => [\n { type: UserInformationService },\n { type: AppControllerService },\n { type: AuthService },\n { type: Router },\n { type: ApplicationCreateService },\n { type: SessionStorageService },\n { type: ChangeDetectorRef },\n { type: SelectedApplicationService },\n { type: SystemModuleSettingsService },\n { type: NavPanService },\n { type: NgbModal },\n { type: RequestStatusService }\n ];\n};\nNavPaneContentComponent = __decorate([\n Component({\n selector: \"app-nav-pane-content\",\n providers: [],\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], NavPaneContentComponent);\nexport { NavPaneContentComponent };\n","var NavToolbarContentComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav-toolbar-content.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav-toolbar-content.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output } from \"@angular/core\";\nimport { AuthService } from \"../../../shared/services/auth/auth.service\";\nimport { NavConstants } from \"../nav.constants\";\nimport { NavigationEnd, NavigationStart, Router } from \"@angular/router\";\nimport { Link } from \"../../../shared/models/link.model\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { AppConfig } from \"../../../app.config\";\nimport { ModuleConfigService } from \"../../../shared/services/module-config/module-config.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet NavToolbarContentComponent = class NavToolbarContentComponent {\n static { NavToolbarContentComponent_1 = this; }\n authService;\n router;\n appControllerService;\n changeDetectorRef;\n moduleConfigService;\n sideNavToggle = new EventEmitter();\n appTitle;\n $authenticated;\n headingLinks;\n showHeadings;\n notificationIsOn = false;\n activeRoute;\n headingRoutes;\n propertyLayersForModules;\n appConfigLoadedSub;\n constructor(authService, router, appControllerService, changeDetectorRef, moduleConfigService) {\n this.authService = authService;\n this.router = router;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.moduleConfigService = moduleConfigService;\n this.$authenticated = this.authService.$isAuthenticated;\n }\n static getLink(headingText, address, selectedSystemModuleID) {\n return new Link(headingText, AppRoutingConstants.createRouteToViewWithPrefixRouteSeparator(selectedSystemModuleID, address));\n }\n ngOnInit() {\n this.initializeHeadingLinks();\n this.addHeadingLinks();\n this.populateHeadingRoutes();\n this.setActivatedRoute();\n this.listenForRouteChanges();\n this.checkMapServicePropertyLayer();\n var appConfigLoadedSub = this.appControllerService.$configLoadedSubject.subscribe((loaded) => {\n if (loaded) {\n this.appTitle = AppConfig.settings.projectSettings.projectName;\n }\n });\n }\n isShowDiv(linkText) {\n if (linkText === NavConstants.PROPERTIES_HEADING_TEXT) {\n return !this.moduleConfigService.isCemeteryModule();\n }\n else if (linkText === NavConstants.LOCATION_HEADING_TEXT) {\n return this.moduleConfigService.isCemeteryModule();\n }\n else\n return true;\n }\n checkPropertyLayer(layerName) {\n let found = false;\n if (this.propertyLayersForModules) {\n this.propertyLayersForModules.forEach((layer) => {\n if (layer.moduleId === Number(this.appControllerService.selectedModuleID)\n && layer.layerType === layerName) {\n found = true;\n }\n });\n }\n return found;\n }\n toggleSideNav() {\n console.log(\"lala\");\n this.sideNavToggle.emit();\n }\n routeToUpdateProfile() {\n console.log(\"check\");\n const url = `${AppConfig.settings.ids.issuer}/AccountManagement?url=${AppConfig.settings.ids.redirectUri}&appName=${AppConfig.settings.applicationAlias}&clientId=${AppConfig.settings.ids.clientId}`;\n window.open(url, \"_self\");\n }\n checkMapServicePropertyLayer() {\n }\n addHeadingLinks() {\n const selectedSystemModuleID = this.appControllerService.selectedModuleID;\n this.headingLinks.push(NavToolbarContentComponent_1\n .getLink(NavConstants.APPLICATIONS_HEADING_TEXT, \"\", selectedSystemModuleID), NavToolbarContentComponent_1\n .getLink(NavConstants.PROPERTIES_HEADING_TEXT, \"\", selectedSystemModuleID), NavToolbarContentComponent_1\n .getLink(NavConstants.LOCATION_HEADING_TEXT, \"\", selectedSystemModuleID));\n this.changeDetectorRef.markForCheck();\n }\n listenForRouteChanges() {\n }\n reactToRouteChanges(event) {\n if (event instanceof NavigationStart) {\n this.handleNavigationStart();\n }\n if (event instanceof NavigationEnd) {\n this.handleNavigationEnd(event);\n }\n }\n checkIfHeadingRoute(event) {\n return this.headingRoutes.some((headingRoute) => {\n return event.urlAfterRedirects.includes(headingRoute);\n });\n }\n clearHeadings() {\n this.headingLinks = new Array();\n }\n handleNavigationEnd(event) {\n this.activeRoute = event.urlAfterRedirects;\n this.showHeadings = this.checkIfHeadingRoute(event);\n if (this.showHeadings) {\n this.clearHeadings();\n this.addHeadingLinks();\n }\n }\n populateHeadingRoutes() {\n }\n setActivatedRoute() {\n this.activeRoute = this.router.routerState.snapshot.url;\n }\n initializeHeadingLinks() {\n this.showHeadings = false;\n this.headingLinks = new Array();\n }\n handleNavigationStart() {\n this.clearHeadings();\n }\n static ctorParameters = () => [\n { type: AuthService },\n { type: Router },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: ModuleConfigService }\n ];\n static propDecorators = {\n sideNavToggle: [{ type: Output }]\n };\n};\nNavToolbarContentComponent = NavToolbarContentComponent_1 = __decorate([\n Component({\n selector: \"app-nav-toolbar-content\",\n providers: [],\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], NavToolbarContentComponent);\nexport { NavToolbarContentComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, ViewChild } from \"@angular/core\";\nimport { AuthService } from \"../../shared/services/auth/auth.service\";\nlet NavComponent = class NavComponent {\n authService;\n sidenav;\n $authenticated;\n constructor(authService) {\n this.authService = authService;\n this.$authenticated = this.authService.$isAuthenticated;\n }\n ngOnInit() {\n }\n toggleSideNav() {\n this.sidenav.toggle();\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n static propDecorators = {\n sidenav: [{ type: ViewChild, args: [\"sidenav\",] }]\n };\n};\nNavComponent = __decorate([\n Component({\n selector: \"app-nav\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], NavComponent);\nexport { NavComponent };\n","export class NavConstants {\n static ADD_ORGANISATION_LINK_TEXT = \"Add organisation\";\n static LOGOUT_LINK_TEXT = \"Logout\";\n //static readonly APP_TITLE = \"Default Project Title\";\n static HOME_LINK_TEXT = \"Home\";\n static APPLICATIONS_HEADING_TEXT = \"Applications\";\n static PROPERTIES_HEADING_TEXT = \"Properties\";\n static LOCATION_HEADING_TEXT = \"Cemeteries/Graves\";\n static SELECT_MUNICIPALITY_LABEL = \"Select municipality\";\n static SELECT_APPLICATION_LABEL = \"Select application\";\n static VIEW_DOCUMENTATION_TEXT = \"View documentation\";\n static CREATE_APPLICATION_TEXT = \"Create application\";\n static SEARCH_MY_APPLICATION_TEXT = \"Search my applications\";\n static DEFAULT_APPLICANT_AGENT_TEXT = \"Default Applicant Agent\";\n static INCOMPLETE_APPLICATIONS_TITLE = \"Incomplete applications\";\n static INCOMPLETE_APPLICATIONS_MESSAGE = \"The selected module contains incomplete applications. \\n\\nClick 'OK' to create a new application or click 'Cancel' to open the list of saved / incomplete applications and select the application that you would like to complete.\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n static MODAL_OPTIONS = {\n size: \"lg\",\n centered: true,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NavPaneContentComponent } from \"./nav-pane-content/nav-pane-content.component\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { NavComponent } from \"./nav.component\";\nimport { RouterModule } from \"@angular/router\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { NavToolbarContentComponent } from \"./nav-toolbar-content/nav-toolbar-content.component\";\nimport { FormsModule } from \"@angular/forms\";\nlet NavModule = class NavModule {\n};\nNavModule = __decorate([\n NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [NavComponent,\n NavPaneContentComponent,\n NavToolbarContentComponent,\n ],\n exports: [NavComponent],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n MatButtonModule,\n MatSidenavModule,\n MatToolbarModule,\n FormsModule\n ]\n })\n], NavModule);\nexport { NavModule };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./refresh-view-application.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./refresh-view-application.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nlet RefreshViewApplicationComponent = class RefreshViewApplicationComponent {\n router;\n appController;\n constructor(router, appController) {\n this.router = router;\n this.appController = appController;\n }\n ngOnInit() {\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, this.appController.selectedJobID + \"\")]).then((r) => {\n });\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRefreshViewApplicationComponent = __decorate([\n Component({\n selector: \"app-refresh-view-application\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RefreshViewApplicationComponent);\nexport { RefreshViewApplicationComponent };\n","export var RequiredDocumentsHeadingEnum;\n(function (RequiredDocumentsHeadingEnum) {\n RequiredDocumentsHeadingEnum[\"type\"] = \"Type\";\n RequiredDocumentsHeadingEnum[\"name\"] = \"Name\";\n RequiredDocumentsHeadingEnum[\"dateUploaded\"] = \"Date uploaded\";\n RequiredDocumentsHeadingEnum[\"fileName\"] = \"File name\";\n})(RequiredDocumentsHeadingEnum || (RequiredDocumentsHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-documentation.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-documentation.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CRUDOperation } from \"../../shared/models/crud-operation-enum.model\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { ApplicationCreateService } from \"../shared/application-create.service\";\nimport { CreateApplicationConstants } from \"../shared/create-application.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DeleteDocumentsConfirmationDialogComponent } from \"../shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component\";\nimport { AddDocumentsDialogComponent } from \"../shared/forms/add-documents-dialog/add-documents-dialog.component\";\nimport { DatePipe } from \"@angular/common\";\nimport { EditDocumentsDialogComponent } from \"../shared/forms/edit-documents-dialog/edit-documents-dialog.component\";\nimport { AppConfig } from \"../../app.config\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationViewBaseComponent } from \"../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { CreateApplicationDocumentationConstants } from \"./create-application-documentation.constants\";\nimport { FileUtils } from \"../../shared/utils/file-utils\";\nimport { SearchApplicationsService } from \"../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDocumentationComponent = class CreateApplicationDocumentationComponent extends CreateApplicationViewBaseComponent {\n aflaModuleStrategyService;\n applicationCreateService;\n selectedApplicationService;\n modalService;\n datePipe;\n changeDetectorRef;\n appController;\n searchApplicationsService;\n showNoRequiredDocumentText = false;\n showCheckBoxColumn = true;\n tableMapper;\n tableDataSource = new BehaviorSubject([]);\n documentForm;\n requiredDocuments = [];\n stepHeader = \"\";\n noRequiredDocumentText = CreateApplicationDocumentationConstants.NO_DOCUMENT_REQUIRED_MESSAGE;\n noRequiredDocumentsFoundErrMsg = CreateApplicationDocumentationConstants.NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE;\n uploadRequiredDocumentLabel = CreateApplicationDocumentationConstants.UPLOAD_REQUIRED_DOC_LABEL;\n applicationDocumentsLabel = CreateApplicationDocumentationConstants.APPLICATIONS_DOCUMENTS_LABEL;\n addBtnLabel = CreateApplicationDocumentationConstants.ADD_DOCUMENTS_BTN_LABEL;\n editBtnLabel = CreateApplicationDocumentationConstants.EDIT_DOCUMENTS_BTN_LABEL;\n deleteBtnLabel = CreateApplicationDocumentationConstants.DELETE_DOCUMENTS_BTN_LABEL;\n attachmentLabel = CreateApplicationDocumentationConstants.ATTACHMENT_LABEL;\n downloadLabel = CreateApplicationDocumentationConstants.DOWNLOAD_LABEL;\n deleteDocumentLabel = CreateApplicationDocumentationConstants.DELETE_DOCUMENTS_LABEL;\n addDocumentsDialogTitle = CreateApplicationDocumentationConstants.ADD_DOCUMENTS_DIALOG_TITLE;\n modalBodyOptions = CreateApplicationDocumentationConstants.modalBodyOptions;\n componentName = CreateApplicationDocumentationConstants.COMPONENT_NAME;\n editDocumentsDialogTitle = CreateApplicationDocumentationConstants.EDIT_DOCUMENTS_DIALOG_TITLE;\n additionalApplicationTypeConstant = CreateApplicationDocumentationConstants.ADDITIONAL_APPLICATION_TYPE_CONSTANTS;\n isDocumentRequiredConstant = CreateApplicationDocumentationConstants.IS_DOCUMENT_REQUIRED;\n documentFormControlName = CreateApplicationDocumentationConstants.DOCUMENT_FORM_CONTROL_NAME;\n documentsFormControlName = CreateApplicationDocumentationConstants.DOCUMENTS_FORM_CONTROL_NAME;\n datePipeFormat = CreateApplicationDocumentationConstants.DATE_PIPE_FORMAT;\n requiredDocumentLookupConstant = CreateApplicationDocumentationConstants.REQUIRED_DOCUMENTS_HEADING_LOOKUP;\n selectedApplicationApplicationTypes = [];\n selectedDocuments = [];\n documentTypes = [];\n configUploadSettings;\n currentApplication;\n applicationCreateServiceSubscription;\n applicationCreateServiceSelectModuleSubscription;\n getAttachmentContentSubscription;\n selectedApplicationSubscription2;\n constructor(aflaModuleStrategyService, applicationCreateService, selectedApplicationService, modalService, datePipe, changeDetectorRef, appController, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.applicationCreateService = applicationCreateService;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.searchApplicationsService = searchApplicationsService;\n this.configUploadSettings = AppConfig.settings.uploadFile;\n }\n ngOnInit() {\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.setupSubscribers();\n }\n loadMetadata(stepMeta) {\n }\n arrayReturned(documents) {\n this.selectedDocuments = documents;\n }\n onDeleteBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n const modalRef = this.modalService.open(DeleteDocumentsConfirmationDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.deleteDocumentLabel;\n modalRef.componentInstance.documentsToDelete = this.selectedDocuments;\n modalRef.result.then((deletedDocuments) => {\n if (deletedDocuments) {\n const idsOfDocumentsToBeDeleted = this.selectedDocuments.map(document => {\n return document.id;\n });\n const params = {\n ids: idsOfDocumentsToBeDeleted,\n moduleId: this.currentApplication.moduleId\n };\n this.applicationCreateServiceSubscription = this.applicationCreateService.deleteUploadDocumentsObservable(params).subscribe({\n next: () => {\n this.deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Delete);\n }\n });\n }\n });\n }\n onAddBtnClicked(event) {\n const evt = event.target;\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(AddDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.addDocumentsDialogTitle;\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.selectedDocumentType = evt.innerHTML;\n modalRef.result.then((newDocument) => {\n if (newDocument) {\n this.addDocumentToTable(newDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n onEditBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.selectedDocuments.length > 1) {\n this.appController.showMessage(SharedConstants.MORE_THAN_ONE_SELECTED, AlertType.Warning);\n return;\n }\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(EditDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.editDocumentsDialogTitle;\n modalRef.componentInstance.documentToEdit = this.selectedDocuments[0];\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.result.then((resultObject) => {\n if (resultObject) {\n this.deleteSelectedDocsFromTable(resultObject.idsToDelete);\n this.addDocumentToTable(resultObject.editedDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n }\n });\n }\n onDownloadAttachment(attachment) {\n const attachmentId = attachment.id;\n const fileName = attachment.fileName;\n this.getAttachmentContentSubscription = this.applicationCreateService.getAttachmentContent(attachmentId).subscribe({\n next: (attachmentContent) => {\n FileUtils.openFile(fileName, attachmentContent);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = this.requiredDocumentLookupConstant;\n }\n getRequiredDocumentsLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'RequiredDocument' and deleted eq false`,\n $expand: \"attachment\"\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.hasOwnProperty(\"value\") && response.value.length > 0) {\n const lookups = response.value;\n this.onGetRequiredDocumentsLookupsCompleted(lookups);\n }\n else {\n // this.appController.showMessage(this.noRequiredDocumentsFoundErrMsg, AlertType.Warning)\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n onGetRequiredDocumentsLookupsCompleted(lookups) {\n this.requiredDocuments = [];\n this.buildRequiredDocumentsObjects(lookups);\n this.sortRequiredDocumentsAlphabetically();\n if (this.currentApplication.attachments.length > 0) {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n this.updateFormControl();\n this.changeDetectorRef.detectChanges();\n }\n buildRequiredDocumentsObjects(lookups) {\n lookups.forEach(lookup => {\n const content = JSON.parse(lookup.content);\n if (this.selectedApplicationApplicationTypes.length > 0) {\n this.selectedApplicationApplicationTypes.forEach((applicationType) => {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant\n && content.required?.toLowerCase() === this.isDocumentRequiredConstant\n && content.applicationType?.toLowerCase() === applicationType?.toLowerCase()) {\n this.appendRequiredDocuments(lookup, content);\n }\n });\n }\n else {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant\n && content.required?.toLowerCase() === this.isDocumentRequiredConstant) {\n this.appendRequiredDocuments(lookup, content);\n }\n }\n });\n if (this.requiredDocuments.length > 0) {\n this.removeDuplicateDocuments();\n }\n }\n addDocumentToTable(document) {\n // adds new document into the table\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n if (documentsAlreadyOnTheTable.length > 0) {\n documentsAlreadyOnTheTable.push(document);\n this.tableDataSource.next([...documentsAlreadyOnTheTable]);\n }\n else {\n this.tableDataSource.next([document]);\n }\n }\n updateDocumentChecklist() {\n const docsInTable = this.tableDataSource.value;\n this.resetDocumentsChecklist();\n this.updateDocumentChecklistOnInit(docsInTable);\n }\n deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted) {\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n const newDocuments = [];\n documentsAlreadyOnTheTable.forEach((document) => {\n let deleteDocument = false;\n idsOfDocumentsToBeDeleted.forEach((documentIdOfDeletedDocument) => {\n if (document.id === documentIdOfDeletedDocument) {\n deleteDocument = true;\n }\n });\n if (!deleteDocument) {\n newDocuments.push(document);\n }\n });\n this.tableDataSource.next([...newDocuments]);\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription2 = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n // gets the saved application by jobId (if it exists)\n if (application) {\n if (+this.jobId > 0) {\n this.getApplicationAttachments(application);\n }\n }\n });\n }\n setupSubscribers() {\n this.getStepHeadingSubscribers();\n this.subscribeToSelectedApplication();\n }\n getStepHeadingSubscribers() {\n this.applicationCreateServiceSelectModuleSubscription = this.applicationCreateService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${CreateApplicationConstants.REQUIRED_DOCUMENTATION_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.documentFormControlName);\n form.clearValidators();\n this.documentForm = form;\n }\n loadSavedAttachments(attachments) {\n const attachmentsForTable = [];\n attachments.forEach((attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.datePipe.transform(attachment.date, this.datePipeFormat),\n fileName: attachment.fileName,\n };\n attachmentsForTable.push(attachmentObject);\n });\n this.tableDataSource.next(attachmentsForTable);\n }\n updateFormControl() {\n // mark form as valid if all required documents are uploaded\n let formIsValid = true;\n if (this.showNoRequiredDocumentText) {\n formIsValid = true;\n }\n this.requiredDocuments.forEach((document) => {\n if (document.uploaded === false) {\n formIsValid = false;\n }\n });\n if (formIsValid) {\n this.documentForm.get(this.documentsFormControlName).clearValidators();\n }\n else {\n this.documentForm.get(this.documentsFormControlName).addValidators(Validators.required);\n }\n this.documentForm.markAllAsTouched();\n this.documentForm.get(this.documentsFormControlName).updateValueAndValidity();\n }\n getApplicationAttachments(application) {\n // get the application's attachments\n const params = {\n jobId: application.jobId\n };\n this.applicationCreateService.getAttachments(params).subscribe({\n next: (response) => {\n application.attachments = response.value;\n this.getApplicationTypes(application);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n updateDocumentChecklistOnInit(attachmentsForTable) {\n if (this.requiredDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.requiredDocuments.forEach((requiredDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (requiredDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n requiredDocument.uploaded = true;\n }\n });\n });\n }\n }\n getDocumentTypes() {\n this.documentTypes = [this.additionalApplicationTypeConstant];\n const types = this.requiredDocuments?.map(document => {\n return document.name;\n });\n types.forEach((type) => {\n this.documentTypes.push(type);\n });\n this.documentTypes = this.documentTypes.sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'accent' }));\n return this.documentTypes;\n }\n getApplicationTypes(application) {\n const jobId = +this.jobId;\n const moduleId = +this.appController.selectedModuleID;\n this.aflaModuleStrategyService.getApplicationTypes(jobId, moduleId).subscribe({\n next: (applicationTypes) => {\n this.selectedApplicationApplicationTypes = applicationTypes.value;\n this.currentApplication = application;\n this.getRequiredDocumentsLookups();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n sortRequiredDocumentsAlphabetically() {\n if (this.requiredDocuments.length > 0) {\n this.requiredDocuments?.sort((a, b) => a?.name.localeCompare(b.name));\n }\n else {\n this.showNoRequiredDocumentText = true;\n }\n }\n appendRequiredDocuments(lookup, content) {\n const fileName = lookup.attachment === null ? \"\" : lookup.attachment.fileName;\n this.requiredDocuments.push({\n id: lookup.id,\n uploaded: false,\n category: content.category,\n name: content.name,\n description: content.description,\n required: content.required,\n fileName,\n attachmentId: lookup.attachment === null ? 0 : lookup.attachment.id,\n });\n }\n resetDocumentsChecklist() {\n if (this.requiredDocuments.length > 0) {\n this.requiredDocuments.forEach((doc) => {\n doc.uploaded = false;\n });\n }\n }\n removeDuplicateDocuments() {\n // removes document objects that have the same 'name' property\n const uniqueRequiredDocuments = {};\n const distinctDocumentsArray = [];\n this.requiredDocuments.forEach((documentObject) => {\n if (!uniqueRequiredDocuments[documentObject.name]) {\n distinctDocumentsArray.push(documentObject);\n uniqueRequiredDocuments[documentObject.name] = true;\n }\n });\n this.requiredDocuments = distinctDocumentsArray;\n }\n static ctorParameters = () => [\n { type: AflaModuleStrategyService },\n { type: ApplicationCreateService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDocumentationComponent = __decorate([\n Component({\n selector: \"app-create-application-documentation\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDocumentationComponent);\nexport { CreateApplicationDocumentationComponent };\n","import { RequiredDocumentsHeadingEnum } from \"./create-application-documentation-enums/create-application-documentation-enums\";\nexport class CreateApplicationDocumentationConstants {\n static NO_DOCUMENT_REQUIRED_MESSAGE = \"No documents are required for this application, however you can submit any additional documents.\";\n static NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE = \"No required documents found in the lookups, please contact system admin\";\n static UPLOAD_REQUIRED_DOC_LABEL = \"Note: Upload the required documents for the application as listed below.\";\n static APPLICATIONS_DOCUMENTS_LABEL = \"My application documents\";\n static ADD_DOCUMENTS_BTN_LABEL = \"Add document\";\n static ADD_DOCUMENTS_DIALOG_TITLE = \"Add documents\";\n static EDIT_DOCUMENTS_DIALOG_TITLE = \"Edit documents\";\n static EDIT_DOCUMENTS_BTN_LABEL = \"Edit document\";\n static DELETE_DOCUMENTS_BTN_LABEL = \"Delete document\";\n static DELETE_DOCUMENTS_LABEL = \"Delete documents\";\n static ATTACHMENT_LABEL = \"Attachment\";\n static DOWNLOAD_LABEL = \"Download\";\n static ADDITIONAL_APPLICATION_TYPE_CONSTANTS = \"Additional\";\n static IS_DOCUMENT_REQUIRED = \"yes\";\n static DOCUMENT_FORM_CONTROL_NAME = \"documentForm\";\n static DOCUMENTS_FORM_CONTROL_NAME = \"documents\";\n static DATE_PIPE_FORMAT = \"dd/MM/yyyy hh:mm\";\n static DELETE_DIALOG_TITLE = \"Delete document(s)\";\n static COMPONENT_NAME = \"create-application-documentation\";\n static modalBodyOptions = {\n size: \"xl\",\n centered: true,\n backdrop: \"static\",\n };\n static REQUIRED_DOCUMENTS_HEADING_LOOKUP = new Map([\n [RequiredDocumentsHeadingEnum.type, \"type\"],\n [RequiredDocumentsHeadingEnum.name, \"name\"],\n [RequiredDocumentsHeadingEnum.dateUploaded, \"dateUploaded\"],\n [RequiredDocumentsHeadingEnum.fileName, \"fileName\"],\n ]);\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-people-of-interest.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-people-of-interest.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ApplicationCreateService } from \"../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SearchApplicationsService } from \"../../search-applications/shared/search-applications.service\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { CreateApplicationViewBaseComponent } from \"../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationPeopleOfInterestConstants } from \"./create-application-people-of-interest.constants\";\nlet CreateApplicationPeopleOfInterestComponent = class CreateApplicationPeopleOfInterestComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n appController;\n selectedApplicationService;\n modalService;\n changeDetectorRefs;\n searchApplicationsService;\n peopleOfInterestForm;\n transferorFormControlName = CreateApplicationPeopleOfInterestConstants.TRANSFEROR_FORM_CONTROL_NAME;\n transfereeFormControlName = CreateApplicationPeopleOfInterestConstants.TRANSFEREE_FORM_CONTROL_NAME;\n conveyancerFormControlName = CreateApplicationPeopleOfInterestConstants.CONVEYANCER_FORM_CONTROL_NAME;\n transferorDisableFilterBy = true;\n transferorDisableEditing = false;\n transferorGroups = [];\n transferorLabel = CreateApplicationPeopleOfInterestConstants.TRANSFEROR_LABEL;\n transfereeDisableFilterBy = true;\n transfereeDisableEditing = false;\n transfereeGroups = [];\n transfereeLabel = CreateApplicationPeopleOfInterestConstants.TRANSFEREE_LABEL;\n copyApplicantToTransfereeLabel = CreateApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_LABEL;\n conveyancerDisableFilterBy = true;\n conveyancerDisableEditing = false;\n conveyancerGroups = [];\n conveyancerLabel = CreateApplicationPeopleOfInterestConstants.CONVEYANCER_LABEL;\n copyApplicantToTransfereeFormControlName = CreateApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME;\n savedApplicant;\n constructor(createApplicationService, aflaModuleStrategyService, appController, selectedApplicationService, modalService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.appController = appController;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.subScribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n try {\n this.transferorGroups = stepMeta.transferorGroup;\n this.transfereeGroups = stepMeta.transfereeGroup;\n this.conveyancerGroups = stepMeta.conveyancerGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.peopleOfInterestForm = this.aflaModuleStrategyService.form.get(\"peopleOfInterestForm\");\n this.changeDetectorRefs.detectChanges();\n }\n onBtnCopyApplicantToTransfereeClicked(event) {\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n if (event.currentTarget.checked === true) {\n const transfereeFormControl = this.peopleOfInterestForm.get(this.transfereeFormControlName);\n transfereeFormControl.clearValidators();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n const transfereeGroups = Object.assign({}, this.transfereeGroups[0]);\n const transferee = this.savedApplicant;\n transferee.groups = transfereeGroups[0];\n this.peopleOfInterestForm.get(this.transfereeFormControlName).setValue(transferee);\n transfereeFormControl.disable();\n this.changeDetectorRefs.detectChanges();\n }\n else {\n transfereeFormControl.enable();\n transfereeFormControl.reset();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(false);\n this.getMetadata();\n this.changeDetectorRefs.detectChanges();\n }\n }\n checkApplicationData() {\n const isFormPristine = this.peopleOfInterestForm.pristine;\n const isFormUnTouched = this.peopleOfInterestForm.untouched;\n const isFormInvalid = this.peopleOfInterestForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(selectedApplication) {\n let transferee;\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n transferee = selectedApplication.transferee[0];\n if (transferee) {\n transfereeFormControl.setValue(transferee);\n }\n let transferor;\n const transferorFormControl = this.peopleOfInterestForm.get(\"transferor\");\n transferor = selectedApplication.transferor[0];\n if (transferor) {\n transferorFormControl.setValue(transferor);\n }\n let conveyancer;\n const conveyancerFormControl = this.peopleOfInterestForm.get(\"conveyancer\");\n conveyancer = selectedApplication.conveyancer[0];\n if (conveyancer) {\n conveyancerFormControl.setValue(conveyancer);\n }\n }\n subScribeToSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.applicant && application.applicant.length > 0) {\n this.savedApplicant = application.applicant[0];\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: AppControllerService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationPeopleOfInterestComponent = __decorate([\n Component({\n selector: \"app-create-application-people-of-interest\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationPeopleOfInterestComponent);\nexport { CreateApplicationPeopleOfInterestComponent };\n","export class CreateApplicationPeopleOfInterestConstants {\n // Controls\n static TRANSFEROR_FORM_CONTROL_NAME = \"transferor\";\n static TRANSFEREE_FORM_CONTROL_NAME = \"transferee\";\n static CONVEYANCER_FORM_CONTROL_NAME = \"conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME = \"copyApplicantToTransferee\";\n // Labels\n static TRANSFEROR_LABEL = \"Transferor\";\n static TRANSFEREE_LABEL = \"Transferee\";\n static CONVEYANCER_LABEL = \"Conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_LABEL = \"Copy Applicant To Transferee\";\n}\n","export class CreateApplicationRoutingConstants {\n static CREATE_APPLICATION_ROUTE = \"create-application\";\n static LOCATION_ROUTE = \"location\";\n static DETAILS_ROUTE = \"details\";\n static APPLICANT_ROUTE = \"applicant\";\n static AGENT_ROUTE = \"agent\";\n static WELCOME_ROUTE = \"welcome\";\n static STATUS_ROUTE = \"status\";\n static PROFESSIONAL_BODIES_ROUTE = \"professionalbodies\";\n static BURIAL_ROUTE = \"burialdetails\";\n static DECEASED_ROUTE = \"deceaseddetails\";\n static FAMILY_ROUTE = \"familymemberdetails\";\n static REQUIRED_DOCS = \"documentation\";\n static REFRESH_ROUTE = \"refresh-create-application\";\n static FUNERAL_PARLOUR = \"funeralparlour\";\n static TRADERS_ROUTE = \"traders\";\n static PEOPLE_OF_INTEREST_ROUTE = \"peopleofinterest\";\n static REFRESH_VIEW_APPLICATION_ROUTE = \"refreshViewApplication\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsAConstants } from \"./create-application-details-a.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { phoneNumberValidator } from \"../../../../shared/classes/phone-number-validator\";\nimport { RecipientSelectComponent } from \"../../../../shared/components/recipient-components/recipient-select/recipient-select.component\";\nlet CreateApplicationDetailsAComponent = class CreateApplicationDetailsAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n detailsForm;\n personResponsibleComponentRef;\n advertisementFormGroup;\n advertisementsFormGroupName = CreateApplicationDetailsAConstants.ADVERTISEMENTS_FORM_GROUP_NAME;\n validationMessages = CreateApplicationDetailsAConstants.VALIDATION_MESSAGES;\n applicationDetailsFormGroupName = CreateApplicationDetailsAConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n // FormControls\n detailsFormGroupName = CreateApplicationDetailsAConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = CreateApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n displayStartDateControlName = CreateApplicationDetailsAConstants.DISPLAY_START_DATE_FORM_CONTROL_NAME;\n displayEndDateControlName = CreateApplicationDetailsAConstants.DISPLAY_END_DATE_FORM_CONTROL_NAME;\n displayRemovalDateControlName = CreateApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME;\n numberOfPostersControlName = CreateApplicationDetailsAConstants.NUMBER_OF_POSTERS_FORM_CONTROL_NAME;\n nameOfBusinessControlName = CreateApplicationDetailsAConstants.NAME_OF_BUSINESS_FORM_CONTROL_NAME;\n notifySignageRemovalPeriodControlName = CreateApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME;\n positionOfTheDisplayControlName = CreateApplicationDetailsAConstants.POSITION_OF_DISPLAY_FORM_CONTROL_NAME;\n heightControlName = CreateApplicationDetailsAConstants.HEIGHT_FORM_CONTROL_NAME;\n widthControlName = CreateApplicationDetailsAConstants.WIDTH_FORM_CONTROL_NAME;\n depthControlName = CreateApplicationDetailsAConstants.DEPTH_FORM_CONTROL_NAME;\n materialControlName = CreateApplicationDetailsAConstants.MATERIAL_FORM_CONTROL_NAME;\n coloursControlName = CreateApplicationDetailsAConstants.COLOURS_FORM_CONTROL_NAME;\n frontalAreaControlName = CreateApplicationDetailsAConstants.FRONTAL_AREA_FORM_CONTROL_NAME;\n totalAreaControlName = CreateApplicationDetailsAConstants.TOTAL_AREA_FORM_CONTROL_NAME;\n signTypeControlName = CreateApplicationDetailsAConstants.SIGN_TYPE_FORM_CONTROL_NAME;\n weightControlName = CreateApplicationDetailsAConstants.WEIGHT_FORM_CONTROL_NAME;\n wattageControlName = CreateApplicationDetailsAConstants.WATTAGE_FORM_CONTROL_NAME;\n signContractorControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME;\n signContractorAddressControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME;\n signContractorTelephoneControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME;\n forSaleControlName = CreateApplicationDetailsAConstants.FOR_SALE_FORM_CONTROL_NAME;\n onShowControlName = CreateApplicationDetailsAConstants.ON_SHOW_FORM_CONTROL_NAME;\n toLetControlName = CreateApplicationDetailsAConstants.TO_LET_FORM_CONTROL_NAME;\n soldControlName = CreateApplicationDetailsAConstants.SOLD_FORM_CONTROL_NAME;\n OtherControlName = CreateApplicationDetailsAConstants.OTHER_FORM_CONTROL_NAME;\n constructionBoardSignControlName = CreateApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME;\n groundSignControlName = CreateApplicationDetailsAConstants.GROUND_SIGN_FORM_CONTROL_NAME;\n flagControlName = CreateApplicationDetailsAConstants.FLAG_FORM_CONTROL_NAME;\n sandwichBoardControlName = CreateApplicationDetailsAConstants.SANDWICH_BOARD_FORM_CONTROL_NAME;\n pylonControlName = CreateApplicationDetailsAConstants.PYLON_FORM_CONTROL_NAME;\n wallSignControlName = CreateApplicationDetailsAConstants.WALL_SIGN_FORM_CONTROL_NAME;\n billBoardControlName = CreateApplicationDetailsAConstants.BILLBOARD_FORM_CONTROL_NAME;\n buildingAttachmentControlName = CreateApplicationDetailsAConstants.BUILDING_ATTACHMENT_FORM_CONTROL_NAME;\n projectingWallControlName = CreateApplicationDetailsAConstants.PROJECTING_WALL_SIGN_FORM_CONTROL_NAME;\n wallPaintedControlName = CreateApplicationDetailsAConstants.WALL_PAINTED_FORM_CONTROL_NAME;\n roofSignControlName = CreateApplicationDetailsAConstants.ROOF_SIGN_FORM_CONTROL_NAME;\n skySignControlName = CreateApplicationDetailsAConstants.SKY_SIGN_FORM_CONTROL_NAME;\n verandaControlName = CreateApplicationDetailsAConstants.VERANDA_FORM_CONTROL_NAME;\n aerialSignControlName = CreateApplicationDetailsAConstants.AERIAL_SIGN_FORM_CONTROL_NAME;\n windowSignControlName = CreateApplicationDetailsAConstants.WINDOW_SIGN_FORM_CONTROL_NAME;\n schoolSignControlName = CreateApplicationDetailsAConstants.SCHOOL_SIGN_FORM_CONTROL_NAME;\n combinationSignControlName = CreateApplicationDetailsAConstants.COMBINATION_SIGN_FORM_CONTROL_NAME;\n underAwningSignControlName = CreateApplicationDetailsAConstants.UNDER_AWNING_SIGN_FORM_CONTROL_NAME;\n flagSignControlName = CreateApplicationDetailsAConstants.FLAG_SIGN_FORM_CONTROL_NAME;\n canopyControlName = CreateApplicationDetailsAConstants.CANOPY_FORM_CONTROL_NAME;\n balconyControlName = CreateApplicationDetailsAConstants.BALCONY_FORM_CONTROL_NAME;\n electronicSignControlName = CreateApplicationDetailsAConstants.ELECTRONIC_SIGN_FORM_CONTROL_NAME;\n developmentBoardControlName = CreateApplicationDetailsAConstants.DEVELOPMENT_BOARD_FORM_CONTROL_NAME;\n otherFiveYearControlName = CreateApplicationDetailsAConstants.OTHER_FIVE_YEAR_FORM_CONTROL_NAME;\n nonIlluminatedBillboardControlName = CreateApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n digitalBillboardControlName = CreateApplicationDetailsAConstants.DIGITAL_BILLBOARD_FORM_CONTROL_NAME;\n nonIlluminatedGantryControlName = CreateApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n digitalGantryControlName = CreateApplicationDetailsAConstants.DIGITAL_GANTRY_FORM_CONTROL_NAME;\n internallyIlluminatedBillboardControlName = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n internallyIlluminatedGantryControlName = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n municipalConsumerAccountNumberFormControlName = CreateApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME;\n personResponsibleFormControlName = CreateApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_NAME;\n // Labels\n descriptionLabel = CreateApplicationDetailsAConstants.DESCRIPTION_LABEL;\n typeLabel = CreateApplicationDetailsAConstants.APPLICATION_TYPE_LABEL;\n displayStartDateLabel = CreateApplicationDetailsAConstants.DISPLAY_START_DATE_LABEL;\n displayEndDateLabel = CreateApplicationDetailsAConstants.DISPLAY_END_DATE_LABEL;\n displayRemovalDateLabel = CreateApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_LABEL;\n numberOfPostersLabel = CreateApplicationDetailsAConstants.NUMBER_OF_POSTERS_LABEL;\n nameOfBusinessLabel = CreateApplicationDetailsAConstants.NAME_OF_BUSINESS_LABEL;\n notifySignageRemovalPeriodLabel = CreateApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_LABEL;\n positionOfTheDisplayLabel = CreateApplicationDetailsAConstants.POSITION_OF_THE_DISPLAY_LABEL;\n heightLabel = CreateApplicationDetailsAConstants.HEIGHT_LABEL;\n widthLabel = CreateApplicationDetailsAConstants.WIDTH_LABEL;\n depthLabel = CreateApplicationDetailsAConstants.DEPTH_LABEL;\n materialLabel = CreateApplicationDetailsAConstants.MATERIAL_LABEL;\n coloursLabel = CreateApplicationDetailsAConstants.COLOURS_LABEL;\n frontalAreaLabel = CreateApplicationDetailsAConstants.FRONTAL_AREA_LABEL;\n totalAreaLabel = CreateApplicationDetailsAConstants.TOTAL_AREA_LABEL;\n signTypeLabel = CreateApplicationDetailsAConstants.SIGN_TYPE_LABEL;\n weightLabel = CreateApplicationDetailsAConstants.WEIGHT_LABEL;\n wattageLabel = CreateApplicationDetailsAConstants.WATTAGE_LABEL;\n signContractorLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_LABEL;\n signContractorAddressLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_LABEL;\n signContractorTelephoneLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_LABEL;\n forSaleAddressLabel = CreateApplicationDetailsAConstants.FOR_SALE_LABEL;\n // 1 year permanent\n onShowLabel = CreateApplicationDetailsAConstants.ON_SHOW_LABEL;\n toLetLabel = CreateApplicationDetailsAConstants.TO_LET_LABEL;\n soldLabel = CreateApplicationDetailsAConstants.SOLD_LABEL;\n constructionBoardSignLabel = CreateApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_LABEL;\n otherLabel = CreateApplicationDetailsAConstants.OTHER_LABEL;\n // 5 year permanent\n groundSignLabel = CreateApplicationDetailsAConstants.GROUND_SIGN_FORM_LABEL;\n flagLabel = CreateApplicationDetailsAConstants.FLAG_FORM_LABEL;\n sandwichBoardLabel = CreateApplicationDetailsAConstants.SANDWICH_BOARD_FORM_LABEL;\n pylonLabel = CreateApplicationDetailsAConstants.PYLON_FORM_LABEL;\n wallSignLabel = CreateApplicationDetailsAConstants.WALL_SIGN_FORM_LABEL;\n billBoardLabel = CreateApplicationDetailsAConstants.BILLBOARD_FORM_LABEL;\n buildingAttachmentLabel = CreateApplicationDetailsAConstants.BUILDING_ATTACHMENT_LABEL;\n projectingWallLabel = CreateApplicationDetailsAConstants.PROJECTING_WALL_SIGN_LABEL;\n wallPaintedLabel = CreateApplicationDetailsAConstants.WALL_PAINTED_LABEL;\n roofSignLabel = CreateApplicationDetailsAConstants.ROOF_SIGN_LABEL;\n skySignLabel = CreateApplicationDetailsAConstants.SKY_SIGN_LABEL;\n verandaLabel = CreateApplicationDetailsAConstants.VERANDA_LABEL;\n aerialSignLabel = CreateApplicationDetailsAConstants.AERIAL_SIGN_LABEL;\n windowSignLabel = CreateApplicationDetailsAConstants.WINDOW_SIGN_LABEL;\n schoolSignLabel = CreateApplicationDetailsAConstants.SCHOOL_SIGN_LABEL;\n combinationSignLabel = CreateApplicationDetailsAConstants.COMBINATION_SIGN_LABEL;\n underAwningSignLabel = CreateApplicationDetailsAConstants.UNDER_AWNING_SIGN_LABEL;\n flagSignLabel = CreateApplicationDetailsAConstants.FLAG_SIGN_LABEL;\n canopyLabel = CreateApplicationDetailsAConstants.CANOPY_LABEL;\n balconyLabel = CreateApplicationDetailsAConstants.BALCONY_LABEL;\n electronicSignLabel = CreateApplicationDetailsAConstants.ELECTRONIC_SIGN_LABEL;\n developmentBoardLabel = CreateApplicationDetailsAConstants.DEVELOPMENT_BOARD_LABEL;\n otherFiveYearLabel = CreateApplicationDetailsAConstants.OTHER_FIVE_YEAR_LABEL;\n nonIlluminatedBillboardLabel = CreateApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_LABEL;\n digitalBillboardLabel = CreateApplicationDetailsAConstants.DIGITAL_BILLBOARD_LABEL;\n nonIlluminatedGantryLabel = CreateApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_LABEL;\n digitalGantryLabel = CreateApplicationDetailsAConstants.DIGITAL_GANTRY_LABEL;\n internallyIlluminatedBillboardLabel = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LABEL;\n internallyIlluminatedGantryLabel = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n municipalConsumerAccountNumberLabel = CreateApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL;\n personResponsibleLabel = CreateApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_LABEL;\n // Lookups\n applicationTypesLookups = [];\n signTypeLookups = [];\n removalPeriodLookups = LookupConstants.REMOVAL_PERIOD_LOOKUPS_A;\n nonIlluminatedBillboardLookups = LookupConstants.NON_ILLUMINATED_BILLBOARD_A;\n nonIlluminatedGantryLookups = LookupConstants.NON_ILLUMINATED_GANTRY_A;\n internallyIlluminatedBillboardLookups = LookupConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A;\n digitalGantryLookups = LookupConstants.DIGITAL_GANTRY_A;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n notApplicablePlaceholderMessage = SharedConstants.NOT_APPLICABLE_MESSAGE;\n showTemporaryApplicationFields = false;\n showPermanentApplicationFields = false;\n show5YearPermanentApplicationOptionalFields = false;\n show1YearPermanentApplicationOptionalFields = false;\n // person responsible recipient\n personResponsibleDisableEditing = false;\n personResponsibleDisableFilterBy = true;\n personResponsibleGroups = [];\n personResponsibleShowFields = true;\n temporaryApplicationType = [];\n permanentApplicationType = [];\n getLookupsObservableSubscription;\n markStepFormGroupAsTouchedSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(this.signTypeControlName)) {\n this.signTypeLookups = this.aflaModuleStrategyService.lookups.get(this.signTypeControlName);\n if (!this.aflaModuleStrategyService.form.pristine && this.aflaModuleStrategyService.form.touched) {\n this.checkIfFormWasPreviouslyCompleted();\n }\n else {\n this.setForms();\n }\n }\n else {\n this.getLookups();\n }\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n try {\n this.personResponsibleGroups = stepMeta.personResponsibleGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n setForms() {\n const advertisementType = this.advertisementFormGroup.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n if (advertisementType) {\n this.handleAdvertisementTypeValueChanged(advertisementType);\n }\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsAConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"signtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.signTypeLookups.push(lookUpContent);\n }\n });\n if (this.aflaModuleStrategyService.form.pristine && !this.aflaModuleStrategyService.form.touched) {\n this.checkIfFormWasPreviouslyCompleted();\n }\n else {\n this.setForms();\n }\n this.changeDetectorRef.detectChanges();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n this.detailsForm.enable();\n this.advertisementFormGroup = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n }\n handleTemporaryAdvertisementSelected() {\n this.hidePermanentAdvertisementTypeFields();\n this.showTemporaryApplicationTypeFields();\n }\n showTemporaryApplicationTypeFields() {\n this.showTemporaryApplicationFields = true;\n this.showPermanentApplicationFields = false;\n }\n handlePermanentAdvertisementSelected() {\n const applicationType = this.advertisementFormGroup.get(this.applicationTypeFormControlName).value;\n this.clearTemporaryAdvertisementFieldsValidators();\n this.resetTemporaryAdvertisementFields();\n this.hideTemporaryAdvertisementFields();\n this.showPermanentAdvertisementFields();\n if (applicationType.toLowerCase().includes(\"1 year\")) {\n this.show1YearPermanentApplicationFields();\n }\n if (applicationType.toLowerCase().includes(\"5 year\")) {\n this.show5YearPermanentApplicationFields();\n this.add5YearApplicationFieldsValidators();\n }\n this.addMainPermanentFieldsValidators();\n }\n showPermanentAdvertisementFields() {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n }\n hidePermanentAdvertisementTypeFields() {\n this.showPermanentApplicationFields = false;\n }\n hideTemporaryAdvertisementFields() {\n this.showTemporaryApplicationFields = false;\n }\n clearTemporaryAdvertisementFieldsValidators() {\n this.detailsForm.get(this.displayStartDateControlName).clearValidators();\n this.detailsForm.get(this.displayEndDateControlName).clearValidators();\n this.detailsForm.get(this.displayRemovalDateControlName).clearValidators();\n this.detailsForm.get(this.numberOfPostersControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n resetTemporaryAdvertisementFields() {\n this.detailsForm.get(this.displayStartDateControlName).reset();\n this.detailsForm.get(this.displayEndDateControlName).reset();\n this.detailsForm.get(this.displayRemovalDateControlName).reset();\n this.detailsForm.get(this.numberOfPostersControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n reset5YearPermanentApplicationFields() {\n this.detailsForm.get(this.groundSignControlName).reset(false);\n this.detailsForm.get(this.flagControlName).reset(false);\n this.detailsForm.get(this.sandwichBoardControlName).reset(false);\n this.detailsForm.get(this.pylonControlName).reset(false);\n this.detailsForm.get(this.wallSignControlName).reset(false);\n this.detailsForm.get(this.billBoardControlName).reset(false);\n this.detailsForm.get(this.buildingAttachmentControlName).reset(false);\n this.detailsForm.get(this.projectingWallControlName).reset(false);\n this.detailsForm.get(this.wallPaintedControlName).reset(false);\n this.detailsForm.get(this.roofSignControlName).reset(false);\n this.detailsForm.get(this.skySignControlName).reset(false);\n this.detailsForm.get(this.verandaControlName).reset(false);\n this.detailsForm.get(this.aerialSignControlName).reset(false);\n this.detailsForm.get(this.windowSignControlName).reset(false);\n this.detailsForm.get(this.schoolSignControlName).reset(false);\n this.detailsForm.get(this.combinationSignControlName).reset(false);\n this.detailsForm.get(this.underAwningSignControlName).reset(false);\n this.detailsForm.get(this.flagSignControlName).reset(false);\n this.detailsForm.get(this.canopyControlName).reset(false);\n this.detailsForm.get(this.balconyControlName).reset(false);\n this.detailsForm.get(this.electronicSignControlName).reset(false);\n this.detailsForm.get(this.developmentBoardControlName).reset(false);\n this.detailsForm.get(this.otherFiveYearControlName).reset();\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).reset();\n this.detailsForm.get(this.digitalBillboardControlName).reset();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).reset();\n this.detailsForm.get(this.digitalGantryControlName).reset();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).reset();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n add5YearApplicationFieldsValidators() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.digitalBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).addValidators(Validators.required);\n this.detailsForm.get(this.digitalGantryControlName).addValidators(Validators.required);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n set5YearApplicationFieldsFormValues() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).setValue(this.selectedApplication.nonIlluminatedBillboard);\n this.detailsForm.get(this.digitalBillboardControlName).setValue(this.selectedApplication.digitalBillboard);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).setValue(this.selectedApplication.nonIlluminatedGantry);\n this.detailsForm.get(this.digitalGantryControlName).setValue(this.selectedApplication.digitalGantry);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).setValue(this.selectedApplication.internallyIlluminatedBillboard);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).setValue(this.selectedApplication.internallyIlluminatedGantry);\n this.detailsForm.updateValueAndValidity();\n }\n reset1yearPermanentApplicationFields() {\n this.detailsForm.get(this.forSaleControlName).reset(false);\n this.detailsForm.get(this.onShowControlName).reset(false);\n this.detailsForm.get(this.toLetControlName).reset(false);\n this.detailsForm.get(this.soldControlName).reset(false);\n this.detailsForm.get(this.constructionBoardSignControlName).reset(false);\n this.detailsForm.get(this.OtherControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n removeValidatorsToMainPermanentFields() {\n this.detailsForm.get(this.nameOfBusinessControlName).clearValidators();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).clearValidators();\n this.detailsForm.get(this.positionOfTheDisplayControlName).clearValidators();\n this.detailsForm.get(this.heightControlName).clearValidators();\n this.detailsForm.get(this.widthControlName).clearValidators();\n this.detailsForm.get(this.depthControlName).clearValidators();\n this.detailsForm.get(this.materialControlName).clearValidators();\n this.detailsForm.get(this.coloursControlName).clearValidators();\n this.detailsForm.get(this.frontalAreaControlName).clearValidators();\n this.detailsForm.get(this.totalAreaControlName).clearValidators();\n this.detailsForm.get(this.signTypeControlName).clearValidators();\n this.detailsForm.get(this.weightControlName).clearValidators();\n this.detailsForm.get(this.wattageControlName).clearValidators();\n this.detailsForm.get(this.signContractorControlName).clearValidators();\n this.detailsForm.get(this.signContractorAddressControlName).clearValidators();\n this.detailsForm.get(this.signContractorTelephoneControlName).clearValidators();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n setPermanentAdvertisementFormValues() {\n const personResponsible = this.selectedApplication.personResponsible[0];\n this.detailsForm.get(this.nameOfBusinessControlName).setValue(this.selectedApplication.nameOfBusiness);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).setValue(this.selectedApplication.notifySignageRemovalPeriod);\n this.detailsForm.get(this.positionOfTheDisplayControlName).setValue(this.selectedApplication.positionOfDisplay);\n this.detailsForm.get(this.heightControlName).setValue(this.selectedApplication.dimensionsH);\n this.detailsForm.get(this.widthControlName).setValue(this.selectedApplication.dimensionsW);\n this.detailsForm.get(this.depthControlName).setValue(this.selectedApplication.dimensionsD);\n this.detailsForm.get(this.materialControlName).setValue(this.selectedApplication.material);\n this.detailsForm.get(this.coloursControlName).setValue(this.selectedApplication.colours);\n this.detailsForm.get(this.frontalAreaControlName).setValue(this.selectedApplication.frontalArea);\n this.detailsForm.get(this.totalAreaControlName).setValue(this.selectedApplication.totalArea);\n this.detailsForm.get(this.signTypeControlName).setValue(this.selectedApplication.signType);\n this.detailsForm.get(this.weightControlName).setValue(this.selectedApplication.weight);\n this.detailsForm.get(this.wattageControlName).setValue(this.selectedApplication.wattage);\n this.detailsForm.get(this.signContractorControlName).setValue(this.selectedApplication.contractorName);\n this.detailsForm.get(this.signContractorAddressControlName).setValue(this.selectedApplication.contractorAddress);\n this.detailsForm.get(this.signContractorTelephoneControlName).setValue(this.selectedApplication.contractorTelephone);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).setValue(this.selectedApplication.municipalConsumerAccountNumber);\n this.detailsForm.get(this.personResponsibleFormControlName).setValue(personResponsible);\n this.detailsForm.updateValueAndValidity();\n }\n resetMainPermanentFields() {\n this.detailsForm.get(this.nameOfBusinessControlName).reset();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).reset();\n this.detailsForm.get(this.positionOfTheDisplayControlName).reset();\n this.detailsForm.get(this.heightControlName).reset(0);\n this.detailsForm.get(this.widthControlName).reset(0);\n this.detailsForm.get(this.depthControlName).reset(0);\n this.detailsForm.get(this.materialControlName).reset();\n this.detailsForm.get(this.coloursControlName).reset();\n this.detailsForm.get(this.frontalAreaControlName).reset(0);\n this.detailsForm.get(this.totalAreaControlName).reset(0);\n this.detailsForm.get(this.signTypeControlName).reset();\n this.detailsForm.get(this.weightControlName).reset(0);\n this.detailsForm.get(this.wattageControlName).reset(0);\n this.detailsForm.get(this.signContractorControlName).reset();\n this.detailsForm.get(this.signContractorAddressControlName).reset();\n this.detailsForm.get(this.signContractorTelephoneControlName).reset();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n addMainPermanentFieldsValidators() {\n this.detailsForm.get(this.nameOfBusinessControlName).addValidators(Validators.required);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).addValidators(Validators.required);\n this.detailsForm.get(this.positionOfTheDisplayControlName).addValidators(Validators.required);\n this.detailsForm.get(this.heightControlName).addValidators(Validators.required);\n this.detailsForm.get(this.widthControlName).addValidators(Validators.required);\n this.detailsForm.get(this.depthControlName).addValidators(Validators.required);\n this.detailsForm.get(this.materialControlName).addValidators(Validators.required);\n this.detailsForm.get(this.coloursControlName).addValidators(Validators.required);\n this.detailsForm.get(this.frontalAreaControlName).addValidators(Validators.required);\n this.detailsForm.get(this.totalAreaControlName).addValidators(Validators.required);\n this.detailsForm.get(this.signTypeControlName).addValidators(Validators.required);\n this.detailsForm.get(this.weightControlName).addValidators(Validators.required);\n this.detailsForm.get(this.wattageControlName).addValidators(Validators.required);\n this.detailsForm.get(this.signContractorTelephoneControlName).addValidators(phoneNumberValidator);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.temporaryApplicationType = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(advertisementType) || applicationType.value.toLowerCase() === \"other\")\n this.temporaryApplicationType.push(applicationType);\n });\n this.temporaryApplicationType.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.permanentApplicationType = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(advertisementType) || applicationType.value.toLowerCase() === \"other\")\n this.permanentApplicationType.push(applicationType);\n });\n this.permanentApplicationType.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n }\n checkIfFormWasPreviouslyCompleted() {\n if (this.aflaModuleStrategyService.form.pristine && !this.aflaModuleStrategyService.form.touched) {\n const advertisementTypeValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n const applicationType = this.selectedApplication.type;\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n if (advertisementTypeValue && applicationType) {\n if (advertisementTypeValue === \"permanent\") {\n this.setupDefaultFormsForPermanentAdvertisementApplications();\n if (applicationType.toLowerCase().includes(\"1 year\")) {\n this.setupDefaultFormsFor1YearPermanentAdvertisementApplications();\n }\n if (applicationType.toLowerCase().includes(\"5 year\")) {\n this.setupDefaultFormsFor5YearPermanentAdvertisementApplications();\n }\n this.addMainPermanentFieldsValidators();\n }\n if (advertisementTypeValue === \"temporary\") {\n this.setupDefaultFormsForTemporaryAdvertisementApplications();\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n setupDefaultFormsForPermanentAdvertisementApplications() {\n this.resetTemporaryAdvertisementFields();\n this.clearTemporaryAdvertisementFieldsValidators();\n this.hideTemporaryAdvertisementFields();\n this.showPermanentAdvertisementFields();\n this.setPermanentAdvertisementFormValues();\n }\n setupDefaultFormsFor1YearPermanentAdvertisementApplications() {\n this.reset5YearPermanentApplicationFields();\n this.clearValidatorsOn5YearPermanentApplicationFields();\n this.hide5YearPermanentApplicationFields();\n this.show1YearPermanentApplicationFields();\n this.set1YearPermanentApplicationFormValues();\n }\n setupDefaultFormsFor5YearPermanentAdvertisementApplications() {\n this.reset1yearPermanentApplicationFields();\n this.hide1YearPermanentApplicationFields();\n this.show5YearPermanentApplicationFields();\n this.add5YearApplicationFieldsValidators();\n this.set5YearApplicationFieldsFormValues();\n }\n setupDefaultFormsForTemporaryAdvertisementApplications() {\n this.resetAndHidePermanentApplicationFields();\n this.showTemporaryApplicationTypeFields();\n this.addValidatorsToTemporaryFields();\n this.setTemporaryApplicationFormValues();\n }\n handleAdvertisementTypeValueChanged(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.handleTemporaryAdvertisementSelected();\n this.removeValidatorsToMainPermanentFields();\n this.resetMainPermanentFields();\n this.addValidatorsToTemporaryFields();\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.handlePermanentAdvertisementSelected();\n }\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n this.changeDetectorRef.detectChanges();\n }\n addValidatorsToTemporaryFields() {\n this.detailsForm.get(this.displayStartDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.displayEndDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.displayRemovalDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.numberOfPostersControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n setTemporaryApplicationFormValues() {\n this.detailsForm.get(this.displayStartDateControlName).setValue(this.selectedApplication.displayStartDate);\n this.detailsForm.get(this.displayEndDateControlName).setValue(this.selectedApplication.displayEndDate);\n this.detailsForm.get(this.displayRemovalDateControlName).setValue(this.selectedApplication.displayRemovalDate);\n this.detailsForm.get(this.numberOfPostersControlName).setValue(this.selectedApplication.numberOfPosters);\n this.detailsForm.updateValueAndValidity();\n }\n setNumberToDecimal(control, event, decimalPlace) {\n const value = event.target.value;\n const decimalString = parseFloat(value).toFixed(decimalPlace);\n const decimalValue = parseFloat(decimalString);\n control.setValue(decimalValue);\n }\n hide1YearPermanentApplicationFields() {\n this.show1YearPermanentApplicationOptionalFields = false;\n }\n show1YearPermanentApplicationFields() {\n this.show1YearPermanentApplicationOptionalFields = true;\n }\n hide5YearPermanentApplicationFields() {\n this.show5YearPermanentApplicationOptionalFields = false;\n }\n show5YearPermanentApplicationFields() {\n this.show5YearPermanentApplicationOptionalFields = true;\n }\n hideMainPermanentFields() {\n this.showPermanentApplicationFields = false;\n }\n clearValidatorsOn5YearPermanentApplicationFields() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).clearValidators();\n this.detailsForm.get(this.digitalBillboardControlName).clearValidators();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).clearValidators();\n this.detailsForm.get(this.digitalGantryControlName).clearValidators();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).clearValidators();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n resetAndHidePermanentApplicationFields() {\n // reset and hide 1 year permanent fields\n this.reset1yearPermanentApplicationFields();\n this.hide1YearPermanentApplicationFields();\n // reset and hide 5 year permanent fields\n this.clearValidatorsOn5YearPermanentApplicationFields();\n this.reset5YearPermanentApplicationFields();\n this.hide5YearPermanentApplicationFields();\n // reset and hide fields that are common in 5 year and 1 year permanent fields\n this.clearMainPermanentFieldsValidators();\n this.resetMainPermanentFields();\n this.hideMainPermanentFields();\n }\n clearMainPermanentFieldsValidators() {\n this.detailsForm.get(this.nameOfBusinessControlName).clearValidators();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).clearValidators();\n this.detailsForm.get(this.positionOfTheDisplayControlName).clearValidators();\n this.detailsForm.get(this.heightControlName).clearValidators();\n this.detailsForm.get(this.widthControlName).clearValidators();\n this.detailsForm.get(this.depthControlName).clearValidators();\n this.detailsForm.get(this.materialControlName).clearValidators();\n this.detailsForm.get(this.coloursControlName).clearValidators();\n this.detailsForm.get(this.frontalAreaControlName).clearValidators();\n this.detailsForm.get(this.totalAreaControlName).clearValidators();\n this.detailsForm.get(this.signTypeControlName).clearValidators();\n this.detailsForm.get(this.weightControlName).clearValidators();\n this.detailsForm.get(this.wattageControlName).clearValidators();\n this.detailsForm.get(this.signContractorControlName).clearValidators();\n this.detailsForm.get(this.signContractorAddressControlName).clearValidators();\n this.detailsForm.get(this.signContractorTelephoneControlName).clearValidators();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n set1YearPermanentApplicationFormValues() {\n this.detailsForm.get(this.forSaleControlName).setValue(this.selectedApplication.forSale);\n this.detailsForm.get(this.onShowControlName).setValue(this.selectedApplication.onShow);\n this.detailsForm.get(this.toLetControlName).setValue(this.selectedApplication.toLet);\n this.detailsForm.get(this.soldControlName).setValue(this.selectedApplication.sold);\n this.detailsForm.get(this.constructionBoardSignControlName).setValue(this.selectedApplication.constructionBoardSign);\n this.detailsForm.get(this.OtherControlName).setValue(this.selectedApplication.otherOneYear);\n this.detailsForm.updateValueAndValidity();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n if (this.showPermanentApplicationFields) {\n this.personResponsibleComponentRef.markAllAsTouched();\n }\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n personResponsibleComponentRef: [{ type: ViewChild, args: [RecipientSelectComponent,] }]\n };\n};\nCreateApplicationDetailsAComponent = __decorate([\n Component({\n selector: \"app-create-application-details-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsAComponent);\nexport { CreateApplicationDetailsAComponent };\n","import { SharedConstants } from \"../../../../../../../afla-common/src/lib/constants/shared-constants\";\nexport class CreateApplicationDetailsAConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static APPLICATION_DURATION_LABEL = \"Application duration\";\n static DISPLAY_START_DATE_LABEL = \"Display start date\";\n static DISPLAY_END_DATE_LABEL = \"Display end date\";\n static DISPLAY_REMOVAL_DATE_LABEL = \"Display removal date\";\n static NUMBER_OF_POSTERS_LABEL = \"Number of posters / banners / flags\";\n static NAME_OF_BUSINESS_LABEL = \"Name of business\";\n static NOTIFY_SIGNAGE_REMOVAL_LABEL = \"Notify the municipality within this period of signage is removed?\";\n static POSITION_OF_THE_DISPLAY_LABEL = \"Position of the display\";\n static HEIGHT_LABEL = \"Height(m)\";\n static WIDTH_LABEL = \"Width(m)\";\n static DEPTH_LABEL = \"Depth(m)\";\n static MATERIAL_LABEL = \"Material\";\n static COLOURS_LABEL = \"Colours\";\n static FRONTAL_AREA_LABEL = `Frontal area (m2)`;\n static TOTAL_AREA_LABEL = `Total area (m2)`;\n static SIGN_TYPE_LABEL = \"Sign type\";\n static WEIGHT_LABEL = \"Weight (kg)\";\n static WATTAGE_LABEL = \"Wattage\";\n static SIGN_CONTRACTOR_LABEL = \"Sign contractor name\";\n static SIGN_CONTRACTOR_ADDRESS_LABEL = \"Sign contractor address\";\n static SIGN_CONTRACTOR_TELEPHONE_LABEL = \"Sign contractor telephone number\";\n // 1 year permanent\n static FOR_SALE_LABEL = \"For sale\";\n static ON_SHOW_LABEL = \"On show\";\n static TO_LET_LABEL = \"To-Let\";\n static SOLD_LABEL = \"Sold\";\n static CONSTRUCTION_BOARD_SIGN_LABEL = \"Construction board sign\";\n static OTHER_LABEL = \"Other\";\n // 5 year permanent\n static GROUND_SIGN_FORM_LABEL = \"Ground sign\";\n static FLAG_FORM_LABEL = \"Flag\";\n static SANDWICH_BOARD_FORM_LABEL = \"Sandwich board\";\n static PYLON_FORM_LABEL = \"Pylon\";\n static WALL_SIGN_FORM_LABEL = \"Wall sign\";\n static BILLBOARD_FORM_LABEL = \"Billboard\";\n static BUILDING_ATTACHMENT_LABEL = \"Building attachment\";\n static PROJECTING_WALL_SIGN_LABEL = \"Projecting wall sign\";\n static WALL_PAINTED_LABEL = \"Wall painted\";\n static ROOF_SIGN_LABEL = \"Roof sign\";\n static SKY_SIGN_LABEL = \"Sky sign\";\n static VERANDA_LABEL = \"Veranda\";\n static AERIAL_SIGN_LABEL = \"Aerial sign\";\n static WINDOW_SIGN_LABEL = \"Window sign\";\n static SCHOOL_SIGN_LABEL = \"School sign\";\n static COMBINATION_SIGN_LABEL = \"Combination sign\";\n static UNDER_AWNING_SIGN_LABEL = \"Under awning sign\";\n static FLAG_SIGN_LABEL = \"Flag sign\";\n static CANOPY_LABEL = \"Canopy\";\n static BALCONY_LABEL = \"Balcony\";\n static ELECTRONIC_SIGN_LABEL = \"Electronic sign (Excluding billboards / Gantries)\";\n static DEVELOPMENT_BOARD_LABEL = \"Development board\";\n static OTHER_FIVE_YEAR_LABEL = \"Other (specify)\";\n static NON_ILLUMINATED_BILLBOARD_LABEL = \"Non-Illuminated billboard\";\n static DIGITAL_BILLBOARD_LABEL = \"Digital billboard\";\n static NON_ILLUMINATED_GANTRY_LABEL = \"Non-Illuminated gantry\";\n static DIGITAL_GANTRY_LABEL = \"Digital Gantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_LABEL = \"Internally illuminated billboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_LABEL = \"Internally illuminated gantry\";\n // Temporary ApplicationType Labels\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL = \"Municipal consumer account number\";\n static PERSON_RESPONSIBLE_CONTROL_LABEL = \"Person responsible\";\n static ADVERTISEMENTS_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENTS_FORM_CONTROL_NAME = \"advertisements\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static APPLICATION_DURATION_FORM_CONTROL_NAME = \"permanentApplicationDuration\";\n static DISPLAY_START_DATE_FORM_CONTROL_NAME = \"displayStartDate\";\n static DISPLAY_END_DATE_FORM_CONTROL_NAME = \"displayEndDate\";\n static DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME = \"displayRemovalDate\";\n static NUMBER_OF_POSTERS_FORM_CONTROL_NAME = \"numberOfPosters\";\n static NAME_OF_BUSINESS_FORM_CONTROL_NAME = \"nameOfBusiness\";\n static NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME = \"notifySignageRemovalPeriod\";\n static POSITION_OF_DISPLAY_FORM_CONTROL_NAME = \"positionOfDisplay\";\n static HEIGHT_FORM_CONTROL_NAME = \"dimensionsH\";\n static WIDTH_FORM_CONTROL_NAME = \"dimensionsW\";\n static DEPTH_FORM_CONTROL_NAME = \"dimensionsD\";\n static MATERIAL_FORM_CONTROL_NAME = \"material\";\n static COLOURS_FORM_CONTROL_NAME = \"colours\";\n static FRONTAL_AREA_FORM_CONTROL_NAME = \"frontalArea\";\n static TOTAL_AREA_FORM_CONTROL_NAME = \"totalArea\";\n static SIGN_TYPE_FORM_CONTROL_NAME = \"signType\";\n static WEIGHT_FORM_CONTROL_NAME = \"weight\";\n static WATTAGE_FORM_CONTROL_NAME = \"wattage\";\n static SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME = \"contractorName\";\n static SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME = \"contractorAddress\";\n static SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME = \"contractorTelephone\";\n static FOR_SALE_FORM_CONTROL_NAME = \"forSale\";\n static ON_SHOW_FORM_CONTROL_NAME = \"onShow\";\n static TO_LET_FORM_CONTROL_NAME = \"toLet\";\n static SOLD_FORM_CONTROL_NAME = \"sold\";\n static OTHER_FORM_CONTROL_NAME = \"otherOneYear\";\n static CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME = \"constructionBoardSign\";\n // 5year permanent\n static GROUND_SIGN_FORM_CONTROL_NAME = \"groundSign\";\n static FLAG_FORM_CONTROL_NAME = \"flag\";\n static SANDWICH_BOARD_FORM_CONTROL_NAME = \"sandwichBoard\";\n static PYLON_FORM_CONTROL_NAME = \"pylon\";\n static WALL_SIGN_FORM_CONTROL_NAME = \"wallSign\";\n static BILLBOARD_FORM_CONTROL_NAME = \"billboard\";\n static BUILDING_ATTACHMENT_FORM_CONTROL_NAME = \"buildingAttachment\";\n static PROJECTING_WALL_SIGN_FORM_CONTROL_NAME = \"projectingWallSign\";\n static WALL_PAINTED_FORM_CONTROL_NAME = \"wallPainted\";\n static ROOF_SIGN_FORM_CONTROL_NAME = \"roofSign\";\n static SKY_SIGN_FORM_CONTROL_NAME = \"skySign\";\n static VERANDA_FORM_CONTROL_NAME = \"veranda\";\n static AERIAL_SIGN_FORM_CONTROL_NAME = \"aerialSign\";\n static WINDOW_SIGN_FORM_CONTROL_NAME = \"windowSign\";\n static SCHOOL_SIGN_FORM_CONTROL_NAME = \"schoolSign\";\n static COMBINATION_SIGN_FORM_CONTROL_NAME = \"combinationSign\";\n static UNDER_AWNING_SIGN_FORM_CONTROL_NAME = \"underAwningSign\";\n static FLAG_SIGN_FORM_CONTROL_NAME = \"flagSign\";\n static CANOPY_FORM_CONTROL_NAME = \"canopy\";\n static BALCONY_FORM_CONTROL_NAME = \"balcony\";\n static ELECTRONIC_SIGN_FORM_CONTROL_NAME = \"electronicSign\";\n static DEVELOPMENT_BOARD_FORM_CONTROL_NAME = \"developmentBoard\";\n static OTHER_FIVE_YEAR_FORM_CONTROL_NAME = \"otherFiveYear\";\n static NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"nonIlluminatedBillboard\";\n static DIGITAL_BILLBOARD_FORM_CONTROL_NAME = \"digitalBillboard\";\n static NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"nonIlluminatedGantry\";\n static DIGITAL_GANTRY_FORM_CONTROL_NAME = \"digitalGantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"internallyIlluminatedBillboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"internallyIlluminatedGantry\";\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n // Permanent ApplicationType Controls\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static PERSON_RESPONSIBLE_CONTROL_NAME = \"personResponsible\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationDuration: {\n required: `Application duration ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayStartDate: {\n required: `Display start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayEndDate: {\n required: `Display end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayRemovalDate: {\n required: `Display removal date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfPosters: {\n required: `Number of posters ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}.Please enter a valid Number with no decimals`\n },\n nameOfBusiness: {\n required: `Name of business ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n notifySignageRemovalPeriod: {\n required: `Notify signage removal period ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n positionOfTheDisplay: {\n required: `Position of the display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n height: {\n required: `Height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n width: {\n required: `Width ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n depth: {\n required: `Depth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n material: {\n required: `Material ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n colours: {\n required: `Colours ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n frontalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signType: {\n required: `Sign type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n weight: {\n required: `Weight ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n wattage: {\n required: `Wattage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractor: {\n required: `Sign contractor name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorAddress: {\n required: `Sign contractor address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorTelephone: {\n required: `Sign contractor telephone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedBillboard: {\n required: `Non-Illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalBillboard: {\n required: `Digital billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedGantry: {\n required: `Non-Illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalGantry: {\n required: `digital gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedBillboard: {\n required: `Internally illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedGantry: {\n required: `Internally illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n municipalConsumerAccountNumber: {\n required: `Municipal consumer account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationAConstants } from \"./create-application-location-a.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationAComponent = class CreateApplicationLocationAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n modalService;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n displayMap = false;\n activeTabIndex;\n advertisementsForm;\n descriptionLabel1 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationAConstants.VALIDATION_MESSAGES;\n advertisementsFormGroupName = CreateApplicationLocationAConstants.ADVERTISEMENT_FORM_GROUP_NAME;\n advertisementsFormControlName = CreateApplicationLocationAConstants.ADVERTISEMENT_FORM_CONTROL_NAME;\n areaOfDisplayFormControlName = CreateApplicationLocationAConstants.AREA_OF_DISPLAY_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = CreateApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n layerReference = CreateApplicationLocationAConstants.LAYER_REFERENCE;\n applicationTypeFormControlName = CreateApplicationLocationAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n typeLabel = CreateApplicationLocationAConstants.APPLICATION_TYPE_LABEL;\n streetNamesFormControl = CreateApplicationLocationAConstants.STREET_NAMES_FORM_CONTROL;\n propertyDescriptionFormControlName = CreateApplicationLocationAConstants.PROPERTY_DESCRIPTION_FORM_CONTROL_NAME;\n addressOrStreetFormControlName = CreateApplicationLocationAConstants.ADDRESS_OR_STREET_FORM_CONTROL_NAME;\n areaOfDisplayLabel = CreateApplicationLocationAConstants.AREA_OF_CONTROL_LABEL;\n streetNamesLabel = CreateApplicationLocationAConstants.STREET_NAMES_LABEL;\n propertyDescriptionLabel = CreateApplicationLocationAConstants.PROPERTY_DESCRIPTION_LABEL;\n addressOrStreetLabel = CreateApplicationLocationAConstants.ADDRESS_OR_STREET_LABEL;\n removeAdvertisementLabel = CreateApplicationLocationAConstants.REMOVE_ADVERTISEMENT_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = CreateApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n selectedAdvertisementType;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n areaOfDisplayLookups = LookupConstants.AREA_OF_DISPLAY_LOOKUPS_A;\n showPermanentApplicationsFields = false;\n showTemporaryApplicationsFields = false;\n permanentOrTemporaryLookupOptions = CreateApplicationLocationAConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n applicationTypesLookupsOptions = [];\n applicationTypesLookups = [];\n showApplicationType = false;\n isMapLoaded = false;\n sketchTool;\n selectedGraphic = null;\n mapComponent;\n selectedPropertySubscription;\n getLookupsObservableSubscription;\n selectedApplicationBpamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n markStepFormGroupAsTouchedSubscription;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appControllerService, modalService, mapService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.modalService = modalService;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"applicationType\")) {\n // application is coming from the application details step\n this.loadFormsAndData();\n }\n else {\n this.getLookups();\n }\n this.setupSubscriptions();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata() {\n }\n onPermanentOrTemporaryAdvertisementSelected($event) {\n const advertisementType = $event.target.value;\n const advertisementFormArray = this.getAdvertisements();\n this.loadMap();\n if (advertisementFormArray.length > 0) {\n this.confirmChangeFromUser(advertisementType);\n }\n else {\n this.handleAdvertisementTypeValueChanged(advertisementType);\n }\n }\n getAdvertisements() {\n return this.advertisementsForm.get(this.advertisementsFormControlName);\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getAdvertisements().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveFeature(featureIndex) {\n this.getAdvertisements().removeAt(featureIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.advertisementsForm = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n if (this.advertisementsForm.pristine) {\n this.advertisementsForm.enable();\n this.advertisementsForm.reset();\n }\n }\n setAdvertisementData(propertyObject, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"getAdvertisementData\");\n let newAdvertisingFormGroup;\n if (propertyObject) {\n newAdvertisingFormGroup = this.setAdvertisingFormGroup(propertyObject, geometry);\n }\n else {\n newAdvertisingFormGroup = this.createAdvertisingFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.showApplicationTypeField();\n this.setApplicationValidators(newAdvertisingFormGroup);\n this.setPropertyTrueCentroidData(newAdvertisingFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"propertyData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getAdvertisements().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n try {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n }\n }\n subscribeToAdvertisement() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n const objectId = this.featureDataAlternateColumnName(property.attributes, \"OBJECTID\", \"objectId\");\n const propertyHasAlreadyBeenAddedBefore = this.checkIfSelectedPropertyHasAlreadyBeenAdded(objectId);\n if (!propertyHasAlreadyBeenAddedBefore) {\n this.setAdvertisementData(property.attributes, property.geometry);\n }\n }\n });\n }\n checkIfSelectedPropertyHasAlreadyBeenAdded(objectId) {\n let featureHasAlreadyBeenAddedBefore = false;\n this.getAdvertisements().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n featureHasAlreadyBeenAddedBefore = true;\n this.appControllerService.showMessage(CreateApplicationLocationAConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"add property\");\n }\n });\n return featureHasAlreadyBeenAddedBefore;\n }\n featureDataAlternateColumnName(featureObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(featureObject)) {\n if (key === name1) {\n returnVal = featureObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = featureObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = featureObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n setAdvertisingFormGroup(property, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(property, \"OBJECTID\", \"objectId\")),\n areaOfDisplay: new FormControl(null),\n streetNames: new FormControl(null),\n streetOrAddress: new FormControl(null),\n addressStreetInformation: new FormControl(null),\n type: new FormControl(null, Validators.required),\n propertyDescription: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setPropertyTrueCentroidData(newFormGroup, trueCentroidResponse) {\n const advertisementsArray = this.getAdvertisements();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n advertisementsArray?.clear();\n advertisementsArray.push(newFormGroup);\n this.activeTabIndex = advertisementsArray.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n setApplicationValidators(formGroup) {\n formGroup.get(this.applicationTypeFormControlName).setValidators(Validators.required);\n formGroup.updateValueAndValidity();\n if (this.selectedAdvertisementType?.toLowerCase() === \"temporary\") {\n this.addTemporaryAdvertisementFieldsValidators(formGroup);\n }\n if (this.selectedAdvertisementType?.toLowerCase() === \"permanent\") {\n this.addPermanentAdvertisementFieldsValidators(formGroup);\n }\n formGroup.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n handleTemporaryApplicationSelected() {\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = true;\n }\n handlePermanentApplicationSelected() {\n this.showPermanentApplicationsFields = true;\n this.showTemporaryApplicationsFields = false;\n }\n initializeSketchTools() {\n this.sketchTool = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketchTool.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.handleSketchComplete(event);\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n }\n handleSketchComplete(event) {\n this.selectedGraphic = event.graphic;\n this.setAdvertisementData(null, this.selectedGraphic.geometry);\n }\n createAdvertisingFormGroup(geometry) {\n return new FormGroup({\n areaOfDisplay: new FormControl(null),\n streetNames: new FormControl(null),\n streetOrAddress: new FormControl(null),\n addressStreetInformation: new FormControl(null),\n type: new FormControl(null, Validators.required),\n propertyDescription: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n setMapToolsForTemporaryAdvertisement() {\n this.sketchTool.create(\"polygon\");\n this.sketchTool.visibleElements = CreateApplicationLocationAConstants.POLYGON_SKETCH_TOOLS_OPTIONS;\n }\n setMapToolsForPermanentAdvertisement() {\n this.sketchTool.create(\"point\");\n this.sketchTool.visibleElements = CreateApplicationLocationAConstants.POINT_SKETCH_TOOLS_OPTIONS;\n }\n confirmChangeFromUser(advertisementType) {\n const dialogRef = this.modalService.open(PopUpComponent, CreateApplicationLocationAConstants.MODAL_OPTIONS);\n dialogRef.componentInstance.title = CreateApplicationLocationAConstants.MODAL_DIALOG_TITLE;\n dialogRef.componentInstance.contentMessage = CreateApplicationLocationAConstants.MODAL_DIALOG_MESSAGE;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((canContinueMakingChanges) => {\n if (canContinueMakingChanges) {\n this.resetLocationDetails();\n this.handleAdvertisementTypeValueChanged(advertisementType);\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n // if (this.selectedApplication && this.selectedApplication.id > 0) {\n // this.clearApplicationValues(this.selectedApplication.id);\n // }\n }\n else {\n advertisementType.toLowerCase() === \"temporary\" ? this.selectedAdvertisementType = \"permanent\" : this.selectedAdvertisementType = \"temporary\";\n }\n });\n }\n resetLocationDetails() {\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = false;\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n const advertisementsArray = this.getAdvertisements();\n advertisementsArray.clearValidators();\n advertisementsArray.clear();\n this.changeDetectorRefs.detectChanges();\n }\n handleAdvertisementTypeValueChanged(advertisementType) {\n this.selectedAdvertisementType = advertisementType;\n if (advertisementType?.toLowerCase() === \"temporary\") {\n this.setMapToolsForTemporaryAdvertisement();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n }\n if (advertisementType?.toLowerCase() === \"permanent\") {\n this.setMapToolsForPermanentAdvertisement();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n }\n }\n showMap() {\n this.displayMap = true;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n this.onGetLookupsCompleted(lookups);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Lookups\", error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(lookups) {\n this.applicationTypesLookupsOptions = [];\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypesLookups.push(lookUpContent);\n }\n });\n this.aflaModuleStrategyService.lookups.set(\"applicationType\", this.applicationTypesLookups);\n // if (!this.aflaModuleStrategyService.form.pristine && this.aflaModuleStrategyService.form.touched) {\n if ((this.selectedApplication && this.selectedApplication.polygon) || (this.selectedApplication && this.selectedApplication.point)) {\n // check using polygon or point as it is impossible to move past the first step without saving one or the other\n // if application has either point or polygon saved then it is not a new application, continue to retrieve previously save data\n // this.checkApplicationData();\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n this.changeDetectorRefs.detectChanges();\n }\n addTemporaryAdvertisementFieldsValidators(newAdvertisingFormGroup) {\n newAdvertisingFormGroup.get(this.areaOfDisplayFormControlName).addValidators(Validators.required);\n newAdvertisingFormGroup.get(this.streetNamesFormControl).addValidators(Validators.required);\n newAdvertisingFormGroup.get(this.propertyDescriptionFormControlName).addValidators(Validators.required);\n }\n addPermanentAdvertisementFieldsValidators(newAdvertisingFormGroup) {\n newAdvertisingFormGroup.get(this.addressOrStreetFormControlName).addValidators(Validators.required);\n }\n setupSubscriptions() {\n this.subscribeToAdvertisement();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n // this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getAdvertisements().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.advertisementsForm.reset();\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = false;\n this.displayMap = false;\n this.hideApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.applicationTypesLookupsOptions = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(\"temporary\"))\n this.applicationTypesLookupsOptions.push(applicationType);\n });\n this.applicationTypesLookupsOptions.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.applicationTypesLookupsOptions = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(\"permanent\"))\n this.applicationTypesLookupsOptions.push(applicationType);\n });\n this.applicationTypesLookupsOptions.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n }\n checkApplicationData() {\n const isFormPristine = this.advertisementsForm.pristine;\n const isFormUnTouched = this.advertisementsForm.untouched;\n const isFormInvalid = this.advertisementsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid && this.selectedApplication) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(selectedApplication) {\n this.displayMap = true;\n this.loadMap();\n this.setComponentData(selectedApplication);\n }\n setComponentData(selectedApplication) {\n const advertisementControl = this.getAdvertisements();\n let point;\n let polygon;\n const isAdvertisingPermanentOrTemporaryValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n point = this.selectedApplication.point;\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n polygon = this.selectedApplication.polygon;\n }\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(isAdvertisingPermanentOrTemporaryValue.toLowerCase() === \"temporary\" ? polygon.shape : point.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const updatedAdvertisementFormGroup = this.getUpdatedAdvertisementFormGroup(selectedApplication, geom);\n this.advertisementsForm.markAllAsTouched();\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n this.setAdvertisementType();\n this.showApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n this.setApplicationType(updatedAdvertisementFormGroup);\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, updatedAdvertisementFormGroup);\n this.setApplicationValidators(updatedAdvertisementFormGroup);\n advertisementControl.push(updatedAdvertisementFormGroup);\n this.activeTabIndex = advertisementControl.length - 1;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationLocationAConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n getUpdatedAdvertisementFormGroup(selectedApplication, geom) {\n return new FormGroup({\n areaOfDisplay: new FormControl(selectedApplication.polygon?.areaOfDisplay),\n streetNames: new FormControl(selectedApplication.polygon?.streetNames),\n propertyDescription: new FormControl(selectedApplication.polygon?.propertyDescription),\n streetOrAddress: new FormControl(selectedApplication.frontalArea),\n addressStreetInformation: new FormControl(selectedApplication.point?.addressStreetInformation),\n type: new FormControl(selectedApplication.type, Validators.required),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n loadMap() {\n if (!this.displayMap) {\n this.showMap();\n this.changeDetectorRefs.detectChanges();\n this.initializeSketchTools();\n }\n }\n showApplicationTypeField() {\n this.showApplicationType = true;\n }\n hideApplicationTypeField() {\n this.showApplicationType = false;\n }\n onApplicationTypeSelected($event) {\n const selectedApplicationType = $event.target.value;\n const advertisementType = this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n this.advertisementsForm.get(this.applicationTypeFormControlName).setValue(selectedApplicationType);\n const advertisingFormArray = this.advertisementsForm.get(\"advertisements\");\n const selectedAdvertisementFormGroup = advertisingFormArray.controls[0];\n const applicationTypeControl = selectedAdvertisementFormGroup.get(this.applicationTypeFormControlName);\n applicationTypeControl.setValue(selectedApplicationType);\n applicationTypeControl.updateValueAndValidity();\n if (advertisementType?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (advertisementType?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setComponentData(this.selectedApplication);\n }\n });\n }\n setAdvertisementType() {\n const isAdvertisingPermanentOrTemporaryValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).setValue(isAdvertisingPermanentOrTemporaryValue);\n }\n setApplicationType(updatedAdvertisementFormGroup) {\n const applicationTypeValue = this.selectedApplication.type;\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(this.selectedApplication.isAdvetisingPermanentOrTemporary);\n const applicationTypeControl = updatedAdvertisementFormGroup.get(this.applicationTypeFormControlName);\n this.advertisementsForm.get(this.applicationTypeFormControlName).setValue(applicationTypeValue);\n applicationTypeControl.setValue(applicationTypeValue);\n }\n loadFormsAndData() {\n // set application type dropdowns\n this.applicationTypesLookups = this.aflaModuleStrategyService.lookups.get(\"applicationType\");\n // show map\n this.displayMap = true;\n this.loadMap();\n // set various form data\n this.setAdvertisementType();\n this.showApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(this.selectedApplication.isAdvetisingPermanentOrTemporary);\n if (this.selectedApplication.isAdvetisingPermanentOrTemporary?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (this.selectedApplication.isAdvetisingPermanentOrTemporary?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.advertisementsForm && formGroupName === this.advertisementsFormGroupName) {\n this.advertisementsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: NgbModal },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: false },] }]\n };\n};\nCreateApplicationLocationAComponent = __decorate([\n Component({\n selector: \"app-create-application-location-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationAComponent);\nexport { CreateApplicationLocationAComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationAConstants {\n static REMOVE_ADVERTISEMENT_LABEL = \"Remove advertisement\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the advertisement for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in to the correct advertisement and click on the advertisement. For permanent applications, please put a point on where it will be.\";\n static DESCRIPTION_LABEL_3 = \"For temporary applications, please draw an area around where all your advertisements will be placed.\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static FEATURE_REQUIRED = \"Please select an advertisement type and a feature on the map before saving or continuing with the application process\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static ADVERTISEMENT_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENT_FORM_CONTROL_NAME = \"advertisements\";\n static AREA_OF_DISPLAY_FORM_CONTROL_NAME = \"areaOfDisplay\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static STREET_NAMES_FORM_CONTROL = \"streetNames\";\n static PROPERTY_DESCRIPTION_FORM_CONTROL_NAME = \"propertyDescription\";\n static ADDRESS_OR_STREET_FORM_CONTROL_NAME = \"addressStreetInformation\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static AREA_OF_CONTROL_LABEL = \"Area of control\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static STREET_NAMES_LABEL = \"Street names\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description (If it is a private sale or permanent advertisement)\";\n static ADDRESS_OR_STREET_LABEL = \"Address / Street information\";\n static LAYER_REFERENCE = \"Advertising graphics\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static VALIDATION_MESSAGES = {\n areaOfDisplay: {\n required: `Area of control ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, streetNames: {\n required: `Street names ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, addressOrStreet: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [{ code: \"permanent\", value: \"permanent\" }, { code: \"temporary\", value: \"temporary\" }];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false, circle: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static POINT_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n circle: false, polygon: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsBlConstants } from \"./create-application-details-bl.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsBlComponent = class CreateApplicationDetailsBlComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsBlConstants.VALIDATION_MESSAGES;\n detailsFormGroupName = CreateApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsBlConstants.DESCRIPTION_FORM_CONTROL_NAME;\n typeFormControlName = CreateApplicationDetailsBlConstants.TYPE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n descriptionLabel = CreateApplicationDetailsBlConstants.DESCRIPTION_LABEL;\n typeLabel = CreateApplicationDetailsBlConstants.TYPE_LABEL;\n tradeNameLabel = CreateApplicationDetailsBlConstants.TRADE_NAME_LABEL;\n tradeNameFormControlName = CreateApplicationDetailsBlConstants.TRADE_NAME_CONTROL;\n businessOwnerLabel = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_LABEL;\n businessOwnerFormControlName = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_CONTROL;\n businessOwnerHeading = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_HEADING;\n businessOwnerDisableFilterBy = true;\n businessOwnerDisableEditing = false;\n businessOwnerGroups = [];\n applicationTypes = [];\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.detailsForm.pristine || this.isApplicationLoadedFromTheSearchPage) {\n // this is either the first time this step is loaded or it is being loaded from the search page\n this.getLookups();\n }\n else {\n if (this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n this.setupSubscribers();\n }\n loadMetadata(stepMeta) {\n try {\n this.businessOwnerGroups = stepMeta.businessOwnerGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsBlConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME, this.applicationTypes);\n if (this.isApplicationLoadedFromTheSearchPage) {\n // only run when the application is loaded from the search page\n this.checkApplicationData();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.typeFormControlName).setValue(this.selectedApplication.type);\n this.detailsForm.get(this.tradeNameFormControlName).setValue(this.selectedApplication.tradeName);\n this.detailsForm.get(this.businessOwnerFormControlName).setValue(this.selectedApplication.businessOwner[0]);\n }\n setupSubscribers() {\n this.subscribeToCheckFormValidity();\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsBlComponent = __decorate([\n Component({\n selector: \"app-create-application-details-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsBlComponent);\nexport { CreateApplicationDetailsBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsBlConstants {\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static DESCRIPTION_LABEL = \"Description\";\n static TYPE_LABEL = \"Application type\";\n static TRADE_NAME_LABEL = \"Trade name under which business to be conducted?\";\n static BUSINESS_OWNER_LABEL = \"Business owner\";\n static BUSINESS_OWNER_HEADING = \"Business owner\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADE_NAME_CONTROL = \"tradeName\";\n static BUSINESS_OWNER_CONTROL = \"businessOwner\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n tradeName: {\n required: `Trade name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n businessOwner: {\n required: `Business owner ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationLocationBlConstants } from \"./create-application-location-bl.constants\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationBlComponent = class CreateApplicationLocationBlComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationBlConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationBlConstants.ERF_NO_CONTROL;\n propertiesFormGroupName = CreateApplicationLocationBlConstants.PROPERTIES_FORM_GROUP_NAME;\n propertiesFormControlName = CreateApplicationLocationBlConstants.PROPERTIES_FORM_CONTROL;\n subdivisionControl = CreateApplicationLocationBlConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationBlConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationBlConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationBlConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationBlConstants.ADDRESS_CONTROL;\n unitNumberControl = CreateApplicationLocationBlConstants.UNIT_NUMBER_CONTROL;\n shopNumberControl = CreateApplicationLocationBlConstants.SHOP_NUMBER_CONTROL;\n titleDeedNumberControl = CreateApplicationLocationBlConstants.TITLE_DEED_NUMBER_CONTROL;\n titleDeedDescriptionNumberControl = CreateApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationBlConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationBlConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationBlConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationBlConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationBlConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationBlConstants.ADDRESS_TEXT_PLACEHOLDER;\n unitNumberPlaceHolder = CreateApplicationLocationBlConstants.UNIT_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationBlConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n shopNumberTextPlaceHolder = CreateApplicationLocationBlConstants.SHOP_NUMBER_TEXT_PLACEHOLDER;\n titleDeedNumberTextPlaceHolder = CreateApplicationLocationBlConstants.TITLE_DEED_NUMBER_TEXT_PLACEHOLDER;\n nameOfAccommodationTextPlaceholder = CreateApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER;\n nameOfAccommodationControl = CreateApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_CONTROL;\n titleDeedDescriptionTextPlaceHolder = CreateApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removePropertyLabel = CreateApplicationLocationBlConstants.REMOVE_PROPERTY_LABEL;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n layerReference = CreateApplicationLocationBlConstants.LAYER_REF;\n hasLoadedApplicationProperties = false;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n applicationCreateServiceSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getProperties() {\n return this.propertiesForm.get(this.propertiesFormControlName);\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.propertiesForm.pristine && this.isApplicationLoadedFromTheSearchPage) {\n // this is either the first time this step is loaded or it is being loaded from the search page\n this.checkApplicationData();\n }\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata() {\n }\n onBtnRemoveSelectedPropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n farmNoControl.clearValidators();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.clearValidators();\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n }\n setupSubscribers() {\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.getProperties();\n let tabIndex = 0;\n this.selectedApplication.properties.sort((a, b) => (b?.id - a?.id));\n this.selectedApplication.properties.forEach(savedProperty => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(savedProperty.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.getUpdatedPropertiesFormGroup(savedProperty, geom);\n this.propertiesForm.markAllAsTouched();\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(this.active);\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationBlConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n tabIndex++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"SetPropertyData\");\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgCode\");\n const objectId = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"OBJECTID\", \"objectid\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationBlConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"SetPropertyData\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n objectId: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"OBJECTID\", \"objectid\")),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erno\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n unitNumber: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"UnitNumber\", \"unitnumber\")),\n shopNumber: new FormControl(null),\n accommodationName: new FormControl(null),\n titleDeedNumber: new FormControl(null, Validators.required),\n titleDeedDescription: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"TitleDeed\", \"titledeed\"), Validators.required),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.handleAddProperty(newProperty);\n });\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n propertyControl.push(newProperty);\n if (this.getProperties().controls.length > 1) {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(CreateApplicationLocationBlConstants.ONLY_ONE_PROPERTY_ALLOWED, AlertType.Warning);\n return;\n }\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(this.active);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n getUpdatedPropertiesFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n erfNo: new FormControl(savedProperty.erfNumber, [Validators.required]),\n subdivision: new FormControl(savedProperty.subdivision, [Validators.required]),\n allotment: new FormControl(savedProperty.allotment, [Validators.required]),\n farmNo: new FormControl(savedProperty.farmNumber, [Validators.required]),\n address: new FormControl(savedProperty.address, [Validators.required]),\n sgCode: new FormControl(savedProperty.sgCode, [Validators.required]),\n geometry: new FormControl(geom),\n unitNumber: new FormControl(savedProperty.unitNumber),\n shopNumber: new FormControl(savedProperty.shopNumber),\n accommodationName: new FormControl(savedProperty.accommodationName),\n titleDeedNumber: new FormControl(savedProperty.titleDeedNumber, Validators.required),\n titleDeedDescription: new FormControl(savedProperty.titleDeedDescription, Validators.required),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n checkApplicationData() {\n const isFormPristine = this.propertiesForm.pristine;\n const isFormUnTouched = this.propertiesForm.untouched;\n const isFormInvalid = this.propertiesForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateComponentData();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationBlComponent = __decorate([\n Component({\n selector: \"app-create-application-location-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationBlComponent);\nexport { CreateApplicationLocationBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationBlConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static LAYER_REF = \"Property graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static PROPERTY_REQUIRED = \"Please select a property before saving or continuing with the application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static UNIT_NUMBER_CONTROL = \"unitNumber\";\n static SHOP_NUMBER_CONTROL = \"shopNumber\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static NAME_OF_ACCOMMODATION_CONTROL = \"accommodationName\";\n static TITLE_DEED_DESCRIPTION_CONTROL = \"titleDeedDescription\";\n static PROPERTIES_FORM_CONTROL = \"properties\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static UNIT_NUMBER_PLACEHOLDER = \"Unit number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static SHOP_NUMBER_TEXT_PLACEHOLDER = \"Shop number\";\n static TITLE_DEED_NUMBER_TEXT_PLACEHOLDER = \"Title deed number (Lot number)\";\n static NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER = \"Name of accommodation\";\n static TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER = \"Title deed description\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedDescription: {\n required: `Title deed description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationDetailsBpamsConstants } from \"./create-application-details-bpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsBpamsComponent = class CreateApplicationDetailsBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsBpamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = CreateApplicationDetailsBpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsBpamsConstants.DESCRIPTION_LABEL;\n isMinorBuildingWorkLabel = CreateApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_LABEL;\n sectorLabel = CreateApplicationDetailsBpamsConstants.SECTOR_LABEL;\n isRDPLabel = CreateApplicationDetailsBpamsConstants.IS_RDP_LABEL;\n buildingUseLabel = CreateApplicationDetailsBpamsConstants.BUILDING_USE_LABEL;\n applicationTypeLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_TYPE_LABEL;\n estimatedByLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_LABEL;\n estimatedCostLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_LABEL;\n isMinorBuildingWorkFormControlName = CreateApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME;\n sectorFormControlName = CreateApplicationDetailsBpamsConstants.SECTOR_FORM_CONTROL_NAME;\n isRDPFormControlName = CreateApplicationDetailsBpamsConstants.IS_RDP_FORM_CONTROL_NAME;\n buildingUseFormControlName = CreateApplicationDetailsBpamsConstants.BUILDING_USE_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n estimatedByFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME;\n estimatedCostFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME;\n yesNoOptions = [];\n sectorOptions = [];\n buildingUseOptions = [];\n applicationTypeOptions = [];\n estimatedByOptions = [];\n selectedApplicationBpamsSubscription;\n markStepFormGroupAsTouchedSubscription;\n formGroupName = CreateApplicationDetailsBpamsConstants.DETAILS_FORM_GROUP_NAME;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"sectorOptions\")) {\n this.sectorOptions = this.aflaModuleStrategyService.lookups.get(\"sectorOptions\");\n this.buildingUseOptions = this.aflaModuleStrategyService.lookups.get(\"buildingUseOptions\");\n this.applicationTypeOptions = this.aflaModuleStrategyService.lookups.get(\"applicationTypeOptions\");\n this.estimatedByOptions = this.aflaModuleStrategyService.lookups.get(\"estimatedByOptions\");\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToSelectedApplication();\n }\n else {\n this.getLookups();\n }\n this.setupSubscribers();\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.formGroupName);\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'BuildingUse' or name eq 'BuildingSector' or name eq 'ApplicationType' or name eq 'PropertyEstimatedBy')`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n const buildingUse = [];\n const sector = [];\n const applicationType = [];\n const estimatedBy = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"BuildingUse\") {\n buildingUse.push(JSON.parse(item.content));\n }\n if (item.name === \"BuildingSector\") {\n sector.push(JSON.parse(item.content));\n }\n if (item.name === \"ApplicationType\") {\n applicationType.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyEstimatedBy\") {\n estimatedBy.push(JSON.parse(item.content));\n }\n });\n }\n this.yesNoOptions = [];\n buildingUse.sort((a, b) => a.value.localeCompare(b.value));\n sector.sort((a, b) => a.value.localeCompare(b.value));\n applicationType.sort((a, b) => a.value.localeCompare(b.value));\n estimatedBy.sort((a, b) => a.value.localeCompare(b.value));\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.aflaModuleStrategyService.lookups.set(\"buildingUseOptions\", buildingUse);\n this.buildingUseOptions = buildingUse;\n this.aflaModuleStrategyService.lookups.set(\"sectorOptions\", sector);\n this.sectorOptions = sector;\n this.aflaModuleStrategyService.lookups.set(\"applicationTypeOptions\", applicationType);\n this.applicationTypeOptions = applicationType;\n this.aflaModuleStrategyService.lookups.set(\"estimatedByOptions\", estimatedBy);\n this.estimatedByOptions = estimatedBy;\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.isMinorBuildingWork) {\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).setValue(application.isMinorBuildingWork);\n }\n if (application.sector) {\n this.detailsForm.get(this.sectorFormControlName).setValue(application.sector);\n }\n if (application.isRdp) {\n this.detailsForm.get(this.isRDPFormControlName).setValue(application.isRdp);\n }\n if (application.buildingUse) {\n this.detailsForm.get(this.buildingUseFormControlName).setValue(application.buildingUse);\n }\n if (application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.applicationType);\n }\n if (application.applicationEstimatedBy) {\n this.detailsForm.get(this.estimatedByFormControlName).setValue(application.applicationEstimatedBy);\n }\n if (application.applicationEstimatedCost) {\n this.detailsForm.get(this.estimatedCostFormControlName).setValue(application.applicationEstimatedCost);\n }\n }\n setupSubscribers() {\n this.subscribeToCheckFormValidity();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.formGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsBpamsComponent);\nexport { CreateApplicationDetailsBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsBpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_MINOR_BUILDING_WORK_LABEL = \"Is there minor building work?\";\n static SECTOR_LABEL = \"Sector\";\n static IS_RDP_LABEL = \"Is it an RDP house?\";\n static BUILDING_USE_LABEL = \"Building use\";\n static APPLICATION_TYPE_LABEL = \"Type\";\n static APPLICATION_ESTIMATED_BY_LABEL = \"Estimated by\";\n static APPLICATION_ESTIMATED_COST_LABEL = \"Estimated project cost (R)\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME = \"isMinorBuildingWork\";\n static SECTOR_FORM_CONTROL_NAME = \"sector\";\n static IS_RDP_FORM_CONTROL_NAME = \"isRDP\";\n static BUILDING_USE_FORM_CONTROL_NAME = \"buildingUse\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME = \"applicationEstimatedBy\";\n static APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME = \"applicationEstimatedCost\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isMinorBuildingWork: {\n required: `Is there minor building work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sector: {\n required: `Sector ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isRDP: {\n required: `Is it an RDP house ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingUse: {\n required: `Building use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationEstimatedBy: {\n required: `Estimated by ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationEstimatedCost: {\n required: `Estimated cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-building.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-building.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../shared/constants/shared.constants\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { AlertType } from \"../../../../../shared/models/alert\";\nimport { CreateApplicationLocationBpamsConstants } from \"../create-application-location-bpams.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddBuildingComponent = class AddBuildingComponent {\n activeModal;\n appController;\n modalTitle;\n type;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n addForm;\n cancelLabel = SharedConstants.CANCEL_LABEL;\n createLabel = SharedConstants.CREATE_LABEL;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n floorLabel = CreateApplicationLocationBpamsConstants.FLOOR_LABEL;\n existingSizeLabel = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_LABEL;\n addedSizeLabel = CreateApplicationLocationBpamsConstants.ADDED_SIZE_LABEL;\n buildingNameNumberLabel = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_LABEL;\n floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n buildingNameNumberControlName = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_CONTROL_NAME;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.addForm = new FormGroup({\n floor: new FormControl(0, [Validators.required]),\n existingSize: new FormControl(null, [Validators.required]),\n addedSize: new FormControl(null, [Validators.required]),\n buildingNameNumber: new FormControl(null)\n });\n }\n onBtnSaveClicked($event) {\n if (this.addForm.valid) {\n const name = {\n floor: this.addForm.get(this.floorControlName).value,\n existingSize: this.addForm.get(this.existingSizeControlName).value,\n addedSize: this.addForm.get(this.addedSizeControlName).value,\n buildingNameNumber: this.addForm.get(this.buildingNameNumberControlName).value,\n type: this.type\n };\n this.activeModal.close(name);\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n onBtnCancelClicked($event) {\n this.activeModal.close(null);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n modalTitle: [{ type: Input }],\n type: [{ type: Input }]\n };\n};\nAddBuildingComponent = __decorate([\n Component({\n selector: \"app-add-building\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], AddBuildingComponent);\nexport { AddBuildingComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-bpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"./create-application-location-bpams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiModuleConstants } from \"../../../../shared/constants/api-constants/api-module.constants\";\nimport { BehaviorSubject, debounceTime } from \"rxjs\";\nimport { PropertyBuildingHeadingEnumHeadingLookup } from \"./property-building-heading.model\";\nimport { AddBuildingComponent } from \"./add-building/add-building.component\";\nimport { EditBuildingComponent } from \"./edit-building/edit-building.component\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { ViewApplicationLocationBpamsConstants } from \"../../../../view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.constants\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { MapServiceConstants } from \"../../../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { RecipientSelectComponent } from \"../../../../shared/components/recipient-components/recipient-select/recipient-select.component\";\nlet CreateApplicationLocationBpamsComponent = class CreateApplicationLocationBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n modalService;\n searchApplicationsService;\n propertiesForm;\n ownersComponentRef;\n descriptionLabel1 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n propertyApplicationDetailsLabel = CreateApplicationLocationBpamsConstants.PROPERTY_APPLICATION_DETAILS_LABEL;\n erfNoControl = CreateApplicationLocationBpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationBpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationBpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationBpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationBpamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationBpamsConstants.ADDRESS_CONTROL;\n erfSizeControl = CreateApplicationLocationBpamsConstants.ERF_SIZE_CONTROL;\n titleDeedControl = CreateApplicationLocationBpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = CreateApplicationLocationBpamsConstants.ZONE_CONTROL;\n ownerControl = CreateApplicationLocationBpamsConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationBpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationBpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationBpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationBpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationBpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationBpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationBpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = CreateApplicationLocationBpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = CreateApplicationLocationBpamsConstants.ZONE_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n addZoneLabel = CreateApplicationLocationBpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = CreateApplicationLocationBpamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = CreateApplicationLocationBpamsConstants.OWNER_LABEL;\n copyOwnerLabel = CreateApplicationLocationBpamsConstants.COPY_OWNER_LABEL;\n propertyHeadingLabel = CreateApplicationLocationBpamsConstants.PROPERTY_HEADING_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n fullApplicationCheckRequired = false;\n showOnlyPropertyAndZoningLayers = false;\n titleDeedRestrictionsTextPlaceHolder = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n propertyDescriptionTextPlaceHolder = CreateApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_LABEL;\n propertyDescriptionControl = CreateApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_CONTROL;\n externalWallsTextPlaceHolder = CreateApplicationLocationBpamsConstants.EXTERNAL_WALLS_LABEL;\n internalWallsTextPlaceHolder = CreateApplicationLocationBpamsConstants.INTERNAL_WALLS_LABEL;\n roofingTextPlaceHolder = CreateApplicationLocationBpamsConstants.ROOFING_LABEL;\n numberOfHousesUnitsTextPlaceHolder = CreateApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_LABEL;\n externalWallsControl = CreateApplicationLocationBpamsConstants.EXTERNAL_WALLS_CONTROL;\n internalWallsControl = CreateApplicationLocationBpamsConstants.INTERNAL_WALLS_CONTROL;\n roofingControl = CreateApplicationLocationBpamsConstants.ROOFING_CONTROL;\n numberOfHousesUnitsControl = CreateApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_CONTROL;\n buildingDetailsLabel = CreateApplicationLocationBpamsConstants.BUILDING_DETAILS_LABEL;\n mainBuildingLabel = CreateApplicationLocationBpamsConstants.MAIN_BUILDING_LABEL;\n outBuildingLabel = CreateApplicationLocationBpamsConstants.OUT_BUILDING_LABEL;\n buildingTotalLabel = CreateApplicationLocationBpamsConstants.BUILDING_TOTAL_LABEL;\n stoepLabel = CreateApplicationLocationBpamsConstants.STOEP_LABEL;\n miscellaneousLabel = CreateApplicationLocationBpamsConstants.MISCELLANEOUS_LABEL;\n totalExistingPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_LABEL;\n totalAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_LABEL;\n totalFloorAreaTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_LABEL;\n totalExistingControl = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_CONTROL;\n totalAddedControl = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_CONTROL;\n totalFloorAreaControl = CreateApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_CONTROL;\n // patio\n coveredExistingTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERED_EXISTING_LABEL;\n coveredAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERED_ADDED_LABEL;\n openExistingTextPlaceHolder = CreateApplicationLocationBpamsConstants.OPEN_EXISTING_LABEL;\n openAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.OPEN_ADDED_LABEL;\n totalExistingPatioTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_LABEL;\n totalAddedPatioTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_LABEL;\n coveredExistingControl = CreateApplicationLocationBpamsConstants.COVERED_EXISTING_CONTROL;\n coveredAddedControl = CreateApplicationLocationBpamsConstants.COVERED_ADDED_CONTROL;\n openExistingControl = CreateApplicationLocationBpamsConstants.OPEN_EXISTING_CONTROL;\n openAddedControl = CreateApplicationLocationBpamsConstants.OPEN_ADDED_CONTROL;\n totalExistingPatioControl = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_CONTROL;\n totalAddedPatioControl = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_CONTROL;\n // misc\n poolTextPlaceHolder = CreateApplicationLocationBpamsConstants.POOL_LABEL;\n boundaryWallHeightTextPlaceHolder = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_LABEL;\n boundaryWallRunningTextPlaceHolder = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_LABEL;\n coverageTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERAGE_LABEL;\n bulkCalculationTextPlaceHolder = CreateApplicationLocationBpamsConstants.BULK_CALCULATION_LABEL;\n calculationsLabel = CreateApplicationLocationBpamsConstants.CALCULATIONS_LABEL;\n poolControl = CreateApplicationLocationBpamsConstants.POOL_CONTROL;\n boundaryWallHeightControl = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_CONTROL;\n boundaryWallRunningControl = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_CONTROL;\n coverageControl = CreateApplicationLocationBpamsConstants.COVERAGE_CONTROL;\n bulkCalculationControl = CreateApplicationLocationBpamsConstants.BULK_CALCULATION_CONTROL;\n deleteLabel = SharedConstants.REMOVE_LABEL;\n editLabel = SharedConstants.EDIT_LABEL;\n addLabel = SharedConstants.ADD_LABEL;\n removeDialogTitle = CreateApplicationLocationBpamsConstants.REMOVE_DIALOG_TEXT;\n removeMainContent = `${SharedConstants.REMOVE_MESSAGE} main building(s)?`;\n removeOutContent = `${SharedConstants.REMOVE_MESSAGE} out building(s)?`;\n selectPromptMessage = SharedConstants.NO_ITEM_SELECTED;\n selectOneDocMessage = SharedConstants.MORE_THAN_ONE_SELECTED;\n zoneOptions = [];\n externalWallsOptions = [];\n internalWallsOptions = [];\n roofingOptions = [];\n // @ts-ignore\n mainTableMapper;\n // @ts-ignore\n outTableMapper;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n missingZoneTuple;\n missingZoneList = new Map();\n modalOptions = {\n size: \"lg\", centered: true, keyboard: false, backdrop: \"static\"\n };\n selectedApplicationPropertyId = 0;\n showForm = false;\n selectedApplicationLocationBpamsSubscription;\n sendMissingLookupsEmailSubscription;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n markStepFormGroupAsTouchedSubscription;\n propertiesFormGroupName = CreateApplicationLocationBpamsConstants.PROPERTIES_FORM_GROUP_NAME;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, modalService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.modalService = modalService;\n this.searchApplicationsService = searchApplicationsService;\n this.initializeColumnToObjectMapping();\n }\n get getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n ngOnInit() {\n this.initForm();\n this.checkAndInitialiseLookups();\n this.getMetadata();\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones() {\n return this.getProperties.controls[0].get(\"zones\");\n }\n updatePropertyRequiredFields(newProperty) {\n const erfNoControl = newProperty.get(this.erfNoControl);\n const farmNoControl = newProperty.get(this.farmNoControl);\n const subdivisionControl = newProperty.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveZoneClicked(zoneIndex) {\n const controls = this.getZones();\n if (controls.controls.length > 1) {\n controls.removeAt(zoneIndex);\n }\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n onBtnRemoveMainClicked($event) {\n let mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n if (mainTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n // const deletedItem = mainTableSelection;\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n const options = {\n size: \"xl\", centered: true, keyboard: false, backdrop: \"static\"\n };\n const title = this.removeDialogTitle;\n const contentMessage = this.removeMainContent;\n const dialogRef = this.modalService.open(PopUpComponent, options);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = mainTableSelection;\n dialogRef.result.then((deletedIndex) => {\n this.changeDetectorRefs.markForCheck();\n if (deletedIndex) {\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < mainTableSelection.length; index++) {\n const delIndex = itemsAlreadyOnTable.findIndex(i => i.id === mainTableSelection[index].id);\n if (delIndex > -1) {\n itemsAlreadyOnTable.splice(delIndex, 1);\n }\n }\n for (let index = 0; index < itemsAlreadyOnTable.length; index++) {\n if (itemsAlreadyOnTable[index].id > 0)\n continue;\n itemsAlreadyOnTable[index].id = index !== 0 ? -index : 0;\n }\n const allItems = [...itemsAlreadyOnTable];\n mainTableDataSource.next(allItems);\n mainTableSelection = [];\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditMainClicked($event) {\n const mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n if (mainTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n if (mainTableSelection.length > 1) {\n this.appController.showMessage(this.selectOneDocMessage, AlertType.Warning);\n return;\n }\n let index = 0;\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n for (let i = 0; i < itemsAlreadyOnTable.length; i++) {\n if (itemsAlreadyOnTable[i] === mainTableSelection[0]) {\n index = i;\n }\n }\n const modalRef = this.modalService.open(EditBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Edit main building\";\n modalRef.componentInstance.building = mainTableSelection[0];\n modalRef.componentInstance.editedIndex = index;\n modalRef.result.then((updatedbuilding) => {\n this.changeDetectorRefs.markForCheck();\n if (updatedbuilding) {\n itemsAlreadyOnTable[updatedbuilding[0]] = updatedbuilding[1];\n const allItems = [...itemsAlreadyOnTable];\n mainTableDataSource.next(allItems);\n mainTableSelection[0].selected = false;\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddMainClicked($event) {\n let mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n const modalRef = this.modalService.open(AddBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Add main building\";\n modalRef.componentInstance.type = \"Main Building\";\n modalRef.result.then(newBuilding => {\n if (newBuilding) {\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n const allItems = [...itemsAlreadyOnTable, newBuilding];\n for (let index = 0; index < allItems.length; index++) {\n if (allItems[index].id > 0)\n continue;\n allItems[index].id = index !== 0 ? -index : 0;\n }\n mainTableDataSource.next(allItems);\n mainTableSelection = [];\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnRemoveOutClicked($event) {\n let outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n if (outTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n const options = {\n size: \"xl\", centered: true, keyboard: false, backdrop: \"static\"\n };\n const title = this.removeDialogTitle;\n const contentMessage = this.removeOutContent;\n const dialogRef = this.modalService.open(PopUpComponent, options);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = outTableSelection;\n dialogRef.result.then((deletedIndex) => {\n this.changeDetectorRefs.markForCheck();\n if (deletedIndex) {\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < outTableSelection.length; index++) {\n const delIndex = itemsAlreadyOnTable.findIndex(i => i.id === outTableSelection[index].id);\n if (delIndex > -1) {\n itemsAlreadyOnTable.splice(delIndex, 1);\n }\n }\n for (let index = 0; index < itemsAlreadyOnTable.length; index++) {\n if (itemsAlreadyOnTable[index].id > 0)\n continue;\n itemsAlreadyOnTable[index].id = index !== 0 ? -index : 0;\n }\n // itemsAlreadyOnTable.splice(deletedIndex, 1);\n const allItems = [...itemsAlreadyOnTable];\n outTableDataSource.next(allItems);\n outTableSelection = [];\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditOutClicked($event) {\n const outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n if (outTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n if (outTableSelection.length > 1) {\n this.appController.showMessage(this.selectOneDocMessage, AlertType.Warning);\n return;\n }\n let index = 0;\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n for (let i = 0; i < itemsAlreadyOnTable.length; i++) {\n if (itemsAlreadyOnTable[i] === outTableSelection[0]) {\n index = i;\n }\n }\n const modalRef = this.modalService.open(EditBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Edit outbuilding\";\n modalRef.componentInstance.building = outTableSelection[0];\n modalRef.componentInstance.editedIndex = index;\n modalRef.result.then((updatedBuilding) => {\n this.changeDetectorRefs.markForCheck();\n if (updatedBuilding) {\n itemsAlreadyOnTable[updatedBuilding[0]] = updatedBuilding[1];\n const allItems = [...itemsAlreadyOnTable];\n outTableDataSource.next(allItems);\n outTableSelection[0].selected = false;\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddOutClicked($event) {\n let outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n const modalRef = this.modalService.open(AddBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Add outbuilding\";\n modalRef.componentInstance.type = \"Additional building\";\n modalRef.result.then(newBuilding => {\n if (newBuilding) {\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n const allItems = [...itemsAlreadyOnTable, newBuilding];\n for (let index = 0; index < allItems.length; index++) {\n if (allItems[index].id > 0)\n continue;\n // allItems[index].id = index!==0 ? -index : 0;\n // hack for test:\n allItems[index].id = index !== 0 ? -index - 100 : -100;\n }\n outTableDataSource.next(allItems);\n outTableSelection = [];\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n getMissingZones(index) {\n if (this.missingZoneList && this.missingZoneList.size > 0) {\n // send email to mod admins if it not been already sent\n this.missingZoneTuple = this.missingZoneList.get(index);\n if (this.missingZoneTuple[1] === false) {\n this.sendEmailMissingLookupForZones(this.missingZoneTuple[0]);\n this.missingZoneTuple = [this.missingZoneTuple[0], true];\n this.missingZoneList.set(index, this.missingZoneTuple);\n }\n let zones = \"\";\n let count = 1;\n this.missingZoneTuple[0].forEach((zone) => {\n zones += zone + (count < zone.length ? \"|\" : \"\");\n count++;\n });\n return `${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL} ${zones} ${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL_EMAIL}`;\n }\n }\n mainArrayReturned(array) {\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(array);\n }\n outArrayReturned(array) {\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(array);\n }\n syncMainBuildings() {\n this.getProperties.controls.forEach(property => {\n const items = property.get(\"mainTableDataSource\").value.getValue();\n const formItems = property.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber),\n });\n formItems.push(newItem);\n });\n });\n this.calculateTotals();\n }\n syncOutBuildings() {\n this.getProperties.controls.forEach(property => {\n const items = property.get(\"outTableDataSource\").value.getValue();\n const formItems = property.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n });\n this.calculateTotals();\n }\n calculateTotals() {\n const properties = this.getProperties.controls;\n properties.forEach(property => {\n property.get(\"coverage\").setValue(0);\n property.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (typeof property.get(\"coveredExisting\").value === \"number\" && typeof property.get(\"openExisting\").value === \"number\") {\n const patioCoverageExisting = property.get(\"coveredExisting\").value;\n const patioOpenExisting = property.get(\"openExisting\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n property.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n }\n if (typeof property.get(\"coveredAdded\").value === \"number\" && typeof property.get(\"openAdded\").value === \"number\") {\n const patioCoverageAdded = property.get(\"coveredAdded\").value;\n const patioOpenAdded = property.get(\"openAdded\").value;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n property.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = property.get(\"mainBuildings\");\n const outBuildings = property.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n property.get(\"totalExisting\").setValue(totalExistingCalculated);\n property.get(\"totalAdded\").setValue(totalAddedCalculated);\n property.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (property.get(\"coveredExisting\").value !== null && property.get(\"coveredAdded\").value !== null && property.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = property.get(\"coveredExisting\").value;\n const patioCoverageAdded = property.get(\"coveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + property.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n property.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n property.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n });\n }\n setNumberToDecimal(formControl, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n formControl.setValue(decimalValue);\n }\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads\n syncMainBuildingsOnGet(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"mainTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads\n syncOutBuildingsOnGet(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"outTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Building Plans graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.onGetSelectedApplication();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n const propertyControl = this.getProperties;\n propertyControl.clear();\n const newProperty = new FormGroup({\n id: new FormControl(0),\n property: new FormControl(null),\n erfNo: new FormControl(null),\n subdivision: new FormControl(null),\n allotment: new FormControl(null, [Validators.required]),\n farmNo: new FormControl(null),\n sgCode: new FormControl(null, [Validators.required]),\n address: new FormControl(null, [Validators.required]),\n erfSize: new FormControl(null, [Validators.required]),\n titleDeed: new FormControl(null, [Validators.required]),\n geometry: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1), Validators.required]), // lookup\n owners: new FormControl(null, [Validators.required]),\n propertyDescription: new FormControl(null, [Validators.required]),\n titleDeedRestrictions: new FormControl(null, [Validators.required]),\n externalWalls: new FormControl(null, [Validators.required]), // lookup\n internalWalls: new FormControl(null, [Validators.required]), // lookup\n roofing: new FormControl(null, [Validators.required]), // lookup\n numberOfHousesUnits: new FormControl(null, [Validators.required]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // patio\n coveredExisting: new FormControl(null, [Validators.required]),\n coveredAdded: new FormControl(null, [Validators.required]),\n openExisting: new FormControl(null, [Validators.required]),\n openAdded: new FormControl(null, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // misc\n pool: new FormControl(null, [Validators.required]),\n boundaryWallHeight: new FormControl(null, [Validators.required]),\n boundaryWallRunning: new FormControl(null, [Validators.required]),\n coverage: new FormControl({ value: null, disabled: true }),\n bulkCalculation: new FormControl({ value: null, disabled: true }),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([])\n });\n propertyControl.push(newProperty);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'PropertyRoofing' or name eq 'ApplicationType' or name eq 'PropertyEstimatedBy' or name eq 'PropertyExternalWalls' or name eq 'PropertyInternalWalls' or name eq 'Zoning')`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response), error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const externalWalls = [];\n const internalWalls = [];\n const roofings = [];\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"PropertyRoofing\") {\n roofings.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyExternalWalls\") {\n externalWalls.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyInternalWalls\") {\n internalWalls.push(JSON.parse(item.content));\n }\n if (item.name === \"Zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zoneOptions\", zones);\n this.zoneOptions = zones;\n this.aflaModuleStrategyService.lookups.set(\"externalWallsOptions\", externalWalls);\n this.externalWallsOptions = externalWalls;\n this.aflaModuleStrategyService.lookups.set(\"internalWallsOptions\", internalWalls);\n this.internalWallsOptions = internalWalls;\n this.aflaModuleStrategyService.lookups.set(\"roofingOptions\", roofings);\n this.roofingOptions = roofings;\n this.applicationCreateService.setHasLoadedLookups(true);\n this.sortLookups();\n this.changeDetectorRefs.detectChanges();\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n loadExistingProperty(property) {\n this.showForm = false;\n this.setPropertyData(property, property.geometry);\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n this.changeDetectorRefs.detectChanges();\n const propertiesFormArray = this.propertiesForm.get(\"properties\");\n propertiesFormArray.clear();\n // propertiesFormArray.updateValueAndValidity();\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n const newProperty = new FormGroup({\n id: new FormControl(this.selectedApplicationPropertyId),\n tempId: new FormControl(this.selectedApplicationPropertyId, Validators.required),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\")),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n propertyDescription: new FormControl(null, [Validators.required]),\n titleDeedRestrictions: new FormControl(null, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n erfSize: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfSize\", \"erfsize\"), [Validators.required]),\n titleDeed: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"TitleDeed\", \"titledeed\"), [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n // building details\n externalWalls: new FormControl(null, [Validators.required]),\n internalWalls: new FormControl(null, [Validators.required]),\n roofing: new FormControl(null, [Validators.required]),\n numberOfHousesUnits: new FormControl(null, [Validators.required]),\n // main building\n mainBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]), // out/additional building\n outBuildings: new FormArray([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // Patio/stoeps\n coveredExisting: new FormControl(0, [Validators.required]),\n coveredAdded: new FormControl(0, [Validators.required]),\n openExisting: new FormControl(0, [Validators.required]),\n openAdded: new FormControl(0, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // Misc.\n pool: new FormControl(0, [Validators.required]),\n boundaryWallHeight: new FormControl(0, [Validators.required]),\n boundaryWallRunning: new FormControl(0, [Validators.required]),\n coverage: new FormControl({ value: 0, disabled: true }),\n bulkCalculation: new FormControl({ value: 0, disabled: true }),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER);\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const zonesControl = newProperty.get(\"zones\");\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = CreateApplicationUtils.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\");\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zoneOptions.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (foundZone !== null) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(foundZone, [Validators.required])\n }));\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n if (zonesControl.length === 0) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n }\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (zoningError) => {\n this.appController.showMessage(zoningError.message, AlertType.Error);\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n }\n else {\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n onGetSelectedApplication() {\n this.showForm = false;\n if (+this.jobId > 0 && this.selectedApplication) {\n this.selectedApplication.properties.sort((a, b) => (a?.id - b?.id));\n const propertyControl = this.getProperties;\n this.selectedApplicationPropertyId = this.selectedApplication.properties[0].id;\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n propertyControl.clear();\n const missingLookupsForZones = [];\n const property = this.selectedApplication.properties[0];\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newProperty = new FormGroup({\n id: new FormControl(property.id),\n property: new FormControl(property),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment, [Validators.required]),\n farmNo: new FormControl(property.farmNumber),\n sgCode: new FormControl(property.sgCode, [Validators.required]),\n address: new FormControl(property.address, [Validators.required]),\n erfSize: new FormControl(property.erfSize, [Validators.required]),\n titleDeed: new FormControl(property.titleDeed, [Validators.required]),\n geometry: new FormControl(geom), centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1), Validators.required]), // lookup\n owners: new FormControl(property.owners, [Validators.required]),\n propertyDescription: new FormControl(property.applicationDescription, [Validators.required]),\n titleDeedRestrictions: new FormControl(property.applicationRestrictions, [Validators.required]),\n externalWalls: new FormControl(null, [Validators.required]), // lookup\n internalWalls: new FormControl(null, [Validators.required]), // lookup\n roofing: new FormControl(null, [Validators.required]), // lookup\n numberOfHousesUnits: new FormControl(property.numberOfHouses, [Validators.required]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // patio\n coveredExisting: new FormControl(property.patioCoveredExisting, [Validators.required]),\n coveredAdded: new FormControl(property.patioCoveredAdded, [Validators.required]),\n openExisting: new FormControl(property.patioOpenExisting, [Validators.required]),\n openAdded: new FormControl(property.patioOpenAdded, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // misc\n pool: new FormControl(property.pool, [Validators.required]),\n boundaryWallHeight: new FormControl(property.boundaryWallHeight, [Validators.required]),\n boundaryWallRunning: new FormControl(property.boundaryWallRunning, [Validators.required]),\n coverage: new FormControl({ value: property.coverage, disabled: true }),\n bulkCalculation: new FormControl({ value: property.bulkCalculation, disabled: true }),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([])\n });\n // if property is loaded from an existing application mark for as touched it as touched\n this.propertiesForm.markAllAsTouched();\n const zonesControl = newProperty.get(\"zones\");\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zoneOptions.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zone: new FormControl(zoneOption, [Validators.required]),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n }\n });\n if (!foundZone) {\n missingLookupsForZones.push(zone.zoning);\n this.applicationCreateService.$missingLookupsForZones.push(zone.zoning);\n }\n });\n if (missingLookupsForZones.length > 0) {\n this.missingZoneTuple = [missingLookupsForZones, false];\n this.missingZoneList.set(0, this.missingZoneTuple);\n }\n const mainTableDataSource = newProperty.get(\"mainTableDataSource\").value;\n const outTableDataSource = newProperty.get(\"outTableDataSource\").value;\n const mainItems = [];\n const outItems = [];\n property.buildings.forEach(building => {\n if (building.type === \"Main Building\") {\n mainItems.push(building);\n }\n else {\n outItems.push(building);\n }\n });\n mainTableDataSource.next(mainItems);\n outTableDataSource.next(outItems);\n let externalWalls = null;\n this.externalWallsOptions.forEach(item => {\n if (item.value === property.externalWalls) {\n externalWalls = item;\n }\n });\n let internalWalls = null;\n this.internalWallsOptions.forEach(item => {\n if (item.value === property.internalWalls) {\n internalWalls = item;\n }\n });\n let roofing = null;\n this.roofingOptions.forEach(item => {\n if (item.value === property.roofing) {\n roofing = item;\n }\n });\n newProperty.get(\"externalWalls\").setValue(externalWalls);\n newProperty.get(\"internalWalls\").setValue(internalWalls);\n newProperty.get(\"roofing\").setValue(roofing);\n // todo Temporary fix:\n this.syncMainBuildingsOnGet(newProperty);\n this.syncOutBuildingsOnGet(newProperty);\n this.calculateTotalsOnGet(newProperty);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newProperty.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties.controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Building plans graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Building plans graphics\");\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.checkIfPropertyIsAlreadyLoaded(property);\n // this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n sendEmailMissingLookupForZones(missingLookupsForZones) {\n const url = `${ApiModuleConstants.URL}/${ApiModuleConstants.MISSING_LOOKUP_EMAIL_REQUEST_URL}`;\n const params = {\n moduleId: this.applicationCreateService.moduleID, lookupType: \"Zoning\", lookupList: missingLookupsForZones\n };\n this.sendMissingLookupsEmailSubscription = this.applicationCreateService.sendMissingLookupsEmail(url, params)\n .subscribe({\n next: () => {\n }, error: (error) => {\n this.appController.handleServerErrorMessage(`${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL_EMAIL_FAILED}`, error, CRUDOperation.Selecting);\n }\n });\n }\n initializeColumnToObjectMapping() {\n this.mainTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n this.outTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n }\n // NOTE: This is a Temporary fix - To be changed\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.showForm = false;\n this.getProperties.clear();\n this.mapComponent.removeGraphicsFromMap(\"Building plans graphics\");\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n // NOTE: This is a Temporary fix - To be changed\n sortLookups() {\n // sort zones dropdown alphabetically\n this.zoneOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.externalWallsOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.internalWallsOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.roofingOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.subscribeToSelectedApplication();\n }\n // NOTE: This is a Temporary fix - To be changed\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads after a save\n calculateTotalsOnGet(PropertyFormGroup) {\n PropertyFormGroup.get(\"coverage\").setValue(0);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (PropertyFormGroup.get(\"coveredExisting\").value !== null &&\n PropertyFormGroup.get(\"coveredAdded\").value !== null &&\n PropertyFormGroup.get(\"openExisting\").value !== null &&\n PropertyFormGroup.get(\"openAdded\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"coveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"coveredAdded\").value;\n const patioOpenExisting = PropertyFormGroup.get(\"openExisting\").value;\n const patioOpenAdded = PropertyFormGroup.get(\"openAdded\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n PropertyFormGroup.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n PropertyFormGroup.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = PropertyFormGroup.get(\"mainBuildings\");\n const outBuildings = PropertyFormGroup.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n PropertyFormGroup.get(\"totalExisting\").setValue(totalExistingCalculated);\n PropertyFormGroup.get(\"totalAdded\").setValue(totalAddedCalculated);\n PropertyFormGroup.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (PropertyFormGroup.get(\"coveredExisting\").value !== null &&\n PropertyFormGroup.get(\"coveredAdded\").value !== null &&\n PropertyFormGroup.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"coveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"coveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + PropertyFormGroup.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n PropertyFormGroup.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n }\n checkAndInitialiseLookups() {\n this.applicationCreateService.setHasLoadedLookups(false);\n if (this.aflaModuleStrategyService.lookups.has(\"externalWallsOptions\")) {\n this.externalWallsOptions = this.aflaModuleStrategyService.lookups.get(\"externalWallsOptions\");\n this.internalWallsOptions = this.aflaModuleStrategyService.lookups.get(\"internalWallsOptions\");\n this.roofingOptions = this.aflaModuleStrategyService.lookups.get(\"roofingOptions\");\n this.zoneOptions = this.aflaModuleStrategyService.lookups.get(\"zoneOptions\");\n this.sortLookups();\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n }\n checkIfPropertyIsAlreadyLoaded(property) {\n const title = \"Replace property\";\n const contentMessage = \"An application can only have 1 property. Do you want to replace the current property?\";\n const propertyControl = this.getProperties;\n const erfNoControl = propertyControl.controls[0]?.get(this.erfNoControl);\n const farmNoControl = propertyControl.controls[0]?.get(this.farmNoControl);\n if ((erfNoControl?.value !== undefined && erfNoControl?.value !== null && erfNoControl?.value.trim() !== \"\") ||\n (farmNoControl?.value !== undefined && farmNoControl?.value !== null && farmNoControl?.value.trim() !== \"\")) {\n const dialogRef = this.modalService.open(PopUpComponent, this.modalOptions);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((replaceData) => {\n if (replaceData) {\n this.showForm = false;\n this.getProperties.clear();\n this.mapComponent.clearGraphics(\"Building plans graphics\");\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n else {\n this.setPropertyData(property.attributes, property.geometry);\n }\n }\n onCopyOwnerToApplicant() {\n const owners = this.getProperties.controls[0].get(this.ownerControl);\n const selectedOwners = owners.value.filter(x => x.selected === true);\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n const applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.ownersComponentRef.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: NgbModal },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n ownersComponentRef: [{ type: ViewChild, args: [RecipientSelectComponent,] }],\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-bpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationBpamsComponent);\nexport { CreateApplicationLocationBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationBpamsConstants {\n static STEP_TITLE = \"Location\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static PROPERTY_HEADING_LABEL = \"Property details\";\n static ZONE_LABEL = \"Current property zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"The zoning here is the current zoning of the property and an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static PROPERTY_APPLICATION_DETAILS_LABEL = \"Property application details\";\n static BUILDING_DETAILS_LABEL = \"Building details\";\n static MAIN_BUILDING_LABEL = \"Main building\";\n static OUT_BUILDING_LABEL = \"Outbuilding / additional building\";\n static TOTAL_LABEL = \"Total\";\n static BUILDING_TOTAL_LABEL = \"Building total\";\n static STOEP_LABEL = \"Patios / stoeps\";\n static MISCELLANEOUS_LABEL = \"Miscellaneous\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTY_DESCRIPTION_CONTROL = \"propertyDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"titleDeedRestrictions\";\n static EXTERNAL_WALLS_CONTROL = \"externalWalls\";\n static INTERNAL_WALLS_CONTROL = \"internalWalls\";\n static ROOFING_CONTROL = \"roofing\";\n static NUMBER_OF_HOUSES_UNITS_CONTROL = \"numberOfHousesUnits\";\n static TOTAL_EXISTING_CONTROL = \"totalExisting\";\n static TOTAL_ADDED_CONTROL = \"totalAdded\";\n static TOTAL_FLOOR_AREA_CONTROL = \"totalFloorArea\";\n //patio\n static COVERED_EXISTING_CONTROL = \"coveredExisting\";\n static COVERED_ADDED_CONTROL = \"coveredAdded\";\n static OPEN_EXISTING_CONTROL = \"openExisting\";\n static OPEN_ADDED_CONTROL = \"openAdded\";\n static TOTAL_EXISTING_PATIO_CONTROL = \"totalExistingPatio\";\n static TOTAL_ADDED_PATIO_CONTROL = \"totalAddedPatio\";\n //misc\n static POOL_CONTROL = \"pool\";\n static BOUNDARY_WALL_HEIGHT_CONTROL = \"boundaryWallHeight\";\n static BOUNDARY_WALL_RUNNING_CONTROL = \"boundaryWallRunning\";\n static COVERAGE_CONTROL = \"coverage\";\n static BULK_CALCULATION_CONTROL = \"bulkCalculation\";\n //TODO check:\n static FLOOR_CONTROL_NAME = \"floor\";\n static EXISTING_SIZE_CONTROL_NAME = \"existingSize\";\n static ADDED_SIZE_CONTROL_NAME = \"addedSize\";\n static BUILDING_NAME_NUMBER_CONTROL_NAME = \"buildingNameNumber\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size (m²)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static EXTERNAL_WALLS_LABEL = \"External walls\";\n static INTERNAL_WALLS_LABEL = \"Internal walls\";\n static ROOFING_LABEL = \"Roofing\";\n static NUMBER_OF_HOUSES_UNITS_LABEL = \"Number of houses / units\";\n static TOTAL_EXISTING_LABEL = \"Total existing (m²)\";\n static TOTAL_ADDED_LABEL = \"Total added (m²)\";\n static TOTAL_FLOOR_AREA_LABEL = \"Total floor area (m²)\";\n //patio\n static COVERED_EXISTING_LABEL = \"Covered - existing (m²)\";\n static COVERED_ADDED_LABEL = \"Covered - added (m²)\";\n static OPEN_EXISTING_LABEL = \"Open - existing (m²)\";\n static OPEN_ADDED_LABEL = \"Open - added (m²)\";\n static TOTAL_EXISTING_PATIO_LABEL = \"Total - existing (m²)\";\n static TOTAL_ADDED_PATIO_LABEL = \"Total - added (m²)\";\n //misc\n static POOL_LABEL = \"Pool (m²)\";\n static BOUNDARY_WALL_HEIGHT_LABEL = \"Boundary wall height (m)\";\n static BOUNDARY_WALL_RUNNING_LABEL = \"Boundary wall running (m)\";\n static COVERAGE_LABEL = \"Coverage (%)\";\n static BULK_CALCULATION_LABEL = \"Bulk calculation (FAR) (%)\";\n static CALCULATIONS_LABEL = \"Calculations\";\n //TODO: Check\n static REMOVE_DIALOG_TEXT = `${SharedConstants.REMOVE_TITLE} building`;\n static FLOOR_LABEL = \"Floor\";\n static EXISTING_SIZE_LABEL = \"Existing Size (m²)\";\n static ADDED_SIZE_LABEL = \"Added Size (m²)\";\n static BUILDING_NAME_NUMBER_LABEL = \"Building name / number\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeedRestrictions: {\n required: `Title deed restrictions ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n externalWalls: {\n required: `External walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internalWalls: {\n required: `Internal walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n roofing: {\n required: `Roofing walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfHousesUnits: {\n required: `Number of houses / units ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalExisting: {\n required: `Total existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalAdded: {\n required: `Total added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalFloorArea: {\n required: `Total floor area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coveredExisting: {\n required: `Covered existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coveredAdded: {\n required: `Covered added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n openExisting: {\n required: `Open existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n openAdded: {\n required: `Open added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalExistingPatio: {\n required: `Total existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalAddedPatio: {\n required: `Total added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n pool: {\n required: `Pool ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n boundaryWallHeight: {\n required: `Boundary wall height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n boundaryWallRunning: {\n required: `Boundary wall running ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coverage: {\n required: `Coverage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n bulkCalculation: {\n required: `Bulk calculation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingSize: {\n required: `Existing size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n addedSize: {\n required: `Added size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-building.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-building.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../shared/constants/shared.constants\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { AlertType } from \"../../../../../shared/models/alert\";\nimport { CreateApplicationLocationBpamsConstants } from \"../create-application-location-bpams.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditBuildingComponent = class EditBuildingComponent {\n activeModal;\n appController;\n modalTitle;\n building;\n editedIndex;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n editForm;\n cancelLabel = SharedConstants.CANCEL_LABEL;\n createLabel = SharedConstants.UPDATE_LABEL;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n floorLabel = CreateApplicationLocationBpamsConstants.FLOOR_LABEL;\n existingSizeLabel = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_LABEL;\n addedSizeLabel = CreateApplicationLocationBpamsConstants.ADDED_SIZE_LABEL;\n buildingNameNumberLabel = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_LABEL;\n floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n buildingNameNumberControlName = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_CONTROL_NAME;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.editForm = new FormGroup({\n floor: new FormControl(this.building.floor, [Validators.required]),\n existingSize: new FormControl(this.building.existingSize, [Validators.required]),\n addedSize: new FormControl(this.building.addedSize, [Validators.required]),\n buildingNameNumber: new FormControl(this.building.buildingNameNumber)\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onBtnSaveClicked($event) {\n if (this.editForm.valid) {\n this.building.floor = this.editForm.get(this.floorControlName).value;\n this.building.existingSize = this.editForm.get(this.existingSizeControlName).value;\n this.building.addedSize = this.editForm.get(this.addedSizeControlName).value;\n this.building.buildingNameNumber = this.editForm.get(this.buildingNameNumberControlName).value;\n this.activeModal.close([this.editedIndex, this.building]);\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onBtnCancelClicked($event) {\n this.activeModal.close(null);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n modalTitle: [{ type: Input }],\n building: [{ type: Input }],\n editedIndex: [{ type: Input }]\n };\n};\nEditBuildingComponent = __decorate([\n Component({\n selector: \"app-edit-building\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], EditBuildingComponent);\nexport { EditBuildingComponent };\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n PropertyBuildingHeadingEnum[\"BuildingNameNumber\"] = \"Building name / number\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"],\n [PropertyBuildingHeadingEnum.BuildingNameNumber, \"buildingNameNumber\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-bpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateApplicationProfessionalBodiesBpamsConstants } from \"./create-application-professional-bodies-bpams.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { take } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { forkJoin } from \"rxjs\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesBpamsComponent = class CreateApplicationProfessionalBodiesBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n userInformationService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRef;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n architectRecipientComponent;\n engineerRecipientComponent;\n contractorRecipientComponent;\n professionalBodiesForm;\n professionalBodiesFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markArchitectAsRequiredLabel = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_REQUIRED_LABEL;\n markArchitectAsRequiredFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToArchitectLabel = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL;\n copyApplicantDetailsToArchitectFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToElectricalContractorFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n architectFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.ARCHITECT_FORM_CONTROL_NAME;\n engineerFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n showSACAPOptions = false;\n showArchitectRequiredCheckbox = true;\n architectDisableFilterBy = true;\n architectDisableEditing = false;\n architectShowFields = true;\n architectGroups = [];\n architectLabel = CreateApplicationProfessionalBodiesBpamsConstants.ARCHITECT_LABEL;\n architectShowGroupsDropdown = false;\n architectIsRequiredChecked = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = CreateApplicationProfessionalBodiesBpamsConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n engineerIsRequiredChecked = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = CreateApplicationProfessionalBodiesBpamsConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\n componentName = CreateApplicationProfessionalBodiesBpamsConstants.COMPONENT_NAME;\n savedArchitect;\n savedEngineer;\n savedContractor;\n authUserDetails;\n applicationCreateServiceSubscription;\n constructor(applicationCreateService, recipientService, userInformationService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRef, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.recipientService = recipientService;\n this.userInformationService = userInformationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getApplicantData();\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.initialiseDefaultValues();\n this.subscribeToCheckFormValidity();\n this.getAuthUserInformation();\n }\n loadMetadata(stepMeta) {\n try {\n this.architectGroups = stepMeta.architectGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.showSACAPOptions = stepMeta.enableSACAPLookup;\n if (this.showSACAPOptions) {\n this.configureProfBodiesForSACAP();\n }\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n form.clearValidators();\n form.updateValueAndValidity();\n this.professionalBodiesForm = form;\n }\n onMarkArchitectAsRequired(event) {\n const architectIsRequired = event.target.checked;\n if (architectIsRequired) {\n this.showArchitect = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.architectFormControlName).enable();\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.architectIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.architectFormControlName).disable();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(false);\n this.showArchitect = false;\n this.changeDetectorRefs.detectChanges();\n this.architectIsRequiredChecked = false;\n }\n }\n onMarkEngineerAsRequired(event) {\n const engineerIsRequired = event.target.checked;\n if (engineerIsRequired) {\n this.showEngineer = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.engineerFormControlName).enable();\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.showEngineer = false;\n this.changeDetectorRefs.detectChanges();\n this.engineerIsRequiredChecked = false;\n }\n }\n onMarkElectricalContractorAsRequired(event) {\n const contractorIsRequired = event.target.checked;\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.contractorFormControlName).enable();\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n this.showElectricalContractor = false;\n this.changeDetectorRefs.detectChanges();\n this.contractorIsRequiredChecked = false;\n }\n }\n onCopyApplicantToArchitect($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.architect > 0 && this.selectedApplication.architect[0].id >= 0) ? this.selectedApplication.architect[0].id : 0;\n applicantData.groups = this.architectGroups;\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n }\n }\n onCopyApplicantToEngineer($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.engineer > 0 && this.selectedApplication.engineer[0].id >= 0) ? this.selectedApplication.engineer[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n }\n }\n onCopyApplicantToElectricalContractor($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.professionalBodiesForm && this.professionalBodiesFormControlName === formGroupName) {\n if (this.showArchitect) {\n this.architectRecipientComponent.markFormControlsAsTouched();\n if (this.showSACAPOptions) {\n const sacapno = this.professionalBodiesForm.get(this.architectFormControlName).value.sacapRegistrationNumber;\n if (!sacapno) {\n this.appController.showMessage(\"Please verify architect before continuing to the next step\", AlertType.Warning);\n }\n const sacapverified = this.professionalBodiesForm.get(this.architectFormControlName).value.sacapRegistrationNumberVerified;\n if (!sacapverified) {\n this.appController.showMessage(\"Architect needs to be registered with SACAP. Please enter a valid SACAP registration number\", AlertType.Warning);\n }\n }\n }\n if (this.showEngineer) {\n this.engineerRecipientComponent.markFormControlsAsTouched();\n }\n if (this.showElectricalContractor) {\n this.contractorRecipientComponent.markFormControlsAsTouched();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n syncProfBodiesIsRequiredCheckBoxes(selectedApplication) {\n this.syncArchitectIsRequiredCheckBoxes(selectedApplication);\n this.syncEngineerIsRequiredCheckBoxes(selectedApplication);\n this.syncElectricalConstructorIsRequiredCheckBoxes(selectedApplication);\n this.professionalBodiesForm.markAsDirty();\n this.changeDetectorRefs.detectChanges();\n }\n syncArchitectIsRequiredCheckBoxes(selectedApplication) {\n const architectNotApplicable = selectedApplication?.architectNa;\n if (architectNotApplicable) {\n this.architectIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.architectFormControlName).disable();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(false);\n this.showArchitect = false;\n }\n else {\n this.showArchitect = true;\n this.architectIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n }\n }\n syncEngineerIsRequiredCheckBoxes(selectedApplication) {\n const engineerIsNotApplicable = selectedApplication?.engineerNa;\n if (engineerIsNotApplicable) {\n this.architectIsRequiredChecked = false;\n this.showEngineer = false;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n }\n }\n syncElectricalConstructorIsRequiredCheckBoxes(selectedApplication) {\n const electricalContractorIsNotApplicable = selectedApplication?.electricalContractorNa;\n if (electricalContractorIsNotApplicable) {\n this.contractorIsRequiredChecked = false;\n this.showElectricalContractor = false;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n }\n }\n populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateArchitect(selectedApplication);\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n populateArchitect(selectedApplication) {\n const architectControl = this.professionalBodiesForm.get(this.architectFormControlName);\n if (selectedApplication.architectNa) {\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.showArchitect = false;\n this.architectIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showArchitect = true;\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.architectIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n if (this.savedArchitect.length > 0) {\n const architect = this.savedArchitect[0];\n architect.groups = this.architectGroups;\n architect.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n architectControl.setValue(architect);\n }\n }\n }\n populateEngineer(selectedApplication) {\n const engineerControl = this.professionalBodiesForm.get(this.engineerFormControlName);\n if (selectedApplication.engineerNa) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.showEngineer = false;\n this.engineerIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n if (this.savedEngineer.length > 0) {\n const engineer = this.savedEngineer[0];\n engineer.groups = this.engineerGroups;\n engineer.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n engineerControl.setValue(engineer);\n }\n }\n }\n populateElectricalContractor(selectedApplication) {\n const electricalContractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n if (selectedApplication.electricalContractorNa) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.showElectricalContractor = false;\n this.contractorIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (this.savedContractor.length > 0) {\n const electricalContractor = this.savedContractor[0];\n electricalContractor.groups = this.contractorGroups;\n electricalContractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n electricalContractorControl.setValue(electricalContractor);\n }\n }\n }\n getProfBodiesData() {\n if (this.selectedApplication) {\n const architectID = this.selectedApplication.architectId;\n const engineerID = this.selectedApplication.engineerId;\n const contractorID = this.selectedApplication.electricalContractorId;\n if (architectID || engineerID || contractorID) {\n this.getProfessionalBodiesId(architectID, engineerID, contractorID);\n }\n if (!architectID) {\n this.getArchitectDataFromUserSettings();\n }\n }\n }\n getProfessionalBodiesId(architectID, engineerID, contractorID) {\n const architectAgentParams = {\n $expand: \"groups\", $filter: `id eq ${architectID}`\n };\n const engineerParams = {\n $expand: \"groups\", $filter: `id eq ${engineerID}`\n };\n const contractorParams = {\n $expand: \"groups\", $filter: `id eq ${contractorID}`\n };\n forkJoin([this.recipientService.getRecipientsObservable(architectAgentParams), this.recipientService.getRecipientsObservable(engineerParams), this.recipientService.getRecipientsObservable(contractorParams)]).subscribe({\n next: (professionalBodies) => {\n if (professionalBodies[0]?.length > 0) {\n // implementingAgent\n this.savedArchitect = professionalBodies[0];\n }\n else {\n this.getArchitectDataFromUserSettings();\n }\n if (professionalBodies[1]?.length > 0) {\n // Engineer\n this.savedEngineer = professionalBodies[1];\n }\n if (professionalBodies[2]?.length > 0) {\n // contractor\n this.savedContractor = professionalBodies[2];\n }\n if (this.professionalBodiesForm.pristine || professionalBodies.length > 0) {\n this.syncProfBodiesIsRequiredCheckBoxes(this.selectedApplication);\n this.populateProfessionalBodiesForms();\n }\n else {\n this.showProfBodiesBasedOnCurrentFormStatus();\n }\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n showProfBodiesBasedOnCurrentFormStatus() {\n const architectIsRequired = this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).value;\n const engineerIsRequired = this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).value;\n const contractorIsRequired = this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).value;\n if (architectIsRequired) {\n this.showArchitect = true;\n }\n else {\n this.showArchitect = false;\n }\n if (engineerIsRequired) {\n this.showEngineer = true;\n }\n else {\n this.showEngineer = false;\n }\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n }\n else {\n this.showElectricalContractor = false;\n }\n }\n getApplicantData() {\n if (this.selectedApplication) {\n const applicantID = this.selectedApplication.applicantId;\n if (applicantID) {\n this.getApplicantByApplicantId(applicantID);\n }\n }\n }\n getApplicantByApplicantId(applicantID) {\n const params = {\n $expand: \"groups\", $filter: `id eq ${applicantID}`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedApplicant = recipients[0];\n this.applicant = savedApplicant;\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n getAuthUserInformation() {\n this.userInformationService.$authenticatedUser.subscribe({\n next: (authUSer) => {\n this.authUserDetails = authUSer;\n this.getProfBodiesData();\n }\n });\n }\n getArchitectDataFromUserSettings() {\n const authUserId = this.authUserDetails.id;\n this.recipientService.getApplicantDataFromUserSettings(authUserId, \"portal_architect\").subscribe({\n next: (userSettingList) => {\n if (userSettingList.length > 0) {\n const userSettingData = userSettingList[0];\n const recipientData = JSON.parse(userSettingData.value);\n recipientData.moduleId = Number(this.appController.selectedModuleID);\n recipientData.jobId = Number(this.jobId);\n this.showArchitect = true;\n this.architectIsRequiredChecked = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.architectFormControlName).enable();\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(recipientData);\n this.changeDetectorRef.detectChanges();\n }\n }, error: (err) => {\n this.appController.handleServerErrorMessage(\"user settings\", err, CRUDOperation.Get);\n }\n });\n }\n configureProfBodiesForSACAP() {\n this.showArchitect = true;\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.professionalBodiesForm.get(this.architectFormControlName).enable();\n const copyControl = this.professionalBodiesForm.get(this.copyApplicantDetailsToArchitectFormControlName);\n copyControl.enable();\n this.showArchitectRequiredCheckbox = false;\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: RecipientService },\n { type: UserInformationService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n architectRecipientComponent: [{ type: ViewChild, args: [\"architectRecipientComponent\", { static: false },] }],\n engineerRecipientComponent: [{ type: ViewChild, args: [\"engineerRecipientComponent\", { static: false },] }],\n contractorRecipientComponent: [{ type: ViewChild, args: [\"contractorRecipientComponent\", { static: false },] }]\n };\n};\nCreateApplicationProfessionalBodiesBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-bpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesBpamsComponent);\nexport { CreateApplicationProfessionalBodiesBpamsComponent };\n","export class CreateApplicationProfessionalBodiesBpamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Are the electrical contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-burial-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-burial-details-cm.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateBurialDetailsCmConstants } from \"./create-burial-details-cm.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { ViewDeceasedDetailsCmConstant } from \"../../../../view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { AlertType } from \"src/app/shared/models/alert\";\nlet CreateBurialDetailsCmComponent = class CreateBurialDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n datePipe;\n searchApplicationsService;\n detailsFormGroupName = CreateBurialDetailsCmConstants.DETAILS_FORM_GROUP_NAME;\n burialTypeControl = CreateBurialDetailsCmConstants.BURIAL_TYPE_CONTROL;\n burialTypeLabel = CreateBurialDetailsCmConstants.BURIAL_TYPE_LABEL;\n burialDateControl = CreateBurialDetailsCmConstants.BURIAL_DATE_CONTROL;\n burialDateLabel = CreateBurialDetailsCmConstants.BURIAL_DATE_LABEL;\n burialTypePlaceHolder = CreateBurialDetailsCmConstants.BURIAL_TYPE_PH;\n validationMessages = CreateBurialDetailsCmConstants.VALIDATION_MESSAGES;\n burialDescriptionControl = CreateBurialDetailsCmConstants.DESCRIPTION_CONTROL;\n burialDescriptionLabel = CreateBurialDetailsCmConstants.DESCRIPTION_LABEL;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n title = CreateBurialDetailsCmConstants.STEP_TITLE;\n burialTypes = [];\n detailsForm;\n selectedApplicationCmSubscription;\n getLookupsObservableSubscripiton;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, datePipe, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.datePipe = datePipe;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationCmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"burialForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.burialTypeControl).setValue(application.type);\n this.detailsForm.get(this.burialDescriptionControl).setValue(application.description);\n if (application.burialDate !== undefined && application.burialDate !== null) {\n const dateString = this.datePipe.transform(application.burialDate, ViewDeceasedDetailsCmConstant.DATE_CONST);\n this.detailsForm.get(this.burialDateControl).setValue(dateString);\n }\n }\n loadLookup() {\n this.getLookupsObservableSubscripiton = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.burialTypes.push(JSON.parse(lp.content));\n });\n // this.detailsForm.get(this.burialTypeControl).clearValidators();\n // this.detailsForm.get(this.burialTypeControl).addValidators(Validators.required);\n this.burialTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n checkBurialDate() {\n const selectedDate = new Date(this.detailsForm.get(this.burialDateControl).value);\n const numberOfDays = AppConfig.settings.burialDateWarning.numberOfDays;\n const warningDate = this.getBusinessDates(new Date(), numberOfDays);\n if (selectedDate <= warningDate && numberOfDays > 0) {\n this.detailsForm.get(this.burialDateControl).setErrors({ invalid: true });\n this.appController.showMessage(`Application will not be processed within ${numberOfDays} day(s) before burial`, AlertType.Warning);\n }\n else {\n this.detailsForm.get(this.burialDateControl).setErrors(null);\n }\n }\n getBusinessDates(currentDate, numberOfDays) {\n let count = 0;\n while (count < numberOfDays) {\n const dayOfWeek = currentDate.getDay();\n if (dayOfWeek !== 0 && dayOfWeek !== 6) {\n count++;\n }\n currentDate.setDate(currentDate.getDate() + 1);\n }\n return currentDate;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: DatePipe },\n { type: SearchApplicationsService }\n ];\n};\nCreateBurialDetailsCmComponent = __decorate([\n Component({\n selector: \"app-create-burial-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateBurialDetailsCmComponent);\nexport { CreateBurialDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateBurialDetailsCmConstants {\n static STEP_TITLE = \"Burial details\";\n static DETAILS_FORM_GROUP_NAME = \"burialForm\";\n static BURIAL_TYPE_CONTROL = \"type\";\n static BURIAL_TYPE_LABEL = \"Burial type\";\n static BURIAL_DATE_CONTROL = \"burialDate\";\n static BURIAL_DATE_LABEL = \"Burial date\";\n static BURIAL_TYPE_PH = \"Select burial type\";\n static DESCRIPTION_CONTROL = \"description\";\n static DESCRIPTION_LABEL = \"Description\";\n static VALIDATION_MESSAGES = {\n burialType: {\n required: `Burial type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n burialDate: {\n required: `Burial date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-deceased-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-deceased-details-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateDeceasedDetailsCmConstant } from \"./create-deceased-details-cm.constants\";\nimport { DatePipe } from \"@angular/common\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { LookupConstants } from \"src/app/shared/constants/lookup.constants\";\nimport { map, of } from \"rxjs\";\nlet CreateDeceasedDetailsCmComponent = class CreateDeceasedDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n appController;\n changeDetectorRefs;\n aflaModuleStrategyService;\n datePipe;\n selectedApplicationService;\n searchApplicationsService;\n deceasedFormGroupName = CreateDeceasedDetailsCmConstant.DECEASED_FORM_GROUP_NAME;\n nameControl = CreateDeceasedDetailsCmConstant.NAME_CONTROL;\n surnameControl = CreateDeceasedDetailsCmConstant.SURNAME_CONTROL;\n startDateControl = CreateDeceasedDetailsCmConstant.START_DATE_CONTROL;\n nameLabel = CreateDeceasedDetailsCmConstant.NAME_LABEL;\n surnameLabel = CreateDeceasedDetailsCmConstant.SURNAME_LABEL;\n startDateLabel = CreateDeceasedDetailsCmConstant.START_DATE_LABEL;\n sexLabel = CreateDeceasedDetailsCmConstant.SEX_LABEL;\n nationalityLabel = CreateDeceasedDetailsCmConstant.NATIONALITY_LABEL;\n maidenNameLabel = CreateDeceasedDetailsCmConstant.MAIDEN_NAME_LABEL;\n placeOfBirthLabel = CreateDeceasedDetailsCmConstant.PALCE_OF_BIRTH_LABEL;\n placeOfDeathLabel = CreateDeceasedDetailsCmConstant.PLACE_OF_DEATH_LABEL;\n provinceOfDeathLabel = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_LABEL;\n identificationTypeLabel = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_LABEL;\n idNumberLabel = CreateDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_LABEL;\n dateOfDeathLabel = CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_LABEL;\n dateOfBirthLabel = CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_LABEL;\n burialOrderNumberLabel = CreateDeceasedDetailsCmConstant.BURIAL_ORDER_LABEL;\n serialNumenerLabel = CreateDeceasedDetailsCmConstant.SERIAL_NUMBER_LABEL;\n verticalPositionLabel = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_LABEL;\n undertakerLabel = CreateDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_LABEL;\n sexControl = CreateDeceasedDetailsCmConstant.SEX_CONTROL;\n nationalityControl = CreateDeceasedDetailsCmConstant.NATIONALITY_CONTROL;\n maidenNameControl = CreateDeceasedDetailsCmConstant.MAIDEN_NAME_CONTROL;\n placeOfBirthControl = CreateDeceasedDetailsCmConstant.PALCE_OF_BIRTH_CONTROL;\n placeOfDeathControl = CreateDeceasedDetailsCmConstant.PLACE_OF_DEATH_CONTROL;\n provinceOfDeathControl = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_CONTROL;\n identificationTypeControl = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_CONTROL;\n idNumberControl = CreateDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_CONTROL;\n dateOfDeathControl = CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL;\n dateOfBirthControl = CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL;\n burialOrderNumberControl = CreateDeceasedDetailsCmConstant.BURIAL_ORDER_CONTROL;\n serialNumberControl = CreateDeceasedDetailsCmConstant.SERIAL_NUMBER_CONTROL;\n verticalPositionControl = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_CONTROL;\n undertakerControl = CreateDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_CONTROL;\n validationMessages = CreateDeceasedDetailsCmConstant.VALIDATION_MESSAGES;\n title = CreateDeceasedDetailsCmConstant.DECEASED_DETAILS_TITLE;\n sexPh = CreateDeceasedDetailsCmConstant.SEX_PH;\n nationalityPh = CreateDeceasedDetailsCmConstant.NATIONALITY_PH;\n provinceOfDeathPh = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_PH;\n identityTypePh = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_PH;\n verticalPositionPh = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_PH;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n deceasedForm;\n nationalityLookup = LookupConstants.COUNTRIES;\n provinceLookup = LookupConstants.PROVINCE;\n dateofBirth;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList = [];\n deceasedNamesControl = \"deceasedNames\";\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\"\n };\n nationalityControlRequired = true;\n identificationTypeControlRequired = true;\n idNumberControlRequired = true;\n dateOfBirthControlRequired = true;\n placeOfBirthControlRequired = true;\n sexControlRequired = true;\n burialOrderNumberControlRequired = true;\n verticalPositionControlRequired = true;\n getLookupsObservableSubscription;\n selectedApplicationCreateCmSubscription;\n getApplicationsSubscription;\n deceasedNameListSubscription;\n deceasedNameListObservable;\n tableDataSource;\n constructor(applicationCreateService, appController, changeDetectorRefs, aflaModuleStrategyService, datePipe, selectedApplicationService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.loadLookups();\n this.checkSave();\n this.aflaModuleStrategyService.onCleanFormEvent.subscribe(x => {\n this.deceasedNameList = [];\n this.changeDetectorRefs.detectChanges();\n });\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n editnamesEvent(deceasedNameList) {\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(\"deceasedNames\").setValue(this.deceasedNameList);\n }\n addnamesEvent(deceasedNameList) {\n console.log(\"addevent\");\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(this.deceasedNameList[0].startDate, \"yyyy-MM-dd\"));\n }\n populateForm(application) {\n if (application.deceased.length > 0) {\n application.deceased.forEach((deceased) => {\n this.deceasedForm.get(this.sexControl).setValue(deceased.sex);\n this.deceasedForm.get(this.nationalityControl).setValue(deceased.nationality);\n this.deceasedForm.get(this.maidenNameControl).setValue(deceased.maidenName);\n this.deceasedForm.get(this.placeOfBirthControl).setValue(deceased.placeOfBirth);\n this.deceasedForm.get(this.placeOfDeathControl).setValue(deceased.placeOfDeath);\n this.deceasedForm.get(this.provinceOfDeathControl).setValue(deceased.provinceOfDeath);\n this.deceasedForm.get(this.identificationTypeControl).setValue(deceased.idType);\n this.deceasedForm.get(this.idNumberControl).setValue(deceased.idNumber);\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(deceased.dateOfBirth, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.dateOfDeathControl).setValue(this.datePipe.transform(deceased.dateOfDeath, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.burialOrderNumberControl).setValue(deceased.burialOrderNumber);\n this.deceasedForm.get(this.serialNumberControl).setValue(deceased.serialNo);\n this.deceasedForm.get(this.verticalPositionControl).setValue(deceased.verticalPosition);\n this.deceasedForm.get(this.undertakerControl).setValue(deceased.undertaker);\n if (deceased.deceasedNames && deceased.deceasedNames.length > 0) {\n this.addnamesEvent(deceased.deceasedNames);\n this.deceasedForm.get(\"deceasedNames\").setValue(deceased.deceasedNames);\n this.deceasedNameList = deceased.deceasedNames;\n this.intDataSource();\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n if (application.type.toLowerCase() === \"pauper\") {\n this.deceasedForm.get(\"deceasedNames\").clearValidators();\n this.deceasedForm.get(this.nationalityControl).clearValidators();\n this.nationalityControlRequired = false;\n this.deceasedForm.get(this.identificationTypeControl).clearValidators();\n this.identificationTypeControlRequired = false;\n this.deceasedForm.get(this.idNumberControl).clearValidators();\n this.idNumberControlRequired = false;\n this.deceasedForm.get(this.dateOfBirthControl).clearValidators();\n this.dateOfBirthControlRequired = false;\n this.deceasedForm.get(this.placeOfBirthControl).clearValidators();\n this.placeOfBirthControlRequired = false;\n this.deceasedForm.get(this.sexControl).clearValidators();\n this.sexControlRequired = false;\n this.deceasedForm.get(this.burialOrderNumberControl).clearValidators();\n this.burialOrderNumberControlRequired = false;\n this.deceasedForm.get(this.verticalPositionControl).clearValidators();\n this.verticalPositionControlRequired = false;\n }\n this.deceasedForm.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n this.deceasedForm.enable();\n this.enableDropdowns();\n }\n loadLookups() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name in ('${this.lookupConst.IdentificationType}','${this.lookupConst.Sex}','${this.lookupConst.VerticalPosition}') and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n if (lp.name === this.lookupConst.IdentificationType)\n this.identificationTypeLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.Sex)\n this.sexLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.VerticalPosition)\n this.verticalPositionLookup.push(JSON.parse(lp.content));\n });\n this.identificationTypeLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.sexLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.verticalPositionLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n checkSave() {\n this.selectedApplicationCreateCmSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n if (app) {\n this.getApplicationDeceasedDetails(app);\n }\n });\n }\n enableDropdowns() {\n this.deceasedForm.get(this.sexControl).enable();\n this.deceasedForm.get(this.nationalityControl).enable();\n this.deceasedForm.get(this.identificationTypeControl).enable();\n this.deceasedForm.get(this.provinceOfDeathControl).enable();\n this.deceasedForm.get(this.verticalPositionControl).enable();\n this.deceasedForm.get(this.nationalityControl).setValue(\"South Africa\");\n }\n idTypeChanged() {\n const idType = this.deceasedForm.get(this.identificationTypeControl).value;\n this.deceasedForm.get(this.idNumberControl).clearValidators();\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n if (idType === \"SA ID\") {\n this.deceasedForm.get(this.idNumberControl).setValidators([Validators.required, Validators.pattern(RegExp(/[0-9]{13}$/))]);\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n }\n else {\n this.deceasedForm.get(this.idNumberControl).setValidators(Validators.required);\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n }\n }\n updateDateOfBirth() {\n const dateValue = this.deceasedForm.get(this.dateOfBirthControl).value;\n this.dateofBirth = dateValue;\n this.changeDetectorRefs.detectChanges();\n }\n getApplicationDeceasedDetails(savedApplication) {\n const params = {\n $expand: \"deceased($expand=deceasedNames)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${savedApplication.moduleId} and deleted eq false`\n };\n this.getApplicationsSubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (application) => {\n const updatedApplication = application.value;\n if (updatedApplication.length > 0) {\n this.populateForm(updatedApplication[0]);\n }\n }\n });\n }\n intDataSource() {\n this.tableDataSource = of(this.deceasedNameList)\n .pipe(map((resp) => {\n const sch = [];\n resp.forEach(el => {\n sch.push({\n id: el.id,\n name: el.name,\n surname: el.surname,\n startDate: this.datePipe.transform(el.startDate, \"yyyy-MM-dd\")\n });\n });\n return sch;\n }));\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.deceasedForm && formGroupName === this.deceasedFormGroupName) {\n this.deceasedForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AflaModuleStrategyService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: SearchApplicationsService }\n ];\n};\nCreateDeceasedDetailsCmComponent = __decorate([\n Component({\n selector: \"app-create-deceased-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateDeceasedDetailsCmComponent);\nexport { CreateDeceasedDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateDeceasedDetailsCmConstant {\n static PLACEHOLDER_TEXT = SharedConstants.PLACEHOLDER_TEXT;\n static TABLE_LABEL = \"Ensure that you capture the deceased name, surname, and, if applicable, the date the surname was modified.\";\n static DECEASED_DETAILS_TITLE = \"Deceased details\";\n static NAME_LABEL = \"Name\";\n static SURNAME_LABEL = \"Surname\";\n static START_DATE_LABEL = \"Date name and surname given / date changed\";\n static DECEASED_FORM_GROUP_NAME = \"deceasedForm\";\n static NAME_CONTROL = \"name\";\n static SURNAME_CONTROL = \"surname\";\n static START_DATE_CONTROL = \"startDate\";\n static ACTION_LABEL = \"Action\";\n static DELETE_ITEM_TITLE = \"Delete deceased name\";\n static DELETE_DECEASED_NAME_CONFIRM = SharedConstants.REMOVE_MESSAGE + \" deceased name(s)?\";\n static SHORT_DATE_CONST = \"YYYY/MM/d\";\n static ADD_DECEASED_NAME_LBEL = \"Add deceased name\";\n static EDIT_DECEASED_NAME_LBEL = \"Edit deceased name\";\n static REMOVE_DECEASED_NAME_LBEL = \"Remove deceased name\";\n ////////////////////////////////////////////////////////////////////////////\n static SEX_LABEL = \"Sex\";\n static NATIONALITY_LABEL = \"Nationality\";\n static MAIDEN_NAME_LABEL = \"Maiden name\";\n static PALCE_OF_BIRTH_LABEL = \"Place of birth\";\n static PLACE_OF_DEATH_LABEL = \"Place of death\";\n static PROVINCE_OF_DEATH_LABEL = \"Province of death\";\n static IDENTITY_TYPE_LABEL = \"Identification type\";\n static ID_PASSPORT_NUMBER_LABEL = \"ID / Passport number\";\n static DATE_OF_BIRTH_LABEL = \"Date of birth\";\n static DATE_OF_DEATH_LABEL = \"Date of death\";\n static BURIAL_ORDER_LABEL = \"Burial order number\";\n static SERIAL_NUMBER_LABEL = \"Serial number\";\n static VERTICAL_POSITION_LABEL = \"Vertical position (m)\";\n static NAME_OF_THE_UNDERTAKER_LABEL = \"Name of undertaker in position (Only if there is no funeral parlour involved)\";\n static SEX_CONTROL = \"sex\";\n static NATIONALITY_CONTROL = \"nationality\";\n static MAIDEN_NAME_CONTROL = \"maidenName\";\n static PALCE_OF_BIRTH_CONTROL = \"placeOfBirth\";\n static PLACE_OF_DEATH_CONTROL = \"placeOfDeath\";\n static PROVINCE_OF_DEATH_CONTROL = \"provinceOfDeath\";\n static IDENTITY_TYPE_CONTROL = \"idType\";\n static ID_PASSPORT_NUMBER_CONTROL = \"idNumber\";\n static DATE_OF_BIRTH_CONTROL = \"dateOfBirth\";\n static DATE_OF_DEATH_CONTROL = \"dateOfDeath\";\n static BURIAL_ORDER_CONTROL = \"burialOrderNumber\";\n static SERIAL_NUMBER_CONTROL = \"serialNo\";\n static VERTICAL_POSITION_CONTROL = \"verticalPosition\";\n static NAME_OF_THE_UNDERTAKER_CONTROL = \"undertaker\";\n /////////////////////////////////////////////////////////////////////////\n static SEX_PH = \"Select sex\";\n static NATIONALITY_PH = \"Select nationality\";\n static PROVINCE_OF_DEATH_PH = \"Select province of death\";\n static IDENTITY_TYPE_PH = \"Select identity type\";\n static VERTICAL_POSITION_PH = \"Select vertical Position\";\n ////////////////////////////////////////////////////////////////////////\n static DATE_CONST = \"yyyy-MM-dd\";\n static VALIDATION_MESSAGES = {\n sex: {\n required: `Sex ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nationality: {\n required: `Nationality ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n identificationType: {\n required: `Identification Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n maidenName: {\n required: `Maiden name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfBirth: {\n required: `Place of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfDeath: {\n required: `Place of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n provinceOfDeath: {\n required: `Province of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idType: {\n sex: ` Identification type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idNumber: {\n required: `ID / Passport number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION} SA ID numbers must be exactly 13 numbers`,\n wrong: `SA ID numbers must be exactly 13 numbers`\n },\n dateOfBirth: {\n required: `Date of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of birth should not be later than today`\n },\n dateOfDeath: {\n required: `Date of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of death should be between date of birth and today`\n },\n burialOrderNumber: {\n required: `Burial order number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n serialNo: {\n required: `Serial Number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n verticalPosition: {\n required: `Vertical position ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n surname: {\n required: `Surname ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n startDate: {\n required: `Date name or surname given / date changed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\nexport var DeceasedNamesTableHeaderEnum;\n(function (DeceasedNamesTableHeaderEnum) {\n DeceasedNamesTableHeaderEnum[\"name\"] = \"Name\";\n DeceasedNamesTableHeaderEnum[\"surname\"] = \"Surname\";\n DeceasedNamesTableHeaderEnum[\"StartDate\"] = \"Date name/surname given / date changed\";\n})(DeceasedNamesTableHeaderEnum || (DeceasedNamesTableHeaderEnum = {}));\nexport const DeceasedNamesTableHeaderLookup = new Map([\n [DeceasedNamesTableHeaderEnum.name, \"name\"],\n [DeceasedNamesTableHeaderEnum.surname, \"surname\"],\n [DeceasedNamesTableHeaderEnum.StartDate, \"startDate\"],\n]);\n","export class CreateFamillyMemberConstant {\n static FAMILY_CONTROL = \"family\";\n static FAMILY_LABEL = \"Family member\";\n static COPY_APPLICANT_TO_FAMILY_LABEL = \"Copy applicant to family\";\n static DUPLICATE_APPLICANT_ERROR_MESSAGE = \"This applicant already exists\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-family-member-det-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-family-member-det-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { CreateFamillyMemberConstant } from \"./create-familly-member-det.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateFamilyMemberDetCmComponent = class CreateFamilyMemberDetCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n familyMemberForm = new FormGroup({});\n familyMemberGroups = [];\n familyMemberShowGroupsDropdown = false;\n familyMemberDisableAdd = false;\n familyMemberDisableFilterBy = true;\n familyMemberDisableEditing = false;\n familyMemberListLabel = CreateFamillyMemberConstant.FAMILY_LABEL;\n familyMemberListControl = CreateFamillyMemberConstant.FAMILY_CONTROL;\n copyApplicantToFamilyLabel = CreateFamillyMemberConstant.COPY_APPLICANT_TO_FAMILY_LABEL;\n applicants;\n family = [];\n selectedApplicationCreateFamilyMemberSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.familyMemberGroups = stepMeta.familyGroup;\n this.subscribeToSelectedApplication();\n }\n onBtnCopyApplicantToFamilyClicked() {\n if (!this.applicants)\n return;\n this.family = null;\n const family = this.familyMemberForm.get(this.familyMemberListControl).value;\n if (family && family.length > 0)\n this.family = family;\n else\n this.family = [];\n this.applicants.forEach((applicant) => {\n applicant.id = 0;\n applicant.groups = [{\n groupName: this.stepMeta.familyGroup[0].GroupName,\n groupType: this.stepMeta.familyGroup[0].GroupType,\n }];\n });\n this.family.push(...this.applicants);\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n RecipientUtils.setRecipients(this.family, true, familyMemberListControl);\n }\n populateForm(application) {\n if (application && application.appId > 0) {\n this.familyMemberForm.markAllAsTouched();\n }\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n const family = application.family.filter(f => !f.deleted);\n RecipientUtils.setRecipients(family, true, familyMemberListControl);\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationCreateFamilyMemberSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n this.getApplicant(application);\n }\n });\n }\n refreshTableIndexes() {\n for (let index = 0; index < this.family.length; index++) {\n if (this.family[index].id > 0) {\n this.family[index].id = index !== 0 ? -index : 0;\n }\n }\n }\n initForm() {\n this.familyMemberForm = this.aflaModuleStrategyService.form.get(\"familyMemberForm\");\n this.familyMemberForm.enable();\n }\n getApplicant(app) {\n this.applicants = app.applicant;\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateFamilyMemberDetCmComponent = __decorate([\n Component({\n selector: \"app-create-family-member-det-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateFamilyMemberDetCmComponent);\nexport { CreateFamilyMemberDetCmComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-funeral-parlour-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-funeral-parlour-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../../create-application/shared/create-application-view-base/create-application-view-base.component\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateFuneralParlourConstants } from \"./create-funeral-parlour.constant\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateFuneralParlourCmComponent = class CreateFuneralParlourCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n recipientService;\n selectedApplicationService;\n appControllerService;\n appService;\n changeDetectorRefs;\n recipientFilterService;\n searchApplicationsService;\n parlourForm = new FormGroup({});\n parlourFormGroupName = CreateFuneralParlourConstants.FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME;\n parlourLabel = CreateFuneralParlourConstants.NOTICE_LABEL;\n parlourControl = CreateFuneralParlourConstants.PARLOUR_CONTROL;\n parlourSelectControl = CreateFuneralParlourConstants.PARLOUR_SELECT_CONTROL;\n parlourPh = CreateFuneralParlourConstants.PLACE_HOLDER;\n validationMessages = CreateFuneralParlourConstants.VALIDATION_MESSAGES;\n parlourSelectLabel = CreateFuneralParlourConstants.PARLOUR_SELECT_LABEL;\n title = CreateFuneralParlourConstants.TITLE;\n markFpMotApplicableLabel = CreateFuneralParlourConstants.MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL;\n funeralParlourIsNullFormControlName = CreateFuneralParlourConstants.FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n parlourGroups = [];\n parlours;\n parlourMetadata;\n disableEditing = true;\n funeralParlourNotApplicableChecked = false;\n component = \"create-funeral-parlour\";\n getRecipientsByGroupSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, recipientService, selectedApplicationService, appControllerService, appService, changeDetectorRefs, recipientFilterService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientService = recipientService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.appService = appService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.recipientFilterService = recipientFilterService;\n this.searchApplicationsService = searchApplicationsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.getFuneralParlours();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n this.parlourMetadata = stepMeta;\n this.parlourGroups = stepMeta.funeralParlourGroup;\n this.changeDetectorRefs.markForCheck();\n }\n onSelectParlour(event) {\n const element = event.target;\n const selectedParlour = this.parlours.find(p => p.id === +element.value);\n this.parlourForm.get(this.parlourControl).clearValidators();\n this.parlourForm.get(this.parlourControl).patchValue(selectedParlour);\n this.parlourForm.get(this.parlourSelectControl).patchValue(selectedParlour.id);\n this.parlourForm.get(this.parlourControl).updateValueAndValidity();\n this.changeDetectorRefs.markForCheck();\n }\n onFuneralParlourNotApplicable($event) {\n const funeralParlourIsNullable = $event.target.checked;\n if (funeralParlourIsNullable) {\n this.funeralParlourNaChecked();\n }\n else {\n this.funeralParlourNANotChecked();\n }\n this.changeDetectorRefs.markForCheck();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"funeralParlourForm\");\n form.clearValidators();\n form.updateValueAndValidity();\n this.parlourForm = form;\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n getFuneralParlours() {\n const recipientSelect = {\n jobId: null,\n moduleId: this.applicationCreateService.moduleID,\n groups: []\n };\n if (this.parlourGroups.length > 0) {\n this.parlourGroups.forEach((group, i) => {\n const ggroup = {\n groupType: this.propertyDataAlternateColumnName(group, \"groupType\", \"GroupType\"),\n groupName: this.propertyDataAlternateColumnName(group, \"groupName\", \"GroupName\"),\n };\n recipientSelect.groups.push(ggroup);\n });\n }\n this.getRecipientsByGroupSubscription =\n this.recipientFilterService.getRecipientsByGroup(recipientSelect).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.recipients.length > 0) {\n this.parlours = recipients.recipients;\n if (this.parlours.length === 0) {\n this.appControllerService.showMessage(\"No funeral parlours found. Please try again or contact your system administrator\", AlertType.Error);\n }\n this.checkCurrentApplicationForSavedFuneralParlours();\n this.changeDetectorRefs.markForCheck();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.component, error, CRUDOperation.Get);\n }\n });\n }\n funeralParlourNaChecked() {\n this.parlourForm?.get(this.parlourControl).reset();\n this.parlourForm?.get(this.parlourControl).enable();\n this.parlourForm?.get(this.parlourControl).clearValidators();\n this.parlourForm?.get(this.parlourControl).updateValueAndValidity();\n this.parlourForm?.get(this.parlourControl).disable();\n this.parlourForm?.markAsDirty();\n this.parlourForm?.get(this.parlourSelectControl).reset();\n this.parlourForm?.get(this.parlourSelectControl).disable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(true);\n }\n funeralParlourNANotChecked() {\n this.parlourForm?.get(this.parlourSelectControl).enable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(false);\n }\n checkCurrentApplicationForSavedFuneralParlours() {\n const application = this.selectedApplication;\n if (application) {\n if (this.parlourForm.pristine) {\n this.syncNotApplicableCheckBox(application);\n if (application.funeralParlour.length > 0) {\n const funeralParlour = application.funeralParlour[0];\n const funeralParlourControl = this.parlourForm.get(this.parlourControl);\n const funeralParlourSelectControl = this.parlourForm.get(this.parlourSelectControl);\n funeralParlour.groups = this.parlourGroups;\n funeralParlour.groups.forEach((group) => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n funeralParlourControl.setValue(funeralParlour);\n funeralParlourSelectControl.setValue(application.funeralParlourId);\n }\n }\n else {\n this.updateNotApplicableCheckBox();\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n syncNotApplicableCheckBox(application) {\n const funeralParlourNa = application.funeralParlourNa;\n if (funeralParlourNa) {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm?.get(this.parlourSelectControl).disable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(true);\n }\n else {\n this.funeralParlourNotApplicableChecked = false;\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(false);\n }\n this.parlourForm?.markAsDirty();\n this.changeDetectorRefs.detectChanges();\n }\n updateNotApplicableCheckBox() {\n const funeralParlourNotApplicable = this.parlourForm.get(this.funeralParlourIsNullFormControlName);\n if (funeralParlourNotApplicable) {\n this.funeralParlourNotApplicableChecked = true;\n }\n else {\n this.funeralParlourNotApplicableChecked = false;\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.parlourForm && formGroupName === this.parlourFormGroupName) {\n this.parlourForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: SearchApplicationsService }\n ];\n};\nCreateFuneralParlourCmComponent = __decorate([\n Component({\n selector: \"app-create-funeral-parlour-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateFuneralParlourCmComponent);\nexport { CreateFuneralParlourCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateFuneralParlourConstants {\n static PARLOUR_CONTROL = \"parlourRecipient\";\n static PARLOUR_SELECT_CONTROL = \"parlourSelector\";\n static PARLOUR_SELECT_LABEL = \"Select funeral parlour\";\n static PLACE_HOLDER;\n static FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME = \"funeralParlourIsNull\";\n static FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME = \"funeralParlourForm\";\n static NOTICE_LABEL = \"If your funeral parlour is not listed, contact your municipality\";\n static MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL = \"Mark funeral parlour as not applicable\";\n static TITLE = \"Funeral parlour\";\n static VALIDATION_MESSAGES = {\n parlourRecipientSelect: {\n required: `Funeral parlour ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { CreateDeceasedDetailsCmConstant } from '../create-deceased-details-cm/create-deceased-details-cm.constants';\nexport class DeceasedDtailsCustomValidators {\n static CompareDateToToday(control) {\n const dateOfBirth = control.value;\n if (!dateOfBirth)\n return null;\n const dateOfBirthToDate = new Date(dateOfBirth);\n const isWrong = DeceasedDtailsCustomValidators.compareAnyDateToTday(dateOfBirthToDate);\n return isWrong ? { wrong: isWrong } : null;\n }\n static CompareDateToDateOfDeath(control) {\n if (!control.get(CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL) ||\n !control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL))\n return null;\n const dateOfBirth = control.get(CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL).value;\n const dateOfdeath = control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL).value;\n if (!dateOfdeath)\n return null;\n const birthToDeathIsWrong = DeceasedDtailsCustomValidators.compareDateOfBirthToDateOfDeath(new Date(dateOfBirth), new Date(dateOfdeath));\n const deathToTodayIsWrong = DeceasedDtailsCustomValidators.compareAnyDateToTday(new Date(dateOfdeath));\n if (birthToDeathIsWrong || deathToTodayIsWrong)\n control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL).setErrors({ wrong: true });\n return birthToDeathIsWrong || deathToTodayIsWrong ? { wrong: birthToDeathIsWrong || deathToTodayIsWrong } : null;\n }\n // Check if date of death is wrong\n static compareDateOfBirthToDateOfDeath(dateOfBirth, dateOfDeath) {\n return (dateOfDeath < dateOfBirth);\n }\n // if any date is greater than today\n static compareAnyDateToTday(date) {\n const today = new Date();\n return (date > today);\n }\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsDmConstants } from \"./create-application-details-dm.constants\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsDmComponent = class CreateApplicationDetailsDmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n detailsFormGroupName = CreateApplicationDetailsDmConstants.DETAILS_FORM_GROUP_NAME;\n applicationTypeCtrl = CreateApplicationDetailsDmConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsDmConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsDmConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsDmConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsDmConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsDmConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDmSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsDmComponent = __decorate([\n Component({\n selector: \"app-create-application-details-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsDmComponent);\nexport { CreateApplicationDetailsDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsDmConstants {\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-location-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-location-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateLocationDMConstants } from \"./create-location-dm.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateLocationDmComponent = class CreateLocationDmComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n applicationCreateService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active = 0;\n propertiesForm;\n propertiesFormGroupName = CreateLocationDMConstants.PROPERTIES_FORM_GROUP_NAME;\n descriptionLabel1 = CreateLocationDMConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateLocationDMConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateLocationDMConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateLocationDMConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateLocationDMConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateLocationDMConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateLocationDMConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateLocationDMConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateLocationDMConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateLocationDMConstants.SG_CODE_CONTROL;\n addressControl = CreateLocationDMConstants.ADDRESS_CONTROL;\n ownerControl = CreateLocationDMConstants.OWNER_CONTROL;\n cadastralDescriptionControl = CreateLocationDMConstants.CADASTRAL_DESCRIPTION_CONTROL;\n rateNumberControl = CreateLocationDMConstants.RATE_NUMBER_CONTROL;\n existingUseControl = CreateLocationDMConstants.EXISTING_USE_CONTROL;\n worthyOfPreservationControl = CreateLocationDMConstants.WORTHY_OF_PRESERVATION_CONTROL;\n reasonControl = CreateLocationDMConstants.REASON_CONTROL;\n over60Control = CreateLocationDMConstants.OVER_60_CONTROL;\n amafaPermissionControl = CreateLocationDMConstants.AMAFA_PERMISSION_CONTROL;\n erfNoTextPlaceHolder = CreateLocationDMConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateLocationDMConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateLocationDMConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateLocationDMConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateLocationDMConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateLocationDMConstants.ADDRESS_TEXT_PLACEHOLDER;\n cadastralDescriptionTextPlaceHolder = CreateLocationDMConstants.CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER;\n rateNumberTextPlaceHolder = CreateLocationDMConstants.RATE_NUMBER_TEXT_PLACEHOLDER;\n existingUseTextPlaceHolder = CreateLocationDMConstants.EXISTING_USE_TEXT_PLACEHOLDER;\n worthyOfPreservationTextPlaceHolder = CreateLocationDMConstants.WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER;\n reasonTextPlaceHolder = CreateLocationDMConstants.REASON_TEXT_PLACEHOLDER;\n over60TextPlaceHolder = CreateLocationDMConstants.OVER_60_TEXT_PLACEHOLDER;\n amafaPermissionTextPlaceHolder = CreateLocationDMConstants.AMAFA_PERMISSION_TEXT_PLACEHOLDER;\n ownerLabel = CreateLocationDMConstants.OWNER_LABEL;\n removePropertyLabel = CreateLocationDMConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateLocationDMConstants.COPY_OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n dmApplication;\n yes = SharedConstants.YES_NO_ENUM.Yes;\n applicantGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n selectedApplicationLocationDmSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n applicationCreateServiceSubscription;\n constructor(createApplicationService, applicationCreateService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields() {\n this.getProperties().controls.forEach(item => {\n const propertyControl = item;\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n });\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n selectYesOrNo(index) {\n if (this.getProperties().controls[index].get(this.over60Control).value === this.yes || this.getProperties().controls[index].get(this.worthyOfPreservationControl).value === this.yes) {\n this.getProperties().controls[index].get(this.amafaPermissionControl).addValidators([Validators.required]);\n }\n else {\n this.getProperties().controls[index].get(this.amafaPermissionControl).clearValidators();\n this.getProperties().controls[index].get(this.amafaPermissionControl).reset();\n }\n }\n onCopyOwnerToApplicant(propertyIndex) {\n if (propertyIndex < 0 || propertyIndex >= this.getProperties().controls.length) { }\n const owners = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n if (!owners) { }\n const selectedOwners = owners.value ? owners.value.filter(x => x.selected === true) : [];\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateLocationDMConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateLocationDMConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n const applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateLocationDMConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n checkSave() {\n this.selectedApplicationLocationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.dmApplication = app;\n if (this.dmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n form.reset();\n this.propertiesForm = form;\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateLocationDMConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n cadastralDescription: new FormControl(null, [Validators.required]),\n rateNumber: new FormControl(null, [Validators.required]),\n existingUse: new FormControl(null, [Validators.required]),\n worthyOfPreservation: new FormControl(null, [Validators.required]),\n reason: new FormControl(null, [Validators.required]),\n over60: new FormControl(null, [Validators.required]),\n amafaPermission: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationDMConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateLocationDMConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n this.handleAddProperty(newProperty);\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n this.handleAddProperty(newProperty);\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n if (this.getProperties().controls.length > 0) {\n this.appController.showMessage(CreateLocationDMConstants.ONLY_ONE_PROPERTY_ALLOWED, AlertType.Warning);\n }\n else {\n propertyControl.push(newProperty);\n this.active = 0;\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Demolition management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(2000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.dmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields();\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n cadastralDescription: new FormControl(prop.cadastralDescription, [Validators.required]),\n rateNumber: new FormControl(prop.rateNumber, [Validators.required]),\n existingUse: new FormControl(prop.existingUse, [Validators.required]),\n worthyOfPreservation: new FormControl(prop.worthyOfPreservation, [Validators.required]),\n reason: new FormControl(prop.reason, [Validators.required]),\n over60: new FormControl(prop.over60, [Validators.required]),\n amafaPermission: new FormControl(prop.amafaPermission),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.dmApplication.properties && this.dmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationDMConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateLocationDmComponent = __decorate([\n Component({\n selector: \"app-create-location-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateLocationDmComponent);\nexport { CreateLocationDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateLocationDMConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static CADASTRAL_DESCRIPTION_CONTROL = \"cadastralDescription\";\n static RATE_NUMBER_CONTROL = \"rateNumber\";\n static EXISTING_USE_CONTROL = \"existingUse\";\n static WORTHY_OF_PRESERVATION_CONTROL = \"worthyOfPreservation\";\n static REASON_CONTROL = \"reason\";\n static OVER_60_CONTROL = \"over60\";\n static AMAFA_PERMISSION_CONTROL = \"amafaPermission\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER = \"Cadastral description\";\n static RATE_NUMBER_TEXT_PLACEHOLDER = \"Rate number\";\n static EXISTING_USE_TEXT_PLACEHOLDER = \"Existing use\";\n static WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER = \"Is the Building listed as worthy of preservation in Appendix 7 of the Town Planning Regulations?\";\n static REASON_TEXT_PLACEHOLDER = \"Reason for demolition\";\n static OVER_60_TEXT_PLACEHOLDER = \"Is the Building over 60 Years old?\";\n static AMAFA_PERMISSION_TEXT_PLACEHOLDER = \"Has permission to demolish been obtained from AMAFA?\";\n static NO_APPLICANT_AVAILABLE = \"There is no applicant available\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Demolition management graphics\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n cadastralDescription: {\n required: `Cadastral description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n rateNumber: {\n required: `Rate number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingUse: {\n required: `Existing use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n worthyOfPreservation: {\n required: `Worthy of preservation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reason: {\n required: `Reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n over60: {\n required: `Over 60 ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n amafaPermission: {\n required: `Amafa permission ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsEcConstants } from \"./create-application-details-ec.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsEcComponent = class CreateApplicationDetailsEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n // Labels\n descriptionLabel = CreateApplicationDetailsEcConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LABEL;\n whoIsApplyingLabel = CreateApplicationDetailsEcConstants.WHO_IS_APPLYING_LABEL;\n descriptionOfProposedWorkLabel = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_LABEL;\n descriptionOfProposedWorkNote = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_NOTE;\n phaseLabel = CreateApplicationDetailsEcConstants.PHASE_LABEL;\n conventionalPrepaidLabel = CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LABEL;\n estimatedCapacityLabel = CreateApplicationDetailsEcConstants.ESTIMATED_CAPACITY_LABEL;\n // Form controls\n detailsFormGroupName = CreateApplicationDetailsEcConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsEcConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsEcConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicantTypeFormControlName = CreateApplicationDetailsEcConstants.APPLICANT_TYPE_FORM_CONTROL_NAME;\n descriptionOfProposedWorkFormControlName = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME;\n phaseFormControlName = CreateApplicationDetailsEcConstants.PHASE_FORM_CONTROL_NAME;\n paymentTypeControlName = CreateApplicationDetailsEcConstants.PAYMENT_TYPE_CONTROL_NAME;\n estimatedCapacityControlName = CreateApplicationDetailsEcConstants.ESTIMATED_CAPACITY_FORM_CONTROL_NAME;\n // constants\n validationMessages = CreateApplicationDetailsEcConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n applicantTypes = [];\n phases = [];\n conventionalPrepaidOptions = [];\n selectedApplicationEcSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n const applicationType = this.applicationTypes.find(x => x.code === application.applicationType);\n const applicantType = this.applicantTypes.find(x => x.code === application.applicantType);\n const phase = this.phases.find(x => x.code === application.phase);\n const paymentType = this.conventionalPrepaidOptions.find(x => x.code === application.paymentType);\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(applicationType);\n this.detailsForm.get(this.applicantTypeFormControlName).setValue(applicantType);\n this.detailsForm.get(this.descriptionOfProposedWorkFormControlName).setValue(application.descriptionOfProposedWork);\n this.detailsForm.get(this.phaseFormControlName).setValue(phase);\n this.detailsForm.get(this.estimatedCapacityControlName).setValue(application.estimatedCapacity);\n this.detailsForm.get(this.paymentTypeControlName).setValue(paymentType);\n }\n loadLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appController.selectedModuleID}) and ((name eq '${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}' and deleted eq false))`\n };\n this.applicationCreateService\n .getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsEcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const applicantTypes = [];\n const phases = [];\n const conventionalPrepaid = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === `${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`) {\n applicantTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`) {\n phases.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`) {\n conventionalPrepaid.push(JSON.parse(item.content));\n }\n });\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n applicantTypes.sort((a, b) => a.value.localeCompare(b.value));\n phases.sort((a, b) => a.value.localeCompare(b.value));\n conventionalPrepaid.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`, applicantTypes);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`, phases);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`, conventionalPrepaid);\n this.applicationTypes = applicationTypes;\n this.applicantTypes = applicantTypes;\n this.phases = phases;\n this.conventionalPrepaidOptions = conventionalPrepaid;\n this.populateForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsEcComponent = __decorate([\n Component({\n selector: \"app-create-application-details-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsEcComponent);\nexport { CreateApplicationDetailsEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsEcConstants {\n // Labels\n static STEP_TITLE = \"Application details\";\n static DESCRIPTION_LABEL = \"Application description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static WHO_IS_APPLYING_LABEL = \"Who is applying\";\n static DESCRIPTION_OF_PROPOSED_WORK_LABEL = \"Description of proposed work\";\n static DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME = \"descriptionOfProposedWork\";\n static DESCRIPTION_OF_PROPOSED_WORK_NOTE = \"Note: For farms and agricultural holdings, fill this description as per title deed is required\";\n static PHASE_LABEL = \"Phase\";\n static CONVENTIONAL_PREPAID_LABEL = \"Conventional prepaid\";\n static ESTIMATED_CAPACITY_LABEL = \"Estimated capacity of electrical installation (Amp/kVa)\";\n // Controls\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICANT_TYPE_FORM_CONTROL_NAME = \"applicantType\";\n static PHASE_FORM_CONTROL_NAME = \"phase\";\n static PAYMENT_TYPE_CONTROL_NAME = \"paymentType\";\n static ESTIMATED_CAPACITY_FORM_CONTROL_NAME = \"estimatedCapacity\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static APPLICANT_TYPE_LOOKUP_NAME = \"ApplicantType\";\n static PHASE_LOOKUP_NAME = \"Phase\";\n static CONVENTIONAL_PREPAID_LOOKUP_NAME = \"ConventionalPrepaid\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, descriptionOfProposedWork: {\n required: `Description of proposed work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, phase: {\n required: `Phase ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, conventionalPrepaid: {\n required: `Conventional prepaid ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, estimatedCapacity: {\n required: `Estimated capacity ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationEcConstants } from \"./create-application-location-ec.constants\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationEcComponent = class CreateApplicationLocationEcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n mapTools;\n selectedApplicationService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n // controls\n propertiesFormGroupName = CreateApplicationLocationEcConstants.PROPERTIES_FORM_GROUP_NAME;\n erfNoControl = CreateApplicationLocationEcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationEcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationEcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationEcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationEcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationEcConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationEcConstants.OWNER_CONTROL;\n buildingNameControl = CreateApplicationLocationEcConstants.BUILDING_NAME_CONTROL;\n floorControl = CreateApplicationLocationEcConstants.FLOOR_CONTROL;\n // Labels and placeholders\n descriptionLabel1 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationEcConstants.VALIDATION_MESSAGES;\n erfNoTextPlaceHolder = CreateApplicationLocationEcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationEcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationEcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationEcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationEcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationEcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateApplicationLocationEcConstants.OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationEcConstants.REMOVE_PROPERTY_LABEL;\n ownerListLabel = CreateApplicationLocationEcConstants.OWNER_LIST_LABEL;\n buildingNamePlaceHolder = CreateApplicationLocationEcConstants.BUILDING_NAME_LABEL;\n floorPlaceholder = CreateApplicationLocationEcConstants.FLOOR_LABEL;\n copyOwnerLabel = CreateApplicationLocationEcConstants.COPY_OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n ecApplication;\n propertiesForm;\n active = 0;\n mapComponent;\n isMapLoaded = false;\n selectedApplicationLocationEcSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n applicationCreateServiceSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, mapTools, selectedApplicationService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n console.log(\"stepMeta.ownerGroup\", stepMeta.ownerGroup);\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n onCopyOwnerToApplicant(propertyIndex) {\n if (propertyIndex < 0 || propertyIndex >= this.getProperties().controls.length) {\n }\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n if (!ownersControl) {\n }\n const selectedOwners = ownersControl.value ? ownersControl.value.filter(x => x.selected === true) : [];\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n const applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateApplicationLocationEcConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n checkSave() {\n this.selectedApplicationLocationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.ecApplication = app;\n if (this.ecApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationEcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n buildingName: new FormControl(null, [Validators.required]),\n floor: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationEcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateApplicationLocationEcConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Electrical connection graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Electrical connection graphics\");\n }\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(\"Electrical connection graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.ecApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom),\n buildingName: new FormControl(prop.buildingName, [Validators.required]),\n floor: new FormControl(prop.floor, [Validators.required]),\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.ecApplication.properties && this.ecApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationEcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationEcComponent = __decorate([\n Component({\n selector: \"app-create-application-location-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationEcComponent);\nexport { CreateApplicationLocationEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationEcConstants {\n // controls\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static BUILDING_NAME_CONTROL = \"buildingName\";\n static FLOOR_CONTROL = \"floor\";\n // Labels and placeholders\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static OWNER_LIST_LABEL = \"Owner\";\n static BUILDING_NAME_LABEL = \"Building name\";\n static FLOOR_LABEL = \"Floor\";\n // Messages\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, buildingName: {\n required: `Building name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationProfessionalBodiesEcConstants } from \"./create-application-professional-bodies-ec.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesEcComponent = class CreateApplicationProfessionalBodiesEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = CreateApplicationProfessionalBodiesEcConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = CreateApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = CreateApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToElectricalContractorFormControlName = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = CreateApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = CreateApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n architectFormControlName = CreateApplicationProfessionalBodiesEcConstants.ARCHITECT_FORM_CONTROL_NAME;\n engineerFormControlName = CreateApplicationProfessionalBodiesEcConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = CreateApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n architectDisableFilterBy = true;\n architectDisableEditing = false;\n architectShowFields = true;\n architectGroups = [];\n architectLabel = CreateApplicationProfessionalBodiesEcConstants.ARCHITECT_LABEL;\n architectShowGroupsDropdown = false;\n architectIsRequiredChecked = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = CreateApplicationProfessionalBodiesEcConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n engineerIsRequiredChecked = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = CreateApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getApplicantData();\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.initialiseDefaultValues();\n this.populateProfessionalBodiesForms();\n }\n loadMetadata(stepMeta) {\n try {\n console.log(\"stepMeta\", stepMeta);\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n form.clearValidators();\n form.updateValueAndValidity();\n this.professionalBodiesForm = form;\n }\n onCopyApplicantToEngineer($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.engineer > 0 && this.selectedApplication.engineer[0].id >= 0) ? this.selectedApplication.engineer[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n }\n }\n onCopyApplicantToElectricalContractor($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.contractorGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n populateEngineer(selectedApplication) {\n const engineerControl = this.professionalBodiesForm.get(this.engineerFormControlName);\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n if (selectedApplication.engineer && selectedApplication.engineer.length > 0) {\n const engineer = selectedApplication.engineer[0];\n engineer.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n engineerControl.setValue(engineer);\n }\n }\n populateElectricalContractor(selectedApplication) {\n const electricalContractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (selectedApplication.electricalContractor && selectedApplication.electricalContractor.length > 0) {\n const electricalContractor = selectedApplication.electricalContractor[0];\n electricalContractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n electricalContractorControl.setValue(electricalContractor);\n }\n }\n getApplicantData() {\n if (this.selectedApplication) {\n this.applicant = this.selectedApplication.applicant[0];\n }\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationProfessionalBodiesEcComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesEcComponent);\nexport { CreateApplicationProfessionalBodiesEcComponent };\n","export class CreateApplicationProfessionalBodiesEcConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Electrical engineer's details\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to electrical engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToElectricalEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Electrical contractor's details\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Electrical engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"electricalEngineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsItamsConstants } from \"./create-application-details-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { InformalTradeService } from \"../../../../shared/services/modules/informal-trade.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsItamsComponent = class CreateApplicationDetailsItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n informalTradeService;\n changeDetectorRef;\n searchApplicationsService;\n // Labels\n descriptionLabel = CreateApplicationDetailsItamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LABEL;\n tradingGoodsLabel = CreateApplicationDetailsItamsConstants.TRADING_GOODS_LABEL;\n tradingGoodsDescriptionLabel = CreateApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_LABEL;\n previousApplicationReferenceNumberLabel = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL;\n verifyReferenceNumberLabel = CreateApplicationDetailsItamsConstants.VERIFY_REFERENCE_NUMBER_LABEL;\n referenceNumberVerifiedLabel = CreateApplicationDetailsItamsConstants.REFERENCE_VERIFIED_LABEL;\n unverifiedReferenceNumberLabel = CreateApplicationDetailsItamsConstants.REFERENCE_NOT_VERIFIED_LABEL;\n // Form controls\n detailsFormGroupName = CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME;\n tradeGoodsFormArray = CreateApplicationDetailsItamsConstants.TRADING_GOODS_FORM_ARRAY_NAME;\n tradeGoodsFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n descriptionFormControlName = CreateApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n previousApplicationValidatedFormControlName = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME;\n tradingGoodsDescriptionFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME;\n previousApplicationReferenceNumberFormControlName = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME;\n tradersFormGroupName = CreateApplicationDetailsItamsConstants.TRADERS_FORM_GROUP_NAME;\n baysFormGroupName = CreateApplicationDetailsItamsConstants.BAYS_FORM_GROUP_NAME;\n baysFormControl = CreateApplicationDetailsItamsConstants.BAYS_FORM_CONTROL_NAME;\n tradersFormControlName = CreateApplicationDetailsItamsConstants.TRADERS_FORM_CONTROL_NAME;\n centroidFromControlName = CreateApplicationDetailsItamsConstants.CENTROID_FORM_CONTROL_NAME;\n deleteTradingGoodsLabel = CreateApplicationDetailsItamsConstants.REMOVE_TRADING_GOODS_LABEL;\n addTradingGoodsLabel = CreateApplicationDetailsItamsConstants.ADD_TRADING_GOODS_LABEL;\n // constants\n validationMessages = CreateApplicationDetailsItamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n tradingGoods = [];\n tradingGoodIsRequired = false;\n showPreviousApplicationReferenceNumberField = false;\n showReferenceNumberVerifiedLabel = false;\n showVerifyReferenceNumberButton = false;\n hideRemovalAndAddButton = false;\n showUnVerifiedReferenceNumberLabel = false;\n showTradingGoodsButtons = true;\n isReferenceNumberVerified = false;\n showVerifiedButton = false;\n lastSelectedTradingGood = null;\n selectedApplicationItamsSubscription;\n getInformalTradeApplicationObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, informalTradeService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.informalTradeService = informalTradeService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n const previousApplicationReferenceNumber = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value;\n if (previousApplicationReferenceNumber) {\n this.showPreviousApplicationReferenceNumberField = true;\n this.showVerifyReferenceNumberButton = true;\n this.onVerifyReferenceNumber();\n }\n else {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(null);\n this.detailsForm.get(this.applicationTypeFormControlName).setValidators([Validators.required]);\n this.detailsForm.get(this.applicationTypeFormControlName).updateValueAndValidity();\n }\n if (this.detailsForm.pristine || this.isApplicationLoadedFromTheSearchPage) {\n this.getLookups();\n }\n else {\n this.loadLookups();\n }\n this.setupSubscribers();\n // Check if the previous application reference number is verified\n if (this.isReferenceNumberVerified) {\n this.getApplicationByReferenceNumber(this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value);\n }\n }\n loadLookups() {\n const applicationTypeLookupsLoaded = this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n const tradingGoodsLookupsLoaded = this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n if (applicationTypeLookupsLoaded && tradingGoodsLookupsLoaded) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n this.tradingGoods = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n loadMetadata() {\n }\n onTradingGoodsSelected($event, i) {\n const selectedTradingGood = $event.target?.value;\n const tradingGoods = this.getTradingGoods().controls;\n // Check if the selected item is \"Other\"\n if (selectedTradingGood && selectedTradingGood.trim().toLowerCase() === \"other\") {\n this.lastSelectedTradingGood = selectedTradingGood;\n const tradingGoodsDescriptionFormControl = tradingGoods[i].get(this.tradingGoodsDescriptionFormControlName);\n tradingGoodsDescriptionFormControl.enable();\n tradingGoodsDescriptionFormControl.reset();\n tradingGoodsDescriptionFormControl.addValidators(Validators.required);\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n this.tradingGoodIsRequired = true;\n // Check for duplicate \"Other\" with the same description\n tradingGoodsDescriptionFormControl.valueChanges.subscribe(description => {\n const isDuplicateDescription = tradingGoods.some((control, index) => {\n if (index !== i) {\n const controlDescription = control.get(this.tradingGoodsDescriptionFormControlName)?.value?.trim().toLowerCase();\n return control.get(\"tradeGoods\")?.value.trim().toLowerCase() === \"other\" && controlDescription === description?.trim().toLowerCase();\n }\n return false;\n });\n if (isDuplicateDescription) {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.DUPLICATE_ERROR_DESCRIPTION, AlertType.Error);\n tradingGoodsDescriptionFormControl.setValue(null);\n }\n });\n }\n else {\n const isDuplicate = tradingGoods.some((control, index) => {\n return index !== i && control.get(\"tradeGoods\")?.value === selectedTradingGood;\n });\n if (isDuplicate) {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.DUPLICATE_ERROR_TRADE_GOODS, AlertType.Error);\n const tradingGoodFormControl = tradingGoods[i].get(\"tradeGoods\");\n tradingGoodFormControl.setValue(null);\n return;\n }\n this.lastSelectedTradingGood = selectedTradingGood;\n const tradingGoodsDescriptionFormControl = tradingGoods[i].get(this.tradingGoodsDescriptionFormControlName);\n tradingGoodsDescriptionFormControl.clearValidators();\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n tradingGoodsDescriptionFormControl.disable();\n this.tradingGoodIsRequired = false;\n }\n this.changeDetectorRef.detectChanges();\n }\n onApplicationTypeSelected($event) {\n const selectedApplicationType = $event.target?.value;\n const previousApplicationReferenceNumberFormControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n previousApplicationReferenceNumberFormControl.addValidators(Validators.required);\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = true;\n this.showVerifyReferenceNumberButton = true;\n this.hideRemovalAndAddButton = true;\n }\n else {\n previousApplicationReferenceNumberFormControl.clearValidators();\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.resetTradingGoodsArray();\n this.showPreviousApplicationReferenceNumberField = false;\n this.showVerifyReferenceNumberButton = false;\n this.hideRemovalAndAddButton = false;\n this.showTradingGoodsButtons = true;\n }\n this.changeDetectorRef.detectChanges();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n if (this.detailsForm.pristine) {\n this.getTradingGoods().clear();\n this.onBtnAddTradingGoodsClicked();\n }\n this.detailsForm.enable();\n this.changeDetectorRef.detectChanges();\n }\n getLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appControllerService.selectedModuleID}) and ((name eq '${CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}' and deleted eq false))`\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n // this.sortDropdowns();\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const tradingGoods = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME?.trim().toLowerCase()}`) {\n tradingGoods.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n this.tradingGoods = tradingGoods;\n this.sortDropdowns();\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME, this.applicationTypes);\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME, this.tradingGoods);\n if (this.isApplicationLoadedFromTheSearchPage) {\n this.checkApplicationData();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n sortDropdowns() {\n if (this.applicationTypes.length > 0) {\n this.applicationTypes.sort((a, b) => (a.value.localeCompare(b.value)));\n }\n if (this.tradingGoods.length > 0) {\n this.tradingGoods.sort((a, b) => (a.value.localeCompare(b.value)));\n }\n this.changeDetectorRef.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationItamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData(this.selectedApplication);\n }\n });\n }\n setupSubscribers() {\n this.subscribeToSelectedApplication();\n this.subscribeToClearApplicationVerificationSubject();\n }\n updateComponentData(selectedApplication) {\n const selectedApplicationType = selectedApplication.type;\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n this.showPreviousApplicationReferenceNumberField = true;\n this.hideRemovalAndAddButton = true;\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(selectedApplication.previousReferenceNumber);\n this.isReferenceNumberVerified = true;\n }\n else {\n this.showPreviousApplicationReferenceNumberField = false;\n }\n this.updateFormData();\n }\n onVerifyReferenceNumber() {\n const previousApplicationReferenceNumber = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value;\n if (previousApplicationReferenceNumber) {\n this.getApplicationByReferenceNumber(previousApplicationReferenceNumber);\n }\n else {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.ENTER_REFERENCE_NO, AlertType.Warning);\n }\n }\n getApplicationByReferenceNumber(previousApplicationReferenceNumber) {\n const params = {\n $filter: `referenceNumber eq '${previousApplicationReferenceNumber}' and deleted eq false`,\n $expand: \"bays, traders($expand=groups), tradeGoods, status\"\n };\n this.getInformalTradeApplicationObservableSubscription = this.informalTradeService.getInformalTradeApplicationObservable(params).subscribe({\n next: (response) => {\n if (response && response.length > 0) {\n const application = response[0];\n this.handleApplicationFound(application);\n }\n else {\n this.handleApplicationNotVerified();\n }\n this.changeDetectorRef.detectChanges();\n },\n error: (err) => {\n this.appControllerService.handleServerErrorMessage(\"get applications\", err, CRUDOperation.Get);\n }\n });\n }\n handleApplicationFound(application) {\n const applicationStatus = application.status.workflowSection;\n const applicationPercentageComplete = application.status.percentageComplete;\n const previousApplicationReferenceNumberControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (applicationStatus?.toLowerCase() === \"closed\" || applicationPercentageComplete === 100) {\n this.showReferenceNumberVerifiedLabel = true;\n this.showUnVerifiedReferenceNumberLabel = false;\n previousApplicationReferenceNumberControl.setValue(application.referenceNumber);\n this.showVerifiedButton = true;\n this.isReferenceNumberVerified = true; // Set this to true when the reference number is verified\n this.populateTradingGoodsFieldsFromPreviousApplication(application);\n this.populateBaysFieldsFromPreviousApplication(application);\n this.populateTradersFromPreviousApplication(application);\n }\n else {\n this.appControllerService.showMessage(`The application with reference number ${application.referenceNumber} cannot be used as it is still active. Please try another application`, AlertType.Warning);\n this.showVerifiedButton = true;\n }\n }\n populateTradingGoodsFieldsFromPreviousApplication(application) {\n const savedTradingGoods = application.tradeGoods;\n const tradingGoods = this.getTradingGoods();\n this.detailsForm.get(this.previousApplicationValidatedFormControlName).setValue(true);\n if (savedTradingGoods && savedTradingGoods.length > 0) {\n this.showTradingGoodsButtons = false;\n tradingGoods.clear();\n savedTradingGoods.forEach((tradeGood) => {\n const tradingGoodFormGroup = new FormGroup({\n id: new FormControl(tradeGood.id),\n tradeGoods: new FormControl({ value: tradeGood.tradeGoods, disabled: true }, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: tradeGood.description, disabled: true })\n });\n tradingGoods.push(tradingGoodFormGroup);\n });\n }\n }\n enableTradingGoodsFields() {\n this.getTradingGoods().enable();\n }\n resetTradingGoodsFields() {\n this.getTradingGoods().reset();\n }\n handleApplicationNotVerified() {\n this.showReferenceNumberVerifiedLabel = false;\n this.showTradingGoodsButtons = true;\n this.showUnVerifiedReferenceNumberLabel = true;\n this.hideRemovalAndAddButton = false;\n this.enableTradingGoodsFields();\n this.resetTradingGoodsFields();\n this.resetBays();\n this.resetTraders();\n this.appControllerService.showMessage(\"Application with matching reference number could not be found\", AlertType.Warning);\n }\n populateTradersFromPreviousApplication(application) {\n const tradersFormGroup = this.aflaModuleStrategyService.form.get(this.tradersFormGroupName);\n const tradersFormControl = tradersFormGroup.get(this.tradersFormControlName);\n const traders = application.traders;\n RecipientUtils.setRecipients(traders, true, tradersFormControl);\n }\n populateBaysFieldsFromPreviousApplication(application) {\n const savedApplicationBays = application.bays;\n const applicationBaysFormGroup = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n const savedApplicationBaysFormControl = applicationBaysFormGroup.get(this.baysFormControl);\n savedApplicationBaysFormControl.clear();\n if (savedApplicationBays && savedApplicationBays.length > 0) {\n savedApplicationBays.forEach((applicationBay) => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(applicationBay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl({ value: applicationBay.address, disabled: true }, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl({ value: applicationBay.bayNumber, disabled: true }),\n baySize: new FormControl({ value: applicationBay.baySize, disabled: true }),\n centroid: new FormControl(null, [Validators.required])\n });\n this.setTrueCentroid(geometryArc, formGroup, savedApplicationBaysFormControl);\n });\n }\n }\n setTrueCentroid(geometryArc, newBayFormGroup, baysFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newBayFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n baysFormArray.push(newBayFormGroup);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n subscribeToClearApplicationVerificationSubject() {\n this.applicationCreateService.$clearApplicationVerificationSubject.subscribe({\n next: (clearApplicationVerificationData) => {\n if (clearApplicationVerificationData) {\n this.tradingGoodIsRequired = false;\n this.showPreviousApplicationReferenceNumberField = false;\n this.showReferenceNumberVerifiedLabel = false;\n this.showVerifyReferenceNumberButton = false;\n this.hideRemovalAndAddButton = false;\n this.showUnVerifiedReferenceNumberLabel = false;\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n getTradingGoods() {\n const tradeGoodsFormArray = this.detailsForm.get(\"tradeGoods\");\n return tradeGoodsFormArray;\n }\n onBtnRemoveTradingGoods(i) {\n const controls = this.getTradingGoods();\n if (controls.controls.length > 1) {\n controls.removeAt(i);\n }\n }\n onBtnAddTradingGoodsClicked() {\n const tradingGoodsControl = this.getTradingGoods();\n const tradingGoodsGroup = new FormGroup({\n tradeGoods: new FormControl(null, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: null, disabled: true })\n });\n tradingGoodsControl.push(tradingGoodsGroup);\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(this.selectedApplication.type);\n const tradingGoodsFormArray = this.getTradingGoods();\n tradingGoodsFormArray.clear();\n if (this.selectedApplication.tradeGoods) {\n this.selectedApplication.tradeGoods.forEach((savedTradeGood) => {\n this.tradingGoods.forEach(tradeGoodLookupOption => {\n if (tradeGoodLookupOption.value === savedTradeGood.tradeGoods) {\n const tradingGroupForm = new FormGroup({\n id: new FormControl(savedTradeGood.id),\n applicationId: new FormControl(savedTradeGood.applicationId, Validators.required),\n tradeGoods: new FormControl(savedTradeGood.tradeGoods, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: savedTradeGood.description, disabled: true })\n });\n if (tradingGroupForm.get(this.tradingGoodsFormControlName).value?.toLowerCase() === \"other\") {\n tradingGroupForm.get(this.tradingGoodsFormControlName).disable();\n }\n tradingGoodsFormArray.push(tradingGroupForm);\n }\n });\n });\n }\n }\n resetTradingGoodsArray() {\n this.getTradingGoods().clear();\n this.onBtnAddTradingGoodsClicked();\n }\n resetBays() {\n const applicationBaysFormGroup = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n const savedApplicationBaysFormControl = applicationBaysFormGroup.get(this.baysFormControl);\n savedApplicationBaysFormControl.clear();\n savedApplicationBaysFormControl.reset();\n }\n resetTraders() {\n const tradersFormGroup = this.aflaModuleStrategyService.form.get(this.tradersFormGroupName);\n const tradersFormControl = tradersFormGroup.get(this.tradersFormControlName);\n tradersFormControl.reset();\n this.detailsForm.get(this.previousApplicationValidatedFormControlName).setValue(false);\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: InformalTradeService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsItamsComponent);\nexport { CreateApplicationDetailsItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsItamsConstants {\n // Labels\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static TRADING_GOODS_LABEL = \"Trading goods\";\n static TRADING_GOODS_DESCRIPTION_LABEL = \"Trading goods description\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL = \"Previous application reference number\";\n static VERIFY_REFERENCE_NUMBER_LABEL = \"Verify reference number\";\n static REFERENCE_VERIFIED_LABEL = \"Reference number verified\";\n static REFERENCE_NOT_VERIFIED_LABEL = \"Reference number not verified\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static DUPLICATE_ERROR_TRADE_GOODS = \"The trading goods option has already been added. Please select a different option \";\n static DUPLICATE_ERROR_DESCRIPTION = \"The description has already been used. Please use a different description.\";\n static ENTER_REFERENCE_NO = \"Please enter a reference number to verify.\";\n // Controls\n static TRADING_GOODS_FORM_ARRAY_NAME = \"tradeGoods\";\n static TRADING_GOODS_CONTROL_NAME = \"tradeGoods\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME = \"previousApplicationValidated\";\n static TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME = \"tradingGoodsDescription\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME = \"previousReferenceNumber\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static TRADERS_FORM_CONTROL_NAME = \"traders\";\n static CENTROID_FORM_CONTROL_NAME = \"centroid\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static BAYS_FORM_CONTROL_NAME = \"bays\";\n static ADD_TRADING_GOODS_LABEL = \"Add trading goods\";\n static REMOVE_TRADING_GOODS_LABEL = \"Remove trading goods\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static TRADING_GOODS_LOOKUP_NAME = \"TradingGoods\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoods: {\n required: `Trading goods ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, previousApplicationReferenceNumber: {\n required: `Previous application number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoodsDescription: {\n required: `Trading goods description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-itams.component.scss?ngResource\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationItamsConstants } from \"./create-application-location-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { debounceTime } from \"rxjs\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CreateApplicationDetailsItamsConstants } from \"../create-application-details-itams/create-application-details-itams.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationItamsComponent = class CreateApplicationLocationItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n mapComponent;\n activeTabIndex; // The active tab index is zero based that is, the first tab has an index of 0 instead of 1\n baysForm;\n previousApplicationValidated = false;\n descriptionLabel1 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n baysFormGroupName = CreateApplicationLocationItamsConstants.BAYS_FORM_GROUP_NAME;\n baysFormControlName = CreateApplicationLocationItamsConstants.BAYS_FORM_CONTROL;\n addressControl = CreateApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = CreateApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = CreateApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n addressTextPlaceHolder = CreateApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = CreateApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n baySizeTextPlaceHolder = CreateApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n removeBayLabel = CreateApplicationLocationItamsConstants.REMOVE_BAY_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n layerReference = CreateApplicationLocationItamsConstants.LAYER_REF;\n selectedBaySubscription;\n selectedApplicationLocationItamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getBays() {\n return this.baysForm.get(this.baysFormControlName);\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.setupSubscribers();\n this.isPreviousApplicationValidated();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = true;\n }\n mapLoaded() {\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionBayEnabled = false;\n }\n loadMetadata() {\n }\n onBtnRemoveSelectedBayClicked(bayIndex) {\n const previousActiveIndex = this.activeTabIndex;\n this.getBays().removeAt(bayIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === bayIndex && bayIndex > 0) {\n this.activeTabIndex = bayIndex - 1;\n }\n else if (previousActiveIndex > bayIndex) {\n this.activeTabIndex = previousActiveIndex - 1;\n }\n }\n initForm() {\n this.baysForm = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getBays().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n }\n setupSubscribers() {\n this.subscribeToSelectedBaysOnTheMap();\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n if (this.previousApplicationValidated) {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.CLEARED_VALIDATION_MESSAGE, AlertType.Warning);\n }\n else {\n this.getBays().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n });\n }\n subscribeToSelectedBaysOnTheMap() {\n this.selectedBaySubscription = this.mapService.$selectedBay.pipe(debounceTime(1000)).subscribe(selectedMapFeature => {\n if (selectedMapFeature !== null) {\n this.setBayData(selectedMapFeature.attributes, selectedMapFeature.geometry);\n }\n });\n }\n setBayData(bayObject, geometry) {\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n const applicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n if (applicationValidated) {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n return;\n }\n this.requestStatusService.showBusySpinner(\"SetBayData\");\n const objectId = CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"OBJECTID\", \"objectid\");\n let found = false;\n this.getBays().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationItamsConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"SetBayData\");\n }\n });\n if (!found) {\n const newBay = new FormGroup({\n id: new FormControl(0),\n objectId: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"OBJECTID\", \"objectid\")),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n bayNumber: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"BayNumber\", \"baynumber\"), [Validators.required]),\n baySize: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"Size\", \"size\"), [Validators.required]),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((trueCentroidResponse) => {\n newBay.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const bayControl = this.getBays();\n bayControl.push(newBay);\n this.activeTabIndex = bayControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetBayDate\");\n });\n }\n }\n isPreviousApplicationValidated() {\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n this.previousApplicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationItamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n //this.updateComponentData(this.selectedApplication);\n }\n });\n }\n updateComponentData(selectedApplication) {\n const savedApplicationBays = selectedApplication.bays;\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n const applicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n const savedApplicationBaysFormArray = this.baysForm.get(this.baysFormControlName);\n savedApplicationBaysFormArray.clear();\n if (savedApplicationBays && savedApplicationBays.length > 0) {\n savedApplicationBays.forEach((applicationBay) => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(applicationBay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n let formGroup;\n if (applicationValidated) {\n formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl({ value: applicationBay.address, disabled: true }),\n geometry: new FormControl(geom),\n bayNumber: new FormControl({ value: applicationBay.bayNumber, disabled: true }),\n baySize: new FormControl({ value: applicationBay.baySize, disabled: true }),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n else {\n formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl(applicationBay.address, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl(applicationBay.bayNumber),\n baySize: new FormControl(applicationBay.baySize),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n // savedApplicationBaysFormControl.push(formGroup);\n this.setTrueCentroid(geometryArc, formGroup, savedApplicationBaysFormArray);\n });\n }\n }\n setTrueCentroid(geometryArc, newBayFormGroup, bayFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n if (response && response.results) {\n newBayFormGroup.get(\"centroid\").setValue(response.results[0].value);\n bayFormArray.push(newBayFormGroup);\n this.activeTabIndex = 0;\n }\n else {\n if (response.error) {\n this.appController.showMessage(`Something went wrong with the application.Please contact administrator: ${response.error.message}`, AlertType.Error);\n }\n }\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationItamsComponent);\nexport { CreateApplicationLocationItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationItamsConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_BAY_LABEL = \"Remove bay\";\n static LAYER_REF = \"ITAMS graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the bay for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct bay and click on the bay. Click on 'add bay' in the window that appears on the map after you selected the bay.\";\n static DESCRIPTION_LABEL_3 = \"The bay will be added and the fields must be completed for the bay. Please note that multiple bays may be added.\";\n static BAY_REQUIRED = \"Please select a bay before saving or continuing with the application process\";\n static CLEARED_VALIDATION_MESSAGE = \"Form cannot be cleared after previous application has been validated.\";\n static ADDRESS_CONTROL = \"address\";\n static BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\n static BAYS_FORM_CONTROL = \"bays\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static BAY_SIZE_TEXT_PLACEHOLDER = \"Bay size\";\n static DUPLICATE_MESSAGE = \"The selected bay has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the bay zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, bayNumber: {\n required: `Bay number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, baySize: {\n required: `Bay size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-stakeholders-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-stakeholders-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationStakeholdersItamsConstants } from \"./create-application-stakeholders-itams.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationStakeholdersItamsComponent = class CreateApplicationStakeholdersItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n recipientService;\n changeDetectorRefs;\n searchApplicationsService;\n tradersForm;\n disableTraderRecipientFilter = true;\n traderConfigurableLabel = \"Trader\";\n traderDisableAddButton = false;\n traderRecipientGroups = [];\n traderDisableEditButton = false;\n traderDisableDeleteButton = false;\n tradersFormControlName = CreateApplicationStakeholdersItamsConstants.TRADERS_CONTROL_NAME;\n traderLabel = CreateApplicationStakeholdersItamsConstants.TRADER_LABEL;\n traderFormControlName = CreateApplicationStakeholdersItamsConstants.TRADER_FORM_ARRAY_NAME;\n stepHeader;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, recipientService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.recipientService = recipientService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.getTraders();\n }\n loadMetadata(stepMeta) {\n this.traderRecipientGroups = stepMeta.traderGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getTradersControl() {\n return this.tradersForm.get(this.tradersFormControlName);\n }\n subscribeToSelectedModuleName() {\n this.applicationCreateService.selectedModuleNameAsObservable.subscribe(() => {\n const header = `${CreateApplicationStakeholdersItamsConstants.STAKEHOLDERS_HEADER}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRefs.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(CreateApplicationStakeholdersItamsConstants.TRADERS_FORM_GROUP_NAME);\n this.tradersForm = form;\n }\n getTraders() {\n const previousApplicationValidated = this.aflaModuleStrategyService.form.get(\"detailsForm\").get(\"previousApplicationValidated\").value;\n const params = {\n $filter: `(jobId eq ${this.jobId} and moduleId eq ${this.moduleId} and deleted eq false and groups/any(c: c/groupName eq 'Other')) or (jobId eq ${this.jobId} and moduleId eq ${this.moduleId} and deleted eq false and groups/any(c: c/groupName eq 'Trader'))`,\n $expand: `groups`\n };\n if (!previousApplicationValidated) {\n this.recipientService.getRecipientsObservable(params).subscribe({\n next: (recipientArray) => {\n this.onGetTradersCompleted(recipientArray);\n this.changeDetectorRefs.detectChanges();\n }, error: err => {\n this.appController.handleServerErrorMessage(\"traders\", err, CRUDOperation.Get);\n }\n });\n }\n else {\n // application already validated remove recipient list so that user cannot change the selected traders\n this.traderDisableAddButton = true;\n this.traderDisableEditButton = true;\n this.traderDisableDeleteButton = true;\n }\n }\n onGetTradersCompleted(recipientArray) {\n if (recipientArray && recipientArray.length > 0) {\n const tradersControl = this.tradersForm.get(this.tradersFormControlName);\n RecipientUtils.setRecipients(recipientArray, true, tradersControl);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: RecipientService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationStakeholdersItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-stakeholders-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationStakeholdersItamsComponent);\nexport { CreateApplicationStakeholdersItamsComponent };\n","export class CreateApplicationStakeholdersItamsConstants {\n static TRADER_LABEL = \"Traders\";\n static TRADER_FORM_ARRAY_NAME = \"traders\";\n static TRADERS_LOOKUP_NAME = \"Traders\";\n static TRADERS_CONTROL_NAME = \"traders\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static STAKEHOLDERS_HEADER = \"Traders\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsPlamsConstants } from \"./create-application-details-plams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { PropertyAndLeaseService } from \"../../../../shared/services/modules/property-and-lease.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsPlamsComponent = class CreateApplicationDetailsPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n propertyAndLeaseService;\n datePipe;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsPlamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionLabel = CreateApplicationDetailsPlamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsPlamsConstants.APPLICATION_TYPE_LABEL;\n leaseLabel = CreateApplicationDetailsPlamsConstants.LEASE_LABEL;\n drawPolyonLabel = CreateApplicationDetailsPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = CreateApplicationDetailsPlamsConstants.POLYGON_DRAWN_LABEL;\n leaseTypeLabel = CreateApplicationDetailsPlamsConstants.LEASE_TYPE_LABEL;\n leaseReasonTypeLabel = CreateApplicationDetailsPlamsConstants.LEASE_REASON_LABEL;\n leaseUseLabel = CreateApplicationDetailsPlamsConstants.LEASE_USE_LABEL;\n leaseRentalAgreementLabel = CreateApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_LABEL;\n leaseStartDateLabel = CreateApplicationDetailsPlamsConstants.LEASE_START_DATE_LABEL;\n leaseEndDateLabel = CreateApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_LABEL;\n lesseeTypeTypeLabel = CreateApplicationDetailsPlamsConstants.LESSEE_TYPE_LABEL;\n lesseeLabel = CreateApplicationDetailsPlamsConstants.LESSEE_LABEL;\n alienationLabel = CreateApplicationDetailsPlamsConstants.ALIENATION_LABEL;\n saleAmountLabel = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_LABEL;\n dateofDeedTransferLabel = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_LABEL;\n evaluationAmountLabel = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_LABEL;\n acquisitionLabel = CreateApplicationDetailsPlamsConstants.ACQUISITION_LABEL;\n buyerLabel = CreateApplicationDetailsPlamsConstants.BUYER_LABEL;\n sellerLabel = CreateApplicationDetailsPlamsConstants.SELLER_LABEL;\n referenceNumberLabel = CreateApplicationDetailsPlamsConstants.REFERENCE_NUMBER_LABEL;\n descriptionFormControlName = CreateApplicationDetailsPlamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsPlamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n leaseTypeFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_TYPE_FORM_CONTROL_NAME;\n leaseReasonFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_REASON_FORM_CONTROL_NAME;\n leaseUseFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_USE_FORM_CONTROL_NAME;\n leaseRentalAgreementFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME;\n leaseStartDateFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_START_DATE_FORM_CONTROL_NAME;\n leaseEndDateFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_CONTROL_NAME;\n lesseeTypeFormControlName = CreateApplicationDetailsPlamsConstants.LESSEE_TYPE_FORM_CONTROL_NAME;\n lesseeFormControlName = CreateApplicationDetailsPlamsConstants.LESSEE_FORM_CONTROL_NAME;\n saleAmountAlienationFormControlName = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n dateofDeedAlienationTransferFormControlName = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME;\n evaluationAmountAlienationFormControlName = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n buyerFormControlName = CreateApplicationDetailsPlamsConstants.BUYER_FORM_CONTROL_NAME;\n saleAmountFormControlName = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_FORM_CONTROL_NAME;\n dateofDeedTransferFormControlName = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME;\n evaluationAmountFormControlName = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_FORM_CONTROL_NAME;\n sellerFormControlName = CreateApplicationDetailsPlamsConstants.SELLER_FORM_CONTROL_NAME;\n referenceNumberControlName = CreateApplicationDetailsPlamsConstants.REFERENCE_NUMBER_FORM_CONTROL_NAME;\n copyApplicantToLesseeLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_LESSEE_LABEL;\n copyApplicantToBuyerLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_BUYER_LABEL;\n copyApplicantToSellerLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_SELLER_LABEL;\n leaseAreaDrawn = false;\n applicationTypes = [];\n leaseTypes = [];\n lesseeTypes = [];\n lesseeDisableFilterBy = true;\n lesseeDisableAdd = false;\n lesseeDisableEditing = false;\n lesseeShowGroupsDropdown = true;\n lesseeGroups = [];\n lesseeListLabel = \"Lessee\";\n buyerDisableFilterBy = true;\n buyerDisableAdd = false;\n buyerDisableEditing = false;\n buyerShowGroupsDropdown = true;\n buyerGroups = [];\n buyerListLabel = \"Buyer\";\n sellerDisableFilterBy = true;\n sellerDisableAdd = false;\n sellerDisableEditing = false;\n sellerShowGroupsDropdown = true;\n sellerGroups = [];\n sellerListLabel = \"Seller\";\n showRefNumber = false;\n fullApplicationCheckRequired = false;\n requiredClass = SharedConstants.CLASS_REQUIRED_TEXT;\n requiredText = SharedConstants.REQUIRED_TEXT_INDICATOR;\n descriptionPlaceholder = \"Enter description\";\n inputID = SharedConstants.CLASS_DESCRIPTION_TEXT;\n applicationType = null;\n applicants;\n jobId = null;\n selectedApplicationRcSubscription;\n selectedApplicationAppSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, datePipe, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.propertyAndLeaseService = propertyAndLeaseService;\n this.datePipe = datePipe;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n this.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.getApplicants();\n }\n loadMetadata(stepMeta) {\n this.lesseeGroups = stepMeta.lesseeGroup;\n this.buyerGroups = stepMeta.buyerGroup;\n this.sellerGroups = stepMeta.sellerGroup;\n this.changeDetectorRef.markForCheck();\n }\n getApplicants() {\n this.selectedApplicationRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((app) => {\n this.applicants = app?.applicant;\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'LeaseType' or name eq 'LesseeType')`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.leaseTypes = [];\n this.lesseeTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LeaseType\") {\n this.leaseTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LesseeType\") {\n this.lesseeTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.leaseTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.lesseeTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationAppSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.jobId = application.jobId;\n this.leaseAreaDrawn = false;\n this.applicants = this.selectedApplication?.applicant;\n // checks the application has application details set\n if (application.applicationType) {\n this.applicationType = application.applicationType;\n this.detailsForm.get(this.applicationTypeFormControlName).enable();\n this.applicationTypes.forEach(item => {\n if (item.value === application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n }\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.referenceNumber) {\n this.showRefNumber = true;\n this.detailsForm.get(this.referenceNumberControlName).enable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n }\n else {\n this.showRefNumber = false;\n }\n this.updateRequiredFields();\n if (this.applicationType === \"Alienation\") {\n if (application.saleAmount) {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValue(application.saleAmount);\n }\n if (application.evaluationAmount) {\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValue(application.evaluationAmount);\n }\n if (application.dateOfDeedTransfer) {\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValue(this.datePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n }\n this.getBuyers(application.jobId);\n }\n if (this.applicationType === \"Lease\") {\n if (application.leaseType) {\n this.leaseTypes.forEach(item => {\n if (item.value === application.leaseType) {\n this.detailsForm.get(this.leaseTypeFormControlName).setValue(item);\n }\n });\n }\n this.detailsForm.get(this.leaseReasonFormControlName).setValue(application?.leaseReason);\n this.detailsForm.get(this.leaseUseFormControlName).setValue(application?.leaseUse);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValue(application?.leaseRentalAgreementAmount);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValue(this.datePipe.transform(application?.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseEndDateFormControlName).setValue(this.datePipe.transform(application?.leaseEndDate, \"yyyy-MM-dd\"));\n if (application.leaseLesseeType) {\n this.lesseeTypes.forEach(item => {\n if (item.value === application.leaseLesseeType) {\n this.detailsForm.get(this.lesseeTypeFormControlName).setValue(item);\n }\n });\n }\n if (application.leaseAreas) {\n this.leaseAreaDrawn = application.leaseAreas.length > 0 ? true : false;\n }\n this.getLessees(application.jobId);\n }\n if (this.applicationType === \"Acquisition\") {\n if (application.saleAmount) {\n this.detailsForm.get(this.saleAmountFormControlName).setValue(application.saleAmount);\n }\n if (application.evaluationAmount) {\n this.detailsForm.get(this.evaluationAmountFormControlName).setValue(application.evaluationAmount);\n }\n if (application.dateOfDeedTransfer) {\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValue(this.datePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n }\n this.getSellers(application.jobId);\n }\n }\n getLessees(jobId) {\n this.propertyAndLeaseService\n .getLesseesObservable(jobId)\n .subscribe((response) => this.onGetLesseesCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLesseesCompleted(response) {\n if (response && response.value.length > 0) {\n const lesseeControl = this.detailsForm.get(this.lesseeFormControlName);\n RecipientUtils.setRecipients(response.value, false, lesseeControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getSellers(jobId) {\n this.propertyAndLeaseService\n .getSellersObservable(jobId)\n .subscribe((response) => this.onGetSellersCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetSellersCompleted(response) {\n if (response && response.value.length > 0) {\n const sellerControl = this.detailsForm.get(this.sellerFormControlName);\n RecipientUtils.setRecipients(response.value, false, sellerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getBuyers(jobId) {\n this.propertyAndLeaseService\n .getBuyersObservable(jobId)\n .subscribe((response) => this.onGetBuyersCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetBuyersCompleted(response) {\n if (response && response.value.length > 0) {\n const buyerControl = this.detailsForm.get(this.buyerFormControlName);\n RecipientUtils.setRecipients(response.value, false, buyerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n updateRequiredFields() {\n if (this.applicationType === \"Lease\") {\n this.detailsForm.get(this.leaseTypeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseReasonFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseUseFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseEndDateFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.lesseeTypeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.lesseeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.buyerFormControlName).clearValidators();\n this.detailsForm.get(this.saleAmountFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountFormControlName).clearValidators();\n this.detailsForm.get(this.sellerFormControlName).clearValidators();\n }\n else if (this.applicationType === \"Alienation\") {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.buyerFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseTypeFormControlName).clearValidators();\n this.detailsForm.get(this.leaseReasonFormControlName).clearValidators();\n this.detailsForm.get(this.leaseUseFormControlName).clearValidators();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).clearValidators();\n this.detailsForm.get(this.leaseStartDateFormControlName).clearValidators();\n this.detailsForm.get(this.leaseEndDateFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeTypeFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeFormControlName).clearValidators();\n this.detailsForm.get(this.saleAmountFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountFormControlName).clearValidators();\n this.detailsForm.get(this.sellerFormControlName).clearValidators();\n }\n else if (this.applicationType === \"Acquisition\") {\n this.detailsForm.get(this.saleAmountFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.evaluationAmountFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.sellerFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.buyerFormControlName).clearValidators();\n this.detailsForm.get(this.leaseTypeFormControlName).clearValidators();\n this.detailsForm.get(this.leaseReasonFormControlName).clearValidators();\n this.detailsForm.get(this.leaseUseFormControlName).clearValidators();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).clearValidators();\n this.detailsForm.get(this.leaseStartDateFormControlName).clearValidators();\n this.detailsForm.get(this.leaseEndDateFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeTypeFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeFormControlName).clearValidators();\n }\n this.detailsForm.get(this.saleAmountFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.evaluationAmountFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.sellerFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.saleAmountAlienationFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.buyerFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseTypeFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseReasonFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseUseFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseStartDateFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseEndDateFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.lesseeTypeFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.lesseeFormControlName).updateValueAndValidity();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: PropertyAndLeaseService },\n { type: DatePipe },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsPlamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsPlamsComponent);\nexport { CreateApplicationDetailsPlamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsPlamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static LEASE_LABEL = \"Lease details\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the property details tab.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static LEASE_TYPE_LABEL = \"Lease type\";\n static LEASE_REASON_LABEL = \"Lease reason\";\n static LEASE_USE_LABEL = \"What will the lease be used for?\";\n static LEASE_RENTAL_AGREEMENT_LABEL = \"Lease rental agreement amount (p/m)\";\n static LEASE_START_DATE_LABEL = \"Lease start date\";\n static LEASE_END_DATE_FORM_LABEL = \"Lease end date\";\n static LESSEE_LABEL = \"Lessee\";\n static SELLER_LABEL = \"Seller\";\n static BUYER_LABEL = \"Buyer\";\n static LESSEE_TYPE_LABEL = \"Lessee type\";\n static ALIENATION_LABEL = \"Alienation details\";\n static SALE_AMOUNT_LABEL = \"Sale amount (R)\";\n static DATE_OF_DEED_TRANSFER_LABEL = \"Date of deed transfer\";\n static EVALUATION_AMOUNT_LABEL = \"Evaluation amount (R)\";\n static ACQUISITION_LABEL = \"Acquisition details\";\n static COPY_APPLICANT_TO_LESSEE_LABEL = \"Copy applicant to lessee\";\n static COPY_APPLICANT_TO_BUYER_LABEL = \"Copy applicant to buyer\";\n static COPY_APPLICANT_TO_SELLER_LABEL = \"Copy applicant to seller\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static TRANSFERRING_ATTORNEY_LABEL = \"Transferring attorney\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static LEASE_TYPE_FORM_CONTROL_NAME = \"leaseType\";\n static LEASE_REASON_FORM_CONTROL_NAME = \"leaseReason\";\n static LEASE_USE_FORM_CONTROL_NAME = \"leaseUse\";\n static LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME = \"leaseRentalAgreementAmount\";\n static LEASE_START_DATE_FORM_CONTROL_NAME = \"leaseStartDate\";\n static LEASE_END_DATE_FORM_CONTROL_NAME = \"leaseEndDate\";\n static LESSEE_TYPE_FORM_CONTROL_NAME = \"lesseeType\";\n static LESSEE_FORM_CONTROL_NAME = \"lesseeRecipient\";\n static SALE_AMOUNT_FORM_CONTROL_NAME = \"saleAmount\";\n static DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME = \"dateOfDeedTransfer\";\n static EVALUATION_AMOUNT_FORM_CONTROL_NAME = \"evaluationAmount\";\n static BUYER_FORM_CONTROL_NAME = \"buyerRecipient\";\n static SELLER_FORM_CONTROL_NAME = \"sellerRecipient\";\n static SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"saleAmountAlienation\";\n static DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME = \"dateOfDeedTransferAlienation\";\n static EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"evaluationAmountAlienation\";\n static REFERENCE_NUMBER_FORM_CONTROL_NAME = \"referenceNumber\";\n static TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME = \"transferringAttorneyRecipient\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseType: {\n required: `Lease type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseReason: {\n required: `Lease reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseUse: {\n required: `Lease use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseRentalAgreementAmount: {\n required: `Lease rental agreement ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseStartDate: {\n required: `Lease start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseEndDate: {\n required: `Lease end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n lesseeType: {\n required: `Lessee type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n saleAmount: {\n required: `Sale amount ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateofDeedTransfer: {\n required: `Date of deed transfer ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n evaluationAmount: {\n required: `Evaluation amount ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n referenceNumber: {\n required: `Reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationPlamsConstants } from \"./create-application-location-plams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport GeometryUtils from \"../../../../shared/utils/geometry-utils\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as geometryEngine from \"@arcgis/core/geometry/geometryEngine\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationPlamsComponent = class CreateApplicationLocationPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_4;\n descriptionLabel5 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_5;\n applicationControl = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_CONTROL;\n validationMessages = CreateApplicationLocationPlamsConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationPlamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationPlamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationPlamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationPlamsConstants.FARM_NO_CONTROL;\n zoningControl = CreateApplicationLocationPlamsConstants.ZONING_CONTROL;\n streetNumberControl = CreateApplicationLocationPlamsConstants.STREET_NO_CONTROL;\n streetNameControl = CreateApplicationLocationPlamsConstants.STREET_NAME_CONTROL;\n townControl = CreateApplicationLocationPlamsConstants.TOWN_CONTROL;\n sgCodeControl = CreateApplicationLocationPlamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationPlamsConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationPlamsConstants.OWNER_CONTROL;\n applicationSelectLabel = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n dropdownApplicationPlaceholder = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n erfNoTextPlaceHolder = CreateApplicationLocationPlamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationPlamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationPlamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationPlamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n zoningControlTextPlaceHolder = CreateApplicationLocationPlamsConstants.ZONING_TEXT_PLACEHOLDER;\n streetNumberTextPlaceHolder = CreateApplicationLocationPlamsConstants.STREET_NO_TEXT_PLACEHOLDER;\n streetNameTextPlaceHolder = CreateApplicationLocationPlamsConstants.STREET_NAME_TEXT_PLACEHOLDER;\n townTextPlaceHolder = CreateApplicationLocationPlamsConstants.TOWN_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationPlamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationPlamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n drawPolyonLabel = CreateApplicationLocationPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = CreateApplicationLocationPlamsConstants.POLYGON_DRAWN_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n removePropertyLabel = CreateApplicationLocationPlamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = CreateApplicationLocationPlamsConstants.OWNER_LABEL;\n copyOwnerLabel = CreateApplicationLocationPlamsConstants.COPY_OWNER_LABEL;\n layerReference = CreateApplicationLocationPlamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerShowGroupsDropdown = true;\n ownerListLabel = \"Owner\";\n appTypes = [];\n applicants;\n leaseAreaDrawn = false;\n fullApplicationCheckRequired = true;\n showOnlyPropertyAndZoningLayers = false;\n existingApplication = false;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n sketch;\n leaseGraphic = null;\n hasLoadedLookups = false;\n hasLoadedApplicationProperties = false;\n hasSavedLeaseArea = false;\n selectedApplicationType = null;\n selectedPropertySubscription;\n selectedApplicationDetailsRcSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.hasLoadedApplicationProperties = false;\n this.hasSavedLeaseArea = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n this.selectedApplicationService.$applicationSavedSubject.next(false);\n if (this.aflaModuleStrategyService.lookups.has(\"appTypes\")) {\n this.appTypes = this.aflaModuleStrategyService.lookups.get(\"appTypes\");\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n this.getMetadata();\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n this.applicationCreateService.hasLoadedLookupsAsObservable.subscribe((hasLoadedLookups) => {\n this.hasLoadedLookups = hasLoadedLookups;\n if (this.hasLoadedLookups) {\n this.onGetSelectedApplication();\n }\n });\n if (this.applicationCreateService.propertyData) {\n this.loadExistingProperty(this.applicationCreateService.propertyData);\n this.applicationCreateService.propertyData = null;\n }\n this.mapService.$removeAllMapToolGraphics.subscribe((res) => {\n this.mapToolGraphicsRemoved();\n });\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapToolGraphicsRemoved() {\n this.leaseGraphic = null;\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.sketch = this.mapTools.getMapTool(\"drawTool\");\n this.sketch.on(\"create\", (event) => {\n if (event.state === \"start\") {\n this.mapService.showPopups = false;\n }\n if (event.state === \"complete\") {\n this.mapService.showPopups = true;\n if (this.selectedApplicationType === \"Lease\") {\n if (event.graphic.geometry.type === \"polygon\") {\n this.leaseGraphic = event.graphic;\n // get the geometries of the properties in the properties layer\n const geometries = [];\n let propertyGeom;\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n // If properties have been selected ... check the lease area drawn is within those properties\n if (geometries.length > 0) {\n if (geometries.length > 1) {\n propertyGeom = geometryEngine.union(geometries);\n }\n else {\n propertyGeom = geometries[0];\n }\n if (geometryEngine.within(this.leaseGraphic.geometry, propertyGeom)) {\n this.propertiesForm.get(\"leaseArea\").setValue(event.graphic.geometry);\n }\n else {\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE, AlertType.Warning);\n }\n }\n else {\n // no property selected\n this.propertiesForm.get(\"leaseArea\").setValue = null;\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.mapService.showPopups = true;\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.NO_PROPERTIES_SELECTED_MESSAGE, AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.LEASE_AREA_EXISTS_MESSAGE, AlertType.Warning);\n }\n }\n }\n else if (event.state === \"cancel\") {\n this.mapService.showPopups = true;\n }\n else {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n if (this.propertiesForm.get(\"leaseArea\").value !== null) {\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.propertiesForm.get(\"leaseArea\").value)], \"Draw Tool Layer\", true);\n }\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.propertiesForm.get(this.applicationControl).enable();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.detectChanges();\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n updateRequiredFields() {\n this.getProperties().controls.forEach(item => {\n const propertyControl = item;\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n });\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n const numProps = this.getProperties().value.length;\n this.getProperties().removeAt(propertyIndex);\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n // /this.propertiesForm.get(\"leaseArea\").setValue(null);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n if (numProps > 1) {\n propertyIndex + 1 === numProps ? this.active = propertyIndex - 1 : this.active = propertyIndex;\n }\n this.changeDetectorRefs.detectChanges();\n }\n onCopyOwnerToApplicant(propertyIndex) {\n if (propertyIndex < 0 || propertyIndex >= this.getProperties().controls.length) { }\n const owners = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n if (!owners) { }\n const selectedOwners = owners.value ? owners.value.filter(x => x.selected === true) : [];\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n let applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n this.propertiesForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'ApplicationType'`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n const appTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n appTypes.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"appTypes\", appTypes);\n this.appTypes = appTypes;\n this.applicationCreateService.setHasLoadedLookups(true);\n this.changeDetectorRefs.detectChanges();\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n loadExistingProperty(property) {\n this.setPropertyData(property, property.geometry);\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n this.updateRequiredFields();\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n zoning: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Zoning\", \"zoning\"), [Validators.required]),\n streetNumber: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"StreetNumber\", \"streetnumber\"), [Validators.required]),\n streetName: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"StreetName\", \"streetname\"), [Validators.required]),\n town: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Town\", \"town\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(null)\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n onGetSelectedApplication() {\n if (this.hasLoadedLookups && +this.jobId > 0 && this.selectedApplication && !this.hasLoadedApplicationProperties) {\n const propertyControl = this.getProperties();\n propertyControl.clear();\n this.selectedApplicationType = this.selectedApplication.applicationType;\n this.appTypes.forEach(item => {\n if (item.value === this.selectedApplication.applicationType) {\n this.propertiesForm.get(this.applicationControl).setValue(item);\n }\n });\n this.propertiesForm.get(this.applicationControl).disable();\n if (this.selectedApplication.leaseAreas && this.selectedApplication.leaseAreas.length > 0) {\n this.hasSavedLeaseArea = true;\n this.propertiesForm.get(\"leaseAreaId\").setValue(this.selectedApplication.leaseAreas[0].id);\n }\n let index = 0;\n this.selectedApplication.properties.forEach(property => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newProperty = new FormGroup({\n id: new FormControl(property.id),\n property: new FormControl(property),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment, [Validators.required]),\n farmNo: new FormControl(property.farmNumber),\n zoning: new FormControl(property.zoning, [Validators.required]),\n streetNumber: new FormControl(property.streetNumber, [Validators.required]),\n streetName: new FormControl(property.streetName, [Validators.required]),\n town: new FormControl(property.town, [Validators.required]),\n sgCode: new FormControl(property.sgCode, [Validators.required]),\n address: new FormControl(property.address, [Validators.required]),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(property.owners)\n });\n // if property is loaded from an existing application mark for as touched it as touched\n this.propertiesForm.markAllAsTouched();\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (response) => {\n newProperty.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n index++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n applicationTypeChanged() {\n this.selectedApplicationType = this.propertiesForm.get(this.applicationControl).value.value;\n if (this.selectedApplicationType !== null && this.selectedApplicationType === \"Lease\") {\n this.mapTools.expandWidget(\"drawTool\");\n this.sketch.create(\"polygon\");\n }\n else {\n this.mapTools.collapseWidget(\"drawTool\");\n this.sketch.cancel();\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n }\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.propertiesForm.get(\"leaseArea\").value)], \"Draw Tool Layer\");\n }\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n }\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n if (this.propertiesForm.get(\"leaseArea\").value !== null) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = application ? application : null;\n if (this.selectedApplication) {\n this.applicants = this.selectedApplication.applicant;\n this.onGetSelectedApplication();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n if (this.selectedApplication.leaseAreas && this.selectedApplication.leaseAreas.length > 0) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.leaseAreas[0].shape, 102100);\n const leaseGeom = JsonUtils.fromJSON(geometryArc);\n this.propertiesForm.get(\"leaseArea\").setValue(leaseGeom);\n this.propertiesForm.get(\"leaseAreaId\").setValue(this.selectedApplication.leaseAreas[0].id);\n this.hasSavedLeaseArea = true;\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationPlamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationPlamsComponent);\nexport { CreateApplicationLocationPlamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationPlamsConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added. \";\n static DESCRIPTION_LABEL_4 = \"If this is an application for a lease, draw an area (polygon) around the lease area on the map.\";\n static DESCRIPTION_LABEL_5 = \"Owner details should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Note that you need to select a property before continuing with the create application process\";\n static PROPERTY_ID_CONTROL = \"propId\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ZONING_CONTROL = \"zoning\";\n static STREET_NO_CONTROL = \"streetNumber\";\n static STREET_NAME_CONTROL = \"streetName\";\n static TOWN_CONTROL = \"town\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static APPLICATION_TYPE_CONTROL = \"applicationType\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ZONING_TEXT_PLACEHOLDER = \"Zoning\";\n static STREET_NO_TEXT_PLACEHOLDER = \"Street number\";\n static STREET_NAME_TEXT_PLACEHOLDER = \"Street name\";\n static TOWN_TEXT_PLACEHOLDER = \"Town\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static APPLICATION_TYPE_PLACEHOLDER = \"Application type\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static LAYER_REF = \"Property and lease graphics\";\n static NO_PROPERTIES_SELECTED_MESSAGE = \"At least one property must be selected before a lease area is drawn\";\n static LEASE_AREA_EXISTS_MESSAGE = \"A lease area has already been captured for this application\";\n static LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE = \"The lease area(s) drawn are outside the extent of the selected property\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the map.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n town: {\n required: `Town ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zoning: {\n required: `Zoning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n streetNumber: {\n required: `Street number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n streetName: {\n required: `Street name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n application: {\n required: `Application ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsRcConstants } from \"./create-application-details-rc.constant\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet CreateApplicationDetailsRcComponent = class CreateApplicationDetailsRcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n // Labels and headers\n descriptionLbl = CreateApplicationDetailsRcConstants.DESCRIPTION_LBL;\n applicationTypeLbl = CreateApplicationDetailsRcConstants.TYPE_LBL;\n reasonForApplicationLabel = CreateApplicationDetailsRcConstants.REASON_FOR_APPLICATION;\n typeOfTransferLabel = CreateApplicationDetailsRcConstants.TYPE_OF_TRANSFER_LABEL;\n propertyTypeLabel = CreateApplicationDetailsRcConstants.PROPERTY_TYPE_LABEL;\n ratesAccountNumberLabel = CreateApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_LABEL;\n electronicReferenceLabel = CreateApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_LABEL;\n attorneyReferenceLabel = CreateApplicationDetailsRcConstants.ATTORNEY_REFERENCE_LABEL;\n councilReferenceLabel = CreateApplicationDetailsRcConstants.COUNCIL_REFERENCE_LABEL;\n // Controls\n descriptionCtrl = CreateApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n detailsFormGroupName = CreateApplicationDetailsRcConstants.DETAILS_FORM_GROUP_NAME;\n applicationTypeCtrl = CreateApplicationDetailsRcConstants.TYPE_CTRL;\n reasonForApplicationFormControlName = CreateApplicationDetailsRcConstants.REASON_FOR_APPLICATION_CONTROL_NAME;\n typeOfTransferFormControlName = CreateApplicationDetailsRcConstants.TYPE_OF_TRANSFER_CONTROL_NAME;\n propertyTypeFormControlName = CreateApplicationDetailsRcConstants.PROPERTY_TYPE_CONTROL_NAME;\n ratesAccountNumberFormControlName = CreateApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_CONTROL_NAME;\n electronicReferenceFormControlName = CreateApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_CONTROL_NAME;\n attorneyReferenceFormControlName = CreateApplicationDetailsRcConstants.ATTORNEY_REFERENCE_CONTROL_NAME;\n councilReferenceFormControlName = CreateApplicationDetailsRcConstants.COUNCIL_REFERENCE_CONTROL_NAME;\n validationMessages = CreateApplicationDetailsRcConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n typeOfTransferLookupOptions = [];\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n selectedApplicationDetailsRcSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n if (this.aflaModuleStrategyService.lookups.has(\"applicationTypes\") && this.aflaModuleStrategyService.lookups.has(\"transferType\")) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(\"applicationTypes\");\n this.typeOfTransferLookupOptions = this.aflaModuleStrategyService.lookups.get(\"transferType\");\n }\n else {\n this.getLookups();\n }\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.setupSubscriptions();\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateApplicationDetailsData(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.detailsFormGroupName);\n this.detailsForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and deleted eq false`\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const typeOfTransfer = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"applicationtype\") {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.toLowerCase() === \"transfertype\") {\n typeOfTransfer.push(JSON.parse(item.content));\n }\n });\n }\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n typeOfTransfer.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(\"applicationTypes\", applicationTypes);\n this.aflaModuleStrategyService.lookups.set(\"transferType\", typeOfTransfer);\n this.applicationTypes = applicationTypes;\n this.typeOfTransferLookupOptions = typeOfTransfer;\n this.changeDetectorRefs.detectChanges();\n }\n loadMetadata() {\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.populateApplicationDetailsData(this.selectedApplication);\n }\n }\n populateApplicationDetailsData(application) {\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n this.detailsForm.get(this.reasonForApplicationFormControlName).setValue(application.reasonForApplication);\n this.detailsForm.get(this.typeOfTransferFormControlName).setValue(application.typeOfTransfer);\n this.detailsForm.get(this.propertyTypeFormControlName).setValue(application.propertyType);\n this.detailsForm.get(this.ratesAccountNumberFormControlName).setValue(application.ratesAccountNumber);\n this.detailsForm.get(this.electronicReferenceFormControlName).setValue(application.electronicReference);\n this.detailsForm.get(this.attorneyReferenceFormControlName).setValue(application.attorneyReference);\n this.detailsForm.get(this.councilReferenceFormControlName).setValue(application.councilReference);\n }\n setupSubscriptions() {\n this.subscribeToSelectedApplication();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsRcComponent = __decorate([\n Component({\n selector: \"app-create-application-details-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsRcComponent);\nexport { CreateApplicationDetailsRcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsRcConstants {\n static STEP_TITLE = \"Details\";\n // Labels and headers\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static REASON_FOR_APPLICATION = \"Reason for application\";\n static TYPE_OF_TRANSFER_LABEL = \"Type of transfer\";\n static PROPERTY_TYPE_LABEL = \"Property type\";\n static RATES_ACCOUNT_NUMBER_LABEL = \"Rates account number\";\n static ELECTRONIC_REFERENCE_LABEL = \"Electronic reference\";\n static ATTORNEY_REFERENCE_LABEL = \"Attorney reference\";\n static COUNCIL_REFERENCE_LABEL = \"Council reference\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static DESCRIPTION_CTRL = \"description\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"applicationType\";\n static REASON_FOR_APPLICATION_CONTROL_NAME = \"reasonForApplication\";\n static TYPE_OF_TRANSFER_CONTROL_NAME = \"typeOfTransfer\";\n static PROPERTY_TYPE_CONTROL_NAME = \"propertyType\";\n static RATES_ACCOUNT_NUMBER_CONTROL_NAME = \"ratesAccountNumber\";\n static ELECTRONIC_REFERENCE_CONTROL_NAME = \"electronicReference\";\n static ATTORNEY_REFERENCE_CONTROL_NAME = \"attorneyReference\";\n static COUNCIL_REFERENCE_CONTROL_NAME = \"councilReference\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reasonForApplication: {\n required: `Reason for application ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n typeOfTransfer: {\n required: `Type of transfer ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n propertyType: {\n required: `Property type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n ratesAccountNumber: {\n required: `Rates account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electronicReference: {\n required: `Electronic reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n attorneyReference: {\n required: `Attorney reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n councilReference: {\n required: `Council reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationRcConstants } from \"./create-application-location-rc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { debounceTime } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { DatePipe } from \"@angular/common\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationRcComponent = class CreateApplicationLocationRcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientSelectService;\n appController;\n mapService;\n datePipe;\n selectedApplicationService;\n requestStatusService;\n modalService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n activeTabIndex;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationRcConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationRcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationRcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationRcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationRcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationRcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationRcConstants.ADDRESS_CONTROL;\n titleDeedNumberControl = CreateApplicationLocationRcConstants.TITLE_DEED_NUMBER_CONTROL;\n zoningControl = CreateApplicationLocationRcConstants.ZONING_CONTROL;\n sectionalTitleSchemeNameControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_CONTROL;\n sectionalTitleSchemeNumberControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL;\n sectionalTitleSchemeUnitControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_CONTROL;\n extentControl = CreateApplicationLocationRcConstants.EXTENT_CONTROL;\n purchasePriceControl = CreateApplicationLocationRcConstants.PURCHASE_PRICE_CONTROL;\n dateOfSaleControl = CreateApplicationLocationRcConstants.DATE_OF_SALE_CONTROL;\n electricityAccountNumberControl = CreateApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_CONTROL;\n waterAccountNumberControl = CreateApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_CONTROL;\n refuseAccountNumberControl = CreateApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_CONTROL;\n managingAgentControl = CreateApplicationLocationRcConstants.MANAGING_AGENT_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationRcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationRcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationRcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationRcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationRcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationRcConstants.ADDRESS_TEXT_PLACEHOLDER;\n titleDeedNumberLabel = CreateApplicationLocationRcConstants.TITLE_DEED_NUMBER_LABEL;\n zoningLabel = CreateApplicationLocationRcConstants.ZONING_LABEL;\n sectionalTitleSchemeNameLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_LABEL;\n sectionalTitleSchemeNumberLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_LABEL;\n sectionalTitleSchemeUnitLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_LABEL;\n extentLabel = CreateApplicationLocationRcConstants.EXTENT_LABEL;\n purchasePriceLabel = CreateApplicationLocationRcConstants.PURCHASE_PRICE_LABEL;\n dateOfSaleLabel = CreateApplicationLocationRcConstants.DATE_OF_SALE_LABEL;\n electricityAccountNumberLabel = CreateApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_LABEL;\n waterAccountNumberLabel = CreateApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_LABEL;\n refuseAccountNumberLabel = CreateApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_LABEL;\n modalOptions = CreateApplicationLocationRcConstants.MODAL_OPTION;\n removePropertyLabel = CreateApplicationLocationRcConstants.REMOVE_PROPERTY_LABEL;\n managingAgentDisableFilterBy = true;\n managingAgentDisableEditing = false;\n managingAgentGroups = [];\n managingAgentLabel = \"Managing agent\";\n mapComponent;\n isMapLoaded = false;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n zones = [];\n selectedPropertySubscription;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientSelectService, appController, mapService, datePipe, selectedApplicationService, requestStatusService, modalService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientSelectService = recipientSelectService;\n this.appController = appController;\n this.mapService = mapService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.modalService = modalService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"zoning\")) {\n this.zones = this.aflaModuleStrategyService.lookups.get(\"zoning\");\n }\n else {\n this.getLookups();\n }\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.setupSubscriptions();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.managingAgentGroups = stepMeta.managingAgentGroup;\n if (this.managingAgentGroups[0].hasOwnProperty(\"requiredFields\") && this.managingAgentGroups[0].requiredFields !== null) {\n this.managingAgentGroups = this.recipientSelectService.checkStepMetaRecipientGroups(this.managingAgentGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.mapComponent.clearGraphics(\"Rates certificate graphics\");\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationRcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n titleDeedNumber: new FormControl(null, [Validators.required]),\n zoning: new FormControl(null, [Validators.required]),\n sectionalTitleSchemeName: new FormControl(null),\n sectionalTitleSchemeNumber: new FormControl(null),\n sectionalTitleSchemeUnit: new FormControl(null),\n extent: new FormControl(null, [Validators.required]),\n purchasePrice: new FormControl(null, [Validators.required]),\n dateOfSale: new FormControl(null, [Validators.required]),\n electricityAccountNumber: new FormControl(null),\n waterAccountNumber: new FormControl(null),\n refuseAccountNumber: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n managingAgent: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n this.setPropertyTrueCentroidData(newProperty, trueCentroidResponse);\n this.setPropertyZoning(newProperty, sgCode);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n setPropertyTrueCentroidData(newFormGroup, trueCentroidResponse) {\n this.requestStatusService.showBusySpinner(\"setPropertyTrueCentroid\");\n const propertiesArray = this.getProperties();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n propertiesArray.push(newFormGroup);\n this.activeTabIndex = propertiesArray.length - 1;\n this.updateRequiredFields(this.activeTabIndex);\n this.changeDetectorRefs.detectChanges();\n this.requestStatusService.removeBusySpinner(\"setPropertyTrueCentroid\");\n }\n setPropertyZoning(newFormGroup, sgCode) {\n this.requestStatusService.showBusySpinner(\"setPropertyPropertyZoning\");\n const zoningControl = newFormGroup.get(this.zoningControl);\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property zone\");\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}' or sgcode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = this.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\"); // zone from the property layer\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zones.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (zoningControl) {\n zoningControl.setValue(zone);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationRcConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Error);\n }\n });\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n else {\n this.appController.showMessage(CreateApplicationLocationRcConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n });\n }\n else {\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.checkIfPropertyIsAlreadyLoaded(property);\n }\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID}`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zoning\", zones);\n this.zones = zones;\n this.changeDetectorRefs.detectChanges();\n }\n checkIfPropertyIsAlreadyLoaded(property) {\n const title = \"Replace property\";\n const contentMessage = \"An application can only have 1 property. Do you want to replace the current property?\";\n const propertyControl = this.getProperties();\n if (propertyControl && propertyControl.length > 0) {\n const dialogRef = this.modalService.open(PopUpComponent, this.modalOptions);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((replaceData) => {\n if (replaceData) {\n this.getProperties().clear();\n this.mapComponent.clearGraphics(\"Rates certificate graphics\");\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n else {\n this.setPropertyData(property.attributes, property.geometry);\n }\n }\n setupSubscriptions() {\n this.subscribeToProperty();\n this.subscribeToClearMapGraphics();\n }\n checkApplicationData() {\n const isFormPristine = this.propertiesForm.pristine;\n const isFormUnTouched = this.propertiesForm.untouched;\n const isFormInvalid = this.propertiesForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getProperties().clear();\n const shape = application.properties[0].shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getProperties();\n const featureFormGroup = this.createPropertyFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createPropertyFormGroup(application) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.properties[0].shape, 102100);\n const geometry = JsonUtils.fromJSON(geometryArc);\n const dateString = this.datePipe.transform(application.properties[0].dateOfSale, \"yyyy-MM-dd\");\n const newProperty = new FormGroup({\n erfNo: new FormControl(application.properties[0].erfNumber, [Validators.required]),\n subdivision: new FormControl(application.properties[0].subdivision, [Validators.required]),\n allotment: new FormControl(application.properties[0].allotment, [Validators.required]),\n farmNo: new FormControl(application.properties[0].farmNumber, [Validators.required]),\n sgCode: new FormControl(application.properties[0].sgCode, [Validators.required]),\n address: new FormControl(application.properties[0].address, [Validators.required]),\n titleDeedNumber: new FormControl(application.properties[0].titleDeedNumber, [Validators.required]),\n zoning: new FormControl(application.properties[0].zoning, [Validators.required]),\n sectionalTitleSchemeName: new FormControl(application.properties[0].sectionalTitleSchemeName),\n sectionalTitleSchemeNumber: new FormControl(application.properties[0].sectionalTitleSchemeNumber),\n sectionalTitleSchemeUnit: new FormControl(application.properties[0].sectionalTitleSchemeUnit),\n extent: new FormControl(application.properties[0].extent, [Validators.required]),\n purchasePrice: new FormControl(application.properties[0].purchasePrice, [Validators.required]),\n dateOfSale: new FormControl(dateString, [Validators.required]),\n electricityAccountNumber: new FormControl(application.properties[0].electricityAccountNumber),\n waterAccountNumber: new FormControl(application.properties[0].waterAccountNumber),\n refuseAccountNumber: new FormControl(application.properties[0].refuseAccountNumber),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n managingAgent: new FormControl(null, [Validators.required])\n });\n if (application.properties && application.properties.length > 0 && application.properties[0].managingAgent.length > 0) {\n const managingAgent = application.properties[0].managingAgent[0];\n const managingAgentControl = newProperty.get(\"managingAgent\");\n managingAgentControl.setValue(managingAgent);\n }\n return newProperty;\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.updateRequiredFields(this.activeTabIndex);\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: NgbModal },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationRcComponent = __decorate([\n Component({\n selector: \"app-create-application-location-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationRcComponent);\nexport { CreateApplicationLocationRcComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationRcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static ZONING_CONTROL = \"zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_CONTROL = \"sectionalTitleSchemeName\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL = \"sectionalTitleSchemeNumber\";\n static SECTIONAL_TITLE_SCHEME_UNIT_CONTROL = \"sectionalTitleSchemeUnit\";\n static EXTENT_CONTROL = \"extent\";\n static PURCHASE_PRICE_CONTROL = \"purchasePrice\";\n static DATE_OF_SALE_CONTROL = \"dateOfSale\";\n static ELECTRICITY_ACCOUNT_NUMBER_CONTROL = \"electricityAccountNumber\";\n static WATER_ACCOUNT_NUMBER_CONTROL = \"waterAccountNumber\";\n static REFUSE_ACCOUNT_NUMBER_CONTROL = \"refuseAccountNumber\";\n static MANAGING_AGENT_CONTROL = \"managingAgent\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static TITLE_DEED_NUMBER_LABEL = \"Title deed number\";\n static ZONING_LABEL = \"Zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_LABEL = \"Sectional title scheme name\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_LABEL = \"Sectional title scheme number\";\n static SECTIONAL_TITLE_SCHEME_UNIT_LABEL = \"Sectional title scheme unit\";\n static EXTENT_LABEL = \"Extent\";\n static PURCHASE_PRICE_LABEL = \"Purchase price\";\n static DATE_OF_SALE_LABEL = \"Date of sale\";\n static ELECTRICITY_ACCOUNT_NUMBER_LABEL = \"Electricity account number\";\n static WATER_ACCOUNT_NUMBER_LABEL = \"Water account number\";\n static REFUSE_ACCOUNT_NUMBER_LABEL = \"Refuse account number\";\n static MANAGING_AGENT_LABEL = \"Managing agent\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static MODAL_OPTION = {\n size: SharedConstants.MODAL_SIZE.extraLarge,\n centered: true,\n backdrop: \"static\",\n keyboard: false\n };\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zoning: {\n required: `Zoning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeName: {\n required: `Sectional title scheme name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeNumber: {\n required: `Sectional title scheme number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeUnit: {\n required: `Sectional title scheme unit ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n extent: {\n required: `Extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n purchasePrice: {\n required: `Purchase price ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateOfSale: {\n required: `Date of sale ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricityAccountNumber: {\n required: `Electricity account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n waterAccountNumber: {\n required: `Water account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n refuseAccountNumber: {\n required: `Refuse account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n managingAgent: {\n required: `Managing agent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsSnConstants } from \"./create-application-details-sn.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CreateApplicationDetailsBlConstants } from \"../../bl/craate-application-details-bl/create-application-details-bl.constants\";\nlet CreateApplicationDetailsSnComponent = class CreateApplicationDetailsSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n applicationDetailsFormGroupName = CreateApplicationDetailsSnConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsSnConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsSnConstants.DESCRIPTION_FORM_LABEL;\n applicationTypeLabel = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n validationMessages = CreateApplicationDetailsSnConstants.VALIDATION_MESSAGES;\n applicationTypeLookoutName = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_LOOKOUT_NAME;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // loaded or it is being loaded from the search page\n this.getLookups();\n }\n else {\n if (this.aflaModuleStrategyService.lookups.has(this.applicationTypeLookoutName)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsSnConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n if (this.detailsForm.pristine) {\n this.detailsForm.enable();\n this.detailsForm.reset();\n }\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypes.push(lookUpContent);\n }\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(this.applicationTypeLookoutName, this.applicationTypes);\n if (this.isApplicationLoadedFromTheSearchPage) {\n // only run when the application is loaded from the search page\n this.checkApplicationData();\n }\n this.changeDetectorRefs.detectChanges();\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(this.selectedApplication.type);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsSnComponent = __decorate([\n Component({\n selector: \"app-create-application-details-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsSnComponent);\nexport { CreateApplicationDetailsSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationDetailsSnConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static DESCRIPTION_FORM_LABEL = \"Description\";\n static APPLICATION_TYPE_FORM_LABEL = \"Application type\";\n static APPLICATION_TYPE_LOOKOUT_NAME = \"applicationType\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationLocationSnConstants } from \"./create-application-location-sn.constant\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationSnComponent = class CreateApplicationLocationSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n activeTabIndex;\n locationForm;\n dropdownPlaceholderMessage = SharedConstants.NO_OPTION_SELECTED;\n showPrivateStreetAreaOrEstateNameField = true;\n showCurrentNameField = true;\n showFeatureTypeField = true;\n showRequiredAsteriskForTheAreaEstateNameField = false;\n showRequiredAsteriskForTheCurrentNameField = false;\n streetOrFeatureLookUps = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_LOOKUPS;\n publicOrPrivateLookUps = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_LOOKUPS;\n isNewDevelopmentLookUps = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_LOOKUPS;\n haveExistingNameLookUps = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_LOOKUPS;\n descriptionLabel1 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationSnConstants.VALIDATION_MESSAGES;\n streetOrFeatureLabel = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_LABEL;\n removeFeatureLabel = CreateApplicationLocationSnConstants.REMOVE_FEATURE_LABEL;\n publicOrPrivateLabel = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_LABEL;\n privateStreetAreaOrEstateNameLabel = CreateApplicationLocationSnConstants.PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL;\n isNewDevelopmentLabel = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_NAME_LABEL;\n haveExistingNameLabel = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_LABEL;\n currentNameLabel = CreateApplicationLocationSnConstants.CURRENT_NAME_LABEL;\n locationDescriptionLabel = CreateApplicationLocationSnConstants.LOCATION_DESCRIPTION_LABEL;\n wardLabel = CreateApplicationLocationSnConstants.WARD_LABEL;\n proposedNameLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_LABEL;\n proposedNameLanguageLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_LANGUAGE_LABEL;\n proposedNameMeaningLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_MEANING_LABEL;\n proposedNameOriginLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_ORIGIN_LABEL;\n proposedAlternativeNameLabel = CreateApplicationLocationSnConstants.PROPOSED_ALTERNATIVE_NAME_LABEL;\n languageOfTheAlternativeNameLabel = CreateApplicationLocationSnConstants.LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL;\n meaningAlternativeNameLabel = CreateApplicationLocationSnConstants.MEANING_OF_THE_ALTERNATIVE_NAME_LABEL;\n featureTypeLabel = CreateApplicationLocationSnConstants.FEATURE_TYPE_LABEL;\n reasonForChangeLabel = CreateApplicationLocationSnConstants.REASON_FOR_CHANGE_LABEL;\n featuresFormArrayName = CreateApplicationLocationSnConstants.FEATURES_FORM_ARRAY_NAME;\n locationFormGroupName = CreateApplicationLocationSnConstants.LOCATION_FORM_GROUP_NAME;\n streetOrFeatureFormControlName = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_FORM_CONTROL_NAME;\n publicOrPrivateFormControlName = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME;\n privateStreetAreaOrEstateNameFormControlName = CreateApplicationLocationSnConstants.PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME;\n isNewDevelopmentFormControlName = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME;\n haveExistingNameFormControlName = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_FORM_CONTROL_NAME;\n currentNameFormControlName = CreateApplicationLocationSnConstants.CURRENT_NAME_FORM_CONTROL_NAME;\n locationDescriptionFormControlName = CreateApplicationLocationSnConstants.LOCATION_DESCRIPTION_FORM_CONTROL_NAME;\n wardFormControlName = CreateApplicationLocationSnConstants.WARD_FORM_CONTROL_NAME;\n proposedNameFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_FORM_CONTROL_NAME;\n proposedNameLanguageFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME;\n proposedNameMeaningFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_MEANING_FORM_CONTROL_NAME;\n proposedAlternativeNameFormArrayName = CreateApplicationLocationSnConstants.PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME;\n proposedNameOriginFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME;\n featureTypeFormControlName = CreateApplicationLocationSnConstants.FEATURE_TYPE_FORM_CONTROL_NAME;\n reasonForChangeFormControlName = CreateApplicationLocationSnConstants.REASON_FOR_CHANGE_FORM_CONTROL_NAME;\n sketchTool;\n selectedGraphic = null;\n isMapLoaded = false;\n mapComponent;\n layerReference = \"Feature graphics\";\n selectedPOISubjectSubscription;\n getApplicationsQuerySubscription;\n selectedStreetSubjectSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getFeatures() {\n return this.locationForm.get(this.featuresFormArrayName);\n }\n ngOnInit() {\n this.initForm();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.subscribeToSelectedPOI();\n this.subscribeToSelectedStreet();\n this.subscribeToClearGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPOIEnabled = true;\n this.mapService.actionStreetEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.initializeSketchTools();\n }\n ngOnDestroy() {\n this.mapService.actionPOIEnabled = false;\n this.mapService.actionStreetEnabled = false;\n }\n loadMetadata() {\n }\n hasControlValidator(control) {\n if (control.validator) {\n const validator = control.validator({});\n if (validator && validator.required) {\n return true;\n }\n }\n }\n onBtnAddAlternativeNameClicked(featureIndex) {\n const alternativeNameGroup = new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n });\n const alternativeNamesFromArray = this.getAlternativeNameFormControls(featureIndex);\n alternativeNamesFromArray.setValidators(Validators.required);\n alternativeNamesFromArray.updateValueAndValidity();\n alternativeNamesFromArray.push(alternativeNameGroup);\n this.changeDetectorRefs.markForCheck();\n }\n onBtnRemoveAlternativeNameClicked(featureIndex, alternativeDetailsIndex) {\n const alternativeNamesFromArray = this.getAlternativeNameFormControls(featureIndex);\n alternativeNamesFromArray.removeAt(alternativeDetailsIndex);\n if (alternativeNamesFromArray.controls.length > 0) {\n alternativeNamesFromArray.removeAt(alternativeDetailsIndex);\n }\n if (alternativeNamesFromArray.controls.length === 0) {\n this.resetAlternativeNames(alternativeNamesFromArray);\n }\n this.changeDetectorRefs.markForCheck();\n }\n getAlternativeNameFormControls(featureIndex) {\n return this.getFeatures().controls[featureIndex].get(this.proposedAlternativeNameFormArrayName);\n }\n onStreetOrFeatureSelected($event, featureIndex) {\n const streetOrFeatureSelected = $event.target.value;\n if (streetOrFeatureSelected?.trim()?.toLowerCase() === \"street\") {\n this.configureStreetSelected();\n }\n if (streetOrFeatureSelected?.trim()?.toLowerCase() === \"feature\") {\n this.configureFeatureSelected(featureIndex);\n }\n }\n onPublicOrPrivateSelected($event, featureIndex) {\n const publicOrPrivateSelected = $event.target.value;\n if (publicOrPrivateSelected?.trim()?.toLowerCase() === \"public\") {\n this.handlePublicValue(featureIndex);\n }\n if (publicOrPrivateSelected?.trim()?.toLowerCase() === \"private\") {\n this.handlePrivate(featureIndex);\n }\n this.hidePrivateAreaOrEstateNameFieldIfNoExistingName();\n this.changeDetectorRefs.detectChanges();\n }\n onHaveExistingNameSelected($event, featureIndex) {\n const haveExistingNameSelected = $event.target.value;\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"yes\") {\n this.handlePropertyOrFeatureHasExistingName(featureIndex);\n }\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"no\") {\n this.handlePropertyOrFeatureHasNoExistingName(featureIndex);\n }\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveFeature(featureIndex) {\n this.getFeatures().removeAt(featureIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.locationForm = this.aflaModuleStrategyService.form.get(this.locationFormGroupName);\n if (this.locationForm.pristine && this.selectedApplication === null) {\n this.locationForm.reset();\n }\n else {\n if (this.locationForm.touched && this.locationForm.dirty && this.locationForm.controls.features.controls.length > 0) {\n this.setApplication();\n }\n }\n this.activeTabIndex = 0;\n }\n setPOIData(poiAttributes, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"GetPOIData\");\n let newPOIFormGroup;\n if (poiAttributes) {\n newPOIFormGroup = this.setNewPOIFormGroup(poiAttributes, geometry);\n }\n else {\n newPOIFormGroup = this.createNewPOIFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(newPOIFormGroup);\n this.setFeatureTrueCentroidData(newPOIFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"POIData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n const features = this.getFeatures().controls;\n if (features.length > 0) {\n this.getFeatures().controls.forEach(featureControl => {\n const geom = featureControl.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToSelectedPOI() {\n this.selectedPOISubjectSubscription = this.mapService.$selectedPOISubject.pipe(debounceTime(1000)).subscribe(poi => {\n if (poi !== null) {\n const objectId = this.featureDataAlternateColumnName(poi.attributes, \"OBJECTID\", \"objectid\");\n const featureHasAlreadyBeenAddedBefore = this.checkIfSelectedFeatureHasAlreadyBeenAdded(objectId);\n if (!featureHasAlreadyBeenAddedBefore) {\n this.setPOIData(poi.attributes, poi.geometry);\n }\n }\n });\n }\n configureStreetSelected() {\n this.showStreetFields();\n this.changeDetectorRefs.detectChanges();\n }\n // show all fields that should be visible when streets is selected.\n showStreetFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n configureFeatureSelected(featureIndex) {\n this.hideAreaEstateField(featureIndex);\n }\n handlePublicValue(featureIndex) {\n this.addFeatureTypeField(featureIndex);\n this.removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex);\n // this.hidePrivateStreetAreaOrEstateNameField(featureIndex);\n this.displayPrivateStreetAreaOrEstateNameField(featureIndex);\n }\n handlePrivate(featureIndex) {\n this.hideFeatureTypeField(featureIndex);\n this.addRequiredValidatorOnTheAreaEstateNameField(featureIndex);\n this.displayPrivateStreetAreaOrEstateNameField(featureIndex);\n }\n displayPrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.addValidators(Validators.required);\n areaEstateNameControl.updateValueAndValidity();\n }\n }\n hideFeatureTypeField(featureIndex) {\n const featureTypeControl = this.getFeatures().controls[featureIndex].get(this.featureTypeFormControlName);\n featureTypeControl.clearValidators();\n featureTypeControl.reset(\"\");\n featureTypeControl.disable();\n this.showFeatureTypeField = false;\n }\n addRequiredValidatorOnTheAreaEstateNameField(featureIndex) {\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.addValidators(Validators.required);\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n areaEstateNameControl.updateValueAndValidity();\n }\n removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.clearValidators();\n areaEstateNameControl.setValue(\"\");\n areaEstateNameControl.updateValueAndValidity();\n }\n }\n hidePrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n this.showRequiredAsteriskForTheAreaEstateNameField = false;\n this.showPrivateStreetAreaOrEstateNameField = false;\n }\n }\n addFeatureTypeField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n const featureTypeControl = this.getFeatures().controls[featureIndex].get(this.featureTypeFormControlName);\n // only show feature filed if the feature is public\n if (streetOrFeatureValue.trim().toLowerCase() === \"feature\") {\n this.showFeatureTypeField = true;\n featureTypeControl.enable();\n featureTypeControl.addValidators(Validators.required);\n featureTypeControl.updateValueAndValidity();\n }\n }\n hideAreaEstateField(featureIndex) {\n this.removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex);\n this.showPrivateStreetAreaOrEstateNameField = false;\n }\n handlePropertyOrFeatureHasExistingName(featureIndex) {\n this.addRequiredValidatorOnTheCurrentNameField(featureIndex);\n this.showCurrentNameField = true;\n }\n addRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.enable();\n currentNameControl.addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n currentNameControl.updateValueAndValidity();\n }\n handlePropertyOrFeatureHasNoExistingName(featureIndex) {\n this.removeRequiredValidatorOnTheCurrentNameField(featureIndex);\n this.showCurrentNameField = false;\n }\n removeRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.clearValidators();\n currentNameControl.setValue(\"\");\n this.showRequiredAsteriskForTheCurrentNameField = false;\n currentNameControl.updateValueAndValidity();\n }\n setStreetData(streetAttributes, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"GetPOIData\");\n let newStreetFormGroup;\n if (streetAttributes) {\n newStreetFormGroup = this.setNewStreetsFormGroup(streetAttributes, geometry);\n }\n else {\n newStreetFormGroup = this.createNewStreetsFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(newStreetFormGroup);\n this.setFeatureTrueCentroidData(newStreetFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"POIData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n }\n subscribeToSelectedStreet() {\n this.selectedStreetSubjectSubscription = this.mapService.$selectedStreetSubject.pipe(debounceTime(500)).subscribe(street => {\n if (street !== null) {\n const objectId = this.featureDataAlternateColumnName(street.attributes, \"OBJECTID\", \"objectId\");\n const featureHasAlreadyBeenAddedBefore = this.checkIfSelectedFeatureHasAlreadyBeenAdded(objectId);\n if (!featureHasAlreadyBeenAddedBefore) {\n this.setStreetData(street.attributes, street.geometry);\n }\n }\n });\n }\n featureDataAlternateColumnName(featureObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(featureObject)) {\n if (key === name1) {\n returnVal = featureObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = featureObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = featureObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n resetAlternativeNames(alternativeNamesFromArray) {\n alternativeNamesFromArray.reset();\n }\n checkIfSelectedFeatureHasAlreadyBeenAdded(objectId) {\n let featureHasAlreadyBeenAddedBefore = false;\n this.getFeatures().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n featureHasAlreadyBeenAddedBefore = true;\n this.appController.showMessage(CreateApplicationLocationSnConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n return featureHasAlreadyBeenAddedBefore;\n }\n createNewPOIFormGroup(geometry) {\n return new FormGroup({\n objectId: new FormControl(null),\n currentName: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Feature\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n ward: new FormControl(null, Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n setNewPOIFormGroup(poiObject, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(poiObject, \"OBJECTID\", \"objectid\")),\n currentName: new FormControl(this.featureDataAlternateColumnName(poiObject, \"Name\", \"name\"), [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Feature\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n ward: new FormControl(this.featureDataAlternateColumnName(poiObject, \"Ward\", \"ward\"), Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(this.featureDataAlternateColumnName(poiObject, \"AlternativeName\", \"alternativename\"), Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n centroid: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n });\n }\n setNewStreetsFormGroup(streetAttributes, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"OBJECTID\", \"objectid\")),\n currentName: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"Name\", \"name\"), [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Street\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n ward: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"Ward\", \"ward\"), Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"AlternativeName\", \"alternativename\"), Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n });\n }\n createNewStreetsFormGroup(geometry) {\n return new FormGroup({\n objectId: new FormControl(null),\n currentName: new FormControl(null, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Street\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n ward: new FormControl(null, Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n });\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setFeatureTrueCentroidData(newFormGroup, trueCentroidResponse) {\n const featuresArray = this.getFeatures();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featuresArray?.clear();\n featuresArray.push(newFormGroup);\n this.activeTabIndex = featuresArray.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n initializeSketchTools() {\n this.sketchTool = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketchTool.create(\"polygon\");\n this.sketchTool.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.handleSketchComplete(event);\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n }\n handleSketchComplete(event) {\n this.selectedGraphic = event.graphic;\n if (this.selectedGraphic.geometry.type === \"polygon\") {\n this.setPOIData(this.selectedGraphic.attributes, this.selectedGraphic.geometry);\n }\n if (this.selectedGraphic.geometry.type === \"polyline\") {\n this.setStreetData(this.selectedGraphic.attributes, this.selectedGraphic.geometry);\n }\n }\n configureInitialFeatureForm(formGroup) {\n const streetOrFeatureValue = formGroup.get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.configureFormsForSelectedStreet(formGroup);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.configureFormsForSelectedFeature(formGroup);\n }\n this.showOrHideCurrentNameField(formGroup);\n }\n configureFormsForSelectedFeature(formGroup) {\n this.clearValidationOfStreetSpecificFields(formGroup);\n this.hideStreetSpecificFields();\n this.clearFeatureTypeValidators(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n clearValidationOfStreetSpecificFields(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset(\"\");\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).disable();\n // formGroup.get(this.currentNameFormControlName).enable();\n // formGroup.get(this.currentNameFormControlName).reset(\"\");\n // formGroup.get(this.currentNameFormControlName).clearValidators();\n // formGroup.get(this.currentNameFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n hideStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = false;\n this.showCurrentNameField = true;\n }\n clearFeatureTypeValidators(formGroup) {\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.updateValueAndValidity();\n }\n hideFeatureSpecificFields() {\n this.showFeatureTypeField = false;\n }\n configureFormsForSelectedStreet(formGroup) {\n this.showStreetSpecificFields();\n this.addStreetSpecificFieldsValidators(formGroup);\n this.clearValidationOfFeatureSpecificFields(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n addStreetSpecificFieldsValidators(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showPrivateStreetAreaOrEstateNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.updateValueAndValidity();\n }\n showStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n clearValidationOfFeatureSpecificFields(formGroup) {\n formGroup.get(this.featureTypeFormControlName).reset(\"\");\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.get(this.featureTypeFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showOrHideCurrentNameField(formGroup) {\n const currentNameValue = formGroup.get(this.currentNameFormControlName).value;\n if (currentNameValue) {\n this.showCurrentNameField = true;\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.haveExistingNameFormControlName).setValue(\"Yes\");\n formGroup.get(this.haveExistingNameFormControlName).setValidators(Validators.required);\n formGroup.get(this.currentNameFormControlName).setValidators(Validators.required);\n }\n else {\n this.showRequiredAsteriskForTheCurrentNameField = false;\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).setValue(\"\");\n formGroup.get(this.haveExistingNameFormControlName).setValue(\"No\");\n formGroup.get(this.currentNameFormControlName).updateValueAndValidity();\n formGroup.get(this.currentNameFormControlName).disable();\n this.showCurrentNameField = false;\n }\n formGroup.get(this.streetOrFeatureFormControlName).updateValueAndValidity();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getFeatures().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.locationForm.reset();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n checkApplicationData() {\n const isFormPristine = this.locationForm.pristine;\n const isFormUnTouched = this.locationForm.untouched;\n const isFormInvalid = this.locationForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.getApplicationLocationDetails(this.selectedApplication);\n }\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: `location($expand=alternativeNames),line,polygon`,\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appController.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.location = response.value[0]?.location;\n application.line = response.value[0]?.line;\n application.polygon = response.value[0]?.polygon;\n this.onGetApplicationDataCompleted(application);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getFeatures().clear();\n const shape = application.location.streetOrFeature?.toLowerCase() === \"street\" ? application.line.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getFeatures();\n const featureFormGroup = this.createFeatureFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(featureFormGroup);\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationSnConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createFeatureFormGroup(application) {\n let geometryArc;\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"street\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.line.shape, 102100);\n }\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"feature\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const featureFormGroup = new FormGroup({\n objectId: new FormControl({ value: application.location.id, disabled: true }),\n currentName: new FormControl(application.location.currentName, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl(application.location.streetOrFeature),\n publicOrPrivate: new FormControl(application.location.publicOrPrivate, Validators.required),\n areaEstateName: new FormControl(application.location.areaEstateName),\n isNewDevelopment: new FormControl(application.location.isNewDevelopment, Validators.required),\n haveExistingName: new FormControl(application.location.haveExistingName, Validators.required),\n locationDescription: new FormControl(application.location.locationDescription, Validators.required),\n geometry: new FormControl(geom),\n ward: new FormControl(application.location.ward, Validators.required),\n proposedName: new FormControl(application.location.proposedName, Validators.required),\n proposedNameLanguage: new FormControl(application.location.proposedNameLanguage, Validators.required),\n proposedNameMeaning: new FormControl(application.location.proposedNameMeaning, Validators.required),\n proposedNameOrigin: new FormControl(application.location.proposedNameOrigin, Validators.required),\n featureType: new FormControl(application.location.featureType, Validators.required),\n reasonForChange: new FormControl(application.location.reasonForChange, Validators.required),\n alternativeNames: new FormArray([], Validators.required)\n });\n const alternativeNamesControl = featureFormGroup.get(this.proposedAlternativeNameFormArrayName);\n application.location.alternativeNames.forEach((alternativeNameDetails) => {\n const alternativeGroup = new FormGroup({\n id: new FormControl(alternativeNameDetails.id),\n deleted: new FormControl(false),\n name: new FormControl(alternativeNameDetails.name, Validators.required),\n language: new FormControl(alternativeNameDetails.language, Validators.required),\n meaning: new FormControl(alternativeNameDetails.meaning, Validators.required)\n });\n alternativeNamesControl.push(alternativeGroup);\n });\n return featureFormGroup;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n setApplication() {\n const featureFormArray = this.locationForm.controls.features;\n const selectedFeatureFormGroup = featureFormArray.controls[0];\n const haveExistingNameSelected = selectedFeatureFormGroup.get(this.haveExistingNameFormControlName).value;\n if (haveExistingNameSelected) {\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"yes\") {\n this.handlePropertyOrFeatureHasExistingName(0);\n }\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"no\") {\n this.handlePropertyOrFeatureHasNoExistingName(0);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n hidePrivateAreaOrEstateNameFieldIfNoExistingName() {\n const featureFormArray = this.locationForm.controls.features;\n const selectedFeatureFormGroup = featureFormArray.controls[0];\n const publicOrPrivate = selectedFeatureFormGroup.get(this.publicOrPrivateFormControlName).value;\n if (publicOrPrivate.toLowerCase() === \"public\") {\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).setValue(\"\");\n this.showRequiredAsteriskForTheAreaEstateNameField = false;\n }\n else {\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset();\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n }\n this.showPrivateStreetAreaOrEstateNameField = true;\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationSnComponent = __decorate([\n Component({\n selector: \"app-create-application-location-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationSnComponent);\nexport { CreateApplicationLocationSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationSnConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n // static readonly REMOVE_POI_LABEL = \"Remove POI\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the POI for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct POI and click on the POI. Click on 'add POI' in the window that appears on the map after you selected the POI.\";\n static DESCRIPTION_LABEL_3 = \"The POI will be added and the fields must be completed for the POI. Please note that only one POI can be added.\";\n static PROPERTY_REQUIRED = \"Please select a street / POI before continuing with the create application process\";\n static STREET_OR_FEATURE_LABEL = \"Are you requesting the renaming of a street or feature?\";\n static PUBLIC_OR_PRIVATE_LABEL = \"Is the street public or private?\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL = \"Private street area or estate name\";\n static IS_NEW_DEVELOPMENT_NAME_LABEL = \"Is the street / feature an existing street or a new development.\";\n static HAVE_EXISTING_NAME_LABEL = \"Does the street / feature have an existing name?\";\n static CURRENT_NAME_LABEL = \"Current name?\";\n static LOCATION_DESCRIPTION_LABEL = \"Description of the street's / feature's location\";\n static WARD_LABEL = \"Ward of the street / feature\";\n static PROPOSED_NAME_LABEL = \"Proposed name of the street / feature: First choice\";\n static PROPOSED_NAME_LANGUAGE_LABEL = \"Which language is the proposed name of the street / feature derived?\";\n static PROPOSED_NAME_MEANING_LABEL = \"What is the meaning of the name / feature?\";\n static PROPOSED_NAME_ORIGIN_LABEL = \"Give the origin of the name if you know it and rationale for changing the name. Also provide the significance of the name.\";\n static PROPOSED_ALTERNATIVE_NAME_LABEL = \"Alternative name of the street / feature:\";\n static LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the language of the alternative name?\";\n static MEANING_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the meaning of the alternative name?\";\n static FEATURE_TYPE_LABEL = \"Which feature is the proposed name intended? (e.g. post office, railway station, town, township, suburb, mountain, settlement, village)\";\n static REASON_FOR_CHANGE_LABEL = \"In the case of a proposed change of a name, give the reasons for the change \";\n static REMOVE_FEATURE_LABEL = \"Remove feature\";\n static FEATURES_FORM_ARRAY_NAME = \"features\";\n static LOCATION_FORM_GROUP_NAME = \"locationForm\";\n static STREET_OR_FEATURE_FORM_CONTROL_NAME = \"streetOrFeature\";\n static PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME = \"publicOrPrivate\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME = \"areaEstateName\";\n static IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME = \"isNewDevelopment\";\n static HAVE_EXISTING_NAME_FORM_CONTROL_NAME = \"haveExistingName\";\n static CURRENT_NAME_FORM_CONTROL_NAME = \"currentName\";\n static LOCATION_DESCRIPTION_FORM_CONTROL_NAME = \"locationDescription\";\n static WARD_FORM_CONTROL_NAME = \"ward\";\n static PROPOSED_NAME_FORM_CONTROL_NAME = \"proposedName\";\n static PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME = \"proposedNameLanguage\";\n static PROPOSED_NAME_MEANING_FORM_CONTROL_NAME = \"proposedNameMeaning\";\n static PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME = \"proposedNameOrigin\";\n static PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME = \"alternativeNames\";\n static FEATURE_TYPE_FORM_CONTROL_NAME = \"featureType\";\n static REASON_FOR_CHANGE_FORM_CONTROL_NAME = \"reasonForChange\";\n static DUPLICATE_MESSAGE = \"The selected POI has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static STREET_OR_FEATURE_LOOKUPS = [\n { code: \"Street\", value: \"Street\" },\n { code: \"Feature\", value: \"Feature\" }\n ];\n static PUBLIC_OR_PRIVATE_LOOKUPS = [\n { code: \"Public\", value: \"Public\" },\n { code: \"Private\", value: \"Private\" }\n ];\n static IS_NEW_DEVELOPMENT_LOOKUPS = [\n { code: \"Existing\", value: \"Existing\" },\n { code: \"New development\", value: \"New development\" }\n ];\n static HAVE_EXISTING_NAME_LOOKUPS = [\n { code: \"No\", value: \"No\" },\n { code: \"Yes\", value: \"Yes\" }\n ];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false,\n circle: false,\n polyline: false,\n rectangle: false\n },\n selectionTools: {\n \"lasso-selection\": false,\n \"rectangle-selection\": false\n }\n };\n static LINE_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false,\n circle: false,\n polygon: false,\n rectangle: false\n },\n selectionTools: {\n \"lasso-selection\": false,\n \"rectangle-selection\": false\n }\n };\n static VALIDATION_MESSAGES = {\n streetOrFeature: {\n required: `Street or feature ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, publicOrPrivate: {\n required: `Public or public ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, areaEstateName: {\n required: `Area estate name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isNewDevelopment: {\n required: `Is new development ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, haveExistingName: {\n required: `Have existing name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, currentName: {\n required: `Current name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, locationDescription: {\n required: `Location description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, ward: {\n required: `Ward ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedName: {\n required: `Proposed name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameLanguage: {\n required: `Proposed name language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameMeaning: {\n required: `Proposed name meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameOrigin: {\n required: `Proposed name origin ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, featureType: {\n required: `Feature type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, reasonForChange: {\n required: `Reason for change ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, language: {\n required: `Language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, meaning: {\n required: `Meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsTmamsConstants } from \"./create-application-details-tmams.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsTmamsComponent = class CreateApplicationDetailsTmamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n applicationTypeCtrl = CreateApplicationDetailsTmamsConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsTmamsConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsTmamsConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsTmamsConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsTmamsConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsTmamsConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDetailsTmamsSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsTmamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsTmamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsTmamsComponent);\nexport { CreateApplicationDetailsTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsTmamsConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { CreateLocationTmConstants } from \"./create-application-location-tmams.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationTmamsComponent = class CreateApplicationLocationTmamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active = 0;\n propertiesForm;\n descriptionLabel1 = CreateLocationTmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateLocationTmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateLocationTmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateLocationTmConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateLocationTmConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateLocationTmConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateLocationTmConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateLocationTmConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateLocationTmConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateLocationTmConstants.SG_CODE_CONTROL;\n addressControl = CreateLocationTmConstants.ADDRESS_CONTROL;\n ownerControl = CreateLocationTmConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateLocationTmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateLocationTmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateLocationTmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateLocationTmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateLocationTmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateLocationTmConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateLocationTmConstants.OWNER_LABEL;\n copyOwnerLabel = CreateLocationTmConstants.COPY_OWNER_LABEL;\n removePropertyLabel = CreateLocationTmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n tmApplication;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n selectedApplicationDetailsTpamsSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, mapTools, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n checkSave() {\n this.selectedApplicationDetailsTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.tmApplication = app;\n if (this.tmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateLocationTmConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationTmConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateLocationTmConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Traing management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.tmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Traing management graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.tmApplication.properties && this.tmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationTmConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n onCopyOwnerToApplicant(propertyIndex) {\n if (propertyIndex < 0 || propertyIndex >= this.getProperties().controls.length) { }\n const owners = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n if (!owners) { }\n const selectedOwners = owners.value ? owners.value.filter(x => x.selected === true) : [];\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateLocationTmConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateLocationTmConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n let applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateLocationTmConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationTmamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationTmamsComponent);\nexport { CreateApplicationLocationTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateLocationTmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Training management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","var CreateApplicationDetailsTpamsComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-tpams.component.scss?ngResource\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsTpamsConstants } from \"./create-application-details-tpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsTpamsComponent = class CreateApplicationDetailsTpamsComponent extends CreateApplicationViewBaseComponent {\n static { CreateApplicationDetailsTpamsComponent_1 = this; }\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n // form controls\n detailsFormControlName = CreateApplicationDetailsTpamsConstants.DETAILS_FORM_CONTROL_NAME;\n descriptionFormControlName = CreateApplicationDetailsTpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n referenceNumberControlName = CreateApplicationDetailsTpamsConstants.REFERENCE_NUMBER_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = CreateApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n zonesFormControlName = CreateApplicationDetailsTpamsConstants.ZONES_FORM_CONTROL_NAME;\n zoneFormControlName = CreateApplicationDetailsTpamsConstants.ZONE_FORM_CONTROL_NAME;\n rezoneConfirmationControlName = CreateApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME;\n // labels\n addApplicationTypeLabel = CreateApplicationDetailsTpamsConstants.ADD_APPLICATION_TYPE_LABEL;\n addZoneLabel = CreateApplicationDetailsTpamsConstants.ADD_ZONE_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPE_LABEL;\n zoneLabel = CreateApplicationDetailsTpamsConstants.ZONE_LABEL;\n descriptionLabel = CreateApplicationDetailsTpamsConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = CreateApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n referenceNumberLabel = CreateApplicationDetailsTpamsConstants.REFERENCE_NUMBER_LABEL;\n validationMessages = CreateApplicationDetailsTpamsConstants.VALIDATION_MESSAGES;\n applicationTypeLookupName = SharedConstants.APPLICATION_TYPE_LOOKUP_NAME;\n zoningLookupName = SharedConstants.ZONING_LOOKUP_NAME;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n zones = [];\n showRefNumber = false;\n fullApplicationCheckRequired = false;\n rezoneConfirmationLabel = CreateApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_LABEL;\n rezoneKeywordRezone = CreateApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONE;\n rezoneKeywordRezoning = CreateApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONING;\n isRezoning = false;\n rezoningChecked = false;\n applicationTypesControl;\n appZones = [];\n selectedApplicationDetailsTpamsSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n static removeControlsByIndex(controls, index) {\n if (controls.controls.length > 1) {\n controls.removeAt(index);\n }\n }\n static setControlValue(formGroup, controlName, value, disableControl = false) {\n const formControl = formGroup.get(controlName);\n formControl.setValue(value);\n if (disableControl) {\n formControl.disable();\n }\n }\n ngOnInit() {\n this.initForm();\n this.getApplicationTypeAndZoningLookups();\n }\n loadMetadata() {\n // step does not use metadata\n }\n getApplicationTypes() {\n return this.detailsForm.get(this.applicationTypesFormControlName);\n }\n onBtnRemoveApplicationTypeClicked(i) {\n const controls = this.getApplicationTypes();\n CreateApplicationDetailsTpamsComponent_1.removeControlsByIndex(controls, i);\n }\n getZones() {\n return this.detailsForm.get(this.zonesFormControlName);\n }\n onBtnRemoveZoneClicked(i) {\n const controls = this.getZones();\n CreateApplicationDetailsTpamsComponent_1.removeControlsByIndex(controls, i);\n }\n onBtnAddApplicationTypeClicked() {\n this.applicationTypesControl = this.getApplicationTypes();\n const typeGroup = new FormGroup({\n type: new FormControl(null, [Validators.required])\n });\n this.applicationTypesControl.push(typeGroup);\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.detailsFormControlName);\n const zonesControl = this.getZones();\n zonesControl.clear();\n this.isRezoning = false;\n }\n getApplicationTypeAndZoningLookups() {\n const filterString = `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq '${this.applicationTypeLookupName}' or name eq '${this.zoningLookupName}')`;\n const params = {\n $filter: filterString,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === this.applicationTypeLookupName) {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === this.zoningLookupName) {\n this.zones.push(JSON.parse(item.content));\n }\n });\n this.sortZoneDropDownAlphabetically();\n this.sortApplicationTypesAlphabetically();\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n if (application.referenceNumber) {\n this.showRefNumber = true;\n this.detailsForm.get(this.referenceNumberControlName).enable();\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.referenceNumberControlName, application.referenceNumber, true);\n }\n else {\n this.showRefNumber = false;\n }\n if (application.description) {\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.descriptionFormControlName, application.description);\n }\n else {\n this.detailsForm.get(this.descriptionFormControlName).enable();\n }\n if (application.amendmentSchemeNumber) {\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.amendmentSchemeNumberFormControlName, application.amendmentSchemeNumber);\n }\n else {\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).enable();\n }\n if (application.applicationTypes && application.applicationTypes.length > 0) {\n application.applicationTypes.forEach(element => {\n if (element.applicationType.toLowerCase().includes(this.rezoneKeywordRezone) || element.applicationType.toLowerCase().includes(this.rezoneKeywordRezone)) {\n this.isRezoning = true;\n this.rezoningChecked = true;\n this.changeDetectorRef.markForCheck();\n }\n });\n const appTypes = application.applicationTypes;\n this.setTypes(appTypes);\n }\n if (application.applicationZonings && application.applicationZonings.length > 0) {\n const appZones = application.applicationZonings;\n this.setZones(appZones);\n }\n }\n setTypes(appTypes) {\n const typesControl = this.getApplicationTypes();\n typesControl.clear();\n // sets application types from the application\n appTypes.forEach(applicationType => {\n let appType = null;\n this.applicationTypes.forEach(item => {\n if (item.value === applicationType.applicationType) {\n appType = item;\n }\n });\n const typeGroup = new FormGroup({\n id: new FormControl(applicationType.id),\n applicationId: new FormControl(applicationType.applicationId),\n type: new FormControl(appType, Validators.min(1)),\n jobId: new FormControl(this.jobId)\n });\n typesControl.push(typeGroup);\n });\n }\n setZones(appZones) {\n const zonesControl = this.getZones();\n zonesControl.clear();\n appZones.forEach(applicationZoning => {\n let zone = null;\n this.zones.forEach(item => {\n if (item.value === applicationZoning.zoning) {\n zone = item;\n }\n });\n const zoneGroup = new FormGroup({\n id: new FormControl(applicationZoning.id),\n applicationId: new FormControl(applicationZoning.applicationId),\n applicationPropertyId: new FormControl(applicationZoning.applicationPropertyId),\n zone: new FormControl(zone, Validators.min(1)),\n jobId: new FormControl(this.jobId)\n });\n zonesControl.push(zoneGroup);\n });\n }\n sortZoneDropDownAlphabetically() {\n if (this.zones.length > 0) {\n this.zones.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n }\n sortApplicationTypesAlphabetically() {\n if (this.applicationTypes.length > 0) {\n this.applicationTypes.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n }\n onApplicationTypeSelected(event) {\n const element = event.target;\n const selectedText = element.options[element.options.selectedIndex].text;\n this.isRezoning = selectedText.toLowerCase().includes(this.rezoneKeywordRezone) ||\n selectedText.toLowerCase().includes(this.rezoneKeywordRezoning);\n if (!this.isRezoning) {\n this.rezoningChecked = this.isRezoning;\n }\n }\n onRezoningChecked(event) {\n const element = event.target.checked;\n this.rezoningChecked = element;\n const zonesControl = this.getZones();\n if (this.rezoningChecked) {\n zonesControl.clear();\n this.onBtnAddZoneClicked();\n }\n else {\n zonesControl.clear();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsTpamsComponent = CreateApplicationDetailsTpamsComponent_1 = __decorate([\n Component({\n selector: \"app-create-application-details-tpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsTpamsComponent);\nexport { CreateApplicationDetailsTpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsTpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_NUMBER_LABEL = \"File number\";\n static AMENDMENT_SCHEME_NUMBER_LABEL = \"Amendment scheme number\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static ZONE_LABEL = \"New property zone\";\n static FILE_NUMBER_FORM_CONTROL_NAME = \"fileNumber\";\n static DETAILS_FORM_CONTROL_NAME = \"detailsForm\";\n static AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME = \"amendmentSchemeNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_APPLICATION_TYPE_LABEL = \"Add application type\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-tpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationTpamsConstants } from \"./create-application-location-tpams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiModuleConstants } from \"../../../../shared/constants/api-constants/api-module.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { MapServiceConstants } from \"../../../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationTpamsComponent = class CreateApplicationLocationTpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n showPropertyForm = false;\n descriptionLabel1 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationTpamsConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationTpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationTpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationTpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationTpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationTpamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationTpamsConstants.ADDRESS_CONTROL;\n buildingUseControl = CreateApplicationLocationTpamsConstants.BUILDING_USE_CONTROL;\n erfSizeControl = CreateApplicationLocationTpamsConstants.ERF_SIZE_CONTROL;\n buildingFloorAreaControl = CreateApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_CONTROL;\n titleDeedControl = CreateApplicationLocationTpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = CreateApplicationLocationTpamsConstants.ZONE_CONTROL;\n ownerControl = CreateApplicationLocationTpamsConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationTpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationTpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationTpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationTpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationTpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationTpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n buildingUseTextPlaceHolder = CreateApplicationLocationTpamsConstants.BUILDING_USE_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationTpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n buildingFloorAreaTextPlaceHolder = CreateApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = CreateApplicationLocationTpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = CreateApplicationLocationTpamsConstants.ZONE_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n addZoneLabel = CreateApplicationLocationTpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = CreateApplicationLocationTpamsConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateApplicationLocationTpamsConstants.COPY_OWNER_LABEL;\n ownerLabel = CreateApplicationLocationTpamsConstants.OWNER_LABEL;\n layerReference = CreateApplicationLocationTpamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n fullApplicationCheckRequired = true;\n showOnlyPropertyAndZoningLayers = false;\n missingZoneList = new Map();\n applicantGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n hasLoadedApplicationProperties = false;\n missingZoneTuple;\n selectedPropertySubscription;\n sendMissingLookupsEmailSubscription;\n selectedApplicatioLocationTpamsSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n get getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n ngOnInit() {\n this.checkAndInitialiseLookups();\n this.initForm();\n this.getMetadata();\n this.subscribeToProperty();\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones(propertyIndex) {\n return this.getProperties.controls[propertyIndex].get(\"zones\");\n }\n onBtnRemoveZoneClicked(propertyIndex, zoneIndex) {\n const controls = this.getZones(propertyIndex);\n if (controls.controls.length > 1) {\n controls.removeAt(zoneIndex);\n }\n }\n onBtnAddZoneClicked(propertyIndex) {\n const zonesControl = this.getZones(propertyIndex);\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties.removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n getMissingZones(index) {\n if (this.missingZoneList && this.missingZoneList.size > 0) {\n // send email to module admin if it has not already been sent\n this.missingZoneTuple = this.missingZoneList.get(index);\n if (this.missingZoneTuple[1] === false) {\n this.sendEmailMissingLookupForZones(this.missingZoneTuple[0]);\n this.missingZoneTuple = [this.missingZoneTuple[0], true];\n this.missingZoneList.set(index, this.missingZoneTuple);\n }\n let zones = \"\";\n let count = 1;\n this.missingZoneTuple[0].forEach((zone) => {\n zones += zone + (count < zone.length ? \"|\" : \"\");\n count++;\n });\n return `${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL} ${zones} ${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL_EMAIL}`;\n }\n }\n updatePropertyRequiredFields(newProperty) {\n const erfNoControl = newProperty.get(this.erfNoControl);\n const farmNoControl = newProperty.get(this.farmNoControl);\n const subdivisionControl = newProperty.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(formControl, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n formControl.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.getProperties.controls.forEach(control => {\n control.get(this.erfSizeControl).setValidators([Validators.required]);\n control.get(this.erfSizeControl).updateValueAndValidity();\n });\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'Zoning'`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (lookupResponse) => this.onGetLookupsCompleted(lookupResponse),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"Zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zones\", zones);\n this.zones = zones;\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n this.changeDetectorRefs.detectChanges();\n }\n setPropertyAttributes(propertyAttributes, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n try {\n this.showPropertyForm = true;\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"SgCode\", \"sgcode\");\n const duplicateFound = CreateApplicationUtils.checkIfPropertyIsADuplicate(sgCode, this.getProperties, this.appController, this.requestStatusService);\n if (!duplicateFound) {\n const newPropertyFormGroup = CreateApplicationUtils.createNewPropertyFormGroup(propertyAttributes, sgCode, geometry);\n this.applicationCreateService.getPropertyCentroidObservable(geometry).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n this.queryZoningLayer(sgCode, newPropertyFormGroup);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n catch (e) {\n this.appController.handleServerErrorMessage(\"getTrueCentroid\", e, CRUDOperation.Get);\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties.controls.forEach(propertyControl => {\n const geom = propertyControl.get(\"geometry\").value;\n if (geom) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Town planning graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Town planning graphics\");\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(propertyData => {\n if (propertyData !== null) {\n this.setPropertyAttributes(propertyData.attributes, propertyData.geometry);\n }\n });\n }\n sendEmailMissingLookupForZones(missingLookupsForZones) {\n const url = `${ApiModuleConstants.URL}/${ApiModuleConstants.MISSING_LOOKUP_EMAIL_REQUEST_URL}`;\n const params = {\n moduleId: this.applicationCreateService.moduleID, lookupType: \"Zoning\", lookupList: missingLookupsForZones\n };\n this.sendMissingLookupsEmailSubscription = this.applicationCreateService.sendMissingLookupsEmail(url, params)\n .subscribe({\n next: () => {\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(`${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL_EMAIL_FAILED}`, error, CRUDOperation.Selecting);\n }\n });\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.showPropertyForm = false;\n this.getProperties.clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n sortZones() {\n // sort zones dropdown alphabetically\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n queryZoningLayer(sgCode, newPropertyFormGroup) {\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER);\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n this.handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (zoningError) => {\n this.appController.showMessage(zoningError.message, AlertType.Error);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.sortZones();\n }\n else {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet) {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = CreateApplicationUtils.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\");\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zones.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (foundZone !== null) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(foundZone, [Validators.required])\n }));\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n if (zonesControl.length === 0) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n }\n }\n setPropertyTabs(newPropertyFormGroup) {\n const propertyControl = this.getProperties;\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicatioLocationTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData();\n }\n });\n }\n setupSubscribers() {\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.clearPropertyData();\n let tabIndex = 0;\n this.selectedApplication.properties.sort((a, b) => (b?.id - a?.id));\n this.selectedApplication.properties.forEach(savedProperty => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(savedProperty.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = CreateApplicationUtils.getUpdatedPropertyFormGroup(savedProperty, geom);\n this.propertiesForm.markAllAsTouched();\n this.updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex);\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n tabIndex++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n clearPropertyData() {\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n const propertyControl = this.getProperties;\n propertyControl.clear();\n this.showPropertyForm = false;\n return propertyControl;\n }\n updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex) {\n const missingLookupsForZones = [];\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n savedProperty.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zone: new FormControl(zoneOption, [Validators.required]),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n }\n });\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n if (!foundZone) {\n missingLookupsForZones.push(zone.zoning);\n this.applicationCreateService.$missingLookupsForZones.push(zone.zoning);\n }\n });\n if (missingLookupsForZones.length > 0) {\n this.missingZoneTuple = [missingLookupsForZones, false];\n this.missingZoneList.set(tabIndex, this.missingZoneTuple);\n }\n }\n checkAndInitialiseLookups() {\n this.hasLoadedApplicationProperties = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n this.selectedApplicationService.$applicationSavedSubject.next(false);\n if (this.aflaModuleStrategyService.lookups.has(\"zones\")) {\n this.zones = this.aflaModuleStrategyService.lookups.get(\"zones\");\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n }\n onCopyOwnerToApplicant(propertyIndex) {\n if (propertyIndex < 0 || propertyIndex >= this.getProperties.controls.length) { }\n const owners = this.getProperties.controls[propertyIndex].get(this.ownerControl);\n if (!owners) { }\n const selectedOwners = owners.value ? owners.value.filter(x => x.selected === true) : [];\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n let applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: true },] }]\n };\n};\nCreateApplicationLocationTpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-tpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationTpamsComponent);\nexport { CreateApplicationLocationTpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationTpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"The zoning here is the current zoning of the property and an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size (m2)\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area (m2)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static LAYER_REF = \"Town planning graphics\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingUse: {\n required: `Building use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingFloorArea: {\n required: `Building floor area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateApplicationDetailsWamsConstants } from \"./create-application-details-wams.constants\";\nimport { CompareDatesUtil } from \"../../../../shared/utils/date-field-validator.utils\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsWamsComponent = class CreateApplicationDetailsWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n datePipe;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsWamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = CreateApplicationDetailsWamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n clientReferenceNumberFormControlName = CreateApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n applicantTelecommunicationLicenseNumberFormControlName = CreateApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME;\n scopeOfWorkFormControlName = CreateApplicationDetailsWamsConstants.SCOPE_OF_WORK_FORM_CONTROL_NAME;\n estimatedConstructionCostFormControlName = CreateApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME;\n applicationFeeFormControlName = CreateApplicationDetailsWamsConstants.APPLICATION_FEE_FORM_CONTROL_NAME;\n constructionPeriodInWeeksFormControlName = CreateApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_FORM_CONTROL_NAME;\n proposedStartDateFormControlName = CreateApplicationDetailsWamsConstants.PROPOSED_START_DATE_FORM_CONTROL_NAME;\n proposedEndDateFormControlName = CreateApplicationDetailsWamsConstants.PROPOSED_END_DATE_FORM_CONTROL_NAME;\n laneClosureIsRequiredFormControlName = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME;\n laneClosureExtentFormControlName = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME;\n electricalServicesFormControlName = CreateApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsWamsConstants.DESCRIPTION_LABEL;\n clientReferenceNumberLabel = CreateApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_LABEL;\n applicantTelecommunicationLicenseNumberLabel = CreateApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL;\n scopeOfWorkFormLabel = CreateApplicationDetailsWamsConstants.SCOPE_OF_WORK_LABEL;\n estimatedConstructionCostLabel = CreateApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_LABEL;\n applicationFeeLabel = CreateApplicationDetailsWamsConstants.APPLICATION_FEE_LABEL;\n constructionPeriodInWeeksLabel = CreateApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_LABEL;\n proposedStartDateLabel = CreateApplicationDetailsWamsConstants.PROPOSED_START_DATE_LABEL;\n proposedEndDateLabel = CreateApplicationDetailsWamsConstants.PROPOSED_END_DATE_LABEL;\n laneClosureIsRequiredLabel = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_LABEL;\n laneClosureExtentLabel = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_LABEL;\n electricalServicesLabel = CreateApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_LABEL;\n applicationTypes = [];\n zones = [];\n yesNoOptions = [];\n laneClosureExtentOptions = [];\n electricalServicesOptions = [];\n dateValidationError = CreateApplicationDetailsWamsConstants.DATE_VALIDATION_ERROR;\n selectedApplicationDetailsWamsSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, datePipe, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.datePipe = datePipe;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n }\n verifyProposedDates(formControlName) {\n // checks if the startDate is >= endDate\n CompareDatesUtil.verifyProposedDates(this.detailsForm, this.proposedStartDateFormControlName, this.proposedEndDateFormControlName, formControlName, this.appControllerService);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n this.detailsForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'LaneClosureExtent' or name eq 'ElectricalServices')`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsWamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n this.laneClosureExtentOptions = [];\n this.electricalServicesOptions = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"LaneClosureExtent\") {\n this.laneClosureExtentOptions.push(JSON.parse(item.content));\n }\n if (item.name === \"ElectricalServices\") {\n this.electricalServicesOptions.push(JSON.parse(item.content));\n }\n });\n }\n this.laneClosureExtentOptions.sort((a, b) => a.value.localeCompare(b.value));\n this.electricalServicesOptions.sort((a, b) => a.value.localeCompare(b.value));\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsWamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n this.detailsForm.reset();\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.scopeOfWork) {\n this.detailsForm.get(this.scopeOfWorkFormControlName).setValue(application.scopeOfWork);\n }\n if (application.clientReferenceNumber) {\n this.detailsForm.get(this.clientReferenceNumberFormControlName).setValue(application.clientReferenceNumber);\n }\n if (application.licenceNumber) {\n this.detailsForm.get(this.applicantTelecommunicationLicenseNumberFormControlName).setValue(application.licenceNumber);\n }\n if (application.applicationFee) {\n this.detailsForm.get(this.applicationFeeFormControlName).setValue(application.applicationFee);\n }\n if (application.estimatedCost) {\n this.detailsForm.get(this.estimatedConstructionCostFormControlName).setValue(application.estimatedCost);\n }\n if (application.proposedStartDate) {\n this.detailsForm.get(this.proposedStartDateFormControlName).setValue(this.datePipe.transform(application.proposedStartDate, \"yyyy-MM-dd\"));\n }\n if (application.proposedEndDate) {\n this.detailsForm.get(this.proposedEndDateFormControlName).setValue(this.datePipe.transform(application.proposedEndDate, \"yyyy-MM-dd\"));\n }\n if (application.laneClosureRequired) {\n this.detailsForm.get(this.laneClosureIsRequiredFormControlName).setValue(application.laneClosureRequired);\n }\n if (application.laneClosureExtent) {\n this.detailsForm.get(this.laneClosureExtentFormControlName).setValue(application.laneClosureExtent);\n }\n if (application.constructionPeriod) {\n this.detailsForm.get(this.constructionPeriodInWeeksFormControlName).setValue(application.constructionPeriod);\n }\n if (application.electricalServices) {\n this.detailsForm.get(this.electricalServicesFormControlName).setValue(application.electricalServices);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: DatePipe },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsWamsComponent);\nexport { CreateApplicationDetailsWamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsWamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static CLIENT_REFERENCE_NUMBER_LABEL = \"Client reference number\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL = \"Applicant Telecommunication License Number\";\n static SCOPE_OF_WORK_LABEL = \"Scope of work\";\n static ESTIMATED_CONSTRUCTION_COST_LABEL = \"Estimated construction cost (R) (incl. vat)\";\n static APPLICATION_FEE_LABEL = \"Application fee (R) (incl. vat )\";\n static PROPOSED_START_DATE_LABEL = \"Proposed start date\";\n static PROPOSED_END_DATE_LABEL = \"Proposed end date \";\n static LANE_CLOSURE_IS_REQUIRED_LABEL = \"Lane closure is required\";\n static LANE_CLOSURE_EXTENT_LABEL = \"Lane closure extent\";\n static CONSTRUCTION_PERIOD_LABEL = \"Construction period in weeks\";\n static ELECTRICAL_SERVICES_LABEL = \"Electrical services\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"clientReferenceNumber\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME = \"applicantTelecommunicationLicenseNumber\";\n static SCOPE_OF_WORK_FORM_CONTROL_NAME = \"scopeOfWork\";\n static ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME = \"estimatedConstructionCost\";\n static APPLICATION_FEE_FORM_CONTROL_NAME = \"applicationFee\";\n static PROPOSED_START_DATE_FORM_CONTROL_NAME = \"proposedStartDate\";\n static PROPOSED_END_DATE_FORM_CONTROL_NAME = \"proposedEndDate\";\n static LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME = \"laneClosureIsRequired\";\n static LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME = \"laneClosureExtent\";\n static ELECTRICAL_SERVICES_FORM_CONTROL_NAME = \"electricalServices\";\n static CONSTRUCTION_PERIOD_FORM_CONTROL_NAME = \"constructionPeriodInWeeks\";\n static DATE_VALIDATION_ERROR = \"The proposed start date needs to be less than or equal to the proposed end date\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n clientReferenceNumber: {\n required: `Client reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicantTelecommunicationLicenseNumber: {\n required: `Applicant telecommunication license number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n scopeOfWork: {\n required: `Scope of work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedConstructionCost: {\n required: `Estimated construction cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationFee: {\n required: `Application fee ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedStartDate: {\n required: `Proposed start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedEndDate: {\n required: `Proposed end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureIsRequired: {\n required: `Lane closure is required ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureExtent: {\n required: `Lane closure extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n constructionPeriodInWeeks: {\n required: `Construction period in weeks ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricalServices: {\n required: `Electrical services ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationLocationWamsConstants } from \"./create-application-location-wams.constants\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport GeometryUtils from \"../../../../shared/utils/geometry-utils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationWamsComponent = class CreateApplicationLocationWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n locationForm;\n descriptionLabel1 = CreateApplicationLocationWamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationWamsConstants.DESCRIPTION_LABEL_2;\n layerReference = CreateApplicationLocationWamsConstants.LAYER_REF;\n showOnlyPropertyAndZoningLayers = false;\n mapComponent;\n sketch;\n selectedGraphic = null;\n isMapLoaded = false;\n selectedApplicationLocationWamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.setupSubscribers();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.sketch = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketch.create(\"polygon\");\n this.sketch.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.selectedGraphic = event.graphic;\n this.locationForm.get(\"selectedGraphic\").setValue(this.selectedGraphic);\n if (event.graphic.geometry.type === \"point\") {\n this.locationForm.get(\"centroid\").setValue(event.graphic.geometry);\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polyline\").setValue(null);\n }\n else {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(event.graphic.geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n this.locationForm.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.locationForm.markAsTouched();\n if (event.graphic.geometry.type === \"polygon\") {\n this.locationForm.get(\"polygon\").setValue(event.graphic.geometry);\n }\n else if (event.graphic.geometry.type === \"polyline\") {\n this.locationForm.get(\"polyline\").setValue(event.graphic.geometry);\n }\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationWamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n if (this.locationForm.get(\"selectedGraphic\").value !== null) {\n this.selectedGraphic = this.locationForm.get(\"selectedGraphic\").value;\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.selectedGraphic.geometry)], \"Draw Tool Layer\");\n }\n }\n loadMetadata(stepMeta) {\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.selectedApplication !== undefined && this.selectedApplication !== null) {\n if (this.selectedApplication.applicationLines !== null && this.selectedApplication.applicationLines.length > 0) {\n geometries.push(this.locationForm.get(\"polyline\").value);\n }\n else if (this.selectedApplication.applicationPolygons !== null && this.selectedApplication.applicationPolygons.length > 0) {\n geometries.push(this.locationForm.get(\"polygon\").value);\n }\n else {\n geometries.push(this.locationForm.get(\"centroid\").value);\n }\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Draw Tool Layer\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n }\n }\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n setMapData() {\n const centroidGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.shape, 102100);\n const centroid = JsonUtils.fromJSON(centroidGeometryArc);\n const geometries = [];\n this.locationForm.get(\"centroid\").setValue(centroid);\n let showPoint = true;\n if (this.selectedApplication.applicationPolygons.length > 0) {\n showPoint = false;\n const polygonGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationPolygons[0].shape, 102100);\n const polygon = JsonUtils.fromJSON(polygonGeometryArc);\n this.locationForm.get(\"polygon\").setValue(polygon);\n this.locationForm.get(\"polygonDto\").setValue(this.selectedApplication.applicationPolygons[0]);\n geometries.push(polygon);\n }\n else {\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polygonDto\").setValue(null);\n }\n if (this.selectedApplication.applicationLines.length > 0) {\n showPoint = false;\n const polylineGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationLines[0].shape, 102100);\n const polyline = JsonUtils.fromJSON(polylineGeometryArc);\n this.locationForm.get(\"polyline\").setValue(polyline);\n this.locationForm.get(\"polylineDto\").setValue(this.selectedApplication.applicationLines[0]);\n geometries.push(polyline);\n }\n else {\n this.locationForm.get(\"polyline\").setValue(null);\n this.locationForm.get(\"polylineDto\").setValue(null);\n }\n if (showPoint) {\n geometries.push(centroid);\n }\n this.mapComponent.addGeometriesOnMap(geometries, \"Wayleave graphics\", true);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"locationForm\");\n this.locationForm = form;\n }\n setupSubscribers() {\n this.subscribeToClearMapGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationWamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setMapData();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationWamsComponent);\nexport { CreateApplicationLocationWamsComponent };\n","export class CreateApplicationLocationWamsConstants {\n static STEP_TITLE = \"Location\";\n static DESCRIPTION_LABEL_1 = \"Use the 'Search for place or address' bar on the right to search for your location. Draw a point, line or polygon on the map to indicate the location of the wayleave.\";\n static DESCRIPTION_LABEL_2 = \"If you would like to use the zoom function, use the 'Select tool' on the toolbar on the left to navigate to your location.\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Wayleave graphics\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-wams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { CreateApplicationProfessionalBodiesWamsConstants } from \"./create-application-professional-bodies-wams.constants\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { forkJoin } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesWamsComponent = class CreateApplicationProfessionalBodiesWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = CreateApplicationProfessionalBodiesWamsConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markImplementingAgentAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL;\n markImplementingAgentAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToImplementingAgentLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL;\n copyApplicantDetailsToImplementingAgentFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToContractorFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME;\n implementingAgentFormControlName = CreateApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n engineerFormControlName = CreateApplicationProfessionalBodiesWamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = CreateApplicationProfessionalBodiesWamsConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showImplementingAgent = false;\n showEngineer = false;\n showElectricalContractor = false;\n implementingAgentDisableFilterBy = true;\n implementingAgentDisableEditing = false;\n implementingAgentShowFields = true;\n implementingAgentGroups = [];\n implementingAgentLabel = CreateApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_LABEL;\n implementingAgentShowGroupsDropdown = false;\n implementingAgentIsRequiredChecked = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = CreateApplicationProfessionalBodiesWamsConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n engineerIsRequiredChecked = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = CreateApplicationProfessionalBodiesWamsConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\n componentName = CreateApplicationProfessionalBodiesWamsConstants.COMPONENT_NAME;\n savedImplementingAgent;\n savedEngineer;\n savedContractor;\n constructor(applicationCreateService, recipientService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.recipientService = recipientService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getMetadata();\n this.getApplicantData();\n }\n ngOnInit() {\n this.initForm();\n this.initialiseDefaultValues();\n this.getProBodiesData();\n }\n loadMetadata(stepMeta) {\n try {\n this.implementingAgentGroups = stepMeta.implementingAgentConsultantGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.responsibleContractorGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n form.clearValidators();\n form.updateValueAndValidity();\n this.professionalBodiesForm = form;\n }\n onMarkImplementingAgentAsNotApplicableChecked(event) {\n const implementingAgentIsRequired = event.target.checked;\n if (implementingAgentIsRequired) {\n this.showImplementingAgent = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).enable();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n this.implementingAgentIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).disable();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.showImplementingAgent = false;\n this.changeDetectorRefs.detectChanges();\n this.implementingAgentIsRequiredChecked = false;\n }\n }\n onMarkEngineerAsRequired(event) {\n const engineerIsRequired = event.target.checked;\n if (engineerIsRequired) {\n this.showEngineer = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.engineerFormControlName).enable();\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.showEngineer = false;\n this.changeDetectorRefs.detectChanges();\n this.engineerIsRequiredChecked = false;\n }\n }\n onMarkElectricalContractorAsRequired(event) {\n const contractorIsRequired = event.target.checked;\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.contractorFormControlName).enable();\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n this.showElectricalContractor = false;\n this.changeDetectorRefs.detectChanges();\n this.contractorIsRequiredChecked = false;\n }\n }\n onCopyApplicantToImplementingAgent($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.implementingAgent > 0 && this.selectedApplication.implementingAgent[0].id >= 0) ? this.selectedApplication.implementingAgent[0].id : 0;\n applicantData.groups = this.implementingAgentGroups;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n }\n }\n onCopyApplicantToEngineer($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.engineer > 0 && this.selectedApplication.engineer[0].id >= 0) ? this.selectedApplication.engineer[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n }\n }\n onCopyApplicantToElectricalContractor($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n syncProfBodiesIsRequiredCheckBoxes(selectedApplication) {\n this.syncImplementingAgentIsRequiredCheckBoxes(selectedApplication);\n this.syncEngineerIsRequiredCheckBoxes(selectedApplication);\n this.syncConstructorIsRequiredCheckBoxes(selectedApplication);\n this.professionalBodiesForm.markAsDirty();\n this.changeDetectorRefs.detectChanges();\n }\n syncImplementingAgentIsRequiredCheckBoxes(selectedApplication) {\n const implementingAgentNotRequired = selectedApplication?.implementingAgentNa;\n if (implementingAgentNotRequired) {\n this.implementingAgentIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).disable();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.showImplementingAgent = false;\n }\n else {\n this.showImplementingAgent = true;\n this.implementingAgentIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n }\n }\n syncEngineerIsRequiredCheckBoxes(selectedApplication) {\n const engineerIsNotRequired = selectedApplication?.engineerNa;\n if (engineerIsNotRequired) {\n this.implementingAgentIsRequiredChecked = false;\n this.showEngineer = false;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n }\n }\n syncConstructorIsRequiredCheckBoxes(selectedApplication) {\n const contractorIsNotRequired = selectedApplication?.contractorNa;\n if (contractorIsNotRequired) {\n this.contractorIsRequiredChecked = false;\n this.showElectricalContractor = false;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n }\n }\n populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateImplementingAgent(selectedApplication);\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n populateImplementingAgent(selectedApplication) {\n const implementingAgentControl = this.professionalBodiesForm.get(this.implementingAgentFormControlName);\n if (selectedApplication.implementingAgentNa) {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.showImplementingAgent = false;\n this.implementingAgentIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showImplementingAgent = true;\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n this.implementingAgentIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n if (this.savedImplementingAgent.length > 0) {\n const implementingAgent = this.savedImplementingAgent[0];\n implementingAgent.groups = this.implementingAgentGroups;\n implementingAgent.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n implementingAgentControl.setValue(implementingAgent);\n }\n }\n }\n populateEngineer(selectedApplication) {\n const engineerControl = this.professionalBodiesForm.get(this.engineerFormControlName);\n if (selectedApplication.engineerNa) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.showEngineer = false;\n this.engineerIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n if (this.savedEngineer.length > 0) {\n const engineer = this.savedEngineer[0];\n engineer.groups = this.engineerGroups;\n engineer.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n engineerControl.setValue(engineer);\n }\n }\n }\n populateElectricalContractor(selectedApplication) {\n const contractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n if (selectedApplication.contractorNa) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.showElectricalContractor = false;\n this.contractorIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (this.savedContractor.length > 0) {\n const contractor = this.savedContractor[0];\n contractor.groups = this.contractorGroups;\n contractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n contractorControl.setValue(contractor);\n }\n }\n }\n getProBodiesData() {\n if (this.selectedApplication) {\n const implementingAgentID = this.selectedApplication.implementingAgentId;\n const engineerID = this.selectedApplication.engineerId;\n const contractorID = this.selectedApplication.contractorId;\n if (implementingAgentID || engineerID || contractorID) {\n this.getProfessionalBodiesId(implementingAgentID, engineerID, contractorID);\n }\n }\n }\n getProfessionalBodiesId(implementingAgentID, engineerID, contractorID) {\n const implementingAgentParams = {\n $expand: \"groups\", $filter: `id eq ${implementingAgentID}`\n };\n const engineerParams = {\n $expand: \"groups\", $filter: `id eq ${engineerID}`\n };\n const contractorParams = {\n $expand: \"groups\", $filter: `id eq ${contractorID}`\n };\n forkJoin([\n this.recipientService.getRecipientsObservable(implementingAgentParams),\n this.recipientService.getRecipientsObservable(engineerParams),\n this.recipientService.getRecipientsObservable(contractorParams)\n ]).subscribe({\n next: (professionalBodies) => {\n if (professionalBodies[0]?.length > 0) {\n // implementingAgent\n this.savedImplementingAgent = professionalBodies[0];\n }\n if (professionalBodies[1]?.length > 0) {\n // Engineer\n this.savedEngineer = professionalBodies[1];\n }\n if (professionalBodies[2]?.length > 0) {\n // contractor\n this.savedContractor = professionalBodies[2];\n }\n if (this.professionalBodiesForm.pristine || professionalBodies.length > 0) {\n this.syncProfBodiesIsRequiredCheckBoxes(this.selectedApplication);\n this.populateProfessionalBodiesForms();\n }\n else {\n this.showProfBodiesBasedOnCurrentFormStatus();\n }\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n showProfBodiesBasedOnCurrentFormStatus() {\n const implementingAgentIsRequired = this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).value;\n const engineerIsRequired = this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).value;\n const contractorIsRequired = this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).value;\n if (implementingAgentIsRequired) {\n this.showImplementingAgent = true;\n }\n else {\n this.showImplementingAgent = false;\n }\n if (engineerIsRequired) {\n this.showEngineer = true;\n }\n else {\n this.showEngineer = false;\n }\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n }\n else {\n this.showElectricalContractor = false;\n }\n // this.changeDetectorRefs.detectChanges();\n }\n getApplicantData() {\n if (this.selectedApplication) {\n const applicantID = this.selectedApplication.applicantId;\n if (applicantID) {\n this.getApplicantByApplicantId(applicantID);\n }\n }\n }\n getApplicantByApplicantId(applicantID) {\n const params = {\n $expand: \"groups\", $filter: `id eq ${applicantID}`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedApplicant = recipients[0];\n this.applicant = savedApplicant;\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: RecipientService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationProfessionalBodiesWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-wams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesWamsComponent);\nexport { CreateApplicationProfessionalBodiesWamsComponent };\n","export class CreateApplicationProfessionalBodiesWamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL = \"Are the implementing agent's details required?\";\n static MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME = \"markImplementingAgentAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL = \"Copy applicant details to implementing agent?\";\n static COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"copyApplicantToImplementingAgent\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Are the contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static IMPLEMENTING_AGENT_LABEL = \"Implementing agent\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"implementingAgentRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"responsibleContractorRecipient\";\n}\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationDetailsZcConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_CTRL = \"type\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"src/app/create-application/shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsZcConstants } from \"./create-application-details-zc.constants\";\nimport { AppControllerService } from \"src/app/app-controller.service\";\nimport { ApplicationCreateService } from \"src/app/create-application/shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"src/app/shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"src/app/shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsZcamsComponent = class CreateApplicationDetailsZcamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n applicationTypeCtrl = CreateApplicationDetailsZcConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsZcConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsZcConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsZcConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsZcConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsZcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDetailsZcamsSubscription;\n getLookupsObservableSubscription;\n selectedApplicationSubscription2;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription2 = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n if (application && application.type) {\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n }\n if (application && application.description) {\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsZcamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsZcamsComponent);\nexport { CreateApplicationDetailsZcamsComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationZcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationZcConstants } from \"./create-application-location-zc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { debounceTime } from \"rxjs\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationZcamsComponent = class CreateApplicationLocationZcamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationZcConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationZcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationZcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationZcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationZcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationZcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationZcConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationZcConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationZcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationZcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationZcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationZcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationZcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationZcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateApplicationLocationZcConstants.OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationZcConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateApplicationLocationZcConstants.COPY_OWNER_LABEL;\n ownerDisableAdd = false;\n ownerDisableFilterBy = true;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n applicantGroups = [];\n selectedApplicationLocationZcamsSubscription;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n zcApplication;\n yes = SharedConstants.YES_NO_ENUM.Yes;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n checkSave() {\n this.selectedApplicationLocationZcamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.zcApplication = app;\n if (this.zcApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationZcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfNo\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.handleAddProperty(newProperty);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationZcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n if (this.getProperties().controls.length > 0) {\n this.appController.showMessage(\"Only one property can be added per application.\", AlertType.Warning);\n }\n else {\n propertyControl.push(newProperty);\n this.active = 0;\n this.updateRequiredFields(0);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.zcApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.zcApplication.properties && this.zcApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationZcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const owners = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = owners.value.filter((x) => x.selected === true);\n if (selectedOwners.length < 1) {\n this.appController.showMessage(CreateApplicationLocationZcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationZcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Error);\n return;\n }\n else {\n if (selectedOwners[0]) {\n this.selectedApplicationService.setCopyOwner(true);\n selectedOwners[0].id = (this.selectedApplication && this.selectedApplication.applicantId > 0) ? this.selectedApplication.applicantId : 0;\n selectedOwners[0].groups = this.applicantGroups;\n const applicantForm = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\");\n applicantForm.setValue(selectedOwners[0]);\n this.appController.showMessage(CreateApplicationLocationZcConstants.COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE, AlertType.Success);\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationZcamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationZcamsComponent);\nexport { CreateApplicationLocationZcamsComponent };\n","var ApplicationCreateService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { ApiStepMetaConstants } from \"../../shared/constants/api-constants/api-step-meta.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiLookupConstants } from \"../../shared/constants/api-constants/api-lookup.constants\";\nimport { TrueCentroidResultsModel } from \"../../shared/models/gpserver-truecentroid-model\";\nimport { ApiAttachmentConstants } from \"../../shared/constants/api-constants/api-attachment.constants\";\nimport { ApiProxyConstants } from \"../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../app.config\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { UrlConstants } from \"../../shared/constants/url.constants\";\nimport { AutoUnsubPortal } from \"../../shared/decorators/autounsub-portal.decorator\";\nimport { AppControllerService } from \"../../app-controller.service\";\nlet ApplicationCreateService = class ApplicationCreateService {\n static { ApplicationCreateService_1 = this; }\n http;\n routeParamsService;\n appController;\n moduleID;\n propertyData; // {data: \"\"};\n propertySubject = new BehaviorSubject(undefined);\n propertyObservable = this.propertySubject.asObservable();\n $missingLookupsForZones = [];\n $clearLayerGraphicsSubject = new BehaviorSubject(false);\n $clearApplicationVerificationSubject = new BehaviorSubject(false);\n startMetadataSubject = new BehaviorSubject(null);\n $startMetadata = this.startMetadataSubject.asObservable();\n selectedModuleName = new BehaviorSubject(\"\");\n selectedModuleNameAsObservable = this.selectedModuleName.asObservable();\n selectGoToStep = new BehaviorSubject(0);\n selectGoToStepAsObservable = this.selectGoToStep.asObservable();\n hasLoadedLookups = new BehaviorSubject(false);\n hasLoadedLookupsAsObservable = this.hasLoadedLookups.asObservable();\n fullApplicationCheckRequired = new BehaviorSubject(false);\n $fullApplicationCheckRequired = this.fullApplicationCheckRequired.asObservable();\n routeParamsSubscription;\n $markStepFormGroupAsTouchedSubject = new BehaviorSubject(null);\n $markStepFormGroupAsTouchedSubscription = this.$markStepFormGroupAsTouchedSubject.asObservable();\n constructor(http, routeParamsService, appController) {\n this.http = http;\n this.routeParamsService = routeParamsService;\n this.appController = appController;\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n return null;\n }\n return newValue !== oldValue;\n }\n savePropertyData(property) {\n this.propertyData.data = property;\n this.propertySubject.next(this.propertyData.data);\n }\n setHasLoadedLookups(loaded) {\n this.hasLoadedLookups.next(loaded);\n }\n start() {\n this.routeParamsSubscription = this.routeParamsService.params.subscribe(async (params) => {\n await this.handleRouteParamChange(params);\n });\n }\n async getStepMeta() {\n const filterString = `stepName eq \\'Start\\' AND moduleId eq ${this.moduleID}`;\n const params = {\n $filter: filterString\n };\n await this.http.get(`${ApiStepMetaConstants.URL}/${ApiStepMetaConstants.FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL}`, { params }).subscribe((metadata) => {\n this.startMetadataSubject.next(JSON.parse(metadata.value[0].metadata));\n });\n }\n setFullApplicationCheckRequired(required) {\n this.fullApplicationCheckRequired.next(required);\n }\n getLookupsObservable(params) {\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n setModuleName(moduleName) {\n this.selectedModuleName.next(moduleName);\n }\n setSelectGoToStep(stepIndex) {\n this.selectGoToStep.next(stepIndex);\n }\n uploadDocumentObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getAttachmentContent(attachmentId) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${attachmentId}/${ApiAttachmentConstants.FUNCTION_GET_ATTACHMENT_CONTENT}`, { responseType: \"blob\" });\n }\n deleteUploadDocumentsObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_DELETE_MULTIPLE_ATTACHMENTS}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getPropertyCentroidObservable(geometry) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return this.getTrueCentroid(url, formData);\n }\n getTrueCentroid(url, params) {\n return this.http.post(url, params).pipe(map((response) => {\n return new TrueCentroidResultsModel().deserialize(response);\n }));\n }\n sendMissingLookupsEmail(url, params) {\n return this.http.post(url, params)\n .pipe(map(response => {\n return response;\n }));\n }\n getAttachments(params) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n async handleRouteParamChange(params) {\n if (params !== undefined && params !== null && params && ApplicationCreateService_1.checkIfChanged(params.moduleid, this.moduleID)) {\n this.moduleID = params.moduleid;\n await this.getStepMeta();\n }\n }\n markStepFormGroupAsTouched(currentFormName) {\n this.$markStepFormGroupAsTouchedSubject.next(currentFormName);\n }\n $resetFormValidityObservable() {\n this.$markStepFormGroupAsTouchedSubject.next(null);\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService },\n { type: AppControllerService }\n ];\n};\nApplicationCreateService = ApplicationCreateService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ApplicationCreateService);\nexport { ApplicationCreateService };\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ApplicationCreateService } from \"../application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationViewBaseComponent = class CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n searchApplicationsService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n isApplicationLoadedFromTheSearchPage;\n incompleteJobIdSubscription;\n selectedApplicationSubscription;\n isApplicationLoadedFromSearchPageSubscription;\n startMetadataSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService) {\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.searchApplicationsService = searchApplicationsService;\n this.incompleteJobIdSubscription = this.selectedApplicationService.$incompleteJobId.subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n });\n this.isApplicationLoadedFromSearchPageSubscription = this.searchApplicationsService.isApplicationLoadedFromSearchPage.subscribe({\n next: (isApplicationLoadedFromSearchPage) => {\n this.isApplicationLoadedFromTheSearchPage = isApplicationLoadedFromSearchPage;\n }\n });\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n getMetadata() {\n this.startMetadataSubscription = this.applicationCreateService.$startMetadata.subscribe(stepMeta => {\n if (stepMeta != null) {\n this.stepMeta = stepMeta;\n this.loadMetadata(this.stepMeta);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationViewBaseComponent = __decorate([\n Component({\n template: \"\",\n changeDetection: ChangeDetectionStrategy.OnPush\n }),\n AutoUnsubPortal()\n], CreateApplicationViewBaseComponent);\nexport { CreateApplicationViewBaseComponent };\n","import { SharedConstants } from \"../../shared/constants/shared.constants\";\nexport class CreateApplicationConstants {\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static CONTINUE_BUTTON_PLACEHOLDER = SharedConstants.CONTINUE_STEP_TEXT;\n static BACK_BUTTON_PLACEHOLDER = SharedConstants.BACK_STEP_TEXT;\n static CREATE_BUTTON_PLACEHOLDER = \"Create application\";\n static CLEAR_BUTTON_PLACEHOLDER = SharedConstants.CLEAR_LABEL;\n static SUBMIT_BUTTON_PLACEHOLDER = SharedConstants.SUBMIT_LABEL;\n static CLOSE_BUTTON_PLACEHOLDER = SharedConstants.CLOSE_LABEL;\n static CONTENT_PAGE_HEADING = \"Create application\";\n static NAME_INPUT_LABEL = \"Name\";\n static SURNAME_INPUT_LABEL = \"Surname\";\n static CREATE_APPLICATION_LABEL = \"Create\";\n static ERF_INPUT_LABEL = \"Erf\";\n static ADDRESS_INPUT_LABEL = \"Address\";\n // Create application Steps\n static WELCOME_HEADING = \"Welcome to the\";\n static WELCOME_HEADING_APPLICATION = \"application\";\n static VIEW_DOCUMENTS_LINK_TEXT = \"HERE\";\n static APPLICATIONS = \"applications\";\n static PLEASE_CLICK_TEXT = \"Please click\";\n static MORE_INFO_TEXT = \"for more information related to\";\n static DETAILS_HEADING = \"Application Details\";\n static LOCATION_HEADING = \"Location\";\n static PROFESSIONAL_BODIES_HEADING = \"Professional bodies\";\n static DECEASED_HEADING = \"Deceased\";\n static FAMILY_HEADING = \"Family\";\n static APPLICANT_HEADING = \"Applicant\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\n static STATUS_HEADING = \"Status\";\n // TODO: replace with configurable text\n static WELCOME_MESSAGE = \"Please configure this text.\\n\";\n static STATUS_MESSAGE = \"Please configure this text.\\n\";\n}\n","export class AddDocumentDialogConstants {\n static DOCUMENT_TYPE_LABEL = \"Document type\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_LABEL = \"File\";\n static SELECT_FILE_LABEL = \"Select file\";\n static CANCEL_BTN_PLACEHOLDER = \"Cancel\";\n static DOCUMENT_TYPE_FORM_CONTROL = \"documentType\";\n static DESCRIPTION_FORM_CONTROL = \"description\";\n static FILE_NAME_FORM_CONTROL = \"fileName\";\n static SAVE_BTN_LABEL = \"Save\";\n static COMPONENT_NAME = \"Edit attachment modal\";\n static DOCUMENT_TYPE_ERR_MSG = \"Please select the document type.\";\n static DESCRIPTION_ERR_MSG = \"Please enter a description for the document.\";\n static NO_FILE_UPLOADED_ERR_MSG = \"Please upload a document.\";\n static UPLOADED_FILE_TOO_BIG_ERR_MSG = \"The uploaded file size is bigger than the allowed file size\";\n static UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG = \"The uploaded file type is not allowed.\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApplicationCreateService } from \"../../application-create.service\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { AddDocumentDialogConstants } from \"./add-document-dialog.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddDocumentsDialogComponent = class AddDocumentsDialogComponent {\n activeModal;\n requestStatusService;\n saLongDatePipe;\n userInformationService;\n applicationCreateService;\n appControllerService;\n addDocumentForm;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\n selectedDocumentType;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n documentTypeLabel = AddDocumentDialogConstants.DOCUMENT_TYPE_LABEL;\n descriptionLabel = AddDocumentDialogConstants.DESCRIPTION_LABEL;\n fileLabel = AddDocumentDialogConstants.FILE_LABEL;\n selectFileLabel = AddDocumentDialogConstants.SELECT_FILE_LABEL;\n cancelBtnPlaceholder = AddDocumentDialogConstants.CANCEL_BTN_PLACEHOLDER;\n documentTypeFormControlName = AddDocumentDialogConstants.DOCUMENT_TYPE_FORM_CONTROL;\n descriptionFormControlName = AddDocumentDialogConstants.DESCRIPTION_FORM_CONTROL;\n fileNameFormControlName = AddDocumentDialogConstants.FILE_NAME_FORM_CONTROL;\n saveBtnPlaceholder = AddDocumentDialogConstants.SAVE_BTN_LABEL;\n uploadedFiles = [];\n documentTypeErrMsg = AddDocumentDialogConstants.DOCUMENT_TYPE_ERR_MSG;\n descriptionErrMsg = AddDocumentDialogConstants.DESCRIPTION_ERR_MSG;\n noFileUploadedErrMsg = AddDocumentDialogConstants.NO_FILE_UPLOADED_ERR_MSG;\n uploadedFileTooBigErrMsg = AddDocumentDialogConstants.UPLOADED_FILE_TOO_BIG_ERR_MSG;\n filetypeNotAllowedErrMsg = AddDocumentDialogConstants.UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG;\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n uploadDocumentObservableSubscription;\n constructor(activeModal, requestStatusService, saLongDatePipe, userInformationService, applicationCreateService, appControllerService) {\n this.activeModal = activeModal;\n this.requestStatusService = requestStatusService;\n this.saLongDatePipe = saLongDatePipe;\n this.userInformationService = userInformationService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.addDocumentForm.get(this.documentTypeFormControlName).setValue(this.selectedDocumentType);\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(this.uploadedFileTooBigErrMsg, AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(this.filetypeNotAllowedErrMsg, AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n if (this.addDocumentForm.valid && this.addDocumentForm.touched && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const newDocument = {\n id: 0,\n type: this.addDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.addDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails.name,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(newDocument);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n Object.keys(this.addDocumentForm.controls).forEach(key => {\n if (this.addDocumentForm.get(key).invalid) {\n this.addDocumentForm.get(key).markAsTouched();\n }\n });\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n this.uploadedFiles.splice(i, 1);\n if (this.uploadedFiles.length === 0) {\n this.addDocumentForm.get(this.fileNameFormControlName).reset();\n }\n $event.stopPropagation();\n }\n initForm() {\n this.addDocumentForm = new FormGroup({\n documentType: new FormControl(null, Validators.required),\n description: new FormControl(null, Validators.required),\n fileName: new FormControl(null)\n });\n }\n uploadAttachment(newDocument) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n const reader = new FileReader();\n let fileString;\n reader.readAsDataURL(this.fileDetails);\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: newDocument.fileName,\n Data: fileString,\n Description: newDocument.name,\n AttachmentType: newDocument.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscription = this.applicationCreateService.uploadDocumentObservable(params).subscribe((response) => {\n newDocument.id = response.id;\n this.activeModal.close(newDocument);\n });\n }\n };\n this.requestStatusService.showBusySpinner(\"upload\");\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: RequestStatusService },\n { type: SaLongDatePipe },\n { type: UserInformationService },\n { type: ApplicationCreateService },\n { type: AppControllerService }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }],\n selectedDocumentType: [{ type: Input }]\n };\n};\nAddDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-add-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"add-documents-dialog\": \"create-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], AddDocumentsDialogComponent);\nexport { AddDocumentsDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./delete-documents-confirmation-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./delete-documents-confirmation-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.DELETE_LABEL;\n dialogMessage = \"Are you sure that you want to delete the selected document(s) from the table?\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() { }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onDeleteBtnClicked() {\n this.activeModal.close(this.documentsToDelete);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n documentsToDelete: [{ type: Input }]\n };\n};\nDeleteDocumentsConfirmationDialogComponent = __decorate([\n Component({\n selector: \"app-delete-documents-confirmation-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'delete-documents-confirmation-dialog': 'create-application' },\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DeleteDocumentsConfirmationDialogComponent);\nexport { DeleteDocumentsConfirmationDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { ApplicationCreateService } from \"../../application-create.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { EditDocumentsDialogConstants } from \"./edit-documents-dialog.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditDocumentsDialogComponent = class EditDocumentsDialogComponent {\n activeModal;\n appControllerService;\n userInformationService;\n applicationCreateService;\n requestStatusService;\n saLongDatePipe;\n editDocumentForm;\n documentTypes = [];\n dialogTitle = \"\";\n documentToEdit;\n configUploadSettings;\n currentApplication;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n documentTypeLabel = EditDocumentsDialogConstants.DOCUMENT_TYPE_LABEL;\n descriptionLabel = EditDocumentsDialogConstants.DESCRIPTION_LABEL;\n fileLabel = EditDocumentsDialogConstants.FILE_LABEL;\n selectFileLabel = EditDocumentsDialogConstants.SELECT_FILE_LABEL;\n cancelBtnLabel = EditDocumentsDialogConstants.CANCEL_BTN_PLACEHOLDER;\n documentTypeFormControlName = EditDocumentsDialogConstants.DOCUMENT_TYPE_FORM_CONTROL;\n descriptionFormControlName = EditDocumentsDialogConstants.DESCRIPTION_FORM_CONTROL;\n saveBtnLabel = EditDocumentsDialogConstants.SAVE_BTN_LABEL;\n uploadedFiles = [];\n documentTypeErrMsg = EditDocumentsDialogConstants.DOCUMENT_TYPE_ERR_MSG;\n descriptionErrMsg = EditDocumentsDialogConstants.DESCRIPTION_ERR_MSG;\n noFileUploadedErrMsg = EditDocumentsDialogConstants.NO_FILE_UPLOADED_ERR_MSG;\n uploadedFileTooBigErrMsg = EditDocumentsDialogConstants.UPLOADED_FILE_TOO_BIG_ERR_MSG;\n filetypeNotAllowedErrMsg = EditDocumentsDialogConstants.UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG;\n componentName = EditDocumentsDialogConstants.COMPONENT_NAME;\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n fileString;\n fileBlob;\n uploadDocumentObservableSubscription;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n constructor(activeModal, appControllerService, userInformationService, applicationCreateService, requestStatusService, saLongDatePipe) {\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.saLongDatePipe = saLongDatePipe;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.getAttachmentFileContent(this.documentToEdit.id);\n this.setFormValues();\n this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editDocumentForm.valid && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const editedDocument = {\n id: this.documentToEdit.id,\n type: this.editDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.editDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails ? this.fileDetails.name : this.documentToEdit.fileName,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(editedDocument);\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n this.markAllControlsAsTouched();\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n if (this.uploadedFiles.length > 0) {\n this.uploadedFiles.splice(i, 1);\n }\n $event.stopPropagation();\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n ;\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(this.uploadedFileTooBigErrMsg, AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(this.filetypeNotAllowedErrMsg, AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n uploadAttachment(editedDoc) {\n const reader = new FileReader();\n let fileString;\n if (this.fileDetails) {\n reader.readAsDataURL(this.fileDetails);\n }\n else {\n reader.readAsDataURL(this.fileBlob);\n }\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: editedDoc.fileName,\n Data: fileString,\n Description: editedDoc.name,\n AttachmentType: editedDoc.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscription = this.applicationCreateService.uploadDocumentObservable(params).subscribe({\n next: (attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.saLongDatePipe.transform(attachment.date),\n fileName: attachment.fileName,\n };\n const deletedParams = {\n ids: [this.documentToEdit.id], moduleId: this.appControllerService.selectedModuleID\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationCreateService.deleteUploadDocumentsObservable(deletedParams).subscribe({\n next: () => {\n const resultObject = {\n idsToDelete: [this.documentToEdit.id], editedDocument: attachmentObject\n };\n this.activeModal.close(resultObject);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Add);\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Update);\n }\n });\n }\n };\n }\n initForm() {\n this.editDocumentForm = new FormGroup({\n documentType: new FormControl(this.documentToEdit.type, Validators.required),\n description: new FormControl(this.documentToEdit.name, Validators.required),\n fileName: new FormControl(this.documentToEdit.fileName)\n });\n }\n setFormValues() {\n this.editDocumentForm.get(this.documentTypeFormControlName).setValue(this.documentToEdit.type);\n this.editDocumentForm.get(this.descriptionFormControlName).setValue(this.documentToEdit.name);\n this.uploadedFiles[0] = this.documentToEdit.fileName;\n }\n markAllControlsAsTouched() {\n Object.keys(this.editDocumentForm.controls).forEach(key => {\n if (this.editDocumentForm.get(key).invalid) {\n this.editDocumentForm.get(key).markAsTouched();\n }\n });\n }\n getAttachmentFileContent(id) {\n this.getAttachmentContentSubscription = this.applicationCreateService.getAttachmentContent(id).subscribe({\n next: (fileBlob) => {\n this.fileBlob = fileBlob;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: SaLongDatePipe }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n documentToEdit: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }]\n };\n};\nEditDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-edit-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'edit-documents-dialog': 'create-application' },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], EditDocumentsDialogComponent);\nexport { EditDocumentsDialogComponent };\n","export class EditDocumentsDialogConstants {\n static DOCUMENT_TYPE_LABEL = \"Document type\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_LABEL = \"File\";\n static SELECT_FILE_LABEL = \"Select file\";\n static CANCEL_BTN_PLACEHOLDER = \"Cancel\";\n static DOCUMENT_TYPE_FORM_CONTROL = \"documentType\";\n static DESCRIPTION_FORM_CONTROL = \"description\";\n static FILE_NAME_FORM_CONTROL = \"fileName\";\n static SAVE_BTN_LABEL = \"Save\";\n static COMPONENT_NAME = \"Edit attachment modal\";\n static DOCUMENT_TYPE_ERR_MSG = \"Please select the document type.\";\n static DESCRIPTION_ERR_MSG = \"Please enter a description for the document.\";\n static NO_FILE_UPLOADED_ERR_MSG = \"Please upload a document.\";\n static UPLOADED_FILE_TOO_BIG_ERR_MSG = \"The uploaded file size is bigger than the allowed file size\";\n static UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG = \"The uploaded file type is not allowed.\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./refresh.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./refresh.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"../../create-application-routing.constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet RefreshComponent = class RefreshComponent {\n router;\n appControllerService;\n constructor(router, appControllerService) {\n this.router = router;\n this.appControllerService = appControllerService;\n }\n ngOnInit() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE)\n ]);\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRefreshComponent = __decorate([\n Component({\n selector: \"app-refresh\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RefreshComponent);\nexport { RefreshComponent };\n","export class CreateApplicationUtilsConstants {\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n}\n","import { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AlertType } from \"../../../shared/models/alert\";\nimport { CreateApplicationUtilsConstants } from \"./create-application-utils.constants\";\nexport class CreateApplicationUtils {\n static duplicatePropertyErrorMessage = CreateApplicationUtilsConstants.DUPLICATE_MESSAGE;\n static propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null && value !== \" \" ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n static updatePropertyIds(selectedApplication, propertiesForm) {\n if (selectedApplication && selectedApplication.properties.length > 0) {\n const savedProperties = selectedApplication.properties?.sort((a, b) => (a?.value?.id?.localeCompare(b?.value?.id)));\n const propertyFormGroups = propertiesForm.get(\"properties\").controls;\n propertyFormGroups.forEach((propertyFormGroup) => {\n const selectedPropertySgCode = this.propertyDataAlternateColumnName(propertyFormGroup.value, \"SgCode\", \"sgCode\");\n savedProperties.forEach((savedProperty) => {\n if (savedProperty.sgCode === selectedPropertySgCode) {\n const ownersControl = propertyFormGroup.get(\"owners\");\n propertyFormGroup.get(\"id\").setValue(savedProperty.id);\n if (ownersControl && ownersControl.value) {\n propertyFormGroup.get(\"owners\").setValue(savedProperty.owners);\n }\n }\n });\n });\n }\n }\n static checkIfPropertyIsADuplicate(sgCode, properties, appControllerService, requestStatusService) {\n let found = false;\n if (properties.length > 0) {\n properties.controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n appControllerService.showMessage(this.duplicatePropertyErrorMessage, AlertType.Warning);\n requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n }\n return found;\n }\n static createNewPropertyFormGroup(propertyAttributes, sgCode, geometry) {\n return new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Address\", \"address\"), [Validators.required]),\n buildingUse: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"BuildingUse\", \"buildinguse\")),\n erfSize: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"ErfSize\", \"erfsize\"), [Validators.required]),\n buildingFloorArea: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"BuildingFloorArea\", \"buildingfloorarea\"), [Validators.required]),\n titleDeed: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"TitleDeed\", \"titledeed\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.required, Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n }\n static setTrueCentroidOnNewProperty(newPropertyFormGroup, trueCentroidResponse) {\n newPropertyFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }\n static handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup) {\n CreateApplicationUtils.setTrueCentroidOnNewProperty(newPropertyFormGroup, trueCentroidResponse);\n }\n static getUpdatedPropertyFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n property: new FormControl(savedProperty),\n erfNo: new FormControl(savedProperty.erfNumber, [Validators.required]),\n subdivision: new FormControl(savedProperty.subdivision, [Validators.required]),\n allotment: new FormControl(savedProperty.allotment, [Validators.required]),\n farmNo: new FormControl(savedProperty.farmNumber, [Validators.required]),\n sgCode: new FormControl(savedProperty.sgCode, [Validators.required]),\n address: new FormControl(savedProperty.address, [Validators.required]),\n buildingUse: new FormControl(savedProperty.buildingUse),\n erfSize: new FormControl(savedProperty.erfSize, [Validators.required]),\n buildingFloorArea: new FormControl(savedProperty.buildingFloorArea, [Validators.required]),\n titleDeed: new FormControl(savedProperty.titleDeed, [Validators.required]),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.required, Validators.min(1)]),\n owners: new FormControl(savedProperty.owners, [Validators.required])\n });\n }\n}\n","export class DocumentsAndInformationRoutingConstants {\n static VIEW_DOCUMENTS_AND_INFORMATION_ROUTE = \"view-documents-and-information\";\n}\n","export class MapRoutingConstants {\n static ESRI_MAP_ROUTE = \"esri-map\";\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Collection from \"@arcgis/core/core/Collection\";\nimport { AppConfig } from \"../../../app.config\";\nimport Extent from \"@arcgis/core/geometry/Extent\";\nlet BookmarkComponent = class BookmarkComponent {\n constructor() { }\n addBookmarks() {\n const bookmarksCollection = new Collection();\n AppConfig.settings.bookmarks.forEach(bookmark => {\n bookmarksCollection.add({\n name: bookmark.name,\n viewpoint: {\n targetGeometry: new Extent(bookmark.viewpoint.targetGeometry)\n },\n thumbnail: bookmark.thumbnail\n });\n });\n return bookmarksCollection;\n }\n static ctorParameters = () => [];\n};\nBookmarkComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], BookmarkComponent);\nexport { BookmarkComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-buffer-checkbox.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./draw-buffer-checkbox.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Injectable, Output } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawBufferCheckboxComponent = class DrawBufferCheckboxComponent {\n toggleBufferEvent = new EventEmitter();\n bufferLabel = \"Add buffer\";\n constructor() {\n }\n toggleBuffer(event) {\n const bufferTool = document.getElementById(\"bufferTool\");\n if (event) {\n bufferTool.removeAttribute(\"hidden\");\n }\n else {\n bufferTool.setAttribute(\"hidden\", \"\");\n }\n this.toggleBufferEvent.emit(event);\n }\n addBufferCheckbox(mapView) {\n const checkBoxBuffer = document.getElementsByTagName(\"app-draw-buffer\")[0];\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const panel = document.querySelectorAll(\".esri-sketch__panel\");\n if (panel[0]) {\n panel[0].append(checkBoxBuffer);\n }\n });\n }\n static ctorParameters = () => [];\n static propDecorators = {\n toggleBufferEvent: [{ type: Output }]\n };\n};\nDrawBufferCheckboxComponent = __decorate([\n Component({\n selector: \"app-draw-buffer\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n Injectable({\n providedIn: \"root\"\n })\n], DrawBufferCheckboxComponent);\nexport { DrawBufferCheckboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-buffer-toolbar.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./draw-buffer-toolbar.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as geometryEngineAsync from \"@arcgis/core/geometry/geometryEngineAsync\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawBufferToolbarComponent = class DrawBufferToolbarComponent {\n activeDrawTool;\n buffValue;\n buffType;\n constructor() {\n }\n addBufferWindow(mapView, sketch) {\n const bufferWindow = document.getElementsByTagName(\"app-buffer-toolbar\")[0];\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const widget = document.querySelectorAll(\".esri-sketch.esri-widget\");\n if (widget[0]) {\n widget[0].append(bufferWindow);\n }\n reactiveUtils.watch(() => sketch.activeTool, () => this.switchTollTip(sketch.activeTool));\n });\n }\n switchTollTip(event) {\n this.activeDrawTool = event;\n let tipText = \"\";\n switch (this.activeDrawTool) {\n case \"point\": {\n tipText = \"

click to add a point

\";\n break;\n }\n case \"polyline\": {\n tipText = \"

Click to start the drawing. Click again to continue drawing. Double-click to complete drawing

\";\n break;\n }\n case \"polygon\": {\n tipText = \"

Click to start the drawing. Click again to continue drawing. Double-click to complete drawing

\";\n break;\n }\n case \"rectangle\": {\n tipText = \"

Click to add shape, or press down to start and let go to finish

\";\n break;\n }\n case \"circle\": {\n tipText = \"

Click to add shape, or press down to start and let go to finish

\";\n break;\n }\n default: {\n tipText = \"

Please select a draw tool

\";\n }\n }\n const toolTip = document.getElementById(\"toolTip\");\n if (toolTip) {\n toolTip.innerHTML = tipText;\n }\n }\n addBuffer(event, gLayer, buffEnabled) {\n if (buffEnabled) {\n this.buffValue = +document.getElementById(\"buffVal\").value;\n this.buffType = document.getElementById(\"buffType\").value;\n if (event.state === \"complete\") {\n const simpleFillSymbol = {\n type: \"simple-fill\",\n color: [220, 20, 60, 0.5],\n outline: {\n style: \"short-dash\",\n color: [255, 0, 0, 255],\n width: 2\n }\n };\n const toolGeo = event.graphic.geometry;\n geometryEngineAsync.geodesicBuffer(toolGeo, this.buffValue\n // @ts-ignore\n , this.buffType).then((buffer) => {\n const bufferGraphic = new Graphic({\n geometry: buffer,\n symbol: simpleFillSymbol,\n attributes: []\n });\n gLayer.add(bufferGraphic);\n // inform the calling component that there is a buffer to consider\n });\n }\n }\n }\n static ctorParameters = () => [];\n};\nDrawBufferToolbarComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-buffer-toolbar\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DrawBufferToolbarComponent);\nexport { DrawBufferToolbarComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-remove-all.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"../../../esri-map/esri-map.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawToolRemoveComponent = class DrawToolRemoveComponent {\n buffEnabled = true;\n constructor() {\n }\n addRemoveAllButton(mapView, graphicsLayer, bufferLayer, sketch) {\n const btnRemoveAll = document.getElementsByTagName(\"app-tool-remove\")[0];\n btnRemoveAll.addEventListener(\"click\", () => {\n if (mapView.map.findLayerById(graphicsLayer.id))\n mapView.map.findLayerById(graphicsLayer.id).removeAll();\n if (mapView.map.findLayerById(bufferLayer.id))\n mapView.map.findLayerById(bufferLayer.id).removeAll();\n });\n sketch.container.appendChild(btnRemoveAll);\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const section = document.querySelectorAll(\".esri-sketch__section\");\n if (section[2]) {\n section[2].append(btnRemoveAll);\n }\n });\n }\n static ctorParameters = () => [];\n};\nDrawToolRemoveComponent = __decorate([\n Component({\n selector: \"app-tool-remove\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n Injectable({\n providedIn: \"root\"\n })\n], DrawToolRemoveComponent);\nexport { DrawToolRemoveComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./extent.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./extent.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet ExtentComponent = class ExtentComponent {\n constructor() { }\n addExtentTool(mapView) {\n const textContainer = document.getElementsByTagName(\"app-extent-tool\")[0];\n const textExtent = document.getElementById(\"extent\");\n const textSpatialRef = document.getElementById(\"spatialRef\");\n const textCenter = document.getElementById(\"center\");\n const textZoom = document.getElementById(\"zoom\");\n this.updateExtent(mapView, textExtent, textSpatialRef, textCenter, textZoom);\n return textContainer;\n }\n updateExtent(mapView, textExtent, textSpatialRef, textCenter, textZoom) {\n reactiveUtils.when(() => mapView?.stationary === true, () => {\n if (textExtent !== null && textExtent.innerHTML !== null) {\n if (mapView.extent) {\n textExtent.innerHTML = \"
xmin: \" + mapView.extent.xmin.toFixed(2) + \",\" +\n \"
xmax: \" + mapView.extent.xmax.toFixed(2) + \",\" +\n \"
ymin: \" + mapView.extent.ymin.toFixed(2) + \",\" +\n \"
ymax: \" + mapView.extent.ymax.toFixed(2);\n }\n if (mapView.spatialReference) {\n textSpatialRef.innerHTML = \"
spatial reference: wkid { \" + mapView.spatialReference.wkid + \"}\";\n }\n if (mapView.center) {\n textCenter.innerHTML = \"
center: [\" +\n mapView.center.x.toFixed(2) +\n \", \" +\n mapView.center.y.toFixed(2) + \"]\";\n }\n if (mapView.zoom) {\n textZoom.innerHTML = \"
zoom: \" + mapView.zoom.toFixed(0);\n }\n }\n });\n }\n static ctorParameters = () => [];\n};\nExtentComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-extent-tool\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ExtentComponent);\nexport { ExtentComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nlet LayerListComponent = class LayerListComponent {\n constructor() { }\n layerActions(event) {\n const item = event.item;\n item.actionsSections = [\n // [\n // {\n // title: \"Go to full extent\",\n // className: \"esri-icon-zoom-out-fixed\",\n // id: \"full-extent\"\n // },\n // ],\n [\n {\n title: \"Increase opacity\",\n className: \"esri-icon-up\",\n id: \"increase-opacity\"\n },\n {\n title: \"Decrease opacity\",\n className: \"esri-icon-down\",\n id: \"decrease-opacity\"\n }\n ]\n ];\n }\n layerActionTrigger(event) {\n const selectedLayer = event.item.layer;\n const id = event.action.id;\n // if (id === \"full-extent\") {\n // if(event.item.layer.spatialReference !== mapView.spatialReference){\n // const geomSer = new GeometryService({url:\n // \"http://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer\"});\n // const params = new ProjectParameters({\n // geometries: [event.item.layer.fullExtent],\n // outSpatialReference: mapView.spatialReference\n // });\n // geomSer.project(params).then(results => {\n // mapView.goTo(results[0]);\n // });\n // }else{\n // mapView.goTo(event.item.layer.fullExtent);\n // }\n // }\n if (id === \"increase-opacity\") {\n if (selectedLayer.opacity < 1) {\n selectedLayer.opacity += 0.25;\n }\n }\n if (id === \"decrease-opacity\") {\n if (selectedLayer.opacity > 0) {\n selectedLayer.opacity -= 0.25;\n }\n }\n }\n static ctorParameters = () => [];\n};\nLayerListComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LayerListComponent);\nexport { LayerListComponent };\n","var MapService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Map from \"@arcgis/core/Map\";\nimport MapView from \"@arcgis/core/views/MapView\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport esriConfig from \"@arcgis/core/config\";\nimport { MapTools } from \"./map.tools\";\nimport GraphicsLayer from \"@arcgis/core/layers/GraphicsLayer\";\nimport { AppConfig } from \"../../app.config\";\nimport MapImageLayer from \"@arcgis/core/layers/MapImageLayer\";\nimport SpatialReference from \"@arcgis/core/geometry/SpatialReference\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"../../create-application/create-application-routing.constants\";\nimport * as urlUtils from \"@arcgis/core/core/urlUtils\";\nimport { AuthService } from \"../../shared/services/auth/auth.service\";\nimport FeatureLayer from \"@arcgis/core/layers/FeatureLayer\";\nimport TileLayer from \"@arcgis/core/layers/TileLayer\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ApiModuleMapConstants } from \"../../shared/constants/api-constants/api-module-map.constants\";\nimport { ApiProxyConstants } from \"../../shared/constants/api-constants/api-proxy.constants\";\nimport { UserInformationService } from \"../../shared/services/user/user-information.service\";\nimport * as identify from \"@arcgis/core/rest/identify\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\nimport * as rxjsOperators from \"rxjs/operators\";\nimport ImageryLayer from \"@arcgis/core/layers/ImageryLayer\";\nimport ImageryTileLayer from \"@arcgis/core/layers/ImageryTileLayer\";\nimport VectorTileLayer from \"@arcgis/core/layers/VectorTileLayer\";\nimport WMTSLayer from \"@arcgis/core/layers/WMTSLayer\";\nimport WMSLayer from \"@arcgis/core/layers/WMSLayer\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { Location } from \"@angular/common\";\nimport { RequestStatusService } from \"../../shared/services/request-status/request-status.service\";\nimport Extent from \"@arcgis/core/geometry/Extent\";\nimport LOD from \"@arcgis/core/layers/support/LOD\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport LayerSearchSource from \"@arcgis/core/widgets/Search/LayerSearchSource\";\nimport { ModuleConfigService } from \"../../shared/services/module-config/module-config.service\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nimport { MapServiceConstants } from \"../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet MapService = class MapService {\n static { MapService_1 = this; }\n mapTools;\n http;\n authService;\n userInformationService;\n moduleConfigService;\n location;\n requestStatusService;\n appController;\n // TODO: Are the MapDefault settings going to be set up in the config?\n // inner class used for internal map defaults if none are provided\n static MapDefaults = class {\n baseMap = \"streets-vector\";\n center = [23.273294, -33.946994];\n zoom = 10;\n };\n showPopups = true;\n actionPropertyEnabled = false;\n actionPropertyOwnerEnabled = false;\n actionGraveEnabled = false;\n actionBayEnabled = false;\n actionPOIEnabled = false;\n actionStreetEnabled = false;\n userMaps;\n layersLoadedSubject = new Subject();\n $layersLoaded = this.layersLoadedSubject.asObservable();\n removeAllMapToolGraphicsSubject = new Subject();\n $removeAllMapToolGraphics = this.removeAllMapToolGraphicsSubject.asObservable();\n layerTokens = [];\n isSysAdmin = false;\n mapFilter = \"moduleId eq \";\n _mapDefaults;\n _mapView;\n selectionLayers = [];\n layersLoading = 0;\n selectedPropertySubject = new Subject();\n $selectedProperty = this.selectedPropertySubject.asObservable();\n selectedPropertyOwnerSubject = new Subject();\n $selectedOwnerProperty = this.selectedPropertyOwnerSubject.asObservable();\n selectedGraveSubject = new Subject();\n $selectedGrave = this.selectedGraveSubject.asObservable();\n selectedBaySubject = new Subject();\n $selectedBay = this.selectedBaySubject.asObservable();\n selectedPOISubject = new Subject();\n $selectedPOISubject = this.selectedPOISubject.asObservable();\n selectedStreetSubject = new Subject();\n $selectedStreetSubject = this.selectedStreetSubject.asObservable();\n proceedMapLoading = new BehaviorSubject(false);\n $proceedMapLoading = this.proceedMapLoading.asObservable();\n authUserInformation;\n applicationLayer = new BehaviorSubject(null);\n httpGetSubscription;\n constructor(mapTools, http, authService, userInformationService, moduleConfigService, location, requestStatusService, appController) {\n this.mapTools = mapTools;\n this.http = http;\n this.authService = authService;\n this.userInformationService = userInformationService;\n this.moduleConfigService = moduleConfigService;\n this.location = location;\n this.requestStatusService = requestStatusService;\n this.appController = appController;\n this._mapDefaults = new MapService_1.MapDefaults();\n this.getAuthUserInformation();\n }\n static drawGraphic(graphic, graphicsLayer) {\n graphicsLayer.add(graphic);\n }\n static addGraphicsLayer(mapView, layerReference) {\n if (mapView !== undefined && mapView !== null && mapView.map !== undefined && mapView.map !== null && mapView.map) {\n let graphicsLayer = null;\n if (layerReference !== null) {\n mapView.map.layers.forEach(item => {\n // tslint:disable-next-line:triple-equals\n if (item.type === \"graphics\" && item.id == layerReference && graphicsLayer === null) {\n graphicsLayer = item;\n }\n });\n }\n if (graphicsLayer === null) {\n graphicsLayer = new GraphicsLayer({\n listMode: \"hide\",\n id: layerReference ? layerReference : \"graphicsLayer\"\n });\n mapView.map.add(graphicsLayer);\n }\n return graphicsLayer;\n }\n }\n static removeGraphicsLayer(mapView, layerReference) {\n if (mapView !== undefined && mapView !== null && mapView.map !== undefined && mapView.map !== null &&\n mapView.map && mapView.map.layers.length > 0) {\n mapView.map.layers.forEach((layer) => {\n if (layer.type === \"graphics\" && layer.id === layerReference) {\n mapView.map.layers.remove(layer);\n }\n });\n }\n }\n static getStartApplicationRoute() {\n const route = `${CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE}\\\r\n ${AppRoutingConstants.ROUTE_SEPERATOR}\\\r\n ${CreateApplicationRoutingConstants.DETAILS_ROUTE}`;\n const emptySpaceRe = new RegExp(\" \", \"gi\");\n return route.replace(emptySpaceRe, \"\");\n }\n setProceedMapLoading(proceed) {\n this.proceedMapLoading.next(proceed);\n }\n destroyMap() {\n this.actionPropertyEnabled = false;\n this.actionPropertyOwnerEnabled = false;\n this.actionGraveEnabled = false;\n this.actionBayEnabled = false;\n this.actionPOIEnabled = false;\n this.actionStreetEnabled = false;\n this.userMaps = [];\n this.layerTokens = [];\n this._mapView = null;\n this.layersLoading = 0;\n this.mapTools.mapTools = [];\n }\n async displayMap(mapViewEl, mapDefaults = this._mapDefaults, moduleId) {\n if (!mapViewEl) {\n throw new Error(\"Map View element doesnt exist\");\n }\n this.requestStatusService.showBusySpinner(\"LoadingEsriMap\");\n const mapView = this.getMapView(mapDefaults, moduleId);\n if (mapView) {\n mapView.container = mapViewEl.nativeElement;\n }\n await mapView.when(() => {\n this.userMaps = [];\n // this.addActions();\n }, (error) => {\n console.log(error);\n });\n return mapView;\n }\n toggleBuffer(event) {\n this.mapTools.toggleBuffer(event);\n }\n removeAllMapToolGraphics() {\n this.removeAllMapToolGraphicsSubject.next(true);\n }\n fetchModuleData(moduleId, showOnlyPropertyAndZoningLayers = false, showOnlyOrganisationMaps = false, showApplicationsAndBasemapLayers) {\n const params = {\n $filter: \"\",\n $orderby: \"mapOrder desc\"\n };\n if (showOnlyOrganisationMaps === true) {\n params.$filter = `moduleId eq null`;\n }\n else {\n params.$filter = `moduleId eq ${moduleId} or (moduleId eq null and organisationId eq ${this.userInformationService.getOrganisationId(moduleId)})`;\n }\n this.httpGetSubscription = this.http.get(`${ApiModuleMapConstants.URL}/${ApiModuleMapConstants.FUNCTION_GET_MODULE_FOR_AFLA_PORTAL}`, { params })\n .subscribe((response) => {\n this.userMaps = [];\n const urls = [];\n const loadedIds = [];\n this.selectionLayers = [];\n response.value.sort((a, b) => 0 - (a.mapOrder > b.mapOrder ? -1 : 1));\n for (const item of response.value) {\n if (item.moduleId !== undefined && item.moduleId !== null) {\n urls.push(item.url);\n if (item.selectionLayerType !== undefined && item.selectionLayerType !== null) {\n this.selectionLayers.push(item.selectionLayerType);\n }\n this.addProxyRule(item.url);\n const addedLayer = this.addLayer(item.url, item.type, item.name, item.selectionLayerType, item.defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers);\n item.layer = addedLayer;\n this.userMaps.push(item);\n loadedIds.push(item.id);\n }\n }\n for (const item of response.value) {\n if (loadedIds.indexOf(item.id) === -1) {\n if (item.moduleId === undefined || item.moduleId === null && urls.indexOf(item.url) === -1) {\n if (item.selectionLayerType !== undefined && item.selectionLayerType !== null) {\n if (this.selectionLayers.indexOf(item.selectionLayerType) >= 0) {\n continue;\n }\n this.selectionLayers.push(item.selectionLayerType);\n }\n urls.push(item.url);\n this.addProxyRule(item.url);\n const addedLayer = this.addLayer(item.url, item.type, item.name, item.selectionLayerType, item.defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers);\n item.layer = addedLayer;\n this.userMaps.push(item);\n }\n }\n }\n const foundAppLayer = this.userMaps.find(a => a.selectionLayerType === MapServiceConstants.APPLICATION_LAYER);\n this.applicationLayer.next(foundAppLayer?.layer);\n if (this.userMaps.length === 0) {\n this.requestStatusService.removeBusySpinner(\"LoadingEsriMap\");\n this.layersLoadedSubject.next(true);\n }\n // Get the secure layer tokens here so that we don't have to make another asynchronous call when we intercept the print task\n this.userMaps.forEach((layer) => {\n const paramsIndex = layer.url.indexOf(\"/rest\");\n const paramsDomain = layer.url.slice(0, paramsIndex);\n const mapIndex = AppConfig.settings.arcGIS.printServiceURL.indexOf(\"/rest\");\n const mapDomain = AppConfig.settings.arcGIS.printServiceURL.slice(0, mapIndex);\n if (paramsDomain !== mapDomain) {\n const tokenRequestParams = this.getTokenRequestParams(layer);\n if (tokenRequestParams) {\n const getLayerTokenHeaders = {\n MapServiceId: tokenRequestParams.MapServiceId,\n Authorization: tokenRequestParams.authorization\n };\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n this.getLayerToken(`${apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL_LAYER_TOKEN)}?${layer.url}`, { headers: getLayerTokenHeaders }).subscribe((token) => {\n const layerToken = this.layerTokens.filter((l) => l.id === layer.id);\n // Avoid duplicates\n if (layerToken.length < 1) {\n this.layerTokens.push({\n layer,\n auth: token\n });\n }\n }, (error) => {\n console.log(error);\n });\n }\n }\n });\n this.checkIfMapsAreLoaded();\n });\n }\n setProxySettings() {\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n urlUtils.addProxyRule({\n urlPrefix: AppConfig.settings.arcGIS.servicesURL,\n proxyUrl: apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL)\n });\n this.urlInterceptor();\n }\n addGeometriesAsGraphics(geometries, mapView, layerReference, clearBeforeAdd) {\n this.addGraphics(this.transformGeometryToGraphic(geometries), mapView, layerReference, clearBeforeAdd);\n }\n removeGraphicsLayer(mapView, layerReference) {\n MapService_1.removeGraphicsLayer(mapView, layerReference);\n }\n // Required to get Esri Worker\n externalEsriLoader() {\n esriConfig.assetsPath = this.location.prepareExternalUrl(\"assets\");\n }\n executeIdentifyTask(event, params, url, mapView) {\n if (this.showPopups === true) {\n let canShowPopups = false;\n this.userMaps.forEach(item => {\n if (item.url === url) {\n canShowPopups = true;\n }\n });\n if (canShowPopups) {\n params.geometry = event.mapPoint;\n params.mapExtent = mapView.extent;\n identify.identify(url, params).then((response) => {\n const results = response.results;\n return results.map((result) => {\n const feature = result.feature;\n const layerName = result.layerName;\n feature.attributes.layerName = layerName;\n const fields = [];\n for (const [key, value] of Object.entries(feature.attributes)) {\n fields.push({ fieldName: key, label: key });\n }\n feature.popupTemplate = {\n title: layerName, content: [{\n type: \"fields\", fieldInfos: fields\n }]\n };\n return feature;\n });\n })\n .then(response => {\n if (response && this.showPopups === true) {\n this.showPopup(event, response, mapView);\n }\n });\n }\n }\n }\n executeQueryTask(event, layer, layerName, mapView, url) {\n if (layer.popupEnabled) {\n let canShowPopups = false;\n let canShowPropertyAction = false;\n let canShowPropertyOwnerAction = false;\n let canShowGraveAction = false;\n let canShowBayAction = false;\n let canShowPOIAction = false;\n let canShowStreetAction = false;\n this.userMaps.forEach(item => {\n if (item.url === url) {\n canShowPopups = true;\n if (item.selectionLayerType.toLowerCase() === \"property\" && this.actionPropertyEnabled) {\n canShowPropertyAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"application\") {\n canShowPropertyAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"property owner\" && this.actionPropertyOwnerEnabled) {\n canShowPropertyOwnerAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"grave\" && this.actionGraveEnabled) {\n canShowGraveAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"bays\" && this.actionBayEnabled) {\n canShowBayAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"poi\" && this.actionPOIEnabled) {\n canShowPOIAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"street\" && this.actionStreetEnabled) {\n canShowStreetAction = true;\n }\n }\n });\n const geometry = event.mapPoint;\n const query = new Query();\n query.geometry = geometry;\n query.distance = this.getBufferByModule();\n query.units = \"meters\";\n query.returnGeometry = true;\n query.outFields = [\"*\"];\n query.where = \"1=1\";\n layer.queryFeatures(query).then((results) => {\n const features = results.features;\n return features.map((feature) => {\n feature.attributes.layerName = layerName;\n const fields = [];\n for (const [key, value] of Object.entries(feature.attributes)) {\n let alias = key;\n results.fields.forEach(field => {\n if (field.name === key) {\n alias = field.alias;\n }\n });\n fields.push({ fieldName: key, label: alias });\n }\n const template = {\n title: layerName,\n content: [{\n type: \"fields\",\n fieldInfos: fields\n }],\n actions: []\n };\n if (canShowPropertyAction) {\n const propertyAction = {\n title: \"Add property\",\n id: \"add-property\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(propertyAction);\n }\n if (canShowBayAction) {\n const bayAction = {\n title: \"Add bay\",\n id: \"add-bay\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(bayAction);\n }\n if (canShowPropertyOwnerAction) {\n const propertyOwnerAction = {\n title: \"Add property owner\",\n id: \"add-property-owner\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(propertyOwnerAction);\n }\n if (canShowPOIAction) {\n const poiAction = {\n title: \"Select POI\",\n id: \"add-POI\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(poiAction);\n }\n if (canShowStreetAction) {\n const streetAction = {\n title: \"Select street\",\n id: \"add-street\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(streetAction);\n }\n if (canShowGraveAction) {\n const graveAction = {\n title: \"Add grave\",\n id: \"add-grave\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(graveAction);\n }\n feature.popupTemplate = template;\n this.addActions();\n return feature;\n });\n })\n .then(response => {\n if (response && layer.popupEnabled) {\n this.showPopup(event, response, mapView);\n }\n });\n }\n }\n clearGraphics(mapView, layerReference) {\n const graphicsLayer = MapService_1.addGraphicsLayer(mapView, layerReference);\n if (graphicsLayer) {\n graphicsLayer.removeAll();\n }\n }\n filterApplicationsByAuthUser($authenticatedUser) {\n $authenticatedUser.subscribe((authUser) => {\n this._mapView.map.layers.forEach((layer) => {\n if (layer.hasOwnProperty(\"sublayers\")) {\n const subLayers = layer.sublayers;\n subLayers.forEach((sublayer) => {\n sublayer.definitionExpression = `CreatedUserId = ${authUser?.id}`;\n sublayer.visible = true;\n });\n }\n });\n });\n }\n addActions() {\n let isProcessing = false;\n this._mapView?.popup.on(\"trigger-action\", (event) => {\n if (isProcessing)\n return;\n isProcessing = true;\n const selectedFeature = this._mapView.popup.selectedFeature;\n if (event.action.id === \"add-property\") {\n this.selectedPropertySubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-property-owner\") {\n this.selectedPropertyOwnerSubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-grave\") {\n this.selectedGraveSubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-bay\") {\n this.selectedBaySubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-POI\") {\n this.selectedPOISubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-street\") {\n this.selectedStreetSubject.next(selectedFeature);\n }\n // Reset the processing flag after a short delay\n setTimeout(() => {\n isProcessing = false;\n }, 1000); // Adjust the delay as needed\n });\n }\n checkForSysAdmin(mapView) {\n this.userInformationService.$userInformationFetched.subscribe((fetched) => {\n if (fetched) {\n this.isSysAdmin = this.userInformationService.isSysadminAdmin();\n this.mapTools.addExtent(mapView, this.isSysAdmin);\n }\n });\n }\n addProxyRule(url) {\n const index = url.indexOf(\"/rest\");\n const domain = url.slice(0, index);\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n urlUtils.addProxyRule({\n urlPrefix: domain,\n proxyUrl: apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL)\n });\n }\n getAuthUserInformation() {\n this.userInformationService.$authenticatedUser.subscribe({\n next: (authUser) => {\n this.authUserInformation = authUser;\n }\n });\n }\n addLayer(url, type, title, selectionLayerType, defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers) {\n let layer = null;\n switch (type) {\n case \"MapImageLayer\": {\n this.layersLoading++;\n layer = new MapImageLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"TileLayer\": {\n this.layersLoading++;\n layer = new TileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"FeatureLayer\": {\n this.layersLoading++;\n layer = new FeatureLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"ImageryLayer\": {\n this.layersLoading++;\n layer = new ImageryLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"ImageryTileLayer\": {\n this.layersLoading++;\n layer = new ImageryTileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"VectorTileLayer\": {\n this.layersLoading++;\n layer = new VectorTileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"WMSLayer\": {\n this.layersLoading++;\n layer = new WMSLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"WMTSLayer\": {\n this.layersLoading++;\n layer = new WMTSLayer({\n url,\n title,\n visible: defaultVisibility,\n });\n break;\n }\n default: {\n break;\n }\n }\n if (!showApplicationsAndBasemapLayers && selectionLayerType === MapServiceConstants.APPLICATION_LAYER || !showApplicationsAndBasemapLayers && selectionLayerType === MapServiceConstants.AFLA_PORTAL_APPLICATION_LAYER) {\n // prevent adding applications layer and base maps on create application location steps\n this.layerAdded(null);\n return layer;\n }\n if (layer !== null && this._mapView) {\n // owner layer not added to the map but is required in the background for the UserMaps array\n if (!showOnlyPropertyAndZoningLayers || (selectionLayerType === MapServiceConstants.PROPERTY_LAYER || selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER)) {\n // @ts-ignore\n layer.legendEnabled = true;\n this._mapView.map.add(layer);\n layer.on(\"layerview-create\", event => {\n this.layerAdded(event);\n });\n layer.on(\"layerview-create-error\", event => {\n this.layerAdded(event);\n });\n }\n else {\n // need to remove the spinner if the layer was not loaded to the map\n this.layerAdded(null);\n }\n }\n return layer;\n }\n layerAdded(event) {\n this.layersLoading--;\n if (this.layersLoading === 0) {\n this.requestStatusService.removeBusySpinner(\"LoadingEsriMap\");\n this.layersLoadedSubject.next(true);\n }\n }\n showPopup(event, response, mapView) {\n if (response.length > 0) {\n mapView.popup.dockOptions = {\n breakpoint: false,\n buttonEnabled: false,\n position: \"bottom-left\"\n };\n mapView.popup.open({\n features: response,\n location: event.mapPoint\n });\n // remove this when upgrading calcite: this is a hack to get the beta working\n setTimeout(() => {\n try {\n document.querySelector(\"calcite-flow-item\").shadowRoot.querySelector(\"calcite-panel\").shadowRoot.querySelector(\".header\").setAttribute(\"style\", \"display:none;\");\n document.querySelector(\"calcite-flow-item\").shadowRoot.querySelector(\"calcite-panel\").shadowRoot.querySelector(\".footer\").setAttribute(\"style\", \"display:none;\");\n }\n catch (e) {\n // ignore all errors\n }\n }, 350);\n }\n }\n transformGeometryToGraphic(geometries) {\n const graphics = [];\n geometries.forEach(item => {\n let symbol = {};\n if (item.type === \"mesh\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.mesh;\n }\n else if (item.type === \"point\" || item.type === \"multipoint\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.point;\n }\n else if (item.type === \"polyline\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.polyline;\n }\n else {\n symbol = AppConfig.settings.selectedGeometrySymbols.polygon;\n }\n const graphic = new Graphic({ geometry: item, symbol });\n graphics.push(graphic);\n });\n return graphics;\n }\n addGraphics(graphics, mapView, layerReference, clearBeforeAdd) {\n const graphicsLayer = MapService_1.addGraphicsLayer(mapView, layerReference);\n if (graphicsLayer) {\n if (clearBeforeAdd !== null && clearBeforeAdd === true) {\n graphicsLayer.removeAll();\n }\n if (graphics && graphics.length > 0 && mapView) {\n graphics.forEach(graphic => {\n MapService_1.drawGraphic(graphic, graphicsLayer);\n });\n if (graphics[graphics.length - 1].geometry.extent !== null) {\n mapView.goTo(graphics[graphics.length - 1].geometry.extent.expand(1.2)).then().catch((error) => {\n // This function returns a promise which resolves as soon as the new view has been set to the target.\n // If setting the view to the new target fails, the promise returned by the goTo() method rejects with an error. Use a catch statement, to handle the error\n if (error.name !== \"AbortError\") {\n console.error(error);\n }\n });\n }\n else {\n mapView.goTo(graphics[graphics.length - 1].geometry).then().catch((error) => {\n // This function returns a promise which resolves as soon as the new view has been set to the target.\n // If setting the view to the new target fails, the promise returned by the goTo() method rejects with an error. Use a catch statement, to handle the error\n if (error.name !== \"AbortError\") {\n console.error(error);\n }\n });\n }\n }\n // mapView.map.add(graphicsLayer);\n }\n }\n createMapView(mapDefaults, moduleId) {\n const mapProperties = {\n basemap: mapDefaults.baseMap\n };\n const map = new Map(mapProperties);\n let mapViewProperties = {};\n const levelOfDetails = [];\n let lodIndex = 1;\n if (AppConfig.settings.defaultMapScales.length > 0) {\n AppConfig.settings.defaultMapScales.forEach((scale) => {\n if (scale.show.toLowerCase() === \"true\") {\n const lod = new LOD({ level: lodIndex, levelValue: lodIndex.toString(), scale: scale.scale });\n levelOfDetails.push(lod);\n lodIndex++;\n }\n });\n mapViewProperties = {\n map,\n spatialReference: new SpatialReference({\n wkid: 102100,\n }),\n constraints: {\n lods: levelOfDetails\n },\n center: mapDefaults.center,\n zoom: mapDefaults.zoom\n };\n }\n else {\n mapViewProperties = {\n map,\n spatialReference: new SpatialReference({\n wkid: 102100,\n }),\n center: mapDefaults.center,\n zoom: mapDefaults.zoom\n };\n }\n const mapView = new MapView(mapViewProperties);\n mapView.ui.move(\"zoom\", \"bottom-right\");\n this.appController.$selectedOrgSubject.subscribe((organisation) => {\n if (organisation !== undefined && organisation !== null && organisation.defaultExtent !== undefined && organisation.defaultExtent !== null\n && organisation.defaultExtent !== \"\") {\n try {\n const extent = new Extent(JSON.parse(organisation.defaultExtent));\n mapView.extent = extent;\n }\n catch (e) {\n this.appController.showMessage(\"Organisation's default extent is incorrectly set. Please contact your system administrator.\", AlertType.Success);\n }\n }\n });\n this.mapTools.mapTools = [];\n this.mapTools.addDraw(mapView);\n this.mapTools.addSearch(mapView);\n this.mapTools.addBasemaps(mapView);\n // this.mapTools.addPrint(mapView, moduleId);\n this.mapTools.addMeasure(mapView);\n this.mapTools.addLegend(mapView);\n this.mapTools.addLayerList(mapView);\n this.mapTools.addBookmark(mapView);\n this.mapTools.addHome(mapView);\n reactiveUtils.when(() => mapView?.ready === true, () => {\n this.checkForSysAdmin(mapView);\n });\n return mapView;\n }\n urlInterceptor() {\n esriConfig.request.interceptors.push({\n before: (params) => {\n if (params.url.startsWith(AppConfig.settings.arcGIS.servicesURL)) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n params.requestOptions.headers = params.requestOptions.headers || {};\n params.requestOptions.headers.authorization = \"Bearer \" + identityToken;\n }\n // Intercept the print POST action to set the token of the secured layers that were not published onto the AGS of the Print Task\n if (params.url === `${AppConfig.settings.arcGIS.printServiceURL}/execute`) {\n const webMapObj = JSON.parse(params.requestOptions.query.Web_Map_as_JSON);\n let updatedWebMapObj = params.requestOptions.query.Web_Map_as_JSON;\n webMapObj.operationalLayers.forEach((layer) => {\n const paramsIndex = layer.url.indexOf(\"/rest\");\n const paramsDomain = layer.url.slice(0, paramsIndex);\n const mapIndex = AppConfig.settings.arcGIS.printServiceURL.indexOf(\"/rest\");\n const mapDomain = AppConfig.settings.arcGIS.printServiceURL.slice(0, mapIndex);\n if (paramsDomain !== mapDomain) {\n const legendLayer = webMapObj.layoutOptions.legendOptions.operationalLayers.filter((l) => l.id === layer.id);\n if (legendLayer.length > 0 && (legendLayer[0].id === layer.id)) {\n this.layerTokens.forEach((lt) => {\n if (layer.url.includes(lt.layer.url)) {\n layer.url = `${layer.url}?token=${lt.auth}`;\n updatedWebMapObj = JSON.stringify(webMapObj);\n }\n });\n }\n }\n });\n delete params.requestOptions.query.Web_Map_as_JSON;\n params.requestOptions.query.Web_Map_as_JSON = updatedWebMapObj;\n }\n if (this.userMaps) {\n for (const map of this.userMaps) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n params.requestOptions.headers = params.requestOptions.headers || {};\n const paramsIndex = params.url.indexOf(\"/rest\");\n const paramsDomain = params.url.slice(0, paramsIndex);\n const mapIndex = map.url.indexOf(\"/rest\");\n const mapDomain = map.url.slice(0, mapIndex);\n if (paramsDomain === mapDomain) {\n params.requestOptions.headers.authorization = `Bearer ${identityToken}`;\n params.requestOptions.headers.MapServiceId = `${map.id}`;\n }\n }\n }\n },\n after: (response) => {\n if (response.url === AppConfig.settings.arcGIS.printServiceURL + \"/execute\") {\n // This prevents the link from opening on a new browser tab through the proxy. No need to be authenticated when opening the print\n response.data.results.forEach((result) => {\n Array.from(document.getElementsByClassName(\"esri-print__exported-file-link\")).forEach((link) => {\n link.addEventListener(\"click\", (e) => {\n if (!e.defaultPrevented) {\n e.preventDefault();\n e.stopPropagation();\n window.open(result.value.url, \"_blank\");\n }\n });\n });\n });\n }\n }\n });\n }\n getMapView(mapDefaults, moduleId) {\n this._mapView = this.createMapView(mapDefaults, moduleId);\n // this.addPropertyLayer(this._mapView);\n return this._mapView;\n }\n getTokenRequestParams(layer) {\n for (const map of this.userMaps) {\n if (layer.url.includes(map.url)) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n const tokenRequestParams = {\n authorization: `Bearer ${identityToken}`,\n MapServiceId: `${map.id}`\n };\n return tokenRequestParams;\n }\n }\n }\n getLayerToken(endPointUrl, params) {\n return this.http.get(endPointUrl, params)\n .pipe(rxjsOperators.map(response => {\n return response;\n }));\n }\n // check if maps are available\n checkIfMapsAreLoaded() {\n if (this.userMaps.length > 0) {\n this.subscribeToMapsLoaded(this._mapView);\n }\n }\n subscribeToMapsLoaded(mapView) {\n this.addMapsInSearchComponent(mapView);\n }\n // adds the maps into the search widget\n addMapsInSearchComponent(mapView) {\n const searchWidget = mapView?.ui?.find(\"searchWidget\");\n mapView.map?.layers.forEach((layer) => {\n if (layer.type === \"feature\" && this.isSelectionLayer(layer)) {\n const l = layer;\n l.load().then((loadedMapLayer) => {\n const source = this.prepareSearchSource(loadedMapLayer);\n searchWidget.sources.push(source);\n searchWidget.sources.sort((a, b) => a.name.localeCompare(b.name));\n });\n }\n });\n }\n // This function builds and returns a LayerSearchSource for a given layer\n prepareSearchSource(loadedMapLayer) {\n const forbiddenFields = [\n \"shape\",\n \"startdate\",\n \"endDate\",\n \"registered\",\n \"OBJECTID\",\n \"SgCode\",\n \"PtnNum \",\n \"Shape_Length\",\n \"Shape_Area\",\n \"PremiseID\",\n \"SgCodeExternal\",\n \"Registered\",\n \"SgDiagramNo\",\n \"ErfSize\",\n \"HasGeometry\",\n \"Allotment\",\n \"IDNumber\",\n \"Property_OBJECTID\",\n \"ModuleID\",\n \"GlobalID\",\n \"CemeteryID\"\n ].map(field => field.toLowerCase());\n const fields = loadedMapLayer.fields\n .filter((field) => !forbiddenFields.includes(field.name.toLowerCase().trim()) && (field.type !== \"small-integer\" && field.type !== \"date\" && field.type !== \"geometry\"))\n .map(field => field.name);\n const suggestionTemplate = fields?.map((field, index) => `${fields[index]}: {${field}}
`).join(\"\");\n return new LayerSearchSource({\n layer: loadedMapLayer,\n searchFields: fields,\n suggestionTemplate,\n exactMatch: false,\n placeholder: `Search ${loadedMapLayer.title}`,\n outFields: [\"*\"],\n name: loadedMapLayer.title,\n withinViewEnabled: false,\n suggestionsEnabled: true,\n maxSuggestions: 50,\n minSuggestCharacters: 1,\n });\n }\n // This function checks whether a layer is a selection layer\n isSelectionLayer(selectedLayer) {\n let isSelectionLayer = false;\n for (const userMap of this.userMaps) {\n if (userMap.layer.id === selectedLayer.id && userMap.selectionLayerType.toLowerCase() !== \"application\") {\n isSelectionLayer = true;\n break;\n }\n }\n return isSelectionLayer;\n }\n getBufferByModule() {\n let defaultQueryBuffer = 0;\n if (this.moduleConfigService.isStreetNamingModule()) {\n defaultQueryBuffer = 12;\n }\n return defaultQueryBuffer;\n }\n static ctorParameters = () => [\n { type: MapTools },\n { type: HttpClient },\n { type: AuthService },\n { type: UserInformationService },\n { type: ModuleConfigService },\n { type: Location },\n { type: RequestStatusService },\n { type: AppControllerService }\n ];\n};\nMapService = MapService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], MapService);\nexport { MapService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport BasemapGallery from \"@arcgis/core/widgets/BasemapGallery\";\nimport Expand from \"@arcgis/core/widgets/Expand\";\nimport GraphicsLayer from \"@arcgis/core/layers/GraphicsLayer\";\nimport Sketch from \"@arcgis/core/widgets/Sketch\";\nimport Measurement from \"@arcgis/core/widgets/Measurement\";\nimport Legend from \"@arcgis/core/widgets/Legend\";\nimport LayerList from \"@arcgis/core/widgets/LayerList\";\nimport Search from \"@arcgis/core/widgets/Search\";\nimport { UserInformationService } from \"../../shared/services/user/user-information.service\";\nimport Bookmarks from \"@arcgis/core/widgets/Bookmarks\";\nimport { DrawToolRemoveComponent } from \"./draw/draw-remove-all/draw-remove-all\";\nimport { DrawBufferToolbarComponent } from \"./draw/draw-buffer/draw-buffer-toolbar\";\nimport { DrawBufferCheckboxComponent } from \"./draw/draw-buffer/draw-buffer-checkbox\";\nimport { MeasureComponent } from \"./measure/measure.component\";\nimport CoordinateConversion from \"@arcgis/core/widgets/CoordinateConversion\";\nimport { ExtentComponent } from \"./extent/extent.component\";\nimport { LayerListComponent } from \"./layer-list/layer-list.component\";\nimport { BookmarkComponent } from \"./bookmark/bookmark.component\";\nimport { SearchComponent } from \"./search/search.component\";\nimport Home from \"@arcgis/core/widgets/Home\";\nlet MapTools = class MapTools {\n userInformationService;\n drawRemoveAll;\n bufferWindow;\n bufferCheckbox;\n measureTool;\n extentTool;\n layerList;\n bookmark;\n search;\n buffEnabled;\n bufferLayer;\n sketchGraphicsLayer;\n mapTools = [];\n expandableWidgets = {};\n constructor(userInformationService, drawRemoveAll, bufferWindow, bufferCheckbox, measureTool, extentTool, layerList, bookmark, search) {\n this.userInformationService = userInformationService;\n this.drawRemoveAll = drawRemoveAll;\n this.bufferWindow = bufferWindow;\n this.bufferCheckbox = bufferCheckbox;\n this.measureTool = measureTool;\n this.extentTool = extentTool;\n this.layerList = layerList;\n this.bookmark = bookmark;\n this.search = search;\n }\n addBasemaps(mapView) {\n const basemapGallery = new BasemapGallery({\n view: mapView,\n source: {\n portal: {\n url: \"https://www.arcgis.com\",\n useVectorBasemaps: false\n }\n }\n });\n this.addToolExpand(mapView, basemapGallery, \"basemapGalleryWidget\", \"top-right\", \"Select Basemap\");\n }\n addDraw(mapView) {\n this.sketchGraphicsLayer = new GraphicsLayer({\n id: \"Draw Tool Layer\",\n title: \"Draw Tool Layer\",\n listMode: \"hide\",\n });\n this.bufferLayer = new GraphicsLayer({\n title: \"Buffer Layer\",\n listMode: \"hide\"\n });\n mapView.map.add(this.bufferLayer);\n mapView.map.add(this.sketchGraphicsLayer);\n // TODO: Hide error Accessor#set 'hybrid' is not a valid value for this property, only the following values are valid: 'freehand', 'click'\n const sketch = new Sketch({\n defaultCreateOptions: {\n mode: \"hybrid\"\n },\n view: mapView,\n layer: this.sketchGraphicsLayer,\n id: \"drawTool\",\n container: document.createElement(\"div\"),\n });\n this.drawRemoveAll.addRemoveAllButton(mapView, this.sketchGraphicsLayer, this.bufferLayer, sketch);\n this.bufferCheckbox.addBufferCheckbox(mapView);\n this.bufferWindow.addBufferWindow(mapView, sketch);\n this.addToolExpand(mapView, sketch, \"drawTool\", \"top-left\", \"Draw\", \"brush-mark\");\n sketch.on(\"create\", event => {\n this.bufferWindow.addBuffer(event, this.bufferLayer, this.buffEnabled);\n });\n this.mapTools.push(sketch);\n }\n toggleBuffer(event) {\n this.buffEnabled = event;\n if (!event) {\n this.bufferLayer.removeAll();\n }\n }\n addMeasure(mapView) {\n const Measure = new Measurement({\n view: mapView,\n linearUnit: \"meters\",\n areaUnit: \"square-meters\",\n id: \"measure\"\n });\n const Location = new CoordinateConversion({\n view: mapView,\n });\n this.measureTool.initializeMeasureTool(mapView, Measure, Location);\n const btnMeasure = document.getElementById(\"measureWidget\");\n this.addToolExpand(mapView, btnMeasure, \"measureWidget\", \"top-left\", \"Measure\", \"measure-area\");\n }\n // public addPrint(mapView: MapView, moduleId: number): void {\n // const print = this.printTool.initializePrintTool(mapView, moduleId);\n // this.addToolExpand(mapView, print, \"printWidget\", \"top-left\", \"Print\");\n // }\n addExtent(mapView, isSysAdmin) {\n if (isSysAdmin) {\n const textContainer = this.extentTool.addExtentTool(mapView);\n this.addToolExpand(mapView, textContainer, \"textContainerWidget\", \"top-left\", \"Get Current Extent\", \"extent\");\n }\n }\n addLegend(mapView) {\n const legend = new Legend({\n view: mapView\n });\n this.addToolExpand(mapView, legend, \"legendWidget\", \"top-right\", \"Legend\");\n }\n addLayerList(mapView) {\n const layerList = new LayerList({\n view: mapView,\n listItemCreatedFunction: this.layerList.layerActions\n });\n this.addToolExpand(mapView, layerList, \"layerListWidget\", \"top-right\", \"Layers\");\n layerList.on(\"trigger-action\", event => {\n this.layerList.layerActionTrigger(event);\n });\n }\n addBookmark(mapView) {\n const bookmarks = new Bookmarks({\n view: mapView,\n editingEnabled: true,\n });\n const bookmarksCollection = this.bookmark.addBookmarks();\n bookmarks.bookmarks = bookmarksCollection;\n this.addToolExpand(mapView, bookmarks, \"bookmarksWidget\", \"top-right\", \"Bookmark\");\n }\n addSearch(mapView) {\n const sources = this.search.getCustomSources();\n const search = new Search({\n id: \"searchWidget\", view: mapView,\n allPlaceholder: \"Search for place or address\", sources,\n suggestionsEnabled: true,\n maxSuggestions: 6,\n minSuggestCharacters: 0,\n includeDefaultSources: false,\n });\n search.on(\"search-complete\", (event) => {\n if (event && event.results && event.results.length > 0) {\n this.search.searchMultipleResults(event, mapView);\n }\n });\n mapView.ui.add(search, \"top-right\");\n }\n addHome(mapView) {\n const homeBtn = new Home({\n view: mapView\n });\n // Add the home button to the top left corner of the view\n mapView.ui.add(homeBtn, \"top-right\");\n }\n addToolExpand(mapView, tool, name, position, Title, icon) {\n const expand = new Expand({\n expandTooltip: Title,\n view: mapView,\n content: tool,\n expandIcon: icon\n });\n mapView.ui.add(expand, position);\n this.expandableWidgets[name] = expand;\n }\n getMapTool(id) {\n return this.mapTools.find(t => t.id === id);\n }\n expandWidget(name) {\n this.expandableWidgets[name].expand();\n }\n collapseWidget(name) {\n this.expandableWidgets[name].collapse();\n }\n static ctorParameters = () => [\n { type: UserInformationService },\n { type: DrawToolRemoveComponent },\n { type: DrawBufferToolbarComponent },\n { type: DrawBufferCheckboxComponent },\n { type: MeasureComponent },\n { type: ExtentComponent },\n { type: LayerListComponent },\n { type: BookmarkComponent },\n { type: SearchComponent }\n ];\n};\nMapTools = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], MapTools);\nexport { MapTools };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./measure.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./measure.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nlet MeasureComponent = class MeasureComponent {\n constructor() { }\n initializeMeasureTool(mapView, Measure, Location) {\n const btnArea = document.getElementById(\"areaMeasure\");\n const btnLocation = document.getElementById(\"idMeasure\");\n const btnDistance = document.getElementById(\"linearMeasure\");\n const btnRemove = document.getElementById(\"removeMeasure\");\n btnArea.addEventListener(\"click\", () => { switchToArea(); });\n btnDistance.addEventListener(\"click\", () => { switchToDistance(); });\n btnLocation.addEventListener(\"click\", () => { switchToLocation(); });\n btnRemove.addEventListener(\"click\", () => { removeMeasurements(); });\n function switchToDistance() {\n Measure.activeTool = \"distance\";\n btnArea.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n btnDistance.classList.add(\"active\");\n mapView.ui.remove(Location);\n mapView.ui.add(Measure, \"bottom-left\");\n }\n function switchToArea() {\n Measure.activeTool = \"area\";\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n btnArea.classList.add(\"active\");\n mapView.ui.remove(Location);\n mapView.ui.add(Measure, \"bottom-left\");\n }\n function switchToLocation() {\n Measure.activeTool = null;\n btnArea.classList.remove(\"active\");\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.add(\"active\");\n mapView.ui.remove(Measure);\n mapView.ui.add(Location, \"bottom-left\");\n }\n function removeMeasurements() {\n Measure.clear();\n btnArea.classList.remove(\"active\");\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n mapView.ui.remove([Measure, Location]);\n }\n }\n static ctorParameters = () => [];\n};\nMeasureComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-measure-tool\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], MeasureComponent);\nexport { MeasureComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport PopupTemplate from \"@arcgis/core/PopupTemplate\";\nimport { AppConfig } from \"../../../app.config\";\nimport Collection from \"@arcgis/core/core/Collection\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet SearchComponent = class SearchComponent {\n appController;\n constructor(appController) {\n this.appController = appController;\n }\n getCustomSources() {\n const sources = new Collection();\n if (AppConfig.settings.customGeolocators.length > 0) {\n AppConfig.settings.customGeolocators.forEach((geoLocator) => {\n this.addLocatorSource(geoLocator, sources);\n });\n }\n return sources;\n }\n searchMultipleResults(event, mapView) {\n const memoryCollection = [];\n const markerSymbol = this.createMarkerSymbol();\n const pointGraphics = [];\n // mapView.popup.clear();\n mapView.popup.close();\n // this.appController.showConsoleMessage(\"Results of the search: \", event);\n // event.results.forEach((entry, index) => {\n // entry.results.forEach((res) => {\n // const [x, y] = this.determineCoordinate(res.feature.geometry);\n //\n // memoryCollection[index] = [res.feature.attributes, res.feature.geometry, x, y, res.extent,\n // res.feature.attributes.Loc_name, index, res.name];\n //\n // const pointGraphic = this.createPointGraphic(markerSymbol, memoryCollection, index, res.feature.geometry.type);\n // pointGraphics.push(pointGraphic);\n // })\n // })\n //\n // if (memoryCollection.length > 0) {\n // // @ts-ignore\n // mapView.center = [memoryCollection[0][2], memoryCollection[0][3]];\n // mapView.zoom = 11;\n // }\n }\n createMarkerSymbol() {\n return {\n type: \"simple-marker\",\n color: [39, 111, 139],\n size: 15,\n outline: {\n color: [255, 255, 255],\n width: 2\n }\n };\n }\n determineCoordinate(geometry) {\n let x, y;\n if (geometry.type === \"point\") {\n x = geometry.longitude;\n y = geometry.latitude;\n }\n else {\n x = geometry.centroid.longitude;\n y = geometry.centroid.latitude;\n }\n return [x, y];\n }\n createPointGraphic(markerSymbol, memoryCollection, index, geometryType) {\n let geometry;\n if (geometryType === \"point\") {\n geometry = {\n type: \"point\",\n longitude: memoryCollection[index][2],\n latitude: memoryCollection[index][3]\n };\n }\n else {\n geometry = memoryCollection[index][1]; // Use the original geometry for non-point types\n }\n const template = new PopupTemplate({\n title: `${memoryCollection[index][7]}
Generate Report
`\n });\n return new Graphic({\n geometry,\n symbol: markerSymbol,\n popupTemplate: template\n });\n }\n addLocatorSource(locatorSearchSource, searchSources) {\n searchSources.add({\n url: locatorSearchSource.url,\n name: locatorSearchSource.name,\n countryCode: locatorSearchSource.countryCode\n });\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nSearchComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SearchComponent);\nexport { SearchComponent };\n","import { AppRoutingConstants } from \"../app-routing.constants\";\nexport class SearchApplicationsRoutingConstants {\n static SEARCH_APPLICATIONS_ROUTE = AppRoutingConstants.createRouteToView(\"search-applications\");\n static FILTERED_SEARCH_APPLICATIONS_ROUTE = AppRoutingConstants.createRouteToView(\"search\");\n}\n","export var PropertySearchOption;\n(function (PropertySearchOption) {\n PropertySearchOption[\"Property\"] = \"Property\";\n PropertySearchOption[\"PropertyOwner\"] = \"Owner\";\n PropertySearchOption[\"PropertyZoning\"] = \"Zoning\";\n PropertySearchOption[\"Cemetery\"] = \"Cemetery\";\n PropertySearchOption[\"Grave\"] = \"Grave\";\n})(PropertySearchOption || (PropertySearchOption = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { Router } from \"@angular/router\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { map } from \"rxjs/operators\";\nimport { ApiPropertyAndLeaseConstants } from \"../../shared/constants/api-constants/api-property-and-lease.constants\";\nimport { ApiTownPlanningConstants } from \"../../shared/constants/api-constants/api-town-planning.constants\";\nimport { ApiBuildingPlansConstants } from \"../../shared/constants/api-constants/api-building-plans.constants\";\nimport { ApiCemeteryConstants } from \"../../shared/constants/api-constants/api-cemetery.constants\";\nimport { ApiWayleaveConstants } from \"../../shared/constants/api-constants/api-wayleave.constants\";\nimport { ApiElectricalConnectionConstants } from \"../../shared/constants/api-constants/api-electrical-conection.constant\";\nimport { ApiDemolitionManagementConstants } from \"../../shared/constants/api-constants/api-demolition-management.constamt\";\nimport { ApiInformalTradeConstants } from \"../../shared/constants/api-constants/api-informal-trade.constants\";\nimport { PropertySearchOption } from \"./property-search-option\";\nimport { ApiAdvertisingConstants } from \"../../shared/constants/api-constants/api-advertising.constants\";\nimport { ApiBusinessLicenceConstants } from \"../../shared/constants/api-constants/api-business-licence.constants\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../view-application/view-application-routing.constants\";\nlet SearchApplicationsService = class SearchApplicationsService {\n router;\n selectedApplicationService;\n appController;\n mapLocation = new BehaviorSubject(null);\n mapLocationAsObservable = this.mapLocation.asObservable();\n isApplicationLoadedFromSearchPageSubject$ = new BehaviorSubject(false);\n isApplicationLoadedFromSearchPage = this.isApplicationLoadedFromSearchPageSubject$.asObservable();\n propertyUrl = \"\";\n constructor(router, selectedApplicationService, appController) {\n this.router = router;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n }\n // build links for map locator and create application request\n addMapLocatorLinks(applications) {\n applications.forEach(app => {\n app.link = this.setMapLink(app);\n app.link2 = app.eLodgementComplete ? this.setViewApplicationLink(app) : this.setCreateApplicationLink(app);\n });\n return applications;\n }\n setViewApplicationLink(application) {\n return {\n text: SharedConstants.OPEN_APPLICATION_TEXT, address: \"\", clickAction: () => {\n this.appController.setSelectedModule(application.moduleId);\n this.selectedApplicationService.setIncompleteJobId(application.jobId);\n this.getApplicationSelected(application);\n }\n };\n }\n setCreateApplicationLink(application) {\n return {\n text: SharedConstants.OPEN_APPLICATION_TEXT, address: \"\", clickAction: () => {\n this.appController.setSelectedModule(application.moduleId);\n this.selectedApplicationService.setIncompleteJobId(application.jobId);\n this.isApplicationLoadedFromSearchPageSubject$.next(true);\n }\n };\n }\n getURLForModule(systemPrefix) {\n let url = \"\";\n switch (systemPrefix) {\n case \"TP\":\n url = `${ApiTownPlanningConstants.URL}/${ApiTownPlanningConstants.FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS}`;\n break;\n case \"BP\":\n url = `${ApiBuildingPlansConstants.URL}/${ApiBuildingPlansConstants.FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS}`;\n break;\n case \"BL\":\n url = `${ApiBusinessLicenceConstants.URL}/${ApiBusinessLicenceConstants.FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS}`;\n break;\n case \"PL\":\n url = `${ApiPropertyAndLeaseConstants.URL}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS}`;\n break;\n case \"CM\":\n url = `${ApiCemeteryConstants.URL}/${ApiCemeteryConstants.FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS}`;\n break;\n case \"PV\":\n url = \"\";\n break;\n case \"W\":\n url = `${ApiWayleaveConstants.URL}/${ApiWayleaveConstants.FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS}`;\n break;\n case \"EC\":\n url = `${ApiElectricalConnectionConstants.URL}/${ApiElectricalConnectionConstants.FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS}`;\n break;\n case \"DM\":\n url = `${ApiDemolitionManagementConstants.URL}/${ApiDemolitionManagementConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n break;\n case \"A\":\n url = `${ApiAdvertisingConstants.URL}/${ApiAdvertisingConstants.FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS}`;\n break;\n case \"IT\":\n url = `${ApiInformalTradeConstants.URL}/${ApiInformalTradeConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n break;\n }\n return url;\n }\n getParamsForModule(selectedMapLocator) {\n let params;\n switch (selectedMapLocator.systemPrefix) {\n case \"CM\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"family($expand=groups), deceased($expand=deceasedNames),graves\"\n };\n break;\n case \"W\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"applicationLines,applicationPolygons\"\n };\n break;\n case \"A\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"point, polygon\",\n };\n break;\n default:\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"properties\"\n };\n break;\n }\n return params;\n }\n getApplicationSelected(application) {\n // build switch based on selected application\n this.selectedApplicationService.setSelectedApplication(application);\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, application.jobId + \"\")]).then();\n }\n setMapLink(application) {\n return {\n text: SharedConstants.VIEW_ON_MAP_TEXT, address: \"\", clickAction: () => {\n const mapLocation = {\n moduleId: application.moduleId, applicationId: application.id, systemPrefix: application.systemPrefix\n };\n this.changeMapLocation(mapLocation);\n }\n };\n }\n changeMapLocation(mapLocation) {\n this.mapLocation.next(mapLocation);\n }\n clearURLList() {\n this.propertyUrl = \"\";\n }\n setURL(searchType, url) {\n switch (searchType) {\n case PropertySearchOption.Property:\n default:\n this.propertyUrl = url;\n break;\n }\n }\n findApplication(url, params, systemPrefix) {\n return this.selectedApplicationService.getSelectedApplicationGeometry(url, params).pipe(map(returnValue => {\n // @ts-ignore\n if (returnValue.value && returnValue.value.length > 0) {\n // @ts-ignore\n return this.setGeometry(systemPrefix, returnValue.value[0]);\n }\n }));\n }\n setGeometry(systemPrefix, application) {\n let searchApplicationGeometry;\n switch (systemPrefix) {\n case \"CM\":\n const cemeteryApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: null, systemPrefix, propertiesGeometry: []\n };\n cemeteryApplication.graves.forEach((grave) => {\n searchApplicationGeometry.propertiesGeometry.push(grave.shape);\n });\n break;\n case \"W\":\n const wayleaveApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: wayleaveApplication.shape, systemPrefix, propertiesGeometry: []\n };\n if (wayleaveApplication.applicationPolygons.length > 0) {\n wayleaveApplication.applicationPolygons.forEach((applicationPolygon) => {\n searchApplicationGeometry.propertiesGeometry.push(applicationPolygon.shape);\n });\n }\n if (wayleaveApplication.applicationLines.length > 0) {\n wayleaveApplication.applicationLines.forEach((applicationLine) => {\n searchApplicationGeometry.propertiesGeometry.push(applicationLine.shape);\n });\n }\n break;\n case \"A\":\n const advertisingApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: advertisingApplication.shape, systemPrefix, propertiesGeometry: []\n };\n if (advertisingApplication.polygon) {\n searchApplicationGeometry.propertiesGeometry.push(advertisingApplication.polygon.shape);\n }\n if (advertisingApplication.point) {\n searchApplicationGeometry.propertiesGeometry.push(advertisingApplication.point.shape);\n }\n break;\n default:\n const selectedApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: selectedApplication.shape, systemPrefix, propertiesGeometry: []\n };\n selectedApplication.properties.forEach((property) => {\n searchApplicationGeometry.propertiesGeometry.push(property.shape);\n });\n break;\n }\n return searchApplicationGeometry;\n }\n static ctorParameters = () => [\n { type: Router },\n { type: SelectedApplicationService },\n { type: AppControllerService }\n ];\n};\nSearchApplicationsService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SearchApplicationsService);\nexport { SearchApplicationsService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nlet FormErrorStateMatcher = class FormErrorStateMatcher {\n isErrorState(control, form) {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\n }\n};\nFormErrorStateMatcher = __decorate([\n Injectable()\n], FormErrorStateMatcher);\nexport { FormErrorStateMatcher };\n","import { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../models/alert\";\nimport { SharedConstants } from \"../constants/shared.constants\";\nlet GlobalErrorHandler = class GlobalErrorHandler {\n appControllerService;\n esriBugExceptions = [\"Cannot set properties of undefined (setting 'stepIndex')\",\n \"abort(RuntimeError: abort(both async and sync fetching of the wasm failed). Build with -s ASSERTIONS=1 for more info.). Build with -s ASSERTIONS=1 for more info.\"];\n messagesToIgnore = [\n \"NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'false'. Current value: 'true'.. Find more at https://angular.io/errors/NG0100\", \"Cannot set properties of null (setting 'animationInProgress')\",\n \"NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'false'. Current value: 'true'. Expression location: AppComponent component. Find more at https://angular.dev/errors/NG0100\",\n \"Cannot destructure property 'ngbCollapse' of 'this._collapse' as it is undefined.\"\n ];\n // intended to be removed once we have feedback from esri inc\n constructor(appControllerService) {\n this.appControllerService = appControllerService;\n }\n handleError(error) {\n // @ts-ignore\n if (error.message && this.messagesToIgnore.includes(error.message)) {\n console.log(\"A non-fatal error occurred.\");\n return;\n // @ts-ignore\n }\n else if (error.rejection && this.messagesToIgnore.includes(error.rejection.message)) {\n console.log(\"A non-fatal error occurred.\");\n return;\n // @ts-ignore\n }\n else if (error.rejection && this.esriBugExceptions.includes(error.rejection.message)) {\n console.log(\"Please ignore esri error.\");\n return;\n }\n else if (error.message === \"Value must exist\") {\n console.log(\"Error: Value must exist.\");\n return;\n // @ts-ignore\n }\n else if (error.hasOwnProperty(\"status\") && error.status !== 500) {\n this.appControllerService.handleServerErrorMessage(\"\", error, null);\n return;\n }\n if (isDevMode()) {\n console.log(error);\n this.appControllerService.showMessage(error.message, AlertType.Error, false);\n }\n else {\n // TODO Dylan post error to server ?\n this.appControllerService.showMessage(SharedConstants.GLOBAL_ERROR_MESSAGE, AlertType.Error, false);\n }\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nGlobalErrorHandler = __decorate([\n Injectable()\n], GlobalErrorHandler);\nexport { GlobalErrorHandler };\n","export function minLengthArray(min) {\n return (c) => {\n if (c.value.length >= min)\n return null;\n return { minLengthArray: { valid: false } };\n };\n}\n","import libphonenumber from \"google-libphonenumber\";\nconst invalidErrorObj = { \"invalidPhoneNumber\": true };\nexport function phoneNumberValidator(control) {\n if (control.value != null && control.value != \"\") {\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n const validString = checkAgainstStrings(control);\n if (control.value.length > 5 && validString) {\n let stringValue = control.value.trim();\n try {\n if (stringValue[0] == \"0\") {\n stringValue = stringValue.replace(\"0\", \"+27\");\n }\n const number = phoneUtil.parseAndKeepRawInput(stringValue);\n const validNumber = phoneUtil.isValidNumber(number);\n if (validNumber) {\n return null;\n }\n else {\n setError(control);\n return invalidErrorObj;\n }\n }\n catch (err) {\n setError(control);\n return invalidErrorObj;\n }\n }\n else {\n setError(control);\n return invalidErrorObj;\n }\n }\n}\nfunction checkAgainstStrings(control) {\n const acceptableCharacters = [\"/\", \"-\"];\n let validCharacter = true;\n if (control.value.length > 5) {\n for (let i = 1; i < control.value.length; i++) {\n if (isNaN(control.value[i]) && acceptableCharacters.indexOf(control.value[i]) < 0) {\n validCharacter = false;\n break;\n }\n }\n }\n return validCharacter;\n}\nfunction setError(control) {\n control.setErrors(invalidErrorObj);\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nfunction _window() {\n return window;\n}\n// Window might not be available on every platform -> so make injectable wrapper\nlet WindowReference = class WindowReference {\n get nativeWindow() {\n return _window();\n }\n};\nWindowReference = __decorate([\n Injectable()\n], WindowReference);\nexport { WindowReference };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./alert.component.html?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AlertType } from \"../../models/alert\";\nlet AlertComponent = class AlertComponent {\n appController;\n id;\n alerts = [];\n constructor(appController) {\n this.appController = appController;\n }\n ngOnInit() {\n this.appController.getAlert(this.id).subscribe((alert) => {\n // if (alert.alertId === undefined) {\n // return;\n // }\n if (!alert.message) {\n // clear alerts when an empty alert is received\n this.alerts = [];\n return;\n }\n // add alert to array\n this.alerts.push(alert);\n if (this.alerts.length >= 6) {\n this.alerts.splice(0, 1);\n }\n setTimeout(() => {\n this.alerts.splice(0, 1);\n }, 10000);\n });\n }\n removeAlert(alert) {\n this.alerts = this.alerts.filter(x => x !== alert);\n }\n cssClass(alert) {\n if (!alert) {\n return;\n }\n // return css class based on alert type\n switch (alert.type) {\n case AlertType.Success:\n return \"alert alert-success\";\n case AlertType.Error:\n return \"alert alert-danger\";\n case AlertType.Info:\n return \"alert alert-info\";\n case AlertType.Warning:\n return \"alert alert-warning\";\n }\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n static propDecorators = {\n id: [{ type: Input }]\n };\n};\nAlertComponent = __decorate([\n Component({\n selector: \"app-alert\",\n template: __NG_CLI_RESOURCE__0,\n animations: [\n trigger(\"simpleFadeAnimation\", [\n // the \"restingState\" style determines the \"resting\" state of the element when it is visible.\n state(\"restingState\", style({ opacity: 1 })),\n // fade in when created.\n transition(\":enter\", [\n style({ opacity: 0 }),\n animate(350)\n ]),\n // fade out when destroyed.\n transition(\":leave\", animate(400, style({ opacity: 0 })))\n ])\n ]\n })\n], AlertComponent);\nexport { AlertComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./content-menu.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./content-menu.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport { UserInformationService } from \"../../services/user/user-information.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet ContentMenuComponent = class ContentMenuComponent {\n router;\n userInformationService;\n route;\n appControllerService;\n pageHeading;\n menuItems;\n relativeLinks = true;\n selectedModule;\n selectedModuleName = \"\";\n selectedOrganisationName = \"\";\n constructor(router, userInformationService, route, appControllerService) {\n this.router = router;\n this.userInformationService = userInformationService;\n this.route = route;\n this.appControllerService = appControllerService;\n this.selectedModule = this.userInformationService.getModuleInformation(+this.appControllerService.selectedModuleID);\n this.selectedModuleName = this.selectedModule?.name;\n this.selectedOrganisationName = this.selectedModule?.organisation?.name;\n this.checkState();\n }\n ngOnInit() {\n }\n routeToMenuItem(menuItem) {\n if (this.relativeLinks) {\n this.router.navigate([menuItem.address], { relativeTo: this.route });\n }\n else {\n this.router.navigate([menuItem.address]);\n }\n }\n checkState() {\n if (this.menuItems && this.pageHeading) {\n return;\n }\n }\n static ctorParameters = () => [\n { type: Router },\n { type: UserInformationService },\n { type: ActivatedRoute },\n { type: AppControllerService }\n ];\n static propDecorators = {\n pageHeading: [{ type: Input }],\n menuItems: [{ type: Input }],\n relativeLinks: [{ type: Input }]\n };\n};\nContentMenuComponent = __decorate([\n Component({\n selector: \"app-content-menu\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ContentMenuComponent);\nexport { ContentMenuComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./document-tree-view.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./document-tree-view.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nlet DocumentTreeViewComponent = class DocumentTreeViewComponent {\n nodes = [];\n displayField;\n descriptionField;\n downloadField;\n columns = [];\n options = {\n useVirtualScroll: false,\n nodeHeight: 30,\n isExpandedField: \"expanded\"\n };\n constructor() { }\n ngOnInit() {\n this.columns = [this.descriptionField, this.downloadField];\n this.options.displayField = this.displayField;\n }\n static ctorParameters = () => [];\n static propDecorators = {\n nodes: [{ type: Input }],\n displayField: [{ type: Input }],\n descriptionField: [{ type: Input }],\n downloadField: [{ type: Input }]\n };\n};\nDocumentTreeViewComponent = __decorate([\n Component({\n selector: \"app-document-tree-view\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DocumentTreeViewComponent);\nexport { DocumentTreeViewComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./help-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./help-modal.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet HelpModalComponent = class HelpModalComponent {\n activeModal;\n dialogTitle;\n helpMessage;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n closeBtnPlaceholder = \"Close\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n }\n onCloseBtnClicked() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n helpMessage: [{ type: Input }]\n };\n};\nHelpModalComponent = __decorate([\n Component({\n selector: \"app-help-modal\", template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], HelpModalComponent);\nexport { HelpModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./input.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./input.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet InputComponent = class InputComponent {\n placeHolder;\n label;\n parentFormGroup;\n required = false;\n formControlName;\n requiredErrorText;\n value = \"\";\n inputID = \"\";\n disabled;\n type = \"text\";\n /*constructor(\n // Retrieve the dependency only from the local injector,\n // not from parent or ancestors.\n @Self()\n // We want to be able to use the component without a form,\n // so we mark the dependency as optional.\n @Optional()\n private ngControl: NgControl\n ) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }*/\n ngOnInit() {\n this.setFormControlName();\n this.addToFormGroup();\n this.defaultPlaceHolder();\n this.requiredErrorText = `${this.label} is required`;\n this.inputID = `${this.label} ${Math.random()}`;\n }\n hasRequiredError() {\n return false;\n }\n getFormControl() {\n return this.parentFormGroup.get(this.formControlName);\n }\n hasErrors() {\n const formControl = this.getFormControl();\n return formControl.invalid && (formControl.dirty || formControl.touched);\n }\n getFirstErrorAvailable() {\n if (this.getFormControl().errors.required) {\n return `${this.label} is required`;\n }\n }\n addToFormGroup() {\n if (!this.parentFormGroup) {\n this.parentFormGroup = new FormGroup({});\n }\n this.parentFormGroup.addControl(this.formControlName, new FormControl({ value: \"\", disabled: this.disabled }, this.getValidators()));\n }\n getValidators() {\n const validatorsList = [];\n if (this.required) {\n validatorsList.push(Validators.required);\n }\n return validatorsList;\n }\n setFormControlName() {\n this.formControlName = this.label.toLocaleLowerCase();\n }\n defaultPlaceHolder() {\n if (!this.placeHolder) {\n this.placeHolder = `A value ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`;\n }\n }\n static propDecorators = {\n placeHolder: [{ type: Input }],\n label: [{ type: Input }],\n parentFormGroup: [{ type: Input }],\n required: [{ type: Input }]\n };\n};\nInputComponent = __decorate([\n Component({\n selector: \"app-input[label]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], InputComponent);\nexport { InputComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./page-heading.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./page-heading.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { RouterParamsService } from \"../../services/route-params.service\";\nimport { UserInformationService } from \"../../services/user/user-information.service\";\nimport { filter } from \"rxjs/operators\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nlet PageHeadingComponent = class PageHeadingComponent {\n routerParamsService;\n appController;\n changeDetectorRef;\n userInformationService;\n title;\n heading;\n subheading;\n moduleHeading;\n organisationHeading;\n currentModule;\n currentOrganisation;\n onlyValidParamsSubscription;\n systemModulesSubscription;\n constructor(routerParamsService, appController, changeDetectorRef, userInformationService) {\n this.routerParamsService = routerParamsService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.userInformationService = userInformationService;\n }\n ngOnInit() {\n this.listenForRouteParamChanges();\n this.setModuleHeadings();\n }\n listenForRouteParamChanges() {\n const onlyValidParams = this.routerParamsService.params.pipe(filter(param => param.moduleid || param.organisationid));\n this.onlyValidParamsSubscription = onlyValidParams.subscribe((params) => {\n if (params) {\n if (params.moduleid) {\n this.systemModulesSubscription = this.userInformationService.$systemModules.subscribe((modules) => {\n if (modules !== undefined && modules !== null && modules.length > 0) {\n this.currentModule = this.userInformationService.getModuleInformation(+params.moduleid);\n this.setModuleHeadings();\n }\n });\n }\n }\n });\n }\n setModuleHeadings() {\n if (this.currentModule) {\n this.moduleHeading = this.currentModule.name;\n this.organisationHeading = this.currentModule.organisation?.name;\n this.changeDetectorRef.markForCheck();\n }\n }\n static ctorParameters = () => [\n { type: RouterParamsService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: UserInformationService }\n ];\n static propDecorators = {\n title: [{ type: Input }],\n heading: [{ type: Input }],\n subheading: [{ type: Input }]\n };\n};\nPageHeadingComponent = __decorate([\n Component({\n selector: \"app-page-heading[heading]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], PageHeadingComponent);\nexport { PageHeadingComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./pop-up.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./pop-up.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet PopUpComponent = class PopUpComponent {\n activeModal;\n appController;\n title;\n contentMessage;\n data;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n updateBtnPlaceholder = SharedConstants.YES_LABEL;\n cancelBtnPlaceholder = SharedConstants.NO_LABEL;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n onBtnOkClick() {\n this.activeModal.close(this.data);\n }\n onBtnCancel() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n title: [{ type: Input }],\n contentMessage: [{ type: Input }],\n data: [{ type: Input }]\n };\n};\nPopUpComponent = __decorate([\n Component({\n selector: \"app-pop-up.component\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PopUpComponent);\nexport { PopUpComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./primary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./primary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nlet PrimaryButtonComponent = class PrimaryButtonComponent {\n displayText;\n clickCallBack = new EventEmitter();\n disabled;\n constructor() {\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nPrimaryButtonComponent = __decorate([\n Component({\n selector: \"app-primary-button\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PrimaryButtonComponent);\nexport { PrimaryButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./pwa-install-bottom-sheet.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./pwa-install-bottom-sheet.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { MatBottomSheetRef } from \"@angular/material/bottom-sheet\";\nimport { AppConfig } from \"src/app/app.config\";\nlet PwaInstallBottomSheetComponent = class PwaInstallBottomSheetComponent {\n bottomSheetRef;\n projectName;\n constructor(bottomSheetRef) {\n this.bottomSheetRef = bottomSheetRef;\n this.projectName = AppConfig.settings.projectSettings.projectName;\n }\n ngOnInit() {\n }\n install($event) {\n this.bottomSheetRef.dismiss(true);\n }\n dismiss($event) {\n this.bottomSheetRef.dismiss(false);\n }\n static ctorParameters = () => [\n { type: MatBottomSheetRef }\n ];\n};\nPwaInstallBottomSheetComponent = __decorate([\n Component({\n selector: \"app-pwa-install-bottom-sheet\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PwaInstallBottomSheetComponent);\nexport { PwaInstallBottomSheetComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-list.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-list.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AddRecipientModalComponent } from \"../shared/modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { AlertType } from \"../../../models/alert\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { FormBuilder, NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { RecipientListConstant, RecipientsHeadingLookup } from \"./recipient-list.constant\";\nimport { EditRecipientModalComponent } from \"../shared/modal-components/edit-recipient-modal/edit-recipient-modal.component\";\nimport RecipientUtils from \"../../../utils/recipient-utils\";\nimport { SharedConstants } from \"../../../constants/shared.constants\";\nimport { ConfirmDeleteModalComponent } from \"../shared/modal-components/confirm-delete-modal/confirm-delete-modal.component\";\nimport { UserInformationService } from \"../../../services/user/user-information.service\";\nlet RecipientListComponent = class RecipientListComponent {\n appControllerService;\n formBuilder;\n userInformationService;\n changeDetectorRef;\n modalService;\n stepMetaRecipientGroups = [];\n showRecipientsGroupsDropdown = true;\n disableAddRecipientButton = false // show or hide the add recipient button\n ;\n disableEditRecipientButton = false // show or hide the edit recipient button\n ;\n disableDeleteRecipientButton = false // show or hide the delete recipient button\n ;\n showRecipientTypeColumn = true;\n hideFilter = false;\n configurableLabel = \"Recipient\";\n jobId;\n hideAddButton = false;\n hideEditButton = false;\n hideDeleteButton = false;\n disableEditing = false;\n showAllFormFields = true;\n formName;\n tableDataSource = new BehaviorSubject([]);\n tableMapper;\n tableSelection = [];\n recipientListForm;\n groupsOptions = [];\n modalBodyOptions = RecipientListConstant.modalBodyOptions;\n i;\n showDefaultCommunicationMethods = true;\n // Labels\n addBtnLabel = RecipientListConstant.addBtnLabel;\n editBtnLabel = RecipientListConstant.editBtnLabel;\n deleteBtnLabel = RecipientListConstant.deleteBtnLabel;\n // error messages\n metadataPropertyNotSetErrMsg = RecipientListConstant.metadataPropertyNotSetErrMsg;\n // metadata properties\n moduleId;\n componentName = \"recipient list\";\n constructor(appControllerService, formBuilder, userInformationService, changeDetectorRef, modalService) {\n this.appControllerService = appControllerService;\n this.formBuilder = formBuilder;\n this.userInformationService = userInformationService;\n this.changeDetectorRef = changeDetectorRef;\n this.modalService = modalService;\n this.moduleId = this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null;\n }\n get value() {\n return this.recipientListForm.value;\n }\n set value(recipients) {\n const newRecipients = [];\n if (recipients && recipients.length > 0) {\n recipients.forEach(recipient => {\n // builds the group objects\n recipient.groups = this.buildRecipientGroupsArray(recipient);\n newRecipients.push(recipient);\n });\n }\n else {\n this.tableDataSource.next([]);\n }\n if (newRecipients.length > 0) {\n this.tableSelection = [];\n this.tableDataSource.next([...newRecipients]);\n }\n this.onChange(newRecipients);\n this.onTouched();\n this.changeDetectorRef.detectChanges();\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n ngOnInit() {\n this.initialiseForm();\n this.initializeColumnToObjectMapping();\n this.configureComponentOnInit();\n }\n arrayReturned(recipients) {\n this.tableSelection = recipients;\n }\n writeValue(recipients) {\n if (recipients) {\n this.value = recipients;\n }\n if (recipients === null) {\n this.recipientListForm.reset();\n this.tableDataSource.next([]);\n }\n }\n setDisabledState(disabled) {\n if (disabled) {\n this.recipientListForm.disable();\n }\n else {\n this.recipientListForm.enable();\n }\n }\n validate(_) {\n return this.recipientListForm.valid ? null : { formName: { valid: false } };\n }\n onAddBtnClicked() {\n const modalRef = this.modalService.open(AddRecipientModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Add new ${this.configurableLabel?.toLowerCase()}` : `Add new recipient`;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsFromMetadata = this.stepMetaRecipientGroups;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.showRecipientsGroupsDropdown = this.showRecipientsGroupsDropdown;\n modalRef.componentInstance.showDefaultCommunicationMethod = this.showDefaultCommunicationMethods;\n modalRef.result.then((newRecipient) => {\n if (newRecipient) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const recipient = this.generateTempId(newRecipient);\n if (recipientsAlreadyInTheTable && recipientsAlreadyInTheTable.length > 0) {\n recipientsAlreadyInTheTable.push(recipient);\n this.value = recipientsAlreadyInTheTable;\n }\n else {\n this.value = [recipient];\n }\n }\n });\n }\n onEditBtnClicked() {\n if (this.tableSelection.length === 0) {\n this.appControllerService.showMessage(\"Please select a recipient to edit from the table\", AlertType.Warning); // put in constant file\n return;\n }\n if (this.tableSelection.length > 1) {\n this.appControllerService.showMessage(\"Please select only 1 recipient to edit from the table\", AlertType.Warning); // put in constant file\n return;\n }\n const originalRecipient = Object.assign({}, this.tableSelection[0]);\n let selectedRecipientGroups = null;\n if (this.tableSelection[0].groupsStringArray)\n selectedRecipientGroups = this.tableSelection[0].groupsStringArray.map((group) => {\n return group;\n });\n const modalRef = this.modalService.open(EditRecipientModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Edit ${this.configurableLabel?.toLowerCase()}` : `Edit recipient`;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsFromMetadata = this.stepMetaRecipientGroups;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.recipientToEdit = originalRecipient;\n modalRef.componentInstance.selectedRecipientGroups = selectedRecipientGroups;\n modalRef.componentInstance.showDefaultCommunicationMethods = this.showDefaultCommunicationMethods;\n if (this.stepMetaRecipientGroups.length > 1) {\n modalRef.componentInstance.showRecipientGroupsDropdown = true;\n }\n else {\n modalRef.componentInstance.showRecipientGroupsDropdown = false;\n }\n modalRef.result.then((editedRecipient) => {\n if (editedRecipient) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const ItemIndex = recipientsAlreadyInTheTable.findIndex(b => b.id === editedRecipient.id);\n recipientsAlreadyInTheTable[ItemIndex] = editedRecipient;\n this.value = recipientsAlreadyInTheTable;\n this.tableSelection = [];\n }\n });\n }\n onDeleteBtnClicked() {\n if (this.tableSelection.length > 0) {\n const modalRef = this.modalService.open(ConfirmDeleteModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.label = this.configurableLabel ? `${this.configurableLabel?.toLowerCase()}` : \"recipient\";\n modalRef.result.then((deleteRecipients) => {\n if (deleteRecipients) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const recipientsToBeDeleted = this.tableSelection;\n for (let i = 0, len = recipientsToBeDeleted.length; i < len; i++) {\n const ItemIndex = recipientsAlreadyInTheTable.findIndex(b => b.id === recipientsToBeDeleted[i].id);\n recipientsAlreadyInTheTable.splice(ItemIndex, 1);\n }\n this.value = recipientsAlreadyInTheTable;\n this.tableSelection = [];\n }\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n }\n }\n loadRecipient(recipient) {\n recipient.overrideGroup = true;\n recipient.appendToList = true;\n this.value = [recipient];\n }\n onRecipientTypeChanged(recipient, $event) {\n const selectedRecipient = recipient;\n const radioButtonValue = $event.target.value;\n selectedRecipient.emailField = radioButtonValue;\n this.value = [selectedRecipient];\n }\n loadAllRecipients(recipients) {\n this.value = recipients;\n }\n stepMetaPropertyNotSetErrMessage(propertyName) {\n // throws warning when one of the properties of the metadata is not set\n this.appControllerService.showMessage(`The ${propertyName} ${this.metadataPropertyNotSetErrMsg}`, AlertType.Warning);\n }\n initialiseForm() {\n this.recipientListForm = this.formBuilder.group({\n id: [],\n jobId: [],\n moduleId: [],\n name: [],\n surname: [],\n homePhone: [],\n telephone: [],\n cellphone: [],\n defaultCommunicationMethod: [\"Email\"],\n email: [],\n organisation: [],\n clientVatNumber: [],\n designation: [],\n professionalBody: [],\n professionalBodyRegNum: [],\n streetAddress: [],\n streetSuburb: [],\n streetCity: [],\n streetProvince: [],\n streetCountry: [],\n streetCode: [],\n postalAddress: [],\n postalSuburb: [],\n postalCity: [],\n postalProvince: [],\n postalCountry: [],\n postalCode: [],\n groupsStringArray: [],\n groups: []\n });\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = RecipientsHeadingLookup;\n }\n buildRecipientGroupsArray(recipient) {\n const recipientGroups = [];\n if (recipient.hasOwnProperty(\"groupsStringArray\")) {\n recipient.groupsStringArray.forEach((groupNameString) => {\n recipientGroups.push({\n groupName: groupNameString,\n groupType: this.stepMetaRecipientGroups[0].groupType\n });\n });\n }\n if (recipient.groups && recipient.groups.length > 0 && !recipient.hasOwnProperty(\"groupsStringArray\")) {\n recipient.groupsStringArray = recipient.groups.map((group) => {\n return group.groupName;\n });\n recipient.groupsStringArray.forEach((groupNameString) => {\n recipientGroups.push({\n groupName: groupNameString,\n groupType: this.stepMetaRecipientGroups[0].groupType\n });\n });\n }\n return recipientGroups;\n }\n configureComponentOnInit() {\n this.getGroupsFromMetadata();\n this.showOrHideAddRecipientButton();\n this.showOrHideEditRecipientButton();\n this.showOrHideDeleteRecipientButton();\n this.checkOrganisationSettings();\n }\n getGroupsFromMetadata() {\n // extract groups options for the dropdown\n if (this.stepMetaRecipientGroups.length === 0) {\n this.stepMetaPropertyNotSetErrMessage(\"stepMetaRecipientGroups\");\n return;\n }\n // standardize the casing on the stepMetaRecipientGroups object\n this.stepMetaRecipientGroups = RecipientUtils.standardizeRecipientGroupsObject(this.stepMetaRecipientGroups);\n // get group options to be used on the add recipient and edit recipient modal windows\n this.groupsOptions = this.stepMetaRecipientGroups.map((group => {\n return group.groupName;\n }));\n }\n showOrHideAddRecipientButton() {\n if (this.disableAddRecipientButton) {\n this.hideAddButton = true;\n }\n else {\n this.hideAddButton = false;\n }\n }\n showOrHideEditRecipientButton() {\n if (this.disableEditRecipientButton) {\n this.hideEditButton = true;\n }\n else {\n this.hideEditButton = false;\n }\n }\n showOrHideDeleteRecipientButton() {\n if (this.disableDeleteRecipientButton) {\n this.hideDeleteButton = true;\n }\n else {\n this.hideDeleteButton = false;\n }\n }\n generateTempId(recipient) {\n let uuidValue = \"\";\n for (let k = 0; k < 32; k++) {\n // tslint:disable-next-line:no-bitwise\n const randomValue = Math.random() * 16 | 0;\n if (k === 8 || k === 12 || k === 16 || k === 20) {\n uuidValue += \"-\";\n }\n // tslint:disable-next-line:no-bitwise\n uuidValue += (k === 12 ? 4 : (k === 16 ? (randomValue & 3 | 8) : randomValue)).toString(16);\n recipient.id = uuidValue;\n }\n return recipient;\n }\n checkOrganisationSettings() {\n const organisationSettings = this.getOrganisationSettings();\n if (organisationSettings) {\n this.setDefaultCommunicationSettings(organisationSettings);\n }\n else {\n this.disableCommunicationMethods();\n }\n }\n getOrganisationSettings() {\n const organisationId = Number(this.appControllerService.selectedOrganisationId);\n const organisationInformation = this.userInformationService.getOrganisationInformation(organisationId);\n if (organisationInformation?.settings) {\n return organisationInformation.settings;\n }\n else {\n return null;\n }\n }\n setDefaultCommunicationSettings(organisationSettings) {\n this.showDefaultCommunicationMethods = false;\n const isSMSEnabledFromOrganisationSettings = organisationSettings.enableSms;\n const hasSMSProvider = (!(organisationSettings.smsProvider === \"\" || organisationSettings.smsProvider === \"null\" || organisationSettings.smsProvider === null));\n if (isSMSEnabledFromOrganisationSettings && hasSMSProvider) {\n this.showDefaultCommunicationMethods = true;\n }\n else {\n this.disableCommunicationMethods();\n }\n this.changeDetectorRef.detectChanges();\n }\n disableCommunicationMethods() {\n this.showDefaultCommunicationMethods = false;\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: FormBuilder },\n { type: UserInformationService },\n { type: ChangeDetectorRef },\n { type: NgbModal }\n ];\n static propDecorators = {\n stepMetaRecipientGroups: [{ type: Input }],\n showRecipientsGroupsDropdown: [{ type: Input }],\n disableAddRecipientButton: [{ type: Input }],\n disableEditRecipientButton: [{ type: Input }],\n disableDeleteRecipientButton: [{ type: Input }],\n showRecipientTypeColumn: [{ type: Input }],\n hideFilter: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n jobId: [{ type: Input }]\n };\n};\nRecipientListComponent = __decorate([\n Component({\n selector: \"app-recipient-list\",\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RecipientListComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RecipientListComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RecipientListComponent);\nexport { RecipientListComponent };\n","import { RecipientHeadingEnum } from \"../shared/enums/recipient-heading.enum\";\nexport const RecipientsHeadingLookup = new Map([\n [RecipientHeadingEnum.name, \"name\"],\n [RecipientHeadingEnum.surname, \"surname\"],\n [RecipientHeadingEnum.designation, \"designation\"],\n [RecipientHeadingEnum.organisation, \"organisation\"],\n [RecipientHeadingEnum.telephone, \"telephone\"],\n [RecipientHeadingEnum.email, \"email\"],\n [RecipientHeadingEnum.defaultCommunicationMethod, \"defaultCommunicationMethod\"]\n]);\nexport class RecipientListConstant {\n // labels\n static addBtnLabel = \"Add\";\n static editBtnLabel = \"Edit\";\n static deleteBtnLabel = \"Delete\";\n // error message\n static metadataPropertyNotSetErrMsg = \"property is not set in the recipient metadata, please contact your system administrator.\";\n // modal body options\n static modalBodyOptions = {\n size: \"xl\",\n centered: true,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-select.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-select.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { take } from \"rxjs\";\nimport { RecipientSelectConstants } from \"./recipient-select.constants\";\nimport { FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from \"@angular/forms\";\nimport { RecipientService } from \"../shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { DefaultRequiredFields } from \"../../../models/application/generic/recipient.model\";\nimport { SharedConstants } from \"../../../constants/shared.constants\";\nimport { CRUDOperation } from \"../../../models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../utils/recipient-utils\";\nimport { phoneNumberValidator } from \"../../../classes/phone-number-validator\";\nimport { UserInformationService } from \"../../../services/user/user-information.service\";\nimport { LookupConstants } from \"../../../constants/lookup.constants\";\nimport { AlertType } from \"src/app/shared/models/alert\";\nimport { UcFirstPipe } from \"ngx-pipes\";\nlet RecipientSelectComponent = class RecipientSelectComponent {\n recipientService;\n appControllerService;\n userInformationService;\n upperFirst;\n changeDetectorRef;\n overrideGroup = false;\n stepMetaRecipientGroups = [];\n isGroupsComingFromMetadata = true;\n showGroupsDropdown = true;\n disableEditing = false;\n showAllFormFields = true;\n disableFilter = true;\n jobId;\n formName;\n configurableLabel;\n showSACAPOptions = false;\n showRecipientGroupsDropdown = true;\n groupsOptions = [];\n hideFilter = false;\n hideAddButton = false;\n recipientForm;\n Validator = Validators;\n recipientFormLabelHeading = \"Recipient details\";\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n sameAsResidentialChecked = false;\n // moduleId;\n groupsFromMetadata;\n onChangeSubscription;\n defaultRequiredFields = DefaultRequiredFields;\n recipientGroupSettings = [];\n verifiedSACAPNumber = null;\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showClientVatNumberField = true;\n showIdNumberField = true;\n showMaritalStatusField = true;\n showRelativesFullNameField = true;\n showRelativesContactNumberField = true;\n showRelativesAddressField = true;\n showEmploymentStatusField = true;\n showEmployersNameField = true;\n showEmployersContactNumberField = true;\n showEmployersAddressField = true;\n // Form Labels\n nameLabel = RecipientSelectConstants.nameLabel;\n surnameLabel = RecipientSelectConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientSelectConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientSelectConstants.workTelephoneLabel;\n cellphoneLabel = RecipientSelectConstants.cellphoneLabel;\n defaultCommunicationMethodLabel = RecipientSelectConstants.defaultCommunicationMethodLabel;\n emailRadioButtonLabel = RecipientSelectConstants.emailRadioButtonLabel;\n smsRadioButtonLabel = RecipientSelectConstants.smsRadioButtonLabel;\n emailLabel = RecipientSelectConstants.emailLabel;\n organisationLabel = RecipientSelectConstants.organisationLabel;\n clientVatNumberLabel = RecipientSelectConstants.clientVatNumberLabel;\n designationLabel = RecipientSelectConstants.designationLabel;\n professionalBodyHeader = RecipientSelectConstants.professionalBodyHeader;\n professionalBodyLabel = RecipientSelectConstants.professionalBodyLabel;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n professionalBodyRegNoLabel = RecipientSelectConstants.professionalBodyRegNoLabel;\n streetAddressHeader = RecipientSelectConstants.streetAddressHeader;\n streetAddressLabel = RecipientSelectConstants.streetAddressLabel;\n streetSuburbLabel = RecipientSelectConstants.streetSuburbLabel;\n streetCityLabel = RecipientSelectConstants.streetCityLabel;\n streetProvinceLabel = RecipientSelectConstants.streetProvinceLabel;\n streetCountryLabel = RecipientSelectConstants.streetCountryLabel;\n streetCodeLabel = RecipientSelectConstants.streetCodeLabel;\n postalDetailsHeader = RecipientSelectConstants.postalDetailsHeader;\n postalAddressLabel = RecipientSelectConstants.postalAddressLabel;\n postalSuburbLabel = RecipientSelectConstants.postalSuburbLabel;\n postalCityLabel = RecipientSelectConstants.postalCityLabel;\n postalProvinceLabel = RecipientSelectConstants.postalProvinceLabel;\n postalCountryLabel = RecipientSelectConstants.postalCountryLabel;\n postalCodeLabel = RecipientSelectConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientSelectConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientSelectConstants.groups;\n groupsLabel = RecipientSelectConstants.groupsLabel;\n componentName = RecipientSelectConstants.defaultComponentName;\n validationMessage = RecipientSelectConstants.validationMessage;\n SACAPRegistrationLabel = RecipientSelectConstants.sacapRegistrationHeader;\n sacapRegistrationNumberLabel = RecipientSelectConstants.sacapRegistrationLabel;\n sacapVerificationLabel = RecipientSelectConstants.sacapVerificationButtonLabel;\n // Form Controls\n idFormControlName = RecipientSelectConstants.idFormControlName;\n jobIdFormControlName = RecipientSelectConstants.jobIdFormControlName;\n moduleIdFormControlName = RecipientSelectConstants.moduleIdFormControlName;\n nameFormControlName = RecipientSelectConstants.nameFormControl;\n surnameFormControlName = RecipientSelectConstants.surnameFormControl;\n homePhoneFormControlName = RecipientSelectConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientSelectConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientSelectConstants.cellphoneFormControlName;\n defaultCommunicationMethodFormControlName = RecipientSelectConstants.defaultCommunicationMethodFormControlName;\n emailFormControlName = RecipientSelectConstants.emailFormControlName;\n organisationFormControlName = RecipientSelectConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientSelectConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientSelectConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientSelectConstants.professionalBodyFormControlName;\n professionalBodyRegNoFormControlName = RecipientSelectConstants.professionalBodyRegNoFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.maritalStatusFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.relativesFullNameFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.relativesContactNumberFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.relativesAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employmentStatusFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersNameFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n streetAddressFormControlName = RecipientSelectConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientSelectConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientSelectConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientSelectConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientSelectConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientSelectConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientSelectConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientSelectConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientSelectConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientSelectConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientSelectConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientSelectConstants.postalCodeFormControlName;\n groupsFormControlName = RecipientSelectConstants.groupsFormControlName;\n groupsStringArrayFormControlName = RecipientSelectConstants.groupsStringArrayFormControlName;\n sacapRegistrationNumberFormControlName = RecipientSelectConstants.sacapRegistrationNumberFormControl;\n sacapRegistrationVerifiedFormControlName = RecipientSelectConstants.sacapRegistrationNumberVerifiedFormControl;\n selectOptionTextOption = RecipientSelectConstants.PLEASE_SELECT_AN_OPTION;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n showDefaultCommunicationMethods = true;\n requiredFieldsPlaceHolder = RecipientSelectConstants.requireFieldKey;\n getRecipientGroupSettingsSubscription;\n listenToClearRecipientSubscription;\n verifySACAPRegistrationSubscription;\n constructor(recipientService, appControllerService, userInformationService, upperFirst, changeDetectorRef) {\n this.recipientService = recipientService;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.upperFirst = upperFirst;\n this.changeDetectorRef = changeDetectorRef;\n this.initialiseForm();\n }\n get value() {\n return this.recipientForm.value;\n }\n set value(recipient) {\n if (recipient) {\n // set recipient data from the parent component.\n this.recipientForm.get(this.idFormControlName)?.patchValue(recipient.id ? recipient.id : null);\n this.recipientForm.get(this.jobIdFormControlName)?.patchValue(recipient.jobId ? recipient.jobId : null);\n this.recipientForm.get(this.moduleIdFormControlName)?.patchValue(recipient.moduleId ? recipient.moduleId : null);\n this.recipientForm.get(this.nameFormControlName)?.patchValue(recipient.name ? recipient.name : null);\n this.recipientForm.get(this.surnameFormControlName)?.patchValue(recipient.surname ? recipient.surname : null);\n this.recipientForm.get(this.homePhoneFormControlName)?.patchValue(recipient.homePhone ? recipient.homePhone : null);\n this.recipientForm.get(this.workTelephoneFormControlName)?.patchValue(recipient.telephone ? recipient.telephone : null);\n this.recipientForm.get(this.cellphoneFormControlName)?.patchValue(recipient.cellphone ? recipient.cellphone : null);\n this.recipientForm.get(this.emailFormControlName)?.patchValue(recipient.email ? recipient.email : null);\n this.recipientForm.get(this.defaultCommunicationMethodFormControlName)?.patchValue(recipient.defaultCommunicationMethod ? recipient.defaultCommunicationMethod : null);\n this.recipientForm.get(this.organisationFormControlName)?.patchValue(recipient.organisation ? recipient.organisation : null);\n this.recipientForm.get(this.clientVatNumberFormControlName)?.patchValue(recipient.clientVatNumber ? recipient.clientVatNumber : null);\n this.recipientForm.get(this.designationFormControlName)?.patchValue(recipient.designation ? recipient.designation : null);\n this.recipientForm.get(this.professionalBodyFormControlName)?.patchValue(recipient.professionalBody ? recipient.professionalBody : null);\n this.recipientForm.get(this.professionalBodyRegNoFormControlName)?.patchValue(recipient.professionalBodyRegNum ? recipient.professionalBodyRegNum : null);\n this.recipientForm.get(this.maritalStatusFormControlName)?.patchValue(recipient.maritalStatus ? recipient.maritalStatus : null);\n this.recipientForm.get(this.idNumberFormControlName)?.patchValue(recipient.idNumber ? recipient.idNumber : null);\n this.recipientForm.get(this.relativesFullNameFormControlName)?.patchValue(recipient.relativesFullName ? recipient.relativesFullName : null);\n this.recipientForm.get(this.relativesContactNumberFormControlName)?.patchValue(recipient.relativesContactNumber ? recipient.relativesContactNumber : null);\n this.recipientForm.get(this.relativesAddressFormControlName)?.patchValue(recipient.relativesAddress ? recipient.relativesAddress : null);\n this.recipientForm.get(this.employmentStatusFormControlName)?.patchValue(recipient.employmentStatus ? recipient.employmentStatus : null);\n this.recipientForm.get(this.employersNameFormControlName)?.patchValue(recipient.employersName ? recipient.employersName : null);\n this.recipientForm.get(this.employersContactNumberFormControlName)?.patchValue(recipient.employersContactNumber ? recipient.employersContactNumber : null);\n this.recipientForm.get(this.employersAddressFormControlName)?.patchValue(recipient.employersAddress ? recipient.employersAddress : null);\n this.recipientForm.get(this.streetAddressFormControlName)?.patchValue(recipient.streetAddress ? recipient.streetAddress : null);\n this.recipientForm.get(this.streetSuburbFormControlName)?.patchValue(recipient.streetSuburb ? recipient.streetSuburb : null);\n this.recipientForm.get(this.streetCityFormControlName)?.patchValue(recipient.streetCity ? recipient.streetCity : null);\n this.recipientForm.get(this.streetProvinceFormControlName)?.patchValue(recipient.streetProvince ? recipient.streetProvince : null);\n this.recipientForm.get(this.streetCountryFormControlName)?.patchValue(recipient.streetCountry ? recipient.streetCountry : null);\n this.recipientForm.get(this.streetCodeFormControlName)?.patchValue(recipient.streetCode ? recipient.streetCode : null);\n this.recipientForm.get(this.postalAddressFormControlName)?.patchValue(recipient.postalAddress ? recipient.postalAddress : null);\n this.recipientForm.get(this.postalSuburbFormControlName)?.patchValue(recipient.postalSuburb ? recipient.postalSuburb : null);\n this.recipientForm.get(this.postalCityFormControlName)?.patchValue(recipient.postalCity ? recipient.postalCity : null);\n this.recipientForm.get(this.postalProvinceFormControlName)?.patchValue(recipient.postalProvince ? recipient.postalProvince : null);\n this.recipientForm.get(this.postalCountryFormControlName)?.patchValue(recipient.postalCountry ? recipient.postalCountry : null);\n this.recipientForm.get(this.postalCodeFormControlName)?.patchValue(recipient.postalCode ? recipient.postalCode : null);\n if (recipient.hasOwnProperty(this.groupsStringArrayFormControlName) && recipient.groupsStringArray !== null && recipient.groupsStringArray.length > 0) {\n recipient.groups = this.setRecipientGroupsFromTheGroupsStringArray(recipient.groupsStringArray);\n this.recipientForm.get(this.groupsFormControlName).patchValue(recipient.groups);\n }\n }\n this.checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient);\n this.onChange(recipient);\n this.onTouched();\n }\n ngOnChanges(changes) {\n if (changes && changes.hasOwnProperty(\"stepMetaRecipientGroups\") && changes.stepMetaRecipientGroups.currentValue && changes.stepMetaRecipientGroups.currentValue.length > 0) {\n this.loadRecipientGroupSettings();\n this.configureComponentOnInit();\n }\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n setDisabledState(disabled) {\n if (disabled) {\n this.recipientForm.disable();\n this.disableEditing = true;\n this.recipientForm.get(this.postalProvinceFormControlName).disable();\n this.recipientForm.get(this.postalCountryFormControlName).disable();\n }\n else {\n this.recipientForm.enable();\n this.disableEditing = false;\n this.recipientForm.get(this.postalProvinceFormControlName).enable();\n this.recipientForm.get(this.postalCountryFormControlName).enable();\n }\n }\n writeValue(recipient) {\n if (recipient === null) {\n this.resetFormControls();\n return;\n }\n if (recipient) {\n this.value = recipient;\n }\n }\n // communicate the inner form validation-tab to the parent form\n validate(_) {\n return this.recipientForm.valid ? null : { formName: { valid: false } };\n }\n ngOnInit() {\n this.subscribeToFormChanges();\n this.configureComponentOnInit();\n this.subscribeToClearForm();\n this.checkOrganisationSettings();\n //this.populateVerifiedSACAPNumber();\n }\n ngOnDestroy() {\n if (this.onChangeSubscription !== undefined && this.onChangeSubscription !== null)\n this.onChangeSubscription.unsubscribe();\n if (this.getRecipientGroupSettingsSubscription !== undefined && this.getRecipientGroupSettingsSubscription !== null)\n this.getRecipientGroupSettingsSubscription.unsubscribe();\n if (this.listenToClearRecipientSubscription !== undefined && this.listenToClearRecipientSubscription !== null)\n this.listenToClearRecipientSubscription.unsubscribe();\n if (this.verifySACAPRegistrationSubscription !== undefined && this.verifySACAPRegistrationSubscription !== null)\n this.verifySACAPRegistrationSubscription.unsubscribe();\n }\n onResidentialInputEntered($event, formControlName) {\n if (this.sameAsResidentialChecked) {\n const inputValue = $event.target.value;\n const postalFormControl = this.recipientForm.get(formControlName);\n postalFormControl.patchValue(inputValue);\n }\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.recipientForm, true);\n RecipientUtils.clearPostalDetailsValidators(this.recipientForm, true);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.recipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.recipientForm, this.stepMetaRecipientGroups);\n this.recipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n if (this.sameAsResidentialChecked) {\n this.recipientForm.get(postalProvinceFormControlName).enable();\n }\n }\n disablePostalSelects(postalProvinceFormControlName) {\n if (this.sameAsResidentialChecked) {\n this.recipientForm.get(postalProvinceFormControlName).disable();\n }\n }\n markControlAsTouched(controlName) {\n if (controlName) {\n this.recipientForm.get(controlName).markAllAsTouched();\n this.recipientForm.get(controlName).updateValueAndValidity();\n }\n }\n loadRecipient(recipient) {\n if (recipient) {\n if (!this.disableEditing && this.showAllFormFields) {\n // enable postal formControls when loading recipient from the filter\n this.sameAsResidentialChecked = false; // reset sameAsResidential checkbox\n RecipientUtils.enablePostalDetails(this.recipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.recipientForm, this.stepMetaRecipientGroups);\n }\n this.value = recipient;\n }\n }\n updateModel() {\n if (this.stepMetaRecipientGroups.length > 0) {\n const currentGroupStringArray = this.recipientForm.get(this.groupsStringArrayFormControlName).value;\n const groups = currentGroupStringArray.map((groupStringValue) => {\n return {\n groupName: groupStringValue, groupType: this.stepMetaRecipientGroups[0].groupType\n };\n });\n this.recipientForm.get(this.groupsFormControlName).patchValue(groups);\n }\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.recipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.recipientForm.get(this.cellphoneFormControlName);\n const recipientGroup = this.stepMetaRecipientGroups[0];\n const isCellPhoneRequiredFromMetaData = this.isCellphoneFormFieldRequiredInTheMetadata(recipientGroup);\n const isEmailRequiredFromMetadata = this.isEmailFormFieldRequiredInTheMetadata(recipientGroup);\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"email\") {\n this.setEmailFormFieldAsRequired(emailFormControl);\n if (isCellPhoneRequiredFromMetaData) {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n }\n else {\n this.clearCellphoneFormFieldRequiredValidation(cellphoneFormControl);\n }\n }\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"sms\") {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n // if (isEmailRequiredFromMetadata) {\n // this.setEmailFormFieldAsRequired(emailFormControl);\n // } else {\n // this.clearEmailFormFieldRequiredValidation(emailFormControl);\n // }\n }\n }\n onVerifySacapDetails() {\n const constituentId = this.recipientForm.get(this.sacapRegistrationNumberFormControlName).value;\n this.verifySACAPRegistrationSubscription = this.recipientService.verifySACAPRegistration(constituentId).subscribe({\n next: (response) => {\n if (response && response.professionalNumber) {\n this.setVerifiedSACAPNumber(response.professionalNumber);\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).patchValue(response.professionalNumber);\n }\n this.setSACAPRecipientData(response);\n this.setSACAPRecipientVerification();\n this.appControllerService.showMessage(\"membership validated\", AlertType.Success);\n }, error: (error) => {\n this.clearSACAPRecipientVerification();\n switch (error.status) {\n case 404: {\n this.appControllerService.showMessage(error.error, AlertType.Error);\n break;\n }\n case 403: {\n this.appControllerService.showMessage(error.error, AlertType.Error);\n break;\n }\n default: {\n this.appControllerService.handleServerErrorMessage(\"Recipient verification\", error, CRUDOperation.Get);\n }\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.showSACAPOptions) {\n this.checkSACAPOptions();\n this.populateVerifiedSACAPNumber();\n this.changeDetectorRef.detectChanges();\n }\n }\n markFormControlsAsTouched() {\n this.recipientForm.markAllAsTouched();\n if (this.showSACAPOptions) {\n if (!this.recipientForm.get(this.sacapRegistrationNumberFormControlName).hasValidator(Validators.required)) {\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).addValidators([Validators.required, Validators.minLength(0)]);\n }\n this.recipientForm.updateValueAndValidity();\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).markAsTouched();\n }\n this.recipientForm.updateValueAndValidity();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.setRequiredFields();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n checkSACAPOptions() {\n if (this.showSACAPOptions) {\n // add sacap controls\n this.recipientForm.addControl(this.sacapRegistrationNumberFormControlName, new FormControl(null, [Validators.required, Validators.minLength(0)]));\n this.recipientForm.addControl(this.sacapRegistrationVerifiedFormControlName, new FormControl(null, Validators.required));\n this.recipientForm.updateValueAndValidity();\n }\n }\n getOrganisationSettings() {\n const organisationId = Number(this.appControllerService.selectedOrganisationId);\n const organisationInformation = this.userInformationService.getOrganisationInformation(organisationId);\n if (organisationInformation?.settings) {\n return organisationInformation.settings;\n }\n else {\n return null;\n }\n }\n setRecipientGroupsFromTheGroupsStringArray(groupsStringArray) {\n // builds group object from the metadata and the groupStringArray\n const recipientGroups = [];\n groupsStringArray.forEach((groupNameFromStringArray) => {\n for (const groupFromMetadata of this.stepMetaRecipientGroups) {\n if (groupFromMetadata.groupName.toLowerCase().trim() === groupNameFromStringArray.toLowerCase().trim()) {\n recipientGroups.push({ groupName: groupNameFromStringArray, groupType: groupFromMetadata.groupType });\n }\n }\n });\n return recipientGroups;\n }\n initialiseForm() {\n // initialise formControls\n this.recipientForm = new FormGroup({\n id: new FormControl(),\n sacapRegistrationNumber: new FormControl(0),\n jobId: new FormControl(this.jobId ? +this.jobId : null),\n moduleId: new FormControl(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null),\n name: new FormControl(),\n surname: new FormControl(),\n homePhone: new FormControl(null, phoneNumberValidator),\n telephone: new FormControl(null, phoneNumberValidator),\n cellphone: new FormControl(null, phoneNumberValidator),\n defaultCommunicationMethod: new FormControl(this.emailRadioButtonLabel),\n email: new FormControl(null, Validators.email),\n organisation: new FormControl(),\n clientVatNumber: new FormControl(),\n designation: new FormControl(),\n professionalBody: new FormControl(),\n professionalBodyRegNum: new FormControl(),\n maritalStatus: new FormControl(),\n relativesFullName: new FormControl(),\n relativesContactNumber: new FormControl(),\n relativesAddress: new FormControl(),\n employmentStatus: new FormControl(),\n employersName: new FormControl(),\n employersContactNumber: new FormControl(null, phoneNumberValidator),\n employersAddress: new FormControl(),\n idNumber: new FormControl(),\n streetAddress: new FormControl(),\n streetSuburb: new FormControl(),\n streetCity: new FormControl(),\n streetProvince: new FormControl(),\n streetCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n streetCode: new FormControl(),\n postalAddress: new FormControl(),\n postalSuburb: new FormControl(),\n postalCity: new FormControl(),\n postalProvince: new FormControl(),\n postalCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n postalCode: new FormControl(),\n groupsStringArray: new FormControl([]),\n groups: new FormControl(null)\n });\n }\n subscribeToFormChanges() {\n // any time the inner form changes update the parent of any change\n this.onChangeSubscription = this.recipientForm.valueChanges.subscribe(recipient => {\n this.onChange(recipient);\n this.onTouched();\n });\n }\n populateGroupsDropdown() {\n // Populates the groups dropdown\n if (this.isGroupsComingFromMetadata) {\n if (this.stepMetaRecipientGroups.length === 0) {\n this.stepMetaPropertyNotSetErrMessage(\"stepMetaRecipientGroups\");\n return;\n }\n this.stepMetaRecipientGroups = RecipientUtils.standardizeRecipientGroupsObject(this.stepMetaRecipientGroups);\n this.groupsOptions = this.stepMetaRecipientGroups.map((group => {\n return group.groupName;\n }));\n }\n else {\n // if groups are not coming from the metadata fetch them from the lookups\n this.getRecipientGroupsSettings();\n }\n }\n getRecipientGroupsSettings() {\n // Fetch groups from the recipientGroups lookup\n this.getRecipientGroupSettingsSubscription = this.recipientService.getRecipientGroupSettings(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null, true).subscribe({\n next: (groupSettings) => {\n if (groupSettings && groupSettings.length > 0) {\n this.populateRecipientGroups(groupSettings);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n populateRecipientGroups(groupSettings) {\n // populates the dropdown with groups from the lookups\n groupSettings.forEach(groupLookup => {\n const lookup = groupLookup;\n this.groupsOptions.push(lookup.name);\n });\n this.groupsOptions.sort((a, b) => a?.localeCompare(b));\n this.changeDetectorRef.markForCheck();\n }\n stepMetaPropertyNotSetErrMessage(propertyName) {\n // throws warning when one of the properties of the metadata is not set\n // this.appControllerService.showMessage(`The ${propertyName} ${this.metadataPropertyNotSetErrMsg}`, AlertType.Warning);\n }\n checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient) {\n const postalDetailsMatchResidentialDetails = RecipientUtils.checkAddressDetails(recipient, this.recipientForm);\n if (postalDetailsMatchResidentialDetails) {\n RecipientUtils.disablePostalDetails(this.recipientForm);\n this.sameAsResidentialChecked = true;\n this.changeDetectorRef.detectChanges();\n }\n }\n configureComponentOnInit() {\n // configures the component when it is initialized\n this.populateGroupsDropdown();\n this.setGroupsFromMetadata();\n this.setDisableEditing();\n this.setConfigurableLabel();\n this.setJobId();\n this.showOrHideGroupsDropdown();\n this.changeDetectorRef.detectChanges();\n }\n setRequiredFields() {\n if (this.stepMetaRecipientGroups.length > 0) {\n const group = this.stepMetaRecipientGroups[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => x.name.trim() === group.groupName.trim() && x.type === group.groupType);\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n }\n else {\n this.appControllerService.showMessage(`Configuration for recipient group settings incomplete GroupName: ${group.groupName}`, AlertType.Error);\n }\n }\n else {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n }\n setGroupsFromMetadata() {\n // sets the recipient groups from the metadata and hides the group dropdown if only 1 group is available from metadata\n if (this.stepMetaRecipientGroups.length === 1) {\n const groups = this.stepMetaRecipientGroups.map(((group) => {\n return {\n groupName: group.groupName, groupType: group.groupType\n };\n }));\n if (this.isGroupsComingFromMetadata && this.recipientForm) {\n this.recipientForm.get(this.groupsStringArrayFormControlName).setValue([groups[0].groupName]);\n this.recipientForm.get(this.groupsFormControlName).setValue([groups[0]]);\n this.showRecipientGroupsDropdown = false;\n }\n }\n }\n showOrHideGroupsDropdown() {\n // shows or hides the recipient groups dropdown\n if (this.showGroupsDropdown) {\n this.showRecipientGroupsDropdown = true;\n }\n else {\n this.showRecipientGroupsDropdown = false;\n }\n }\n setDisableEditing() {\n if (this.disableEditing) {\n this.setDisabledState(this.disableEditing);\n }\n }\n setConfigurableLabel() {\n this.recipientFormLabelHeading = this.configurableLabel ? `${this.configurableLabel} details` : `Personal details`;\n this.recipientFormLabelHeading = this.upperFirst.transform(this.recipientFormLabelHeading.toLowerCase());\n if (this.recipientFormLabelHeading === null || this.recipientFormLabelHeading === undefined) {\n this.stepMetaPropertyNotSetErrMessage(\"label\");\n }\n }\n subscribeToClearForm() {\n this.listenToClearRecipientSubscription = this.recipientService.listenToClearRecipient().subscribe(isCleaned => {\n if (!isCleaned)\n return;\n this.value = null;\n this.recipientForm.reset();\n });\n }\n resetFormControls() {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.recipientForm);\n this.recipientForm.reset();\n if (this.showDefaultCommunicationMethods) {\n this.recipientForm.get(this.defaultCommunicationMethodFormControlName).setValue(this.emailRadioButtonLabel);\n }\n this.recipientForm.get(this.streetCountryFormControlName)?.patchValue(SharedConstants.DEFAULT_COUNTRY);\n this.recipientForm.get(this.postalCountryFormControlName)?.patchValue(SharedConstants.DEFAULT_COUNTRY);\n this.recipientForm.get(this.moduleIdFormControlName).patchValue(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null);\n this.configureComponentOnInit();\n this.checkSACAPOptions();\n }\n setJobId() {\n if (this.jobId && +this.jobId >= 0) {\n this.recipientForm.get(this.jobIdFormControlName).patchValue(+this.jobId);\n }\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.recipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === this.homePhoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.workTelephoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.cellphoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === this.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === this.emailFormControlName) {\n control.addValidators([Validators.email]);\n }\n this.checkSACAPOptions();\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.recipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n isCellphoneFormFieldRequiredInTheMetadata(recipientGroup) {\n let isCellphoneRequired = false;\n if (this.stepMetaRecipientGroups.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Cellphone\", \"cellphone\")) {\n isCellphoneRequired = true;\n }\n return isCellphoneRequired;\n }\n isEmailFormFieldRequiredInTheMetadata(recipientGroup) {\n let isEsmailRequired = false;\n if (this.stepMetaRecipientGroups.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Email\", \"email\")) {\n isEsmailRequired = true;\n }\n return isEsmailRequired;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n getPropertyThatMatchesDataCase(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n setDefaultCommunicationSettings(organisationSettings) {\n this.showDefaultCommunicationMethods = false;\n const isSMSEnabledFromOrganisationSettings = organisationSettings.enableSms;\n const hasSMSProvider = (!(organisationSettings.smsProvider === \"\" || organisationSettings.smsProvider === \"null\" || organisationSettings.smsProvider === null));\n if (isSMSEnabledFromOrganisationSettings && hasSMSProvider) {\n this.showDefaultCommunicationMethods = true;\n }\n else {\n this.disableCommunicationMethods();\n }\n this.changeDetectorRef.detectChanges();\n }\n checkOrganisationSettings() {\n const organisationSettings = this.getOrganisationSettings();\n if (organisationSettings) {\n this.setDefaultCommunicationSettings(organisationSettings);\n }\n else {\n this.disableCommunicationMethods();\n }\n }\n disableCommunicationMethods() {\n this.showDefaultCommunicationMethods = false;\n }\n setSACAPRecipientData(memberData) {\n this.recipientForm.get(this.nameFormControlName).patchValue(memberData.firstname);\n this.recipientForm.get(this.nameFormControlName).disable();\n this.recipientForm.get(this.surnameFormControlName).patchValue(memberData.lastname);\n this.recipientForm.get(this.surnameFormControlName).disable();\n this.recipientForm.get(this.professionalBodyFormControlName).patchValue(\"SACAP\");\n this.recipientForm.get(this.professionalBodyFormControlName).disable();\n this.recipientForm.get(this.professionalBodyRegNoFormControlName).patchValue(memberData.professionalNumber);\n this.recipientForm.get(this.professionalBodyRegNoFormControlName).disable();\n this.recipientForm.get(this.emailFormControlName).patchValue(memberData.email);\n this.recipientForm.get(this.emailFormControlName).disable();\n this.recipientForm.get(this.cellphoneFormControlName).patchValue(memberData.telephone);\n this.recipientForm.get(this.cellphoneFormControlName).disable();\n }\n setSACAPRecipientVerification() {\n const control = this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName);\n if (control) {\n control.setValue(true);\n }\n }\n clearSACAPRecipientVerification() {\n const control = this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName);\n if (control) {\n control.reset();\n }\n }\n // Method to set the verified SACAP number\n setVerifiedSACAPNumber(number) {\n this.verifiedSACAPNumber = number;\n }\n populateVerifiedSACAPNumber() {\n if (this.verifiedSACAPNumber) {\n const sacapControl = this.recipientForm.get(this.sacapRegistrationNumberFormControlName);\n if (sacapControl) {\n sacapControl.patchValue(this.verifiedSACAPNumber);\n sacapControl.markAsTouched();\n }\n }\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n markAllAsTouched() {\n this.recipientForm.markAllAsTouched();\n if (this.showSACAPOptions) {\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).markAsTouched();\n }\n this.recipientForm.updateValueAndValidity();\n }\n static ctorParameters = () => [\n { type: RecipientService },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: UcFirstPipe },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n overrideGroup: [{ type: Input }],\n stepMetaRecipientGroups: [{ type: Input }],\n isGroupsComingFromMetadata: [{ type: Input }],\n showGroupsDropdown: [{ type: Input }],\n disableEditing: [{ type: Input }],\n showAllFormFields: [{ type: Input }],\n disableFilter: [{ type: Input }],\n jobId: [{ type: Input }],\n formName: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n showSACAPOptions: [{ type: Input }]\n };\n};\nRecipientSelectComponent = __decorate([\n Component({\n selector: \"app-recipient-select\",\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RecipientSelectComponent), multi: true\n }, {\n provide: NG_VALIDATORS, useExisting: forwardRef(() => RecipientSelectComponent), multi: true\n }],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RecipientSelectComponent);\nexport { RecipientSelectComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class RecipientSelectConstants {\n // Form labels\n static nameLabel = \"Name\";\n static surnameLabel = \"Surname\";\n static homeTelePhoneLabel = \"Home telephone\";\n static workTelephoneLabel = \"Work telephone\";\n static cellphoneLabel = \"Cellphone\";\n static defaultCommunicationMethodLabel = \"Preferred method of communication\";\n static emailRadioButtonLabel = \"Email\";\n static smsRadioButtonLabel = \"SMS\";\n static emailLabel = \"Email\";\n static organisationLabel = \"Organisation\";\n static clientVatNumberLabel = \"Client VAT number\";\n static designationLabel = \"Designation\";\n static professionalBodyHeader = \"Professional body details\";\n static professionalBodyLabel = \"Professional body\";\n static relativeDetailsBodyLabel = \"Relative's details\";\n static employerDetailsHeader = \"Employer's details\";\n static maritalStatusLabel = \"Marital status\";\n static idNumberLabel = \"ID Number\";\n static relativesFullNameLabel = \"Relative's full name\";\n static relativesContactNumberLabel = \"Relative's contact number\";\n static relativesAddressLabel = \"Relative's address\";\n static employmentStatusLabel = \"Employment status\";\n static employersNameLabel = \"Employer's name\";\n static employersContactNumberLabel = \"Employer's contact number\";\n static employersAddressLabel = \"Employer's address\";\n static professionalBodyRegNoLabel = \"Professional body registration number\";\n static streetAddressHeader = \"Street address details\";\n static streetAddressLabel = \"Street address\";\n static streetSuburbLabel = \"Suburb\";\n static streetCityLabel = \"City\";\n static streetProvinceLabel = \"Province\";\n static streetCountryLabel = \"Country\";\n static streetCodeLabel = \"Code\";\n static postalAddressLabel = \"Postal address\";\n static postalSuburbLabel = \"Suburb\";\n static postalCityLabel = \"City\";\n static postalProvinceLabel = \"Province\";\n static postalCountryLabel = \"Country\";\n static postalCodeLabel = \"Code\";\n static postalDetailsHeader = \"Postal address details\";\n static sameAsStreetAddressLabel = \"Same as street address\";\n static groups = \"Group Details\";\n static groupsLabel = \"Groups\";\n static selectGroupsLabel = \"Select group(s)\";\n static requireFieldKey = \"requiredFields\";\n static sacapRegistrationLabel = \"SACAP registration number\";\n static sacapVerificationButtonLabel = \"Verify with SACAP\";\n static sacapRegistrationHeader = \"SACAP verification\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n // Form Controls\n static idFormControlName = \"id\";\n static jobIdFormControlName = \"jobId\";\n static moduleIdFormControlName = \"moduleId\";\n static nameFormControl = \"name\";\n static surnameFormControl = \"surname\";\n static homeTelePhoneFormControl = \"homePhone\";\n static workTelephoneFormControl = \"telephone\";\n static cellphoneFormControlName = \"cellphone\";\n static defaultCommunicationMethodFormControlName = \"defaultCommunicationMethod\";\n static emailFormControlName = \"email\";\n static organisationFormControlName = \"organisation\";\n static clientVatNumberFormControlName = \"clientVatNumber\";\n static designationFormControlName = \"designation\";\n static professionalBodyFormControlName = \"professionalBody\";\n static professionalBodyRegNoFormControlName = \"professionalBodyRegNum\";\n static maritalStatusFormControlName = \"maritalStatus\";\n static idNumberFormControlName = \"idNumber\";\n static relativesFullNameFormControlName = \"relativesFullName\";\n static relativesContactNumberFormControlName = \"relativesContactNumber\";\n static relativesAddressFormControlName = \"relativesAddress\";\n static employmentStatusFormControlName = \"employmentStatus\";\n static employersNameFormControlName = \"employersName\";\n static employersContactNumberFormControlName = \"employersContactNumber\";\n static employersAddressFormControlName = \"employersAddress\";\n static streetAddressFormControlName = \"streetAddress\";\n static streetSuburbFormControlName = \"streetSuburb\";\n static streetCityFormControlName = \"streetCity\";\n static streetProvinceFormControlName = \"streetProvince\";\n static streetCountryFormControlName = \"streetCountry\";\n static streetCodeFormControlName = \"streetCode\";\n static postalAddressFormControlName = \"postalAddress\";\n static postalSuburbFormControlName = \"postalSuburb\";\n static postalCityFormControlName = \"postalCity\";\n static postalProvinceFormControlName = \"postalProvince\";\n static postalCountryFormControlName = \"postalCountry\";\n static postalCodeFormControlName = \"postalCode\";\n static groupsFormControlName = \"groups\";\n static groupsStringArrayFormControlName = \"groupsStringArray\";\n static defaultComponentName = \"recipient-select\";\n static sacapRegistrationNumberFormControl = \"sacapRegistrationNumber\";\n static sacapRegistrationNumberVerifiedFormControl = \"sacapRegistrationNumberVerified\";\n // Validation Messages\n static validationMessage = {\n name: {\n name: \"Please enter name\",\n maxlength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n surname: {\n surname: \"Please enter surname.\",\n maxlength: `Surname ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n telephone: {\n telephone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Telephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n homePhone: {\n homePhone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Homephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n cellphone: {\n cellphone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Cellphone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n organisation: {\n organisation: \"Please enter organisation name.\",\n maxlength: `Organisation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n clientVatNumber: {\n clientVatNumber: \"Please enter the client's vat number.\",\n maxlength: `Client Vat Number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n designation: {\n designation: \"Please enter designation.\",\n maxlength: `Designation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n professionalBody: {\n professionalBody: \"Please enter professional body.\",\n maxlength: `Professional body ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"500\")}`,\n },\n professionalBodyRegNum: {\n professionalBodyRegNum: \"Please enter the professional body's registration number.\",\n maxlength: `Professional body Registration number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n maritalStatus: {\n maritalStatus: \"Please select your marital status.\",\n },\n idNumber: {\n idNumber: \"Please enter your ID number.\",\n maxlength: `ID number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n relativesFullName: {\n relativesFullName: \"Please enter your relative's full name.\",\n },\n relativesContactNumber: {\n relativesContactNumber: \"Please enter your relative's contact number.\",\n },\n relativesAddress: {\n relativesAddress: \"Please enter your relative's address.\",\n },\n employmentStatus: {\n employmentStatus: \"Please select your employment status.\",\n },\n employersName: {\n employersName: \"Please enter your employer's name.\",\n },\n employersContactNumber: {\n employersContactNumber: \"Please enter your employer's number.\",\n },\n employersAddress: {\n employersAddress: \"Please enter your employer's address.\",\n },\n email: {\n email: \"Please enter a valid email address, for example, JDoe@gmail.com.\",\n maxlength: `Email ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetAddress: {\n streetAddress: \"Please enter address.\",\n maxlength: `Street address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetSuburb: {\n streetSuburb: \"Please enter suburb.\",\n maxlength: `Street suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n streetCity: {\n streetCity: \"Please enter city.\",\n maxlength: `Street City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetProvince: {\n streetProvince: \"Please select a province.\",\n maxlength: `Street Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCountry: {\n streetCountry: \"Please select a country.\",\n maxlength: `Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCode: {\n streetCode: \"Please enter a street code.\",\n maxlength: `Street Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalAddress: {\n postalAddress: \"Please enter a postal address.\",\n maxlength: `Postal Address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n postalSuburb: {\n postalSuburb: \"Please enter suburb.\",\n maxlength: `Postal Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n postalCity: {\n postalCity: \"Please enter a city.\",\n maxlength: `Postal City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalProvince: {\n postalProvince: \"Please select a province.\",\n maxlength: `Postal Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCountry: {\n postalCountry: \"Please select a country.\",\n maxlength: `Postal Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCode: {\n postalCode: \"Please enter a postal code.\",\n maxlength: `Postal Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n groups: \"Please select a group.\",\n sacapRegistrationNumber: \"Please enter registration number.\",\n };\n // Error messages\n static metadataPropertyNotSetErrMsg = \"property is not set in the recipient metadata, please contact your system administrator.\";\n}\n","export var RecipientHeadingEnum;\n(function (RecipientHeadingEnum) {\n RecipientHeadingEnum[\"name\"] = \"Name\";\n RecipientHeadingEnum[\"surname\"] = \"Surname\";\n RecipientHeadingEnum[\"designation\"] = \"Designation\";\n RecipientHeadingEnum[\"organisation\"] = \"Organisation\";\n RecipientHeadingEnum[\"telephone\"] = \"Telephone\";\n RecipientHeadingEnum[\"email\"] = \"Email\";\n RecipientHeadingEnum[\"defaultCommunicationMethod\"] = \"Communication method\";\n})(RecipientHeadingEnum || (RecipientHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-recipient-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-recipient-modal.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { DefaultRequiredFields } from \"../../../../../models/application/generic/recipient.model\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { RecipientFormConstants } from \"../../shared-contants/recipient-shared.constants\";\nimport { RecipientService } from \"../../shared-services/recipient.service\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../../app-controller.service\";\nimport RecipientUtils from \"../../../../../utils/recipient-utils\";\nimport { AlertType } from \"../../../../../models/alert\";\nimport { phoneNumberValidator } from \"../../../../../classes/phone-number-validator\";\nimport { RecipientSelectConstants } from \"../../../recipient-select/recipient-select.constants\";\nimport { LookupConstants } from \"../../../../../constants/lookup.constants\";\nimport { take } from \"rxjs\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddRecipientModalComponent = class AddRecipientModalComponent {\n changeDetectorRef;\n recipientService;\n activeModal;\n appControllerService;\n dialogTitle = \"Add new recipient\";\n configurableLabel = \"Recipient details\";\n groupsFromMetadata = [];\n jobId;\n moduleId;\n groupsOptions = [];\n showRecipientsGroupsDropdown = true;\n showDefaultCommunicationMethod = false;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n newRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n emailRequired = false;\n smsRequired = false;\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n defaultRequiredFields = DefaultRequiredFields;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n recipientGroupSettings = [];\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n formName = \"addNewRecipient\";\n validationMessage = RecipientFormConstants.validationMessage;\n nameLabel = RecipientFormConstants.nameLabel;\n surnameLabel = RecipientFormConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientFormConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientFormConstants.workTelephoneLabel;\n cellphoneLabel = RecipientFormConstants.cellphoneLabel;\n emailLabel = RecipientFormConstants.emailLabel;\n smsRadioButtonLabel = RecipientFormConstants.smsRadioButtonLabel;\n defaultCommunicationMethodLabel = RecipientFormConstants.defaultCommunicationMethodLabel;\n emailRadioButtonLabel = RecipientFormConstants.emailRadioButtonLabel;\n organisationLabel = RecipientFormConstants.organisationLabel;\n clientVatNumberLabel = RecipientFormConstants.clientVatNumberLabel;\n designationLabel = RecipientFormConstants.designationLabel;\n professionalBodyHeader = RecipientFormConstants.professionalBodyHeader;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n professionalBodyLabel = RecipientFormConstants.professionalBodyLabel;\n professionalBodyRegNoLabel = RecipientFormConstants.professionalBodyRegNoLabel;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n streetAddressHeader = RecipientFormConstants.streetAddressHeader;\n streetAddressLabel = RecipientFormConstants.streetAddressLabel;\n streetSuburbLabel = RecipientFormConstants.streetSuburbLabel;\n streetCityLabel = RecipientFormConstants.streetCityLabel;\n streetProvinceLabel = RecipientFormConstants.streetProvinceLabel;\n streetCountryLabel = RecipientFormConstants.streetCountryLabel;\n streetCodeLabel = RecipientFormConstants.streetCodeLabel;\n postalDetailsHeader = RecipientFormConstants.postalDetailsHeader;\n postalAddressLabel = RecipientFormConstants.postalAddressLabel;\n postalSuburbLabel = RecipientFormConstants.postalSuburbLabel;\n postalCityLabel = RecipientFormConstants.postalCityLabel;\n postalProvinceLabel = RecipientFormConstants.postalProvinceLabel;\n postalCountryLabel = RecipientFormConstants.postalCountryLabel;\n postalCodeLabel = RecipientFormConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientFormConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientFormConstants.groups;\n groupsLabel = RecipientFormConstants.groupsLabel;\n // Form Controls\n nameFormControlName = RecipientFormConstants.nameFormControl;\n surnameFormControlName = RecipientFormConstants.surnameFormControl;\n homePhoneFormControlName = RecipientFormConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientFormConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientFormConstants.cellphoneFormControlName;\n defaultCommunicationMethodFormControlName = RecipientFormConstants.defaultCommunicationMethodFormControlName;\n emailFormControlName = RecipientFormConstants.emailFormControlName;\n organisationFormControlName = RecipientFormConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientFormConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientFormConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientFormConstants.professionalBodyFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.maritalStatusFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.relativesFullNameFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.relativesContactNumberFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.relativesAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employmentStatusFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersNameFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n professionalBodyRegNoFormControlName = RecipientFormConstants.professionalBodyRegNoFormControlName;\n streetAddressFormControlName = RecipientFormConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientFormConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientFormConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientFormConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientFormConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientFormConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientFormConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientFormConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientFormConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientFormConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientFormConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientFormConstants.postalCodeFormControlName;\n groupsStringArrayFormControlName = RecipientFormConstants.groupsStringArrayFormControlName;\n selectOptionTextOption = RecipientFormConstants.PLEASE_SELECT_AN_OPTION;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n newRecipientFormLabelHeading = \"Recipient details\";\n requiredFieldsPlaceHolder = RecipientFormConstants.requireFieldKey;\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showMaritalStatusField = false;\n showRelativesFullNameField = false;\n showRelativesContactNumberField = false;\n showRelativesAddressField = false;\n showEmploymentStatusField = false;\n showEmployersNameField = false;\n showEmployersContactNumberField = false;\n showEmployersAddressField = false;\n showIdNumberField = false;\n showClientVatNumberField = false;\n showSave = true;\n constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.loadRecipientGroupSettings();\n this.populateRecipientGroups();\n this.showOrHideGroupsDropdown();\n this.setConfigurableLabel();\n this.changeDetectorRef.markForCheck();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.checkRequiredFields();\n this.checkCommunicationMethods();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n onResidentialInputEntered($event, postalAddressFormControlName) {\n RecipientUtils.onResidentialInputEntered($event, postalAddressFormControlName, this.newRecipientForm, this.sameAsResidentialChecked);\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.newRecipientForm, this.sameAsResidentialChecked);\n RecipientUtils.clearPostalDetailsValidators(this.newRecipientForm, this.sameAsResidentialChecked);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.restorePostalDetailsValidators(this.newRecipientForm, this.groupsFromMetadata);\n this.newRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.enablePostalSelects(this.newRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n disablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.disablePostalSelects(this.newRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n this.newRecipientForm.updateValueAndValidity();\n if (this.newRecipientForm.valid) {\n const newRecipient = this.newRecipientForm.value;\n newRecipient.id = 0;\n newRecipient.jobId = this.jobId ? this.jobId : null;\n newRecipient.moduleId = this.moduleId;\n this.activeModal.close(newRecipient);\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.newRecipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.newRecipientForm.get(this.cellphoneFormControlName);\n emailFormControl.clearValidators();\n cellphoneFormControl.clearValidators();\n if (preferredMethodOfCommunication === \"email\") {\n if (this.emailRequired) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n }\n cellphoneFormControl.clearValidators();\n }\n else if (preferredMethodOfCommunication === \"sms\") {\n if (this.smsRequired) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n }\n emailFormControl.clearValidators();\n }\n else {\n emailFormControl.clearValidators();\n cellphoneFormControl.clearValidators();\n }\n emailFormControl.updateValueAndValidity();\n cellphoneFormControl.updateValueAndValidity();\n }\n initForm() {\n this.newRecipientForm = new FormGroup({\n id: new FormControl(),\n jobId: new FormControl(),\n moduleId: new FormControl(),\n name: new FormControl(),\n surname: new FormControl(),\n homePhone: new FormControl(null, phoneNumberValidator),\n telephone: new FormControl(null, phoneNumberValidator),\n cellphone: new FormControl(null, phoneNumberValidator),\n defaultCommunicationMethod: new FormControl(\"Email\"),\n email: new FormControl(null, Validators.email),\n organisation: new FormControl(),\n clientVatNumber: new FormControl(),\n designation: new FormControl(),\n professionalBody: new FormControl(),\n professionalBodyRegNum: new FormControl(),\n maritalStatus: new FormControl(),\n relativesFullName: new FormControl(),\n relativesContactNumber: new FormControl(null, phoneNumberValidator),\n idNumber: new FormControl(),\n relativesAddress: new FormControl(),\n employmentStatus: new FormControl(),\n employersName: new FormControl(),\n employersContactNumber: new FormControl(),\n employersAddress: new FormControl(),\n streetAddress: new FormControl(),\n streetSuburb: new FormControl(),\n streetCity: new FormControl(),\n streetProvince: new FormControl(),\n streetCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n streetCode: new FormControl(),\n postalAddress: new FormControl(),\n postalSuburb: new FormControl(),\n postalCity: new FormControl(),\n postalProvince: new FormControl(),\n postalCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n postalCode: new FormControl(),\n groupsStringArray: new FormControl([], Validators.required),\n groups: new FormControl([])\n });\n }\n populateRecipientGroups() {\n // populates the groups dropdown\n this.groupsOptions?.sort((a, b) => a?.localeCompare(b));\n if (this.groupsOptions.length === 1) {\n this.newRecipientForm.get(this.groupsStringArrayFormControlName).setValue([this.groupsOptions[0]]);\n }\n }\n checkRequiredFields() {\n const group = this.groupsFromMetadata[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => (x.name === group.groupName || x.name === group?.GroupName) && (x.type === group.groupType || x.type === group?.GroupType));\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n this.newRecipientForm.updateValueAndValidity();\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n showOrHideGroupsDropdown() {\n if (this.showRecipientsGroupsDropdown && this.groupsOptions.length > 1) {\n this.showRecipientsGroupsDropdown = true;\n }\n else {\n this.showRecipientsGroupsDropdown = false;\n }\n }\n setConfigurableLabel() {\n this.newRecipientFormLabelHeading = this.configurableLabel;\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.newRecipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === RecipientFormConstants.homeTelePhoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.workTelephoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.cellphoneFormControlName) {\n this.smsRequired = true;\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.emailFormControlName) {\n this.emailRequired = true;\n control.addValidators([Validators.email]);\n }\n if (item.name === RecipientFormConstants.defaultCommunicationMethodFormControlName) {\n // Optional: If this is a requirement for email or SMS, handle it here.\n }\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.newRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n ngAfterViewInit() {\n this.setFormDefaults();\n }\n setFormDefaults() {\n this.newRecipientForm.get(this.postalCountryFormControlName).setValue(SharedConstants.DEFAULT_COUNTRY);\n this.newRecipientForm.get(this.streetCountryFormControlName).setValue(SharedConstants.DEFAULT_COUNTRY);\n this.changeDetectorRef.detectChanges();\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n checkCommunicationMethods() {\n if (this.showDefaultCommunicationMethod) {\n const defaultCommunicationMethod = this.newRecipientForm.get(this.defaultCommunicationMethodFormControlName).value;\n this.onRadioButtonChanged(defaultCommunicationMethod);\n console.log(defaultCommunicationMethod);\n }\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n groupsFromMetadata: [{ type: Input }],\n jobId: [{ type: Input }],\n moduleId: [{ type: Input }],\n groupsOptions: [{ type: Input }],\n showRecipientsGroupsDropdown: [{ type: Input }],\n showDefaultCommunicationMethod: [{ type: Input }]\n };\n};\nAddRecipientModalComponent = __decorate([\n Component({\n selector: \"app-add-recipient-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], AddRecipientModalComponent);\nexport { AddRecipientModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./confirm-delete-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./confirm-delete-modal.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet ConfirmDeleteModalComponent = class ConfirmDeleteModalComponent {\n activeModalService;\n label;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n dialogTitle;\n deleteConfirmationText;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n deleteBtnPlaceholder = SharedConstants.DELETE_LABEL;\n constructor(activeModalService) {\n this.activeModalService = activeModalService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.dialogTitle = `Delete ${this.label}`;\n this.deleteConfirmationText = `Are you sure you want to delete the selected ${this.label}?`;\n }\n onBtnCancelClicked() {\n this.activeModalService.close();\n }\n onBtnDeleteClicked() {\n this.activeModalService.close(true);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n label: [{ type: Input }]\n };\n};\nConfirmDeleteModalComponent = __decorate([\n Component({\n selector: \"app-confirm-delete-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ConfirmDeleteModalComponent);\nexport { ConfirmDeleteModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-recipient-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-recipient-modal.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { DefaultRequiredFields } from \"../../../../../models/application/generic/recipient.model\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { Subject, take } from \"rxjs\";\nimport { RecipientFormConstants } from \"../../shared-contants/recipient-shared.constants\";\nimport { RecipientService } from \"../../shared-services/recipient.service\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../../app-controller.service\";\nimport RecipientUtils from \"../../../../../utils/recipient-utils\";\nimport { AlertType } from \"../../../../../models/alert\";\nimport { phoneNumberValidator } from \"../../../../../classes/phone-number-validator\";\nimport { RecipientSelectConstants } from \"../../../recipient-select/recipient-select.constants\";\nimport { LookupConstants } from \"../../../../../constants/lookup.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditRecipientModalComponent = class EditRecipientModalComponent {\n changeDetectorRef;\n recipientService;\n activeModal;\n appControllerService;\n dialogTitle = \"Add new recipient\";\n groupsFromMetadata = [];\n jobId;\n moduleId;\n groupsOptions = [];\n recipientToEdit;\n selectedRecipientGroups;\n showRecipientGroupsDropdown = true;\n showDefaultCommunicationMethods = true;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n editRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n groupsOptionsObservable = new Subject();\n selectedGroupsOptionsSubject = new Subject();\n defaultRequiredFields = DefaultRequiredFields;\n requiredFieldsPlaceHolder = RecipientFormConstants.requireFieldKey;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n recipientGroupSettings = [];\n formName = \"editRecipient\";\n validationMessage = RecipientFormConstants.validationMessage;\n nameLabel = RecipientFormConstants.nameLabel;\n surnameLabel = RecipientFormConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientFormConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientFormConstants.workTelephoneLabel;\n cellphoneLabel = RecipientFormConstants.cellphoneLabel;\n emailLabel = RecipientFormConstants.emailLabel;\n defaultCommunicationMethodLabel = RecipientFormConstants.defaultCommunicationMethodLabel;\n organisationLabel = RecipientFormConstants.organisationLabel;\n clientVatNumberLabel = RecipientFormConstants.clientVatNumberLabel;\n designationLabel = RecipientFormConstants.designationLabel;\n professionalBodyHeader = RecipientFormConstants.professionalBodyHeader;\n professionalBodyLabel = RecipientFormConstants.professionalBodyLabel;\n professionalBodyRegNoLabel = RecipientFormConstants.professionalBodyRegNoLabel;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n streetAddressHeader = RecipientFormConstants.streetAddressHeader;\n streetAddressLabel = RecipientFormConstants.streetAddressLabel;\n streetSuburbLabel = RecipientFormConstants.streetSuburbLabel;\n streetCityLabel = RecipientFormConstants.streetCityLabel;\n streetProvinceLabel = RecipientFormConstants.streetProvinceLabel;\n streetCountryLabel = RecipientFormConstants.streetCountryLabel;\n streetCodeLabel = RecipientFormConstants.streetCodeLabel;\n postalDetailsHeader = RecipientFormConstants.postalDetailsHeader;\n postalAddressLabel = RecipientFormConstants.postalAddressLabel;\n postalSuburbLabel = RecipientFormConstants.postalSuburbLabel;\n postalCityLabel = RecipientFormConstants.postalCityLabel;\n postalProvinceLabel = RecipientFormConstants.postalProvinceLabel;\n postalCountryLabel = RecipientFormConstants.postalCountryLabel;\n postalCodeLabel = RecipientFormConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientFormConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientFormConstants.groups;\n groupsLabel = RecipientFormConstants.groupsLabel;\n selectOptionTextOption = RecipientSelectConstants.PLEASE_SELECT_AN_OPTION;\n // Form Controls\n nameFormControlName = RecipientFormConstants.nameFormControl;\n surnameFormControlName = RecipientFormConstants.surnameFormControl;\n homePhoneFormControlName = RecipientFormConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientFormConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientFormConstants.cellphoneFormControlName;\n emailFormControlName = RecipientFormConstants.emailFormControlName;\n defaultCommunicationMethodFormControlName = RecipientSelectConstants.defaultCommunicationMethodFormControlName;\n emailRadioButtonLabel = RecipientFormConstants.emailRadioButtonLabel;\n smsRadioButtonLabel = RecipientSelectConstants.smsRadioButtonLabel;\n organisationFormControlName = RecipientFormConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientFormConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientFormConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientFormConstants.professionalBodyFormControlName;\n professionalBodyRegNoFormControlName = RecipientFormConstants.professionalBodyRegNoFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n streetAddressFormControlName = RecipientFormConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientFormConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientFormConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientFormConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientFormConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientFormConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientFormConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientFormConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientFormConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientFormConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientFormConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientFormConstants.postalCodeFormControlName;\n groupsStringArrayFormControlName = RecipientFormConstants.groupsStringArrayFormControlName;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n newRecipientFormLabelHeading = \"Recipient details\";\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showClientVatNumberField = true;\n showMaritalStatusField = true;\n showRelativesFullNameField = true;\n showRelativesContactNumberField = true;\n showRelativesAddressField = true;\n showEmploymentStatusField = true;\n showEmployersNameField = true;\n showEmployersContactNumberField = true;\n showEmployersAddressField = true;\n showIdNumberField = true;\n showSave = true;\n constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.editRecipientForm = new FormGroup({\n id: new FormControl(this.recipientToEdit.id),\n jobId: new FormControl(this.recipientToEdit.jobId ? this.recipientToEdit.jobId : null),\n moduleId: new FormControl(this.recipientToEdit.moduleId ? this.recipientToEdit.moduleId : null),\n name: new FormControl(this.recipientToEdit.name ? this.recipientToEdit.name : null),\n surname: new FormControl(this.recipientToEdit.surname ? this.recipientToEdit.surname : null),\n homePhone: new FormControl(this.recipientToEdit.homePhone ? this.recipientToEdit.homePhone : null, phoneNumberValidator),\n telephone: new FormControl(this.recipientToEdit.telephone ? this.recipientToEdit.telephone : null, phoneNumberValidator),\n cellphone: new FormControl(this.recipientToEdit.cellphone ? this.recipientToEdit.cellphone : null, phoneNumberValidator),\n email: new FormControl(this.recipientToEdit.email ? this.recipientToEdit.email : null, Validators.email),\n defaultCommunicationMethod: new FormControl(this.recipientToEdit.defaultCommunicationMethod ? this.recipientToEdit.defaultCommunicationMethod : null),\n organisation: new FormControl(this.recipientToEdit.organisation ? this.recipientToEdit.organisation : null),\n clientVatNumber: new FormControl(this.recipientToEdit.clientVatNumber ? this.recipientToEdit.clientVatNumber : null),\n designation: new FormControl(this.recipientToEdit.designation ? this.recipientToEdit.designation : null),\n professionalBody: new FormControl(this.recipientToEdit.professionalBody ? this.recipientToEdit.professionalBody : null),\n professionalBodyRegNum: new FormControl(this.recipientToEdit.professionalBodyRegNum ? this.recipientToEdit.professionalBodyRegNum : null),\n maritalStatus: new FormControl(this.recipientToEdit.maritalStatus ? this.recipientToEdit.maritalStatus : null),\n idNumber: new FormControl(this.recipientToEdit.idNumber ? this.recipientToEdit.idNumber : null),\n relativesFullName: new FormControl(this.recipientToEdit.relativesFullName ? this.recipientToEdit.relativesFullName : null),\n relativesContactNumber: new FormControl(this.recipientToEdit.relativesContactNumber ? this.recipientToEdit.relativesContactNumber : null),\n relativesAddress: new FormControl(this.recipientToEdit.relativesAddress ? this.recipientToEdit.relativesAddress : null),\n employmentStatus: new FormControl(this.recipientToEdit.employmentStatus ? this.recipientToEdit.employmentStatus : null),\n employersName: new FormControl(this.recipientToEdit.employersName ? this.recipientToEdit.employersName : null),\n employersContactNumber: new FormControl(this.recipientToEdit.employersContactNumber ? this.recipientToEdit.employersContactNumber : null),\n employersAddress: new FormControl(this.recipientToEdit.employersAddress ? this.recipientToEdit.employersAddress : null),\n streetAddress: new FormControl(this.recipientToEdit.streetAddress ? this.recipientToEdit.streetAddress : null),\n streetSuburb: new FormControl(this.recipientToEdit.streetSuburb ? this.recipientToEdit.streetSuburb : null),\n streetCity: new FormControl(this.recipientToEdit.streetCity ? this.recipientToEdit.streetCity : null),\n streetProvince: new FormControl(this.recipientToEdit.streetProvince ? this.recipientToEdit.streetProvince : null),\n streetCountry: new FormControl(this.recipientToEdit.streetCountry ? this.recipientToEdit.streetCountry : null),\n streetCode: new FormControl(this.recipientToEdit.streetCode ? this.recipientToEdit.streetCode : null),\n postalAddress: new FormControl(this.recipientToEdit.postalAddress ? this.recipientToEdit.postalAddress : null),\n postalSuburb: new FormControl(this.recipientToEdit.postalSuburb ? this.recipientToEdit.postalSuburb : null),\n postalCity: new FormControl(this.recipientToEdit.postalCity ? this.recipientToEdit.postalCity : null),\n postalProvince: new FormControl(this.recipientToEdit.postalProvince ? this.recipientToEdit.postalProvince : null),\n postalCountry: new FormControl(this.recipientToEdit.postalCountry ? this.recipientToEdit.postalCountry : null),\n postalCode: new FormControl(this.recipientToEdit.postalCode ? this.recipientToEdit.postalCode : null),\n groupsStringArray: new FormControl(this.getGroupsStringArray(this.recipientToEdit.groups)),\n groups: new FormControl(this.recipientToEdit.groups ? this.recipientToEdit.groups : null)\n });\n this.loadRecipientGroupSettings();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.checkRequiredFields();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n ngAfterViewInit() {\n this.populateRecipientGroups();\n this.checkIfPostalDetailsIsTheSameAsResidentialDetails(this.recipientToEdit);\n }\n ngOnDestroy() {\n this.selectedGroupsOptionsSubject.unsubscribe();\n this.groupsOptionsObservable.unsubscribe();\n }\n onResidentialInputEntered($event, postalAddressFormControlName) {\n RecipientUtils.onResidentialInputEntered($event, postalAddressFormControlName, this.editRecipientForm, this.sameAsResidentialChecked);\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.editRecipientForm, this.sameAsResidentialChecked);\n RecipientUtils.clearPostalDetailsValidators(this.editRecipientForm, this.sameAsResidentialChecked);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.editRecipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.editRecipientForm, this.groupsFromMetadata);\n this.editRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.enablePostalSelects(this.editRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n disablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.disablePostalSelects(this.editRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editRecipientForm.valid) {\n this.editRecipientForm.enable();\n const newRecipient = this.editRecipientForm.value;\n console.log(newRecipient);\n newRecipient.jobId = this.jobId ? +this.jobId : null;\n newRecipient.moduleId = this.moduleId;\n if (newRecipient.groupsStringArray && newRecipient.groupsStringArray.groups) {\n newRecipient.groupsStringArray = newRecipient.groupsStringArray.groups;\n }\n else {\n newRecipient.groups = [];\n }\n delete newRecipient.groups;\n this.activeModal.close(newRecipient);\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n updateModel() {\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.editRecipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.editRecipientForm.get(this.cellphoneFormControlName);\n const recipientGroup = this.groupsFromMetadata[0];\n const isCellPhoneRequiredFromMetaData = this.isCellphoneFormFieldRequiredInTheMetadata(recipientGroup);\n const isEmailRequiredFromMetadata = this.isEmailFormFieldRequiredInTheMetadata(recipientGroup);\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"email\") {\n this.setEmailFormFieldAsRequired(emailFormControl);\n if (isCellPhoneRequiredFromMetaData) {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n }\n else {\n this.clearCellphoneFormFieldRequiredValidation(cellphoneFormControl);\n }\n }\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"sms\") {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n // if (isEmailRequiredFromMetadata) {\n // this.setEmailFormFieldAsRequired(emailFormControl);\n // } else {\n // this.clearEmailFormFieldRequiredValidation(emailFormControl);\n // }\n }\n }\n populateRecipientGroups() {\n // populates the groups\n this.groupsOptions?.sort((a, b) => a?.localeCompare(b));\n this.changeDetectorRef.detectChanges();\n }\n checkRequiredFields() {\n const group = this.groupsFromMetadata[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => x.name === group.groupName && x.type === group.groupType);\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n this.editRecipientForm.updateValueAndValidity();\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient) {\n const postalDetailsMatchResidentialDetails = RecipientUtils.checkAddressDetails(recipient, this.editRecipientForm);\n if (postalDetailsMatchResidentialDetails) {\n RecipientUtils.disablePostalDetails(this.editRecipientForm);\n this.sameAsResidentialChecked = true;\n this.changeDetectorRef.detectChanges();\n }\n }\n getGroupsStringArray(groups) {\n const groupsStringArray = [];\n if (groups && groups.length > 0) {\n groups.forEach((group) => {\n groupsStringArray.push(group.groupName);\n });\n }\n return groupsStringArray;\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.editRecipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === RecipientFormConstants.homeTelePhoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.workTelephoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.cellphoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.emailFormControlName) {\n control.addValidators([Validators.email]);\n }\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.editRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n isCellphoneFormFieldRequiredInTheMetadata(recipientGroup) {\n let isCellphoneRequired = false;\n if (this.groupsFromMetadata.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Cellphone\", \"cellphone\")) {\n isCellphoneRequired = true;\n }\n return isCellphoneRequired;\n }\n isEmailFormFieldRequiredInTheMetadata(recipientGroup) {\n let isEsmailRequired = false;\n if (this.groupsFromMetadata.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Email\", \"email\")) {\n isEsmailRequired = true;\n }\n return isEsmailRequired;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n getPropertyThatMatchesDataCase(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n groupsFromMetadata: [{ type: Input }],\n jobId: [{ type: Input }],\n moduleId: [{ type: Input }],\n groupsOptions: [{ type: Input }],\n recipientToEdit: [{ type: Input }],\n selectedRecipientGroups: [{ type: Input }],\n showRecipientGroupsDropdown: [{ type: Input }],\n showDefaultCommunicationMethods: [{ type: Input }]\n };\n};\nEditRecipientModalComponent = __decorate([\n Component({\n selector: \"app-edit-recipient-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], EditRecipientModalComponent);\nexport { EditRecipientModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-filter.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-filter.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { RecipientService } from \"../shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../models/crud-operation-enum.model\";\nimport { take } from \"rxjs/operators\";\nimport { AlertType } from \"../../../../models/alert\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AddRecipientModalComponent } from \"../modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { RecipientFormConstants } from \"../shared-contants/recipient-shared.constants\";\nimport { RecipientFilterConstants } from \"./recipient-filter.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet RecipientFilterComponent = class RecipientFilterComponent {\n appControllerService;\n recipientFilterService;\n modalService;\n changeDetectorRef;\n disableAddRecipientBtn;\n configurableLabel;\n isUsedInRecipientSelect = true;\n jobId;\n formName;\n loadAllRecipientsEventEmitted = new EventEmitter();\n loadRecipientEventEmitted = new EventEmitter();\n groupsOptions = [];\n stepMetaGroups = [];\n // Labels\n displayGroupsLabel = RecipientFilterConstants.displayGroupsLabel;\n selectGroupsLabel = RecipientFilterConstants.selectGroupsLabel;\n selectAllFromGroupBtnLabel = RecipientFilterConstants.selectAllFromGroupBtnLabel;\n selectedGroupsFromDropdown;\n selectedGroupOptions = [\"All\"];\n selectedRecipientFromDropdown;\n selectedRecipientOptions = [];\n displayFilterGroups;\n showSelectRecipientBtn = false; // only show filter is attached to recipient-list\n recipientsFromDb = [];\n showSelectAllRecipientsBtn = true;\n AddOrSelectRecipientLabel = \"Select recipient\";\n displayAddButton = true;\n displayGroupsChecked;\n addRecipientBtnLabel = \"Add recipient\"; // configurable variable\n componentName = RecipientFilterConstants.componentName;\n moduleId;\n recipientGroupsFromMetadata;\n getRecipientsByGroupSubscription;\n constructor(appControllerService, recipientFilterService, modalService, changeDetectorRef) {\n this.appControllerService = appControllerService;\n this.recipientFilterService = recipientFilterService;\n this.modalService = modalService;\n this.changeDetectorRef = changeDetectorRef;\n this.moduleId = Number(this.appControllerService.selectedModuleID);\n }\n ngOnChanges(changes) {\n if (changes && changes.hasOwnProperty(\"stepMetaGroups\") && changes.stepMetaGroups.currentValue && changes.stepMetaGroups.currentValue.length > 0) {\n const groups = changes.stepMetaGroups.currentValue;\n this.recipientGroupsFromMetadata = groups;\n this.getRecipients(groups);\n }\n }\n ngOnInit() {\n this.showOrRemoveFilterButtons();\n }\n onDisplayGroupsChangedChecked($event) {\n const displayGroupsChecked = $event.target.checked;\n if (displayGroupsChecked) {\n this.displayFilterGroups = true;\n this.selectedRecipientOptions.sort((a, b) => (a.consolidatedGroup?.localeCompare(b.consolidatedGroup)));\n }\n else {\n this.displayFilterGroups = false;\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n }\n }\n onSelectGroupsChanged($event) {\n // triggered by checkbox from recipient select filter\n const groupSelected = $event.target.value;\n this.filterRecipients(groupSelected);\n }\n onSelectRecipientBtnClicked() {\n this.loadRecipients();\n }\n onSelectedRecipientChanged() {\n if (this.isUsedInRecipientSelect) {\n this.loadRecipients();\n }\n }\n loadRecipients() {\n if (this.selectedRecipientFromDropdown !== undefined) {\n this.loadRecipientEventEmitted.emit(this.selectedRecipientFromDropdown);\n }\n else {\n this.appControllerService.showMessage(\"Please make a selection from the drop down before adding\", AlertType.Warning);\n }\n }\n onSelectAllFromGroupBtnClicked() {\n if (this.selectedRecipientOptions.length > 0) {\n this.loadAllRecipientsEventEmitted.emit(this.selectedRecipientOptions);\n }\n }\n onAddRecipientBtnClicked() {\n const modalRef = this.modalService.open(AddRecipientModalComponent, RecipientFormConstants.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Add ${this.configurableLabel}` : `Add recipient`;\n modalRef.componentInstance.configurableLabel = this.configurableLabel ? `${this.configurableLabel} details` : `Add recipient`;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.groupsFromMetadata = this.recipientGroupsFromMetadata;\n if (this.recipientGroupsFromMetadata.length > 1) {\n modalRef.componentInstance.showRecipientsGroupsDropdown = true;\n }\n else {\n modalRef.componentInstance.showRecipientsGroupsDropdown = false;\n }\n modalRef.result.then((newRecipient) => {\n if (newRecipient) {\n this.recipientsFromDb.push(newRecipient);\n newRecipient.fullName = `${newRecipient.name} ${newRecipient.surname}`;\n newRecipient.consolidatedGroup = this.createConsolidatedGroups(newRecipient);\n this.selectedRecipientOptions.push(newRecipient);\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n this.loadRecipientEventEmitted.emit(newRecipient);\n }\n });\n }\n getRecipients(recipientGroups) {\n if (recipientGroups && recipientGroups.length > 0) {\n this.getRecipientsByGroupSubscription =\n this.recipientFilterService.getRecipientsByGroup(this.generateFilterObject(recipientGroups)).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.recipients.length > 0) {\n this.recipientsFromDb = recipients.recipients;\n this.populateGroupsDropDown();\n this.populateRecipientsDropDown();\n this.configureFilterComponent();\n this.changeDetectorRef.detectChanges();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Add);\n }\n });\n }\n }\n configureFilterComponent() {\n if (this.isUsedInRecipientSelect) {\n this.configureForRecipientSelect();\n }\n if (!this.isUsedInRecipientSelect) {\n this.configureForRecipientList();\n }\n }\n setConfigurableLabel(addOrSelectText) {\n const textLabel = this.configurableLabel;\n if (textLabel !== undefined && textLabel !== \"\") {\n this.addRecipientBtnLabel = `${addOrSelectText} ${textLabel}`[0].toUpperCase() + `${addOrSelectText} ${textLabel}`.substr(1).toLowerCase();\n this.AddOrSelectRecipientLabel = `Select ${textLabel.toLowerCase()}`;\n }\n else {\n this.isUsedInRecipientSelect ? this.addRecipientBtnLabel = \"Add recipient\" : this.addRecipientBtnLabel = \"Select recipient\";\n }\n }\n configureForRecipientSelect() {\n this.showOrRemoveFilterButtons();\n this.setConfigurableLabel(\"Add\");\n }\n configureForRecipientList() {\n this.showOrRemoveFilterButtons();\n this.setConfigurableLabel(\"Select\");\n }\n showOrRemoveFilterButtons() {\n if (this.isUsedInRecipientSelect) {\n // show recipient select button configuration\n this.showSelectRecipientBtn = false; // removes the selectRecipient button into the viewer\n this.showSelectAllRecipientsBtn = false; // removes the selectAllRecipient button into the viewer\n if (this.disableAddRecipientBtn) {\n this.displayAddButton = false; // adds the addRecipient button from the viewer\n }\n }\n else {\n // show recipient list button configuration\n this.showSelectRecipientBtn = true; // adds the selectRecipient button into the viewer\n this.showSelectAllRecipientsBtn = true; // add the selectAllRecipient button into the viewer\n this.displayAddButton = false; // removes the add recipient button , should only be shown on the recipient select\n }\n }\n generateFilterObject(recipientGroups) {\n const recipientSelect = {\n jobId: this.jobId,\n moduleId: this.moduleId,\n groups: []\n };\n if (recipientGroups.length > 0) {\n recipientGroups.forEach((group, i) => {\n const ggroup = {\n groupType: group.groupType,\n groupName: group.groupName\n };\n recipientSelect.groups.push(ggroup);\n });\n }\n return recipientSelect;\n }\n populateGroupsDropDown() {\n this.groupsOptions = [];\n this.recipientGroupsFromMetadata.forEach(group => {\n this.groupsOptions.push(group.groupName);\n this.selectedGroupOptions.push(group.groupName);\n });\n this.groupsOptions.sort((a, b) => (a?.localeCompare(b)));\n }\n createConsolidatedGroups(recipient) {\n const groups = [];\n recipient.groups?.forEach(group => groups.push(group.groupName));\n return groups.join(\", \");\n }\n filterRecipients(groupSelected) {\n this.selectedRecipientOptions = [];\n if (groupSelected === \"All\") {\n this.selectedRecipientOptions = this.recipientsFromDb;\n }\n else {\n this.selectedRecipientOptions = this.recipientsFromDb.filter((recipient) => {\n for (const recipientGroup of recipient.groups) {\n if (recipientGroup.groupName === groupSelected) {\n return recipient;\n }\n }\n });\n }\n this.sortGroupsAlphabetically();\n this.selectedRecipientFromDropdown = this.selectedRecipientOptions[0];\n this.changeDetectorRef.detectChanges();\n }\n sortGroupsAlphabetically() {\n if (this.displayFilterGroups) {\n this.selectedRecipientOptions.sort((a, b) => (a.consolidatedGroup?.localeCompare(b.consolidatedGroup)));\n }\n else {\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n }\n }\n populateRecipientsDropDown() {\n this.recipientsFromDb.forEach(recipient => {\n recipient.consolidatedGroup = this.createConsolidatedGroups(recipient);\n this.selectedRecipientOptions.push(recipient);\n });\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: RecipientService },\n { type: NgbModal },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n disableAddRecipientBtn: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n isUsedInRecipientSelect: [{ type: Input }],\n jobId: [{ type: Input }],\n formName: [{ type: Input }],\n loadAllRecipientsEventEmitted: [{ type: Output }],\n loadRecipientEventEmitted: [{ type: Output }],\n groupsOptions: [{ type: Input }],\n stepMetaGroups: [{ type: Input }]\n };\n};\nRecipientFilterComponent = __decorate([\n Component({\n selector: \"app-recipient-filter\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], RecipientFilterComponent);\nexport { RecipientFilterComponent };\n","export class RecipientFilterConstants {\n // Labels\n static displayGroupsLabel = \"Display groups\";\n static selectGroupsLabel = \"Select group\";\n static componentName = \"recipient filter\";\n static selectAllFromGroupBtnLabel = \"Select all from group\";\n}\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class RecipientFormConstants {\n // Form labels\n static nameLabel = \"Name\";\n static surnameLabel = \"Surname\";\n static homeTelePhoneLabel = \"Home telephone\";\n static workTelephoneLabel = \"Work telephone\";\n static cellphoneLabel = \"Cellphone\";\n static emailLabel = \"Email\";\n static smsRadioButtonLabel = \"SMS\";\n static defaultCommunicationMethodLabel = \"Preferred method of communication\";\n static emailRadioButtonLabel = \"Email\";\n static organisationLabel = \"Organisation\";\n static clientVatNumberLabel = \"Client VAT number\";\n static designationLabel = \"Designation\";\n static professionalBodyHeader = \"Professional body details\";\n static professionalBodyLabel = \"Professional body\";\n static professionalBodyRegNoLabel = \"Professional body registration number\";\n static streetAddressHeader = \"Street address details\";\n static streetAddressLabel = \"Street address\";\n static streetSuburbLabel = \"Suburb\";\n static streetCityLabel = \"City\";\n static streetProvinceLabel = \"Province\";\n static streetCountryLabel = \"Country\";\n static streetCodeLabel = \"Code\";\n static postalAddressLabel = \"Postal address\";\n static postalSuburbLabel = \"Suburb\";\n static postalCityLabel = \"City\";\n static postalProvinceLabel = \"Province\";\n static postalCountryLabel = \"Country\";\n static postalCodeLabel = \"Code\";\n static postalDetailsHeader = \"Postal address details\";\n static sameAsStreetAddressLabel = \"Same as street address\";\n static groups = \"Group Details\";\n static groupsLabel = \"Groups\";\n static selectGroupsLabel = \"Select group(s)\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n // Form Controls\n static nameFormControl = \"name\";\n static surnameFormControl = \"surname\";\n static homeTelePhoneFormControl = \"homePhone\";\n static workTelephoneFormControl = \"telephone\";\n static cellphoneFormControlName = \"cellphone\";\n static defaultCommunicationMethodFormControlName = \"defaultCommunicationMethod\";\n static emailFormControlName = \"email\";\n static organisationFormControlName = \"organisation\";\n static clientVatNumberFormControlName = \"clientVatNumber\";\n static designationFormControlName = \"designation\";\n static professionalBodyFormControlName = \"professionalBody\";\n static professionalBodyRegNoFormControlName = \"professionalBodyRegNum\";\n static streetAddressFormControlName = \"streetAddress\";\n static streetSuburbFormControlName = \"streetSuburb\";\n static streetCityFormControlName = \"streetCity\";\n static streetProvinceFormControlName = \"streetProvince\";\n static streetCountryFormControlName = \"streetCountry\";\n static streetCodeFormControlName = \"streetCode\";\n static postalAddressFormControlName = \"postalAddress\";\n static postalSuburbFormControlName = \"postalSuburb\";\n static postalCityFormControlName = \"postalCity\";\n static postalProvinceFormControlName = \"postalProvince\";\n static postalCountryFormControlName = \"postalCountry\";\n static postalCodeFormControlName = \"postalCode\";\n static groupsFormControlName = \"groups\";\n static groupsStringArrayFormControlName = \"groupsStringArray\";\n static validationMessage = {\n name: {\n name: \"Please enter name\",\n maxlength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n surname: {\n surname: \"Please enter surname.\",\n maxlength: `Surname ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n telephone: {\n telephone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Telephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n homePhone: {\n homePhone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Homephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n cellphone: {\n cellphone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Cellphone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n organisation: {\n organisation: \"Please enter organisation name.\",\n maxlength: `Organisation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n clientVatNumber: {\n clientVatNumber: \"Please enter the client's vat number.\",\n maxlength: `Client Vat Number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n designation: {\n designation: \"Please enter designation.\",\n maxlength: `Designation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n professionalBody: {\n professionalBody: \"Please enter professional body.\",\n maxlength: `Professional body ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"500\")}`,\n },\n professionalBodyRegNum: {\n professionalBodyRegNum: \"Please enter the professional body's registration number.\",\n maxlength: `Professional body Registration number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n email: {\n email: \"Please enter a valid email address, for example, JDoe@gmail.com.\",\n maxlength: `Email ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n maritalStatus: {\n maritalStatus: \"Please select your marital status.\",\n },\n relativesFullName: {\n relativesFullName: \"Please enter your relative's full name.\",\n },\n relativesContactNumber: {\n relativesContactNumber: \"Please enter your relative's contact number.\",\n },\n relativesAddress: {\n relativesAddress: \"Please enter your relative's address.\",\n },\n employmentStatus: {\n employmentStatus: \"Please select your employment status.\",\n },\n employersName: {\n employersName: \"Please enter your employer's name.\",\n },\n idNumber: {\n idNumber: \"Please enter your ID number.\",\n maxlength: `ID number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n employersContactNumber: {\n employersContactNumber: \"Please enter your employer's number.\",\n },\n employersAddress: {\n employersAddress: \"Please enter your employer's address.\",\n },\n streetAddress: {\n streetAddress: \"Please enter address.\",\n maxlength: `Street address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetSuburb: {\n streetSuburb: \"Please enter suburb.\",\n maxlength: `Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n streetCity: {\n streetCity: \"Please enter city.\",\n maxlength: `City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetProvince: {\n streetProvince: \"Please select a province.\",\n maxlength: `Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCountry: {\n streetCountry: \"Please select a country.\",\n maxlength: `Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCode: {\n streetCode: \"Please enter a street code.\",\n maxlength: `Street Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalAddress: {\n postalAddress: \"Please enter a postal address.\",\n maxlength: `Postal Address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n postalSuburb: {\n postalSuburb: \"Please enter suburb.\",\n maxlength: `Postal Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n postalCity: {\n postalCity: \"Please enter a city.\",\n maxlength: `Postal City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalProvince: {\n postalProvince: \"Please select a province.\",\n maxlength: `Postal Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCountry: {\n postalCountry: \"Please select a country.\",\n maxlength: `Postal Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCode: {\n postalCode: \"Please enter a postal code.\",\n maxlength: `Postal Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n groups: \"Please select a group.\",\n sacapRegistrationNumber: \"Please enter registration number.\",\n };\n static modalBodyOptions = {\n size: \"xl\", centered: true, backdrop: \"static\"\n };\n static requireFieldKey = \"requiredFields\";\n}\n","import { __decorate } from \"tslib\";\nimport { EventEmitter, Injectable } from \"@angular/core\";\nimport { map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport RecipientUtils from \"../../../../../shared/utils/recipient-utils\";\nimport { ApiRecipientConstants } from \"../../../../constants/api-constants/api-recipient.constants\";\nimport { ApiLookupConstants } from \"../../../../constants/api-constants/api-lookup.constants\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { ApiUserSettingsConstants } from \"../../../../constants/api-constants/api-user-settings.constants\";\nimport { ApiRecipientVerificationConstants } from \"../../../../constants/api-constants/api-recipient-verification.constants\";\nimport { ApiRecipientGroupSettingsConstants } from \"src/app/shared/constants/api-constants/api-recipient-group-settings.constants\";\nlet RecipientService = class RecipientService {\n appControllerService;\n http;\n clearRecipientEvent = new EventEmitter();\n constructor(appControllerService, http) {\n this.appControllerService = appControllerService;\n this.http = http;\n }\n getRecipientsObservable(params) {\n return this.http.get(`${ApiRecipientConstants.URL}/${ApiRecipientConstants.FUNCTION_GET_PORTAL_RECIPIENT}`, { params }).pipe(map((recipients) => {\n return recipients.value;\n }));\n }\n getRecipientsByGroup(params) {\n return this.http.post(`${ApiRecipientConstants.URL}/${ApiRecipientConstants.FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP}`, params);\n }\n getRecipientGroupsLookupObservable(moduleId) {\n const params = {\n $filter: `name eq 'RecipientGroup' and moduleId eq ${moduleId} and deleted eq false`,\n $orderBy: \"name\"\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map((lookups) => {\n return lookups.value;\n }));\n }\n checkStepMetaRecipientGroups(stepMetaGroups) {\n return stepMetaGroups.length > 0 ? RecipientUtils.mapStepMetaRecipientGroups(stepMetaGroups) : [];\n }\n clearRecipientTrigger(isCleared) {\n this.clearRecipientEvent.emit(isCleared);\n }\n listenToClearRecipient() {\n return this.clearRecipientEvent;\n }\n getApplicantDataFromUserSettings(userId, key) {\n const params = {\n $filter: `userId eq ${userId} and key eq '${key}' and deleted eq false`\n };\n return this.http.get(`${ApiUserSettingsConstants.URL}`, { params }).pipe(map((response) => {\n return response.value;\n }));\n }\n verifySACAPRegistration(constituentId) {\n return this.http.get(`${ApiRecipientVerificationConstants.URL}/${constituentId}`, {});\n }\n getRecipientGroupSettings(moduleId, isInternal = false) {\n let params = { $filter: `moduleId eq ${moduleId}` };\n if (isInternal) {\n params = { $filter: `moduleId eq ${moduleId} and type eq 'Internal'` };\n }\n return this.http.get(`${ApiRecipientGroupSettingsConstants.URL}/${ApiRecipientGroupSettingsConstants.FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS}`, { params }).pipe(map((settings) => {\n return settings.value;\n }));\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: HttpClient }\n ];\n};\nRecipientService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RecipientService);\nexport { RecipientService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./secondary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./secondary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nlet SecondaryButtonComponent = class SecondaryButtonComponent {\n displayText;\n clickCallBack = new EventEmitter();\n disabled;\n constructor() {\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nSecondaryButtonComponent = __decorate([\n Component({\n selector: \"app-secondary-button[displayText]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], SecondaryButtonComponent);\nexport { SecondaryButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-stepper.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-stepper.component.scss?ngResource\";\nimport { Component } from '@angular/core';\nlet ViewApplicationStepperComponent = class ViewApplicationStepperComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nViewApplicationStepperComponent = __decorate([\n Component({\n selector: 'app-view-application-stepper',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationStepperComponent);\nexport { ViewApplicationStepperComponent };\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiAdvertisingConstants {\n static URL = UrlConstants.API_V2 + \"Advertising\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetAdvertisingApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetAdvertisingProperties\";\n static FUNCTION_RESET_APPLICATION_VALUES = \"resetApplicationValues\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateAdvertisingInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS = \"GetMyAFLAPortalAdvertisingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetAApplicationTypes\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalAdvertisingApplication\";\n static FUNCTION_GET_GENERATE_REQUIRED_DOCUMENTS_CHECKLIST = \"GetAdvertisingRequiredDocumentsChecklist\";\n}\n","export class ApiApplicationSearchConstants {\n // static readonly TOWN_PLANNING_ENDPOINT = \"TownPlanning\";\n // static readonly CEMETERY_ENDPOINT = \"Cemetery\";\n // static readonly WAYLEAVE_ENDPOINT = \"Wayleave\";\n // static readonly BUILDING_PLANS_ENDPOINT = \"BuildingPlans\";\n // static readonly PROPERTY_AND_LEASE_ENDPOINT = \"PropertyAndLease\";\n // static readonly PROPERTY_VALUATION_ENDPOINT = \"PropertyValuation\";\n static FUNCTION_GET_USERS_FOR_MODULE = \"GetUsers\";\n static FUNCTION_GET_TOWNPLANNERS = \"GetTownPlanners\";\n static FUNCTION_GET_APPLICATIONS_BY_USER = \"GetApplicationsByUser\";\n static FUNCTION_GET_TP_APPLICATIONS_BY_USER = \"GetTpApplicationsByUser\";\n static FUNCTION_GET_EH_APPLICATIONS_BY_USER = \"GetEhApplicationsByUser\";\n static FUNCTION_GET_BP_APPLICATIONS_BY_USER = \"GetBpApplicationsByUser\";\n static FUNCTION_GET_PL_APPLICATIONS_BY_USER = \"GetPlApplicationsByUser\";\n static FUNCTION_GET_CM_APPLICATIONS_BY_USER = \"GetCmApplicationsByUser\";\n static FUNCTION_GET_W_APPLICATIONS_BY_USER = \"GetWApplicationsByUser\";\n static FUNCTION_GET_DM_APPLICATIONS_BY_USER = \"GetDMApplicationsByUser\";\n static FUNCTION_GET_RC_APPLICATIONS_BY_USER = \"GetRcApplicationsByUser\";\n static FUNCTION_GET_EC_APPLICATIONS_BY_USER = \"GetECpplicationsByUser\";\n static FUNCTION_GET_TM_APPLICATION_BY_USER = \"GetTmApplicationByUser\";\n static FUNCTION_GET_CM_APPLICATIONS_WITH_FAMILIES = \"GetCmApplicationsWithFamilies\";\n static FUNCTION_GET_CM_APPLICATIONS_WITH_GRAVE = \"GetCmApplicationsWithGrave\";\n static FUNCTION_GET_PL_APPLICATIONS_WITH_GROUPS = \"GetPlApplicationsWithGroups\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiAttachmentConstants {\n static URL = UrlConstants.API_V2 + \"Attachment\";\n static FUNCTION_DELETE_MULTIPLE_ATTACHMENTS = \"DeleteMultipleAttachments\";\n static FUNCTION_GET_ATTACHMENT_CONTENT = \"GetAttachmentContent\";\n static FUNCTION_UPLOAD_ATTACHMENT = \"UploadAttachment\";\n static FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL = \"UploadAttachmentFromAFLAPortal\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS = \"GetMyAFLAPortalDocuments\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiBuildingPlansConstants {\n static URL = UrlConstants.API_V2 + \"BuildingPlans\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetBuildingPlansApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateBuildingPlansInvoiceReport\";\n static FUNCTION_SET_PROFESSIONAL_BODIES = \"SetBuildingPlansProfessionalBodies\";\n static FUNCTION_SET_PROPERTIES = \"SetBuildingPlansProperties\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalBuildingPlansApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS = \"GetMyAFLAPortalBuildingPlansApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiBusinessLicenceConstants {\n static URL = UrlConstants.API_V2 + \"BusinessLicence\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalBusinessLicenceApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetBusinessLicenceApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetBusinessLicenceProperties\";\n static FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS = \"GetMyAFLAPortalBusinessLicenceApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetBlApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiCemeteryConstants {\n static URL = UrlConstants.API_V2 + \"Cemetery\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetCemeteryApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateCemeteryInvoiceReport\";\n static FUNCTION_GET_FAMILY = \"GetFamily\";\n static FUNCTION_SET_FAMILY = \"SetFamily\";\n static FUNCTION_SET_DETAILS = \"SetPropertyAndLeaseDetails\";\n static FUNCTION_SET_DECEASED = \"SetDeceased\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalCemeteryApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS = \"GetMyAFLAPortalCemeteryApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiCommunicationConstants {\n static URL = UrlConstants.API_V2 + \"Communication\";\n static FUNCTION_GET_COMMUNICATION_BY_JOBID = \"GetAFLAPortalCommunicationsForApplicantByJobID\";\n static FUNCTION_GENERATE_EMAIL = \"GenerateEmail\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiDemolitionManagementConstants {\n static URL = UrlConstants.API_V2 + \"DemolitionManagement\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalDemolitionManagementApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS = \"GetMyAflaPortalDemolitionManagementApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiElectricalConnectionConstants {\n static URL = UrlConstants.API_V2 + \"ElectricalConnection\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalElectricalConnectionApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS = \"GetMyAFLAPortalElectricalConnectionApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiInformalTradeConstants {\n static URL = UrlConstants.API_V2 + \"InformalTrading\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalInformalTradingApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetInformalTradingApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateInformalTradingInvoiceReport\";\n static FUNCTION_SET_PROPERTIES = \"SetInformalTradingBays\";\n static FUNCTION_SET_TRADERS = \"SetTraders\";\n static FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS = \"GetMyAFLAPortalInformalTradingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetItApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiLookupConstants {\n static URL = UrlConstants.API_V2 + \"Lookup\";\n static FUNCTION_DELETE_MULTIPLE_LOOKUPS = \"DeleteMultipleLookups\";\n static FUNCTION_GET_LOOKUP_ATTACHMENT = \"GetLookupAttachment\";\n static FUNCTION_UPLOAD_LOOKUP_ATTACHMENT = \"UploadLookupAttachment\";\n static FUNCTION_DELETE_ALL_LOOKUPS = \"DeleteAllLookups\";\n static FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL = \"GetLookupsForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleMapConstants {\n static URL = UrlConstants.API_V2 + \"ModuleMap\";\n static FUNCTION_DELETE_MULTIPLE_MODULE_MAPS = \"DeleteMultipleModuleMaps\";\n static FUNCTION_DELETE_ALL_MODULE_MAPS = \"DeleteAllModuleMaps\";\n static FUNCTION_GET_MODULE_FOR_AFLA_PORTAL = \"GetModuleMapForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleSettingConstants {\n static URL = UrlConstants.API_V2 + \"ModuleSetting\";\n static FUNCTION_GET_AFLA_PORTAL_SETTINGS = \"GetAFLAPortalSettings\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleConstants {\n static URL = UrlConstants.API_V2 + \"Module\";\n static MISSING_LOOKUP_EMAIL_REQUEST_URL = \"SendMissingLookupEmail\";\n static GET_PORTAL_MODULES = \"GetPortalModules\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiOrganisationConstants {\n static URL = UrlConstants.API_V2 + \"Organisation\";\n static FUNCTION_REJECT_APPLICATION = \"RejectApplication\";\n static FUNCTION_ACCEPT_APPLICATION = \"AcceptApplication\";\n static FUNCTION_GET_APPLICATIONS = \"GetApplications\";\n static FUNCTION_REINSTATE_ORGANISATION = \"ReinstateOrganisation\";\n static FUNCTION_SUSPEND_ORGANISATION = \"SuspendOrganisation\";\n static FUNCTION_UNSUSPEND_USER_FROM_ORGANISATION = \"UnsuspendUserFromOrganisation\";\n static FUNCTION_SUSPEND_USER_FROM_ORGANISATION = \"SuspendUserFromOrganisation\";\n static FUNCTION_REMOVE_USERS_FROM_ORGANISATION = \"RemoveUsersFromOrganisation\";\n static FUNCTION_REMOVE_USER_FROM_ORGANISATION = \"RemoveUsersFromOrganisation\";\n static FUNCTION_GET_USERS = \"GetUsers\";\n static FUNCTION_APPLY_TO_ORGANISATION = \"ApplyToOrganisation\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiPropertyAndLeaseConstants {\n static URL = UrlConstants.API_V2 + \"PropertyAndLease\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetPropertyAndLeaseApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GeneratePropertyAndLeaseInvoiceReport\";\n static FUNCTION_GET_LESSEES = \"GetLesseesPortal\";\n static FUNCTION_GET_BUYERS = \"GetBuyersPortal\";\n static FUNCTION_GET_SELLERS = \"GetSellersPortal\";\n static FUNCTION_SET_DETAILS = \"SetPropertyAndLeaseDetails\";\n static FUNCTION_SET_PROPERTIES = \"SetPropertyAndLeaseProperties\";\n static FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS = \"GetMyAFLAPortalPropertyAndLeaseApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiProxyConstants {\n static URL = `${UrlConstants.API_V2}Proxy`;\n static URL_POST = `${UrlConstants.API_V2}Proxy/ProxyPost`;\n static URL_LAYER_TOKEN = `${UrlConstants.API_V2}Proxy/GetLayerToken`;\n static FUNCTION_CHECK_SECURE_URL = `${UrlConstants.API_V2}CheckSecureURL`;\n static QUERY_PREFIX = `?`;\n static PARAMETER_PREFIX = `&`;\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRatesCertificateConstants {\n static URL = UrlConstants.API_V2 + \"RatesCertificate\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalRatesCertificateApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS = \"GetMyAFLAPortalRatesCertificateApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientGroupSettingsConstants {\n static URL = UrlConstants.API_V2 + \"RecipientGroupSetting\";\n static FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS = \"GetAFLAPortalRecipientGroups\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientVerificationConstants {\n static URL = UrlConstants.API_V2 + \"RecipientVerification\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientConstants {\n static URL = UrlConstants.API_V2 + \"Recipient\";\n static FUNCTION_DELETE_MULTIPLE_RECIPIENTS = \"DeleteMultipleRecipients\";\n static FUNCTION_DELETE_GROUPS = \"DeleteGroups\";\n static FUNCTION_ADD_GROUPS = \"AddGroups\";\n static FUNCTION_GET_RECIPIENT_FROM_TABLE_AND_FIELD = \"GetRecipientFromTableAndField\";\n static FUNCTION_GET_RECIPIENTS_BY_GROUP = \"GetRecipientsByGroup\";\n static FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP = \"GetPortalRecipientsByGroup\";\n static FUNCTION_GET_PORTAL_RECIPIENT = \"GetPortalRecipients\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiStepMetaConstants {\n static URL = UrlConstants.API_V2 + \"StepMeta\";\n static FUNCTION_GET_STEP_META_CONFIGURATION = \"GetStepMetaConfiguration\";\n static FUNCTION_VALIDATE_STEP_META_JSON_SCHEMA = \"ValidateStepMetaJsonSchema\";\n static FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL = \"GetStepMetaForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiStreetNamingConstants {\n static URL = UrlConstants.API_V2 + \"StreetNaming\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalStreetNamingApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetStreetNamingApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateStreetNamingInvoiceReport\";\n static FUNCTION_SET_PROPERTIES = \"SetStreetNamingLocation\";\n static FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS = \"GetMyAFLAPortalStreetNamingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetStreetNamingApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiTownPlanningConstants {\n static URL = UrlConstants.API_V2 + \"TownPlanning\";\n static FUNCTION_SET_ZONES = \"SetTownPlanningZones\";\n static FUNCTION_SET_APPLICATION_TYPES = \"SetTownPlanningApplicationTypes\";\n static FUNCTION_GET_DISTINCT_APPLICATION_TYPES = \"GetDistinctApplicationTypes\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetTownPlanningApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetTownPlanningProperties\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateTownPlanningInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS = \"GetMyAFLAPortalTownPlanningApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalTownPlanningApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiTrainingConstants {\n static URL = UrlConstants.API_V2 + \"TrainingModule\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetApplicantAndApplicantAgent\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS = \"GetAflaPortalTrainingModuleApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalTrainingModuleApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiUserSettingsConstants {\n static URL = UrlConstants.API_V2 + \"UserSettings\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiUserConstants {\n static URL = UrlConstants.API_V2 + \"User\";\n static FUNCTION_DELINK_MODULE_ROLE = \"DelinkModuleRole\";\n static FUNCTION_DELINK_SYSTEM_ROLE = \"DelinkSystemRole\";\n static FUNCTION_LINK_MODULE_ROLE = \"LinkModuleRole\";\n static FUNCTION_LINK_SYSTEM_ROLE = \"LinkSystemRole\";\n static FUNCTION_ACCEPT_DISCLAIMER = \"AcceptDisclaimer\";\n static RETRIEVE_MY_PORTAL_APPLICATIONS_URL = \"RetrieveMyPortalApplications\";\n static HAS_OPEN_PORTAL_APPLICATIONS = \"HasOpenPortalApplications\";\n static SAVE_DEFAULT_APPLICANT_AGENT = \"SaveDefaultApplicantAgent\";\n static RETRIEVE_DEFAULT_APPLICANT_AGENT = \"RetrieveDefaultApplicantAgent\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiWayleaveConstants {\n static URL = UrlConstants.API_V2 + \"Wayleave\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetWayleaveApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateWayleaveInvoiceReport\";\n static FUNCTION_SET_PROFESSIONAL_BODIES = \"SetWayleaveProfessionalBodies\";\n static FUNCTION_GET_WAYLEAVE_APPLICATIONS_BY_USER = \"GetWApplicationsByUser\";\n static FUNCTION_SET_LOCATION = \"SetWayleaveLocation\";\n static FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS = \"GetMyAFLAPortalWayleaveApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalWayleaveApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiWorkflowConstants {\n static URL = UrlConstants.API_V2 + \"Workflow\";\n static FUNCTION_SAVE = \"StepSave\";\n static FUNCTION_CONTINUE = \"StepContinue\";\n static FUNCTION_AD_HOC_MOVE_TO_WORKFLOW_STEP = \"AdHocMoveToWorkflowStep\";\n static FUNCTION_WITHDRAW_APPLICATION = \"WithdrawApplication\";\n static FUNCTION_GET_WORKFLOW_CLOSED_STATES = \"GetWorkflowClosedStates\";\n static FUNCTION_GET_WORKFLOW_STEP_NAMES = \"GetWorkflowStepNames\";\n static FUNCTION_GET_STEP_META = \"GetStepMeta\";\n static FUNCTION_JOB_CURRENT_STEPS = \"GetJobCurrentSteps\";\n static FUNCTION_GET_ALL_MOVABLE_STEP_TYPES = \"GetAllMovableStepTypes\";\n static FUNCTION_MOVE_TO_WORKFLOW_STEP = \"MoveToWorkflowStep\";\n static FUNCTION_GET_JOB_TRACKER_DATA = \"GetJobTrackerData\";\n static FUNCTION_GET_JOB_WORKFLOW_IMAGE = \"GetJobWorkflowImage\";\n static FUNCTION_FLUSH_CACHES = \"FlushCaches\";\n static FUNCTION_GET_ALL_STEP_TYPES = \"GetAllStepTypes\";\n static FUNCTION_SAVE_START = \"StepSaveStart\";\n static FUNCTION_CONTINUE_START = \"StepContinueStart\";\n static FUNCTION_SAVE_CREATE_INVOICE = \"StepSaveCreateInvoice\";\n static FUNCTION_CONTINUE_CREATE_INVOICE = \"StepContinueCreateInvoice\";\n static FUNCTION_SAVE_END = \"StepSaveEnd\";\n static FUNCTION_CONTINUE_END = \"StepContinueEnd\";\n static FUNCTION_SAVE_GEN_ASSIGN_RECIPIENT = \"StepSaveGenAssignRecipient\";\n static FUNCTION_CONTINUE_GEN_ASSIGN_RECIPIENT = \"StepContinueGenAssignRecipient\";\n static FUNCTION_SAVE_GEN_AWAIT = \"StepSaveGenAwait\";\n static FUNCTION_CONTINUE_GEN_AWAIT = \"StepContinueGenAwait\";\n static FUNCTION_SAVE_GEN_CAPTURE_ASSESSMENT = \"StepSaveGenCaptureAssessment\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_ASSESSMENT = \"StepContinueGenCaptureAssessment\";\n static FUNCTION_SAVE_GEN_CAPTURE_PROOF_OF_PAYMENT = \"StepSaveGenCaptureProofOfPayment\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_PROOF_OF_PAYMENT = \"StepContinueGenCaptureProofOfPayment\\\"\";\n static FUNCTION_SAVE_GEN_CAPTURE_RESULT = \"StepSaveGenCaptureResult\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_RESULT = \"StepContinueGenCaptureResult\";\n static FUNCTION_SAVE_GEN_PLACEHOLDER = \"StepSaveGenPlaceholder\";\n static FUNCTION_CONTINUE_GEN_PLACEHOLDER = \"StepContinueGenPlaceholder\";\n static FUNCTION_SAVE_GEN_QUESTION = \"StepSaveGenQuestion\";\n static FUNCTION_CONTINUE_GEN_QUESTION = \"StepContinueGenQuestion\";\n static FUNCTION_SAVE_GEN_RECIEVE_COMMS = \"StepSaveGenReceiveComms\";\n static FUNCTION_CONTINUE_GEN_RECIEVE_COMMS = \"StepContinueGenReceiveComms\";\n static FUNCTION_SAVE_GEN_REPORT = \"StepSaveGenReport\";\n static FUNCTION_CONTINUE_GEN_REPORT = \"StepContinueGenReport\";\n static FUNCTION_SAVE_GEN_REQUEST_SURVEY_123 = \"StepSaveGenRequestSurvey123\";\n static FUNCTION_CONTINUE_GEN_REQUEST_SURVEY_123 = \"StepContinueGenRequestSurvey123\";\n static FUNCTION_SAVE_GEN_SEND_COMMS = \"StepSaveGenSendComms\";\n static FUNCTION_CONTINUE_GEN_SEND_COMMS = \"StepContinueGenSendComms\";\n static FUNCTION_SAVE_GEN_SET_CONDITIONS = \"StepSaveGenSetConditions\";\n static FUNCTION_CONTINUE_GEN_SET_CONDITIONS = \"StepContinueGenSetConditions\";\n static FUNCTION_SAVE_GEN_SET_FIELDS = \"StepSaveGenSetFields\";\n static FUNCTION_CONTINUE_GEN_SET_FIELDS = \"StepContinueGenSetFields\";\n static FUNCTION_SAVE_GEN_SET_GRAVE = \"StepSaveGenSetGrave\";\n static FUNCTION_CONTINUE_GEN_SET_GRAVE = \"StepContinueGenSetGrave\";\n static FUNCTION_SAVE_GEN_START_TIMEOUT = \"StepSaveGenStartTimeout\";\n static FUNCTION_CONTINUE_GEN_START_TIMEOUT = \"StepContinueGenStartTimeout\";\n static FUNCTION_SAVE_GEN_STOP_TIMEOUT = \"StepSaveGenStopTimeout\";\n static FUNCTION_CONTINUE_GEN_STOP_TIMEOUT = \"StepContinueGenStopTimeout\";\n static FUNCTION_SAVE_GEN_UPDATE_CHECKLIST = \"StepSaveGenUpdateChecklist\";\n static FUNCTION_CONTINUE_GEN_UPDATE_CHECKLIST = \"StepContinueGenUpdateChecklist\";\n static FUNCTION_SAVE_VERIFY_INVOICE = \"StepSaveVerifyInvoice\";\n static FUNCTION_CONTINUE_VERIFY_INVOICE = \"StepContinueVerifyInvoice\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiZoningCertificateConstants {\n static URL = UrlConstants.API_V2 + \"ZoningCertificate\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetZoningCertificateApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetZoningCertificateProperties\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateZoningCertificateInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS = \"GetMyAFLAPortalZoningCertificateApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalZoningCertificateApplication\";\n}\n","export class LookupConstants {\n static TEMPLATE_TYPES = [\"Email\", \"Letter\", \"SMS\"];\n static YES_NO = [\"Yes\", \"No\"];\n static PROVINCE = [\n \"Eastern Cape\",\n \"Free State\",\n \"Gauteng\",\n \"KwaZulu-Natal\",\n \"Limpopo\",\n \"Mpumalanga\",\n \"North West\",\n \"Northern Cape\",\n \"Western Cape\",\n ];\n static COUNTRIES = [\n \"Afghanistan\",\n \"Albania\",\n \"Algeria\",\n \"Andorra\",\n \"Angola\",\n \"Anguilla\",\n \"Antigua & Barbuda\",\n \"Argentina\",\n \"Armenia\",\n \"Aruba\",\n \"Australia\",\n \"Austria\",\n \"Azerbaijan\",\n \"Bahamas\",\n \"Bahrain\",\n \"Bangladesh\",\n \"Barbados\",\n \"Belarus\",\n \"Belgium\",\n \"Belize\",\n \"Benin\",\n \"Bermuda\",\n \"Bhutan\",\n \"Bolivia\",\n \"Bosnia & Herzegovina\",\n \"Botswana\",\n \"Brazil\",\n \"British Virgin Islands\",\n \"Brunei\",\n \"Bulgaria\",\n \"Burkina Faso\",\n \"Burundi\",\n \"Cambodia\",\n \"Cameroon\",\n \"Canada\",\n \"Cape Verde\",\n \"Cayman Islands\",\n \"Chad\",\n \"Chile\",\n \"China\",\n \"Colombia\",\n \"Congo\",\n \"Cook Islands\",\n \"Costa Rica\",\n \"Cote D Ivoire\",\n \"Croatia\",\n \"Cruise Ship\",\n \"Cuba\",\n \"Cyprus\",\n \"Czech Republic\",\n \"Denmark\",\n \"Djibouti\",\n \"Dominica\",\n \"Dominican Republic\",\n \"Ecuador\",\n \"Egypt\",\n \"El Salvador\",\n \"Equatorial Guinea\",\n \"Estonia\",\n \"Ethiopia\",\n \"Falkland Islands\",\n \"Faroe Islands\",\n \"Fiji\",\n \"Finland\",\n \"France\",\n \"French Polynesia\",\n \"French West Indies\",\n \"Gabon\",\n \"Gambia\",\n \"Georgia\",\n \"Germany\",\n \"Ghana\",\n \"Gibraltar\",\n \"Greece\",\n \"Greenland\",\n \"Grenada\",\n \"Guam\",\n \"Guatemala\",\n \"Guernsey\",\n \"Guinea\",\n \"Guinea Bissau\",\n \"Guyana\",\n \"Haiti\",\n \"Honduras\",\n \"Hong Kong\",\n \"Hungary\",\n \"Iceland\",\n \"India\",\n \"Indonesia\",\n \"Iran\",\n \"Iraq\",\n \"Ireland\",\n \"Isle of Man\",\n \"Israel\",\n \"Italy\",\n \"Jamaica\",\n \"Japan\",\n \"Jersey\",\n \"Jordan\",\n \"Kazakhstan\",\n \"Kenya\",\n \"Kuwait\",\n \"Kyrgyz Republic\",\n \"Laos\",\n \"Latvia\",\n \"Lebanon\",\n \"Lesotho\",\n \"Liberia\",\n \"Libya\",\n \"Liechtenstein\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Macau\",\n \"Macedonia\",\n \"Madagascar\",\n \"Malawi\",\n \"Malaysia\",\n \"Maldives\",\n \"Mali\",\n \"Malta\",\n \"Mauritania\",\n \"Mauritius\",\n \"Mexico\",\n \"Moldova\",\n \"Monaco\",\n \"Mongolia\",\n \"Montenegro\",\n \"Montserrat\",\n \"Morocco\",\n \"Mozambique\",\n \"Namibia\",\n \"Nepal\",\n \"Netherlands\",\n \"Netherlands Antilles\",\n \"New Caledonia\",\n \"New Zealand\",\n \"Nicaragua\",\n \"Niger\",\n \"Nigeria\",\n \"Norway\",\n \"Oman\",\n \"Pakistan\",\n \"Palestine\",\n \"Panama\",\n \"Papua New Guinea\",\n \"Paraguay\",\n \"Peru\",\n \"Philippines\",\n \"Poland\",\n \"Portugal\",\n \"Puerto Rico\",\n \"Qatar\",\n \"Reunion\",\n \"Romania\",\n \"Russia\",\n \"Rwanda\",\n \"Saint Pierre & Miquelon\",\n \"Samoa\",\n \"San Marino\",\n \"Satellite\",\n \"Saudi Arabia\",\n \"Senegal\",\n \"Serbia\",\n \"Seychelles\",\n \"Sierra Leone\",\n \"Singapore\",\n \"Slovakia\",\n \"Slovenia\",\n \"South Africa\",\n \"South Korea\",\n \"Spain\",\n \"Sri Lanka\",\n \"St Kitts & Nevis\",\n \"St Lucia\",\n \"St Vincent\",\n \"St. Lucia\",\n \"Sudan\",\n \"Suriname\",\n \"Swaziland\",\n \"Sweden\",\n \"Switzerland\",\n \"Syria\",\n \"Taiwan\",\n \"Tajikistan\",\n \"Tanzania\",\n \"Thailand\",\n \"Timor L\\\"Este\",\n \"Togo\",\n \"Tonga\",\n \"Trinidad & Tobago\",\n \"Tunisia\",\n \"Turkey\",\n \"Turkmenistan\",\n \"Turks & Caicos\",\n \"Uganda\",\n \"Ukraine\",\n \"United Arab Emirates\",\n \"United Kingdom\",\n \"United States\",\n \"United States Minor Outlying Islands\",\n \"Uruguay\",\n \"Uzbekistan\",\n \"Venezuela\",\n \"Vietnam\",\n \"Virgin Islands (US)\",\n \"Yemen\",\n \"Zambia\",\n \"Zimbabwe\",\n ];\n // advertising module start\n static REMOVAL_PERIOD_LOOKUPS_A = [\n { code: \"60 days\", value: \"60 days\" },\n { code: \"90 days\", value: \"90 days\" }\n ];\n static NON_ILLUMINATED_BILLBOARD_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double Sided\", value: \"Double Sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static NON_ILLUMINATED_GANTRY_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static DIGITAL_GANTRY_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static APPLICATION_DURATION_LOOKUPS_A = [\n { code: \"1 year application\", value: \"1 year application\" },\n { code: \"5 years application\", value: \"5 years application\" }\n ];\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [\n { code: \"permanent\", value: \"permanent\" },\n { code: \"temporary\", value: \"temporary\" }\n ];\n static AREA_OF_DISPLAY_LOOKUPS_A = [\n { code: \"Ballito\", value: \"Ballito\" },\n { code: \"KwaDukuza\", value: \"KwaDukuza\" },\n { code: \"Salt rock /Umhlali\", value: \"Salt rock /Umhlali\" },\n { code: \"Shakaskraal\", value: \"Shakaskraal\" },\n ];\n static MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS = [\n \"Divorced\",\n \"Married\",\n \"Never married\",\n \"Registered partnership\",\n \"Separated\"\n ];\n static EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS = [\n \"Employed\",\n \"Retired\",\n \"Unemployed\"\n ];\n}\n","import { SharedConstants } from \"./shared.constants\";\nexport class MapServiceConstants {\n static MODULE_ID_FILTER_STRING = \"moduleId eq \";\n static REMOVE_TITLE = `${SharedConstants.REMOVE_TITLE} map service`;\n static REMOVE_MESSAGE = `${SharedConstants.REMOVE_MESSAGE} map service(s)?`;\n static EDIT_TITLE = \"Edit Map Service\";\n static ADD_TITLE = \"Add Map Service\";\n static NAME_FORM_CONTROL = \"name\";\n static TYPE_FORM_CONTROL = \"type\";\n static URL_FORM_CONTROL = \"url\";\n static IS_AUTHENTICATED_CONTROL = \"isAuth\";\n static AUTH_TYPE_CONTROL = \"authType\";\n static CLIENT_ID_CONTROL = \"clientId\";\n static SECRET_CONTROL = \"secret\";\n static USERNAME_CONTROL = \"username\";\n static PASSWORD_CONTROL = \"password\";\n static MAP_ORDER_CONTROL = \"mapOrder\";\n static SELECTION_LAYER_CONTROL = \"selectionLayerType\";\n static DEFAULT_VISIBILITY_CONTROL = \"defaultVisibility\";\n static SHOW_POPUPS_CONTROL = \"showPopups\";\n static NAME_FORM_TEXT = \"Service name\";\n static TYPE_FORM_TEXT = \"Service type\";\n static URL_FORM_TEXT = \"Map shared-services url\";\n static IS_AUTHENTICATED_TEXT = \"Service is authenticated\";\n static AUTH_TYPE_TEXT = \"Authentication type\";\n static CLIENT_ID_TEXT = \"Client ID\";\n static SECRET_TEXT = \"Secret\";\n static USERNAME_TEXT = \"Username\";\n static PASSWORD_TEXT = \"Password\";\n static MAP_ORDER_TEXT = \"Map order\";\n static SELECTION_LAYER_TEXT = \"Selection layer\";\n static DEFAULT_VISIBILITY_TEXT = \"Default visibility\";\n static SHOW_POPUPS_TEXT = \"Show popups\";\n static NAME_FORM_PLACEHOLDER = \"e.g. TownPlanningBaseMap\";\n static TYPE_FORM_PLACEHOLDER = \"Choose your option\";\n static URL_FORM_PLACEHOLDER = \"e.g.https://sampleserver.arcgisonline.com/ArcGIS/rest/services/Townplanning/MapServer\";\n static AUTH_TYPE_FORM_PLACEHOLDER = SharedConstants.PLACEHOLDER_TEXT;\n static CLIENT_ID_FORM_PLACEHOLDER = \"e.g. 1234\";\n static SECRET_FORM_PLACEHOLDER = \"e.g. xxxx\";\n static USERNAME_FORM_PLACEHOLDER = \"e.g. John117\";\n static PASSWORD_FORM_PLACEHOLDER = \"e.g. xxxx\";\n static MAP_SERVICE_TEXT = \"Map shared-services\";\n static INVALID_ESRI_URL = \"Url not a valid Esri endpoint\";\n static INVALID_ESRI_AUTH = \"Map shared-services authentication failed\";\n static DUPLICATE_NAME_MESSAGE = \"A map shared-services with the provided name already exists. Please supply a new name.\";\n static DUPLICATE_URL_MESSAGE = \"A map shared-services with the provided url already exists, Please supply a new url.\";\n static PROPERTY_LAYER = \"Property\";\n static PROPERTY_OWNER_LAYER = \"Property owner\";\n static PROPERTY_ZONING_LAYER = \"Property zone\";\n static CEMETERY_LAYER = \"Cemetery\";\n static GRAVE_LAYER = \"Grave\";\n static SERVICE_NAME_MAX_LENGTH = 150;\n static APPLICATION_LAYER = \"Application\";\n static AFLA_PORTAL_APPLICATION_LAYER = \"AFLA Portal Application\";\n static APPLICATION_LAYER_ID_COLUMN = \"JobID\";\n}\nexport const validationMessage = {\n url: {\n required: `Url ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n pattern: \"Not a valid url format\"\n },\n type: {\n required: `Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n maxLength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"150\")}`\n },\n authType: {\n required: `Authentication Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n clientId: {\n required: `Client Id ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n secret: {\n required: `Secret ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n username: {\n required: `Username ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n password: {\n required: `Password ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n mapOrder: {\n required: `Map order ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n selectionLayerType: {\n required: `Selection Layer Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n};\n","export class SharedConstants {\n static GLOBAL_ERROR_MESSAGE = \"Something went wrong. Please try again or contact your system administrator.\";\n // Labels for Buttons\n static ADD_LABEL = \"Add\";\n static EDIT_LABEL = \"Edit\";\n static DELETE_LABEL = \"Delete\";\n static REMOVE_LABEL = \"Delete\";\n static SAVE_LABEL = \"Save\";\n static CANCEL_LABEL = \"Cancel\";\n static UPDATE_LABEL = \"Update\";\n static CREATE_LABEL = \"Create\";\n static SUSPEND_LABEL = \"Suspend\";\n static REINSTATE_LABEL = \"Reinstate\";\n static YES_LABEL = \"Yes\";\n static NO_LABEL = \"No\";\n static CLEAR_LABEL = \"Clear\";\n static CLOSE_LABEL = \"Close\";\n static SELECT_LABEL = \"Select\";\n static SEND_LABEL = \"Send\";\n static REFRESH_LABEL = \"Refresh\";\n static OK_LABEL = \"Ok\";\n static SUBMIT_LABEL = \"Submit\";\n /* headings */\n static HELP_INFO_TEXT = \"Show help / further information\";\n /* Forms */\n // Messages for Form Validation\n static INVALID_METADATA = \"Invalid metadata, please contact the system administrator\";\n static FORM_NOT_VALID = \"Please complete all fields to continue\"; // Use as Alert warning when trying to update/save form\n static FILE_CONTROL_DEFAULT = \"Please upload a file\";\n static PHONE_NUMBER_VALIDATION_MESSAGE = \"Please enter a valid phone number in the format +27123457788.\";\n static EMAIL_VALIDATION_MESSAGE = \"Please enter a valid email address, for example, JDoe@gmail.com.\";\n static REQUIRED_INPUT_CONTROL_VALIDATION = \"is required.\";\n static NUMERIC_INPUT_CONTROL_VALIDATION = \"must be a number.\";\n static DATE_INPUT_CONTROL_VALIDATION = \"Please select a valid date\";\n static DECIMAL_INPUT_CONTROL_VALIDATION = \"must be a decimal number.\";\n static INVALID_INPUT_CONTROL_VALIDATION = \"is not valid.\";\n static MINIMUM_NUMERIC_INPUT_CONTROL_VALIDATION = \"must be a number not less than\";\n static UNIQUE_INPUT_CONTROL_VALIDATION = \"must be unique.\";\n static MAX_LENGTH_INPUT_CONTROL_VALIDATION = \"must have no more than yyy characters.\";\n static USED_VALUE_INPUT_CONTROL_VALIDATION = \"already in use. Please supply new yyy.\";\n static EMAIL_NOT_SENT = \"Please send the email before continuing to the next step\";\n static CONTINUE_CREATE_APPLICATION = \"All data saved successfully. Please create the application\";\n static FORM_DATA_CLEARED = \"Data cleared\";\n static FORM_DATA_SAVED = \"Current form data saved\";\n static BOOKMARK_SAVED = \"Bookmark saved\";\n // Patterns\n static PHONE_VALIDATOR_PATTERN = new RegExp(/^((?:\\+|0)[17](?: |\\-)?|(?:\\+|00)[1-9]\\d{0,2}(?: |\\-)?|(?:\\+|00)1\\-\\d{3}(?: |\\-)?)?(0\\d|\\([0-9]{3}\\)|[1-9]{0,3})(?:((?: |\\-)[0-9]{2}){4}|((?:[0-9]{2}){4})|((?: |\\-)[0-9]{3}(?: |\\-)[0-9]{4})|([0-9]{7}))$/);\n static URL_VALIDATOR_PATTERN = new RegExp(\"(https://)([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?\");\n static DECIMAL_VALIDATOR_PATERN = new RegExp(/^\\d*(\\.\\d{2})$/);\n // Message & Title when removing an item from a list\n static REMOVE_TITLE = \"Delete \"; // add to title e.g. REMOVE_TITLE + \"template(s)\"\n static REASSIGN_TITLE = \"Reassign \"; // add to title e.g. REMOVE_TITLE + \"step(s)\"\n static REMOVE_MESSAGE = \"Are you sure you want to delete the selected\"; // add to message e.g. REMOVE_MESSAGE + \"template(s)\"\n static SUSPEND_MESSAGE = \"Are you sure you want to suspend the selected\"; // add to message e.g. SUSPEND_MESSAGE + \"user\"\n static UNSUSPEND_MESSAGE = \"Are you sure you want to reinstate the selected \"; // add to message e.g. UNSUSPEND_MESSAGE + \"user\"\n static REASSIGN_MESSAGE = \"Are you sure you want to reassign \"; // add to message e.g. REASSIGN_MESSAGE + \"step\"\n // Alert Messages\n static ADD_SUCCESS = \"Item added successfully.\";\n static ADD_FAILED = \"Adding of item failed.\";\n static UPDATE_SUCCESS = \"Item updated successfully.\";\n static UPLOAD_SUCCESS = \"Item uploaded successfully.\";\n static UPDATE_FAILED = \"Updating of item failed.\";\n static ADD_DOCUMENT_FAIL = \"Something went wrong uploading the selected attachment. Please contact your system administrator.\";\n static REMOVE_SUCCESS = \"Item deleted successfully.\";\n static REMOVE_FAILED = \"Deleting of item failed.\";\n static SUSPEND_SUCCESS = \"Suspended successfully.\";\n static SUSPEND_FAILED = \"Suspending failed.\";\n static REINSTATE_SUCCESS = \"Reinstatement successful.\";\n static ITEM_NOT_SUSPENDED_LABEL = \"is not suspended.\"; // If you try to unsuspend item that is not suspended\n static ITEM_ALREADY_SUSPENDED_LABEL = \"is already suspended.\"; // If you try to suspend item that is already suspended\n static ITEM_SUSPENDED = \"is suspended.\";\n static SUBMIT_SUCCESS = \"Feedback submitted successfully.\";\n static APPLICATION_CREATED_PART1;\n static APPLICATION_CREATED_PART2;\n static CLIPBOARD_MESSAGE = \"Item was copied to clipboard\"; // used to signify if text is copied to clipboard in-app\n static CLIPBOARD_NO_DATA = \"No data to copy to clipboard\";\n static BAD_REQUEST_MESSAGE = \"Invalid data provided for operation\";\n static EXPORT_NO_DATA_MESSAGE = \"No data to export\";\n static FORBIDDEN_MESSAGE = \"You are not allowed to access this resource. Please contact your system administrator.\";\n static NOT_FOUND_MESSAGE = \"Data not found\";\n static CONFLICT_MESSAGE = \"The operation could not be completed due to a conflict.\";\n static UNKNOWN_ERROR_MESSAGE = \"Unknown server error with\";\n static UNKNOWN_MODULE_ERROR_MESSAGE = \"Module has not been configured correctly. Please contact your system administrator\";\n static NO_ITEMS_AVAILABLE_MESSAGE = \"There are no items to display\";\n static NO_FILTER_SELECTED_MESSAGE = \"Please select a filter option\";\n static NO_SEARCH_TEXT_ENTERED_MESSAGE = \"Please enter text to filter search\";\n static NO_SEARCH_SELECTED_MESSAGE = \"Please select a search option\";\n // Warning messages for either too many or too few items selected OR not step selected from a drop down\n static NO_OPTION_SELECTED = \"Please select an option\"; // Used if a dropdown item must be selected\n static NO_ITEM_SELECTED = \"Please select an item from the list\"; // Used if no item selected from a table\n static MORE_THAN_ONE_SELECTED = \"Only one item may be edited at a time\"; // Used if only 1 item should be selected\n static INSUFFICIENT_PERMISSIONS = \"You do not have sufficient permissions to perform this operation. Please contact your system administrator\";\n static MISSING_METADATA = \"No metadata for the step. Please contact your system administrator.\";\n static STEP_CONTINUE_FALSE = \"Not allowed to continue.\";\n /* Search Filter */\n static SEARCH_NOT_BLANK = \"Search criteria may not be blank\";\n // Filter labels\n static FILTER_BY_DEFAULT = \"All columns\";\n static FILTER_BY_PLACEHOLDER = \"Filter by none\";\n static FILTER_ITEMS_PLACEHOLDER = \"Filter items\";\n static FILTER_PREFIX = \"Filter by\";\n static SEARCH_PREFIX = \"Search\"; // Placeholder on table search\n static FILTER_DEFAULT = \"All\"; // used on recipients select and recipients list filters\n static DASHBOARD_FILTERS = {\n LatestApplications: \"LatestApplications\",\n OverdueApplications: \"OverdueApplications\",\n ApplicationStatus: \"status\"\n };\n static OPTION_CHECKBOX_ID = \"optionCheckboxId\";\n static NOT_APPLICABLE_MESSAGE = \"Not applicable\";\n // Attachment type restricted names\n static ATTACHMENT_TYPE = [\n \"proof of payments\",\n \"invoices\",\n \"proof of payment\",\n \"invoice\"\n ];\n // Search Types and Maps\n static SEARCH_BY_DEFAULT = \"Please select\";\n static MAP_TEXT = \"Map\";\n static ENLARGE_MAP_TEXT = \"Enlarge Map\";\n static SHRINK_MAP_TEXT = \"Shrink Map\";\n static ADVANCED_SEARCH_TEXT = \"Advanced\";\n static PLACEHOLDER_TEXT = \"Please select an option\"; // Dropdown place holder used dropdowns\n static NO_FILTER_RESULTS = \"Filter yielded no results\"; // Shows when no results from a search in the table\n static VIEW_ON_MAP_TEXT = \"View on map\";\n static CREATE_APPLICATION_TEXT = \"Create application\";\n static OPEN_APPLICATION_TEXT = \"Open\";\n static CONTINUE_STEP_TEXT = \"Continue\";\n static BACK_STEP_TEXT = \"Back\";\n static NEXT_STEP_TEXT = \"Next\";\n static SAVE_STEP_TEXT = \"Save\";\n static VIEW_APPLICATION_TEXT = \"View application\";\n static NEXT_STEPS_LABEL_TEXT = \"Next steps\";\n static UNKNOWN_ORGANISATION = \"Unknown organisation\";\n static PROPERTY_SEARCH_STATUS = \"PropertySearch\";\n static APPLICATION_SEARCH_STATUS = \"ApplicationSearch\";\n static ARCGIS_COLUMN_ID = \"OBJECTID\";\n static CLASS_REQUIRED_TEXT = \"text-danger\";\n static REQUIRED_TEXT_INDICATOR = \"*\";\n static INPUT_TYPE_TEXT = \"text\";\n static INPUT_TYPE_TEXTAREA = \"textarea\";\n static CLASS_DESCRIPTION_TEXT = \"description-text\";\n // Decimal values properties\n static CURRENCY_SYMBOL = \"R\";\n static DECIMAL_PLACES = 2;\n static NO_APPLICATION_LAYER = \"No application layer has been set up for this module: Map searches are not allowed\";\n static EXPORT_LABEL = \"Export\";\n static EXPORT_FILENAME_PLACEHOLDER_TEXT = \"ExportValues\";\n static ENTER_FILENAME_LABEL = \"Enter filename\";\n static DEFAULT_COUNTRY = \"South Africa\";\n static MODAL_SIZE = {\n large: \"lg\",\n small: \"sm\",\n extraLarge: \"xl\"\n };\n static ROLES_ENUM = {\n Admin: \"Admin\",\n Login: \"Login\",\n User: \"User\",\n };\n static YES_NO_ENUM = {\n Yes: \"Yes\",\n No: \"No\",\n };\n static SYSTEM_ROLES_ENUM = {\n SuperAdmin: \"Super Admin\",\n OrganisationAdmin: \"Organisation Admin\",\n User: \"User\",\n };\n static FIELD_TYPE = {\n NumberType: \"Number\",\n StringType: \"Text\",\n DateType: \"Date\",\n DecimalType: \"Decimal\",\n DropdownType: \"Dropdown\"\n };\n static TABLE_COLUMN_MAPPING_EXISTS_ERROR = \"No column-to-item property mapping exists for table\";\n static INVALID_TABLE_VALUE_ERROR = \"Invalid table value exists\";\n static SYSTEM_DATE_FORMAT_DEFAULT = \"yyyy/MM/dd\";\n static SERVER_MESSAGE_LISTENER_EVENT = \"Notify\";\n static SEND_SERVER_MESSAGE_ACTION = \"\";\n static SERVER_HUB_CONNECTION_ERROR_MESSAGE = \"Error while establishing connection: \";\n static PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR = \"Permission not granted for web notifications\";\n static NO_NOTIFICATION_BROWSER_SUPPORT_ERROR = \"Browser does not support web notifications\";\n static DAYS_LIMIT = 5;\n // Note constants\n static ADD_NOTE_PLACEHOLDER = \"Start typing a new note...\";\n static NOTE_CHARACTER_LIMIT = 500;\n // labels for internal fields\n static CREATED_USER_LABEL = \"Created User\";\n static CREATED_DATE_LABEL = \"Created Date\";\n static LAST_EDITED_USER_LABEL = \"Last Edited User\";\n static LAST_EDITED_DATE_LABEL = \"Last Edited Date\";\n static OBJECT_ID = \"Object ID\";\n static GLOBAL_ID = \"Global ID\";\n static MODULE_ID = \"Module ID\";\n static JOB_ID = \"Job ID\";\n // List of fields that can be hidden\n static SYSTEM_FIELD_LIST = [\"objectid\", \"globalid\", \"rowid\", \"parentrowid\", \"jobid\", \"moduleid\", \"uniquerowid\", \"id\", \"deleted\"];\n // List of labels for Recipient fields\n static RECIPIENT_FIELDLIST = {\n id: \"Application Ref No\",\n name: \"Name\",\n surname: \"Surname\",\n idNumber: \"ID Number\",\n organisation: \"Organisation\",\n designation: \"Designation\",\n telephone: \"Telephone\",\n homePhone: \"Home phone\",\n cellphone: \"Cellphone\",\n fax: \"Fax\",\n email: \"Email\",\n streetAddress: \"Street Address\",\n streetSuburb: \"Street Address Suburb\",\n streetCity: \"Street Address City\",\n streetProvince: \"Street Address Province\",\n streetCode: \"Street Address Code\",\n postalAddress: \"Postal Address\",\n postalSuburb: \"Postal Address Suburb\",\n postalCity: \"Postal Address City\",\n postalProvince: \"Postal Address Province\",\n postalCode: \"Postal Address Code\",\n professionalBody: \"Professional Body\",\n professionalBodyRegNum: \"Professional Body Reg. No.\",\n postalCountry: \"Postal Address Country\",\n streetCountry: \"Street Address Country\",\n representative: \"Representative\",\n organisationRegistrationNumber: \"Organisation Registration Number\"\n };\n // combine address into single label\n // @ts-ignore\n static ADDRESS_JOINED = \"{address}, {suburb}, {city}, {code}, {province}, {country}\";\n static INVOICE_DETAILS_LABEL = \"Invoice details\";\n // Constant used for keeping the main busy indicator from showing\n static NOT_BUSY_INDICATOR = \"-DO-NOT-SHOW-BUSY-INDICATOR-\";\n // Commonly used Lookup names\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static ZONING_LOOKUP_NAME = \"Zoning\";\n // Theming\n static DEFAULT_COLOR = \"#055C8D\";\n static DEFAULT_DARKER_COLOR = \"#053551\";\n static DEFAULT_HEADER_BORDER_COLOR = \"#8DE7E3\";\n static DEFAULT_ACTIVE_COLOR = \"#243391\";\n static DEFAULT_ACTIVE_ALTERNATE_COLOR = \"#859296\";\n}\n","import { AppRoutingConstants } from \"../../app-routing.constants\";\nexport class UrlConstants {\n static API_V2 = \"api/v2/\";\n static GET_MY_PORTAL_INFORMATION_URL = AppRoutingConstants.createEndpointRoutev2(\"User\", \"GetMyPortalInformation\");\n static SIGNAL_R_HUB_SUFFIX = \"notifyHub\";\n static GEO_PROCESSING = \"Geoprocessing\";\n static GET_TRUE_CENTROID = \"GetTrueCentroid\";\n static EXECUTE = \"execute\";\n static GP_SERVER = \"GPServer\";\n}\n","export function AutoUnsubPortal() {\n // tslint:disable-next-line:only-arrow-functions\n return function (constructor) {\n const original = constructor.prototype.ngOnDestroy;\n constructor.prototype.ngOnDestroy = function () {\n // tslint:disable-next-line:forin\n for (const prop in this) {\n const property = this[prop];\n if (property !== undefined && property !== null && property.hasOwnProperty(\"_finalizers\") && property[\"_finalizers\"] !== null && property[\"_finalizers\"].length > 0) {\n try {\n property.unsubscribe();\n }\n catch (e) {\n // ignore the erorr, if the function does not have unsubscribe it should not cause the viewer to show an error\n }\n }\n }\n original?.apply(this);\n };\n };\n}\n","import { __decorate } from \"tslib\";\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from \"@angular/core\";\nlet DragDropDirective = class DragDropDirective {\n el;\n background = \"#f5fcff\";\n opacity = \"1\";\n uponFileDropped = new EventEmitter();\n constructor(el) {\n this.el = el;\n }\n onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"#243391\";\n this.background = \"#9ecbec\";\n this.opacity = \"0.8\";\n }\n onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"#243391\";\n this.background = \"#f5fcff\";\n this.opacity = \"1\";\n }\n ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = \"#f5fcff\";\n this.opacity = \"1\";\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"gray\";\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.uponFileDropped.emit(files);\n }\n }\n static ctorParameters = () => [\n { type: ElementRef }\n ];\n static propDecorators = {\n background: [{ type: HostBinding, args: [\"style.background-color\",] }],\n opacity: [{ type: HostBinding, args: [\"style.opacity\",] }],\n uponFileDropped: [{ type: Output }],\n onDragOver: [{ type: HostListener, args: [\"dragover\", [\"$event\"],] }],\n onDragLeave: [{ type: HostListener, args: [\"dragleave\", [\"$event\"],] }],\n ondrop: [{ type: HostListener, args: [\"drop\", [\"$event\"],] }]\n };\n};\nDragDropDirective = __decorate([\n Directive({\n selector: \"[appDragDrop]\"\n })\n], DragDropDirective);\nexport { DragDropDirective };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AuthService } from \"../../services/auth/auth.service\";\nlet AuthGuard = class AuthGuard {\n authService;\n $iAuthenticated;\n isAuthenticated;\n constructor(authService) {\n this.authService = authService;\n this.$iAuthenticated = authService.$isAuthenticated;\n this.$iAuthenticated.subscribe(next => this.isAuthenticated = next);\n }\n canActivate(route, state) {\n return this.handleActivation();\n }\n canActivateChild(childRoute, state) {\n return this.handleActivation();\n }\n handleActivation() {\n if (this.isAuthenticated) {\n return true;\n }\n else {\n this.authService.authenticate().then(r => {\n });\n return false;\n }\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n};\nAuthGuard = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], AuthGuard);\nexport { AuthGuard };\n","export class Alert {\n type;\n message;\n alertId;\n keepAfterRouteChange;\n constructor(init) {\n Object.assign(this, init);\n }\n}\nexport var AlertType;\n(function (AlertType) {\n AlertType[AlertType[\"Success\"] = 0] = \"Success\";\n AlertType[AlertType[\"Error\"] = 1] = \"Error\";\n AlertType[AlertType[\"Info\"] = 2] = \"Info\";\n AlertType[AlertType[\"Warning\"] = 3] = \"Warning\";\n})(AlertType || (AlertType = {}));\n","export const DefaultRequiredFields = {\n Name: true,\n Surname: true,\n Telephone: true,\n Homephone: true,\n Cellphone: true,\n Email: true,\n StreetAddress: true,\n StreetSuburb: true,\n StreetCity: true,\n StreetProvince: true,\n StreetCountry: true,\n StreetCode: true,\n PostalAddress: true,\n PostalSuburb: true,\n PostalCity: true,\n PostalProvince: true,\n PostalCountry: true,\n PostalCode: true,\n Organisation: true,\n Designation: true,\n ProfessionalBodyRegNum: true,\n ProfessionalBody: true,\n};\n","export var CRUDOperation;\n(function (CRUDOperation) {\n CRUDOperation[\"Get\"] = \"fetching\";\n CRUDOperation[\"Update\"] = \"updating\";\n CRUDOperation[\"Delete\"] = \"deleting\";\n CRUDOperation[\"Add\"] = \"adding\";\n CRUDOperation[\"Selecting\"] = \"selecting\";\n CRUDOperation[\"Saving\"] = \"saving\";\n})(CRUDOperation || (CRUDOperation = {}));\n","class TrueCentroidResultErrorObject {\n code;\n details;\n message;\n}\nexport class TrueCentroidResultsModel {\n results;\n messages;\n error;\n constructor() { }\n deserialize(input) {\n Object.assign(this, input);\n return this;\n }\n}\n","export var HttpStatusCodeEnum;\n(function (HttpStatusCodeEnum) {\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"OK\"] = 200] = \"OK\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"UnAuthorized\"] = 401] = \"UnAuthorized\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"NotFound\"] = 404] = \"NotFound\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"Conflict\"] = 409] = \"Conflict\";\n})(HttpStatusCodeEnum || (HttpStatusCodeEnum = {}));\n","export class Link {\n text;\n address;\n data;\n clickAction;\n constructor(text, address, data = null) {\n this.text = text;\n this.address = address;\n this.data = data;\n }\n}\n","export var ModuleConfig;\n(function (ModuleConfig) {\n ModuleConfig[\"Advertising\"] = \"AdvertisingConfig\";\n ModuleConfig[\"TownPlanning\"] = \"TownPlanningConfig\";\n ModuleConfig[\"BuildingPlans\"] = \"BuildingPlansConfig\";\n ModuleConfig[\"BusinessLicence\"] = \"BusinessLicenceConfig\";\n ModuleConfig[\"Wayleaves\"] = \"WayleavesConfig\";\n ModuleConfig[\"PropertyAndLease\"] = \"PropertyAndLeaseConfig\";\n ModuleConfig[\"Cemetery\"] = \"CemeteryConfig\";\n ModuleConfig[\"PropertyValuation\"] = \"PropertyValuationConfig\";\n ModuleConfig[\"DemolitionManagement\"] = \"DemolitionManagementConfig\";\n ModuleConfig[\"TrainingModule\"] = \"TrainingModuleConfig\";\n ModuleConfig[\"ElectricalConnection\"] = \"ElectricalConnectionConfig\";\n ModuleConfig[\"InformalTrade\"] = \"InformalTradeConfig\";\n ModuleConfig[\"StreetNaming\"] = \"StreetNamingConfig\";\n ModuleConfig[\"RatesCertificate\"] = \"RatesCertificateConfig\";\n ModuleConfig[\"ZoningCertificate\"] = \"ZoningCertificateConfig\";\n})(ModuleConfig || (ModuleConfig = {}));\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet AppViewShortDatePipe = class AppViewShortDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd\") + \" at \" + super.transform(value, \"HH:mm\");\n }\n};\n__decorate([\n memo()\n], AppViewShortDatePipe.prototype, \"transform\", null);\nAppViewShortDatePipe = __decorate([\n Pipe({\n name: \"appViewShortDate\"\n })\n], AppViewShortDatePipe);\nexport { AppViewShortDatePipe };\n","var HighlightWithColumnPipe_1;\nimport { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet HighlightWithColumnPipe = class HighlightWithColumnPipe {\n static { HighlightWithColumnPipe_1 = this; }\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n static checkColumnsEqual(firstColumn, secondColumn) {\n firstColumn = HighlightWithColumnPipe_1.formatColumnValue(firstColumn);\n secondColumn = HighlightWithColumnPipe_1.formatColumnValue(secondColumn);\n return firstColumn === secondColumn;\n }\n static formatColumnValue(value) {\n return value.toString().trim().replace(\" \", \"\");\n }\n transform(value, searchTerm, column, currentColumn) {\n if (!searchTerm) {\n return value;\n }\n if (!value) {\n return value;\n }\n if (!currentColumn && !column) {\n return value;\n }\n if (!HighlightWithColumnPipe_1.checkColumnsEqual(currentColumn, column) && (currentColumn !== SharedConstants.FILTER_BY_DEFAULT)) {\n return value;\n }\n const stringValue = value.toString();\n const re = new RegExp(searchTerm, \"gi\");\n const match = stringValue.match(re);\n if (!match) {\n return value;\n }\n const replacedValue = stringValue.replace(re, ` ${match[0]} `);\n return this.sanitizer.bypassSecurityTrustHtml(replacedValue);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nHighlightWithColumnPipe = HighlightWithColumnPipe_1 = __decorate([\n Pipe({\n name: \"highlightWithColumn\"\n })\n], HighlightWithColumnPipe);\nexport { HighlightWithColumnPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nlet HighlightPipe = class HighlightPipe {\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n transform(value, searchTerm) {\n if (!searchTerm) {\n return value;\n }\n const re = new RegExp(searchTerm, \"gi\");\n const match = value.match(re);\n if (!match) {\n return value;\n }\n const replacedValue = value.replace(re, ` ${match[0]} `);\n return this.sanitizer.bypassSecurityTrustHtml(replacedValue);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nHighlightPipe = __decorate([\n Pipe({\n name: \"highlight\"\n })\n], HighlightPipe);\nexport { HighlightPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet SaLongDatePipe = class SaLongDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd HH:mm\");\n }\n};\n__decorate([\n memo()\n], SaLongDatePipe.prototype, \"transform\", null);\nSaLongDatePipe = __decorate([\n Pipe({\n name: \"saLongDate\"\n })\n], SaLongDatePipe);\nexport { SaLongDatePipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet SaShortDatePipe = class SaShortDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd\");\n }\n};\n__decorate([\n memo()\n], SaShortDatePipe.prototype, \"transform\", null);\nSaShortDatePipe = __decorate([\n Pipe({\n name: \"saShortDate\"\n })\n], SaShortDatePipe);\nexport { SaShortDatePipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nlet SafeHtmlPipe = class SafeHtmlPipe {\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n transform(value) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nSafeHtmlPipe = __decorate([\n Pipe({\n name: \"safeHtml\",\n })\n], SafeHtmlPipe);\nexport { SafeHtmlPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport memo from \"memo-decorator\";\nimport { DatePipe } from \"@angular/common\";\nlet UtcDatePipe = class UtcDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy-MM-dd\") + \"T23:59:59Z\";\n }\n};\n__decorate([\n memo()\n], UtcDatePipe.prototype, \"transform\", null);\nUtcDatePipe = __decorate([\n Pipe({\n name: \"odataDate\"\n })\n], UtcDatePipe);\nexport { UtcDatePipe };\n","var AStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { ViewApplicationDetailsAComponent } from \"../../../view-application/modules/a/view-application-details-a/view-application-details-a.component\";\nimport { ViewApplicationLocationAComponent } from \"../../../view-application/modules/a/view-application-location-a/view-application-location-a.component\";\nimport { CreateApplicationDetailsAComponent } from \"../../../create-application/modules/a/create-application-details-a/create-application-details-a.component\";\nimport { CreateApplicationLocationAComponent } from \"../../../create-application/modules/a/create-application-location-a/create-application-location-a.component\";\nimport { ApiAdvertisingConstants } from \"../../constants/api-constants/api-advertising.constants\";\nimport { phoneNumberValidator } from \"../../classes/phone-number-validator\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { DatePipe } from \"@angular/common\";\nimport { CreateApplicationLocationAConstants } from \"../../../create-application/modules/a/create-application-location-a/create-application-location-a.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.ApplicationType, \"type\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"]]);\nexport const AExpandListForApplicationSearch = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_A;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Location details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Location help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet AStrategyService = class AStrategyService extends AflaModuleStrategyService {\n static { AStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n datePipe;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Advertising;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiAdvertisingConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = AExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, datePipe, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.datePipe = datePipe;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiAdvertisingConstants.URL}/${ApiAdvertisingConstants.FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, AExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = AStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: AStrategyService_1.getRecipientName(AStrategyService_1.getFirstRecipient(application.applicant)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([[ViewApplicationMenuHeadings.Details, ViewApplicationDetailsAComponent], [ViewApplicationMenuHeadings.Location, ViewApplicationLocationAComponent], [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([[CreateApplicationMenuHeadings.Details, CreateApplicationDetailsAComponent], [CreateApplicationMenuHeadings.Location, CreateApplicationLocationAComponent], [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = AStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, AStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(AStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create advertising application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.setAdvertisementsGeometry(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n aApplication: application, moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $expand: \"point,polygon,personResponsible\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const point = response.value[0]?.point;\n const polygon = response.value[0]?.polygon;\n savedApplication.point = point;\n savedApplication.polygon = polygon;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(AStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.aApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(AStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiAdvertisingConstants.URL}/${applicationId}/${ApiAdvertisingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"advertisementsForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"advertisementsForm\").get(\"advertisements\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiAdvertisingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiAdvertisingConstants.URL}/${jobId}/${ApiAdvertisingConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"advertisementsForm\") && this.form.get(\"advertisementsForm\").get(\"advertisements\")) {\n const advertisementsArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n if (advertisementsArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationAConstants.FEATURE_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationAConstants.FEATURE_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"displayStartDate\").reset();\n this.form.get(\"detailsForm\").get(\"displayEndDate\").reset();\n this.form.get(\"detailsForm\").get(\"permanentApplicationDuration\").reset();\n this.form.get(\"detailsForm\").get(\"displayRemovalDate\").reset();\n this.form.get(\"detailsForm\").get(\"numberOfPosters\").reset();\n this.form.get(\"detailsForm\").get(\"nameOfBusiness\").reset();\n this.form.get(\"detailsForm\").get(\"notifySignageRemovalPeriod\").reset();\n this.form.get(\"detailsForm\").get(\"positionOfDisplay\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsH\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsW\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsD\").reset();\n this.form.get(\"detailsForm\").get(\"material\").reset();\n this.form.get(\"detailsForm\").get(\"colours\").reset();\n this.form.get(\"detailsForm\").get(\"frontalArea\").reset();\n this.form.get(\"detailsForm\").get(\"totalArea\").reset();\n this.form.get(\"detailsForm\").get(\"signType\").reset();\n this.form.get(\"detailsForm\").get(\"weight\").reset();\n this.form.get(\"detailsForm\").get(\"wattage\").reset();\n this.form.get(\"detailsForm\").get(\"contractorName\").reset();\n this.form.get(\"detailsForm\").get(\"contractorAddress\").reset();\n this.form.get(\"detailsForm\").get(\"contractorTelephone\").reset();\n this.form.get(\"detailsForm\").get(\"forSale\").reset();\n this.form.get(\"detailsForm\").get(\"onShow\").reset();\n this.form.get(\"detailsForm\").get(\"toLet\").reset();\n this.form.get(\"detailsForm\").get(\"sold\").reset();\n this.form.get(\"detailsForm\").get(\"constructionBoardSign\").reset();\n this.form.get(\"detailsForm\").get(\"otherOneYear\").reset();\n this.form.get(\"detailsForm\").get(\"groundSign\").reset();\n this.form.get(\"detailsForm\").get(\"flag\").reset();\n this.form.get(\"detailsForm\").get(\"sandwichBoard\").reset();\n this.form.get(\"detailsForm\").get(\"pylon\").reset();\n this.form.get(\"detailsForm\").get(\"wallSign\").reset();\n this.form.get(\"detailsForm\").get(\"billboard\").reset();\n this.form.get(\"detailsForm\").get(\"buildingAttachment\").reset();\n this.form.get(\"detailsForm\").get(\"projectingWallSign\").reset();\n this.form.get(\"detailsForm\").get(\"wallPainted\").reset();\n this.form.get(\"detailsForm\").get(\"roofSign\").reset();\n this.form.get(\"detailsForm\").get(\"skySign\").reset();\n this.form.get(\"detailsForm\").get(\"veranda\").reset();\n this.form.get(\"detailsForm\").get(\"aerialSign\").reset();\n this.form.get(\"detailsForm\").get(\"windowSign\").reset();\n this.form.get(\"detailsForm\").get(\"schoolSign\").reset();\n this.form.get(\"detailsForm\").get(\"combinationSign\").reset();\n this.form.get(\"detailsForm\").get(\"underAwningSign\").reset();\n this.form.get(\"detailsForm\").get(\"flagSign\").reset();\n this.form.get(\"detailsForm\").get(\"canopy\").reset();\n this.form.get(\"detailsForm\").get(\"balcony\").reset();\n this.form.get(\"detailsForm\").get(\"electronicSign\").reset();\n this.form.get(\"detailsForm\").get(\"developmentBoard\").reset();\n this.form.get(\"detailsForm\").get(\"otherFiveYear\").reset();\n this.form.get(\"detailsForm\").get(\"nonIlluminatedBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"digitalBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"nonIlluminatedGantry\").reset();\n this.form.get(\"detailsForm\").get(\"digitalGantry\").reset();\n this.form.get(\"detailsForm\").get(\"internallyIlluminatedBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"internallyIlluminatedGantry\").reset();\n this.form.get(\"detailsForm\").get(\"municipalConsumerAccountNumber\").reset();\n this.form.get(\"detailsForm\").get(\"personResponsibleId\").reset();\n this.form.get(\"detailsForm\").get(\"referenceNumber\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"advertisementsForm\").get(\"advertisements\").clear();\n this.form.get(\"advertisementsForm\").get(\"isAdvetisingPermanentOrTemporary\").reset();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n setAdvertisementsGeometry(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const applicationTypeValue = selectedPropertyFormGroup.get(\"type\").value;\n const isAdvertisingPermanentOrTemporaryValue = this.form.get(\"advertisementsForm\").get(\"isAdvetisingPermanentOrTemporary\").value;\n if (existingApplication) {\n application = existingApplication;\n application.isAdvetisingPermanentOrTemporary = isAdvertisingPermanentOrTemporaryValue;\n application.type = applicationTypeValue;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n isAdvetisingPermanentOrTemporary: isAdvertisingPermanentOrTemporaryValue,\n type: applicationTypeValue,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n shape: \"\",\n wkid: 102100\n };\n if (isAdvertisingPermanentOrTemporaryValue === \"permanent\") {\n this.setApplicationPointData(application);\n }\n if (isAdvertisingPermanentOrTemporaryValue === \"temporary\") {\n this.setApplicationPolygonData(application);\n }\n return application;\n }\n setApplicationPointData(application) {\n const points = [];\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const centroid = selectedPropertyFormGroup.get(\"centroid\").value;\n const geometry = selectedPropertyFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n points.push(`(${centroid.x} ${centroid.y})`);\n const pointShape = `POINT ${points.join(\", \")}`;\n application.point = {\n id: 0,\n addressStreetInformation: selectedPropertyFormGroup.get(\"addressStreetInformation\").value,\n shape: geometryJSON,\n wkid: 102100,\n deleted: false\n };\n application.shape = pointShape;\n }\n setApplicationPolygonData(application) {\n const points = [];\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n propertyArray.controls.forEach((selectedPropertyControl) => {\n const centroid = selectedPropertyControl.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const polygonShape = `POINT ${points.join(\", \")}`;\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const geometry = selectedPropertyFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.polygon = {\n id: 0,\n areaOfDisplay: selectedPropertyFormGroup.get(\"areaOfDisplay\").value,\n streetNames: selectedPropertyFormGroup.get(\"streetNames\").value,\n propertyDescription: selectedPropertyFormGroup.get(\"propertyDescription\").value,\n shape: geometryJSON,\n wkid: 102100,\n deleted: false\n };\n application.shape = polygonShape;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.shape = existingApplication.shape;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n };\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.displayStartDate = this.form.get(\"detailsForm\").get(\"displayStartDate\").value;\n application.displayEndDate = this.form.get(\"detailsForm\").get(\"displayEndDate\").value;\n application.permanentApplicationDuration = this.form.get(\"detailsForm\").get(\"permanentApplicationDuration\").value;\n application.displayRemovalDate = this.form.get(\"detailsForm\").get(\"displayRemovalDate\").value;\n application.numberOfPosters = this.form.get(\"detailsForm\").get(\"numberOfPosters\").value === null ? 0 : this.form.get(\"detailsForm\").get(\"numberOfPosters\").value;\n application.nameOfBusiness = this.form.get(\"detailsForm\").get(\"nameOfBusiness\").value;\n application.notifySignageRemovalPeriod = this.form.get(\"detailsForm\").get(\"notifySignageRemovalPeriod\").value;\n application.positionOfDisplay = this.form.get(\"detailsForm\").get(\"positionOfDisplay\").value;\n application.dimensionsH = this.form.get(\"detailsForm\").get(\"dimensionsH\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsH\").value;\n application.dimensionsW = this.form.get(\"detailsForm\").get(\"dimensionsW\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsW\").value;\n application.dimensionsD = this.form.get(\"detailsForm\").get(\"dimensionsD\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsD\").value;\n application.material = this.form.get(\"detailsForm\").get(\"material\").value;\n application.colours = this.form.get(\"detailsForm\").get(\"colours\").value;\n application.frontalArea = this.form.get(\"detailsForm\").get(\"frontalArea\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"frontalArea\").value;\n application.totalArea = this.form.get(\"detailsForm\").get(\"totalArea\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"totalArea\").value;\n application.signType = this.form.get(\"detailsForm\").get(\"signType\").value;\n application.weight = this.form.get(\"detailsForm\").get(\"weight\").value;\n application.wattage = this.form.get(\"detailsForm\").get(\"wattage\").value;\n application.contractorName = this.form.get(\"detailsForm\").get(\"contractorName\").value;\n application.contractorAddress = this.form.get(\"detailsForm\").get(\"contractorAddress\").value;\n application.contractorTelephone = this.form.get(\"detailsForm\").get(\"contractorTelephone\").value;\n application.forSale = this.form.get(\"detailsForm\").get(\"forSale\").value === null ? false : this.form.get(\"detailsForm\").get(\"forSale\").value;\n application.onShow = this.form.get(\"detailsForm\").get(\"onShow\").value === null ? false : this.form.get(\"detailsForm\").get(\"onShow\").value;\n application.toLet = this.form.get(\"detailsForm\").get(\"toLet\").value === null ? false : this.form.get(\"detailsForm\").get(\"toLet\").value;\n application.sold = this.form.get(\"detailsForm\").get(\"sold\").value === null ? false : this.form.get(\"detailsForm\").get(\"sold\").value;\n application.constructionBoardSign = this.form.get(\"detailsForm\").get(\"constructionBoardSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"constructionBoardSign\").value;\n application.otherOneYear = this.form.get(\"detailsForm\").get(\"otherOneYear\").value;\n application.groundSign = this.form.get(\"detailsForm\").get(\"groundSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"groundSign\").value;\n application.flag = this.form.get(\"detailsForm\").get(\"flag\").value === null ? false : this.form.get(\"detailsForm\").get(\"flag\").value;\n application.sandwichBoard = this.form.get(\"detailsForm\").get(\"sandwichBoard\").value === null ? false : this.form.get(\"detailsForm\").get(\"sandwichBoard\").value;\n application.pylon = this.form.get(\"detailsForm\").get(\"pylon\").value === null ? false : this.form.get(\"detailsForm\").get(\"pylon\").value;\n application.wallSign = this.form.get(\"detailsForm\").get(\"wallSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"wallSign\").value;\n application.billboard = this.form.get(\"detailsForm\").get(\"billboard\").value === null ? false : this.form.get(\"detailsForm\").get(\"billboard\").value;\n application.buildingAttachment = this.form.get(\"detailsForm\").get(\"buildingAttachment\").value === null ? false : this.form.get(\"detailsForm\").get(\"buildingAttachment\").value;\n application.projectingWallSign = this.form.get(\"detailsForm\").get(\"projectingWallSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"projectingWallSign\").value;\n application.wallPainted = this.form.get(\"detailsForm\").get(\"wallPainted\").value === null ? false : this.form.get(\"detailsForm\").get(\"wallPainted\").value;\n application.roofSign = this.form.get(\"detailsForm\").get(\"roofSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"roofSign\").value;\n application.skySign = this.form.get(\"detailsForm\").get(\"skySign\").value === null ? false : this.form.get(\"detailsForm\").get(\"skySign\").value;\n application.veranda = this.form.get(\"detailsForm\").get(\"veranda\").value === null ? false : this.form.get(\"detailsForm\").get(\"veranda\").value;\n application.aerialSign = this.form.get(\"detailsForm\").get(\"aerialSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"aerialSign\").value;\n application.windowSign = this.form.get(\"detailsForm\").get(\"windowSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"windowSign\").value;\n application.schoolSign = this.form.get(\"detailsForm\").get(\"schoolSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"schoolSign\").value;\n application.combinationSign = this.form.get(\"detailsForm\").get(\"combinationSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"combinationSign\").value;\n application.underAwningSign = this.form.get(\"detailsForm\").get(\"underAwningSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"underAwningSign\").value;\n application.flagSign = this.form.get(\"detailsForm\").get(\"flagSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"flagSign\").value;\n application.canopy = this.form.get(\"detailsForm\").get(\"canopy\").value === null ? false : this.form.get(\"detailsForm\").get(\"canopy\").value;\n application.balcony = this.form.get(\"detailsForm\").get(\"balcony\").value === null ? false : this.form.get(\"detailsForm\").get(\"balcony\").value;\n application.electronicSign = this.form.get(\"detailsForm\").get(\"electronicSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"electronicSign\").value;\n application.developmentBoard = this.form.get(\"detailsForm\").get(\"developmentBoard\").value === null ? false : this.form.get(\"detailsForm\").get(\"developmentBoard\").value;\n application.otherFiveYear = this.form.get(\"detailsForm\").get(\"otherFiveYear\").value;\n application.nonIlluminatedBillboard = this.form.get(\"detailsForm\").get(\"nonIlluminatedBillboard\").value;\n application.digitalBillboard = this.form.get(\"detailsForm\").get(\"digitalBillboard\").value;\n application.nonIlluminatedGantry = this.form.get(\"detailsForm\").get(\"nonIlluminatedGantry\").value;\n application.digitalGantry = this.form.get(\"detailsForm\").get(\"digitalGantry\").value;\n application.internallyIlluminatedBillboard = this.form.get(\"detailsForm\").get(\"internallyIlluminatedBillboard\").value;\n application.internallyIlluminatedGantry = this.form.get(\"detailsForm\").get(\"internallyIlluminatedGantry\").value;\n application.municipalConsumerAccountNumber = this.form.get(\"detailsForm\").get(\"municipalConsumerAccountNumber\").value;\n application.personResponsibleId = this.form.get(\"detailsForm\").get(\"personResponsibleId\").value;\n application.referenceNumber = this.form.get(\"detailsForm\").get(\"referenceNumber\").value;\n const personResponsibleValue = this.form.get(\"detailsForm\").get(\"personResponsible\").value;\n const personResponsible = RecipientUtils.removeInvalidRecipientProperties(personResponsibleValue);\n application.personResponsible = personResponsible ? [personResponsible] : [];\n return application;\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n wkid: 102100,\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n advertisementsForm: new FormGroup({\n advertisements: new FormArray([], [minLengthArray(1), Validators.required]),\n isAdvetisingPermanentOrTemporary: new FormControl(null, Validators.required),\n type: new FormControl(null, Validators.required)\n }), detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]), permanentApplicationDuration: new FormControl(null), // will the permanent advertising be there for 1 year or 5 years?\n displayStartDate: new FormControl(null), // temporary application types\n displayEndDate: new FormControl(null), // temporary application types\n displayRemovalDate: new FormControl(null), // temporary application types\n numberOfPosters: new FormControl(0), // temporary application types\n applicationDuration: new FormControl(null), // permanent application types\n nameOfBusiness: new FormControl(null), // permanent application types\n notifySignageRemovalPeriod: new FormControl(null), // permanent application types\n positionOfDisplay: new FormControl(null), // permanent application types\n dimensionsH: new FormControl(0.0), // permanent application types\n dimensionsW: new FormControl(0.0), // permanent application types\n dimensionsD: new FormControl(0.0), // permanent application types\n material: new FormControl(null), // permanent application types\n colours: new FormControl(null), // permanent application types\n frontalArea: new FormControl(0.0), // permanent application types\n totalArea: new FormControl(0.0), // permanent application types\n signType: new FormControl(null), // permanent application types\n weight: new FormControl(0.0), // permanent application types\n wattage: new FormControl(0.0), // permanent application types\n contractorName: new FormControl(null), // permanent application types\n contractorAddress: new FormControl(null), // permanent application types\n contractorTelephone: new FormControl(null, phoneNumberValidator), // permanent application types\n forSale: new FormControl(false), // permanent application types\n onShow: new FormControl(false), // permanent application types\n toLet: new FormControl(false), // permanent application types\n sold: new FormControl(false), // permanent application types\n constructionBoardSign: new FormControl(false), // permanent application types\n otherOneYear: new FormControl(null), // permanent application types\n groundSign: new FormControl(false), // permanent application types\n flag: new FormControl(false), // permanent application types\n sandwichBoard: new FormControl(false), // permanent application types\n pylon: new FormControl(false), // permanent application types\n wallSign: new FormControl(false), // permanent application types\n billboard: new FormControl(false), // permanent application types\n buildingAttachment: new FormControl(false), // permanent application types\n projectingWallSign: new FormControl(false), // permanent application types\n wallPainted: new FormControl(false), // permanent application types\n roofSign: new FormControl(false), // permanent application types\n skySign: new FormControl(false), // permanent application types\n veranda: new FormControl(false), // permanent application types\n aerialSign: new FormControl(false), // permanent application types\n windowSign: new FormControl(false), // permanent application types\n schoolSign: new FormControl(false), // permanent application types\n combinationSign: new FormControl(false), // permanent application types\n underAwningSign: new FormControl(false), // permanent application types\n flagSign: new FormControl(false), // permanent application types\n canopy: new FormControl(false), // permanent application types\n balcony: new FormControl(false), // permanent application types\n electronicSign: new FormControl(false), // permanent application types\n developmentBoard: new FormControl(false), // permanent application types\n otherFiveYear: new FormControl(null), // permanent application types\n nonIlluminatedBillboard: new FormControl(null), // permanent application types\n digitalBillboard: new FormControl(null), // permanent application types\n nonIlluminatedGantry: new FormControl(null), // permanent application types\n digitalGantry: new FormControl(null), // permanent application types\n internallyIlluminatedBillboard: new FormControl(null), // permanent application types\n internallyIlluminatedGantry: new FormControl(null), // permanent application types\n municipalConsumerAccountNumber: new FormControl(null), // permanent application types\n personResponsibleId: new FormControl(null), // permanent application types\n personResponsible: new FormControl([]), referenceNumber: new FormControl(null)\n }), applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }), documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: DatePipe },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nAStrategyService = AStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], AStrategyService);\nexport { AStrategyService };\n","import { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfigService } from \"../module-config/module-config.service\";\nimport { TpamsStrategyService } from \"./tpams-strategy.service\";\nimport { BpamsStrategyService } from \"./bpams-strategy.service\";\nimport { CemeteryStrategyService } from \"./cemetery-strategy.service\";\nimport { WamsStrategyService } from \"./wams-strategy-service\";\nimport { PlamsStrategyService } from \"./plams-strategy.service\";\nimport { DamsStrategyService } from \"./dams-strategy.service\";\nimport { TmamsStrategyService } from \"./tmams-strategy.service\";\nimport { EcStrategyService } from \"./ec-strategy.service\";\nimport { ItamsStrategyService } from \"./itams-strategy.service\";\nimport { RcStrategyService } from \"./rc-strategy.service\";\nimport { ZcamsStrategyService } from \"./zcams-strategy.service\";\nimport { SnStrategyService } from \"./sn-strategy.service\";\nimport { AStrategyService } from \"./a-strategy.service\";\nimport { BlStrategyService } from \"./bl-strategy.service\";\nexport const aflaModuleStrategyServiceFactory = (moduleConfigService, tpamsStrategyService, bpamsStrategyService, cemeteryStrategyService, plamsStrategyService, wamsStrategyService, damsStrategyService, tmamsStrategyService, itamsStrategyService, ecStrategyService, snStrategyService, rcStrategyService, aStrategyService, blStrategyService, zcamsStrategyService) => {\n const currentSelectedModuleConfigName = moduleConfigService.getCurrentlySelectedModuleConfigName();\n switch (currentSelectedModuleConfigName) {\n case tpamsStrategyService.name: {\n return tpamsStrategyService;\n }\n case bpamsStrategyService.name: {\n return bpamsStrategyService;\n }\n case cemeteryStrategyService.name: {\n return cemeteryStrategyService;\n }\n case plamsStrategyService.name: {\n return plamsStrategyService;\n }\n case wamsStrategyService.name: {\n return wamsStrategyService;\n }\n case damsStrategyService.name: {\n return damsStrategyService;\n }\n case tmamsStrategyService.name: {\n return tmamsStrategyService;\n }\n case ecStrategyService.name: {\n return ecStrategyService;\n }\n case itamsStrategyService.name: {\n return itamsStrategyService;\n }\n case rcStrategyService.name: {\n return rcStrategyService;\n }\n case zcamsStrategyService.name: {\n return zcamsStrategyService;\n }\n case snStrategyService.name: {\n return snStrategyService;\n }\n case aStrategyService.name: {\n return aStrategyService;\n }\n case blStrategyService.name: {\n return blStrategyService;\n }\n default: {\n return null;\n }\n }\n};\nexport let aflaModuleServiceProvider = {\n provide: AflaModuleStrategyService,\n useFactory: aflaModuleStrategyServiceFactory,\n deps: [\n ModuleConfigService,\n TpamsStrategyService,\n BpamsStrategyService,\n CemeteryStrategyService,\n PlamsStrategyService,\n WamsStrategyService,\n DamsStrategyService,\n TmamsStrategyService,\n EcStrategyService,\n ItamsStrategyService,\n RcStrategyService,\n ZcamsStrategyService,\n SnStrategyService,\n AStrategyService,\n BlStrategyService,\n ]\n};\n","import { EventEmitter } from \"@angular/core\";\nimport { map } from \"rxjs\";\n// This serves as the strategy interface , since javascript has no comprehension of interfaces for providers\nexport class AflaModuleStrategyService {\n onCleanFormEvent = new EventEmitter();\n constructor() {\n }\n static buildModuleIDFilter(moduleID) {\n return `moduleID eq ${moduleID}`;\n }\n static buildJobIDFilter(jobId) {\n return `jobId eq ${jobId}`;\n }\n static successMessage(referenceNumber, section) {\n return `Application ${referenceNumber} ${section} saved successfully`;\n }\n setIsFormValidSubject(valid) {\n this.isFormValidSubject.next(valid);\n }\n getConfigurationTextLookup(moduleId) {\n return this.queryConfigurableTextLookup(this.configurableTextFilter(moduleId)).pipe(map(odataCollection => {\n const contents = new Array();\n odataCollection.value.forEach(vl => {\n try {\n contents.push(JSON.parse(vl.content));\n }\n catch {\n }\n });\n return contents;\n }));\n }\n init() {\n this.initializeViewApplicationComponents();\n this.initializeCreateApplicationComponents();\n this.initializeApplicationSummaryColumnsMap();\n this.initialiseCreateApplicationSteps();\n this.initialiseViewApplicationSteps();\n }\n configurableTextFilter(moduleId) {\n return `moduleId eq ${moduleId} and name eq 'ConfigurableText' and deleted eq false`;\n }\n}\n","var BlStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ApiBusinessLicenceConstants } from \"../../constants/api-constants/api-business-licence.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ViewApplicationDetailsBlComponent } from \"../../../view-application/modules/bl/view-application-details-bl/view-application-details-bl.component\";\nimport { ViewApplicationLocationBlComponent } from \"../../../view-application/modules/bl/view-application-location-bl/view-application-location-bl.component\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { CreateApplicationDetailsBlComponent } from \"../../../create-application/modules/bl/craate-application-details-bl/create-application-details-bl.component\";\nimport { CreateApplicationLocationBlComponent } from \"../../../create-application/modules/bl/create-application-location-bl/create-application-location-bl.component\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationHeadingEnum.ApplicationType, \"type\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"]\n]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const blExpandListForApplicationSearch = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_BL;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Property details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet BlStrategyService = class BlStrategyService extends AflaModuleStrategyService {\n static { BlStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.BusinessLicence;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiBusinessLicenceConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = blExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiBusinessLicenceConstants.URL}/${ApiBusinessLicenceConstants.FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, blExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = BlStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: BlStrategyService_1.getRecipientName(BlStrategyService_1.getFirstRecipient(application.applicant)),\n agent: BlStrategyService_1.getRecipientName(BlStrategyService_1.getFirstRecipient(application.applicantAgent)),\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsBlComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationBlComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsBlComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationBlComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = BlStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, BlStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create business licence application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n blApplication: application, moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $select: \"properties\",\n $expand: \"properties, businessOwner($expand=groups)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.blApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiBusinessLicenceConstants.URL}/${applicationId}/${ApiBusinessLicenceConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiBusinessLicenceConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiBusinessLicenceConstants.URL}/${jobId}/${ApiBusinessLicenceConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n this.form.get(\"detailsForm\").get(\"tradeName\").reset();\n this.form.get(\"detailsForm\").get(\"businessOwner\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const property = {\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n unitNumber: item.get(\"unitNumber\").value?.toString(),\n shopNumber: item.get(\"shopNumber\").value,\n titleDeedNumber: item.get(\"titleDeedNumber\").value,\n titleDeedDescription: item.get(\"titleDeedDescription\").value,\n accommodationName: item.get(\"accommodationName\").value\n };\n application.properties.push(property);\n });\n const shape = `POINT ${points.join(\", \")}`;\n application.shape = shape;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n const businessOwnerFormValue = this.form.get(\"detailsForm\").get(\"businessOwner\").value;\n const businessOwner = RecipientUtils.removeInvalidRecipientProperties(businessOwnerFormValue);\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n application.tradeName = this.form.get(\"detailsForm\").get(\"tradeName\").value;\n application.businessOwner = [businessOwner];\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n tradeName: this.form.get(\"detailsForm\").get(\"tradeName\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value,\n businessOwner: [businessOwner],\n };\n return application;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [minLengthArray(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n type: new FormControl(null, Validators.required),\n referenceNumber: new FormControl(),\n tradeName: new FormControl(null, Validators.required),\n businessOwner: new FormControl(null, Validators.required)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nBlStrategyService = BlStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], BlStrategyService);\nexport { BlStrategyService };\n","var BpamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiBuildingPlansConstants } from \"../../constants/api-constants/api-building-plans.constants\";\nimport { CreateApplicationLocationBpamsComponent } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.component\";\nimport { CreateApplicationDetailsBpamsComponent } from \"../../../create-application/modules/bp/create-application-details-bpams/create-application-details-bpams.component\";\nimport { CreateApplicationProfessionalBodiesBpamsComponent } from \"../../../create-application/modules/bp/create-application-professional-bodies-bpams/create-application-professional-bodies-bpams.component\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ViewApplicationDetailsBpamsComponent } from \"../../../view-application/modules/bp/view-application-details-bpams/view-application-details-bpams.component\";\nimport { ViewApplicationLocationBpamsComponent } from \"../../../view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.component\";\nimport { ViewApplicationProfessionalBodiesBpamsComponent } from \"../../../view-application/modules/bp/view-application-professional-bodies-bpams/view-application-professional-bodies-bpams.component\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationHeadingEnum.ApplicationType, \"applicationType\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationSummaryColumnsEnum.ApplicationType, \"applicationType\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const BPExpandListForApplicationPartial = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_BP;\nexport var CreateApplicationBpamsMenuHeadings;\n(function (CreateApplicationBpamsMenuHeadings) {\n CreateApplicationBpamsMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationBpamsMenuHeadings[\"Location\"] = \"Property\";\n CreateApplicationBpamsMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationBpamsMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationBpamsMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationBpamsMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n CreateApplicationBpamsMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationBpamsMenuHeadings || (CreateApplicationBpamsMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"ProfessionalBodies\"] = \"Professional bodies help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationBpamsMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationBpamsMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationBpamsMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationBpamsMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationBpamsMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationBpamsMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationBpamsMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationBpamsMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet BpamsStrategyService = class BpamsStrategyService extends AflaModuleStrategyService {\n static { BpamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.BuildingPlans;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiBuildingPlansConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = BPExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiBuildingPlansConstants.URL}/${ApiBuildingPlansConstants.FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationBpamsMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n // the format for a column filter on an child table is:\n // EQUALS ==> applicantAgent/any(m:m/name eq 'xxxx')\n // CONTAINS with tolower ==> applicantAgent/any(b:contains(tolower(b/name),'xxxx'))\n static buildColumnFilter(text, filter) {\n const column = filter ? filter : ApplicationSearchConstants.DEFAULT_SEARCH;\n return `contains(cast(${column.trim()},'Edm.String'),'${text.trim()}')`;\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, BPExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = BpamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n applicationType: application.applicationType,\n applicant: BpamsStrategyService_1.getRecipientName(BpamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: BpamsStrategyService_1.getRecipientName(BpamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null\n ? this.saShortDatePipe.transform(application.lastEditedDate)\n : \"\",\n moduleId: application.moduleId,\n sector: application.sector,\n isRDP: application.isRdp,\n buildingUse: application.buildingUse,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [\n ViewApplicationMenuHeadings.Details,\n ViewApplicationDetailsBpamsComponent,\n ],\n [\n ViewApplicationMenuHeadings.Location,\n ViewApplicationLocationBpamsComponent,\n ],\n [\n ViewApplicationMenuHeadings.ProfessionalBodies,\n ViewApplicationProfessionalBodiesBpamsComponent,\n ]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [\n CreateApplicationBpamsMenuHeadings.Location,\n CreateApplicationLocationBpamsComponent,\n ],\n [\n CreateApplicationBpamsMenuHeadings.Details,\n CreateApplicationDetailsBpamsComponent,\n ],\n [\n CreateApplicationBpamsMenuHeadings.ProfessionalBodies,\n CreateApplicationProfessionalBodiesBpamsComponent,\n ],\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = BpamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, BpamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription =\n this.postApplicationService(application)\n .subscribe((savedApplication) => {\n this.appController.showMessage(BpamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")\n ]);\n }, (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").reset();\n this.form.get(\"detailsForm\").get(\"sector\").reset();\n this.form.get(\"detailsForm\").get(\"isRDP\").reset();\n this.form.get(\"detailsForm\").get(\"buildingUse\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").reset();\n this.form.get(\"detailsForm\").get(\"referenceNumber\").reset();\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationBpamsMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationBpamsMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationBpamsMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationBpamsMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationBpamsMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n application = this.buildProfessionalBodiesStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationBpamsMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n bpApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $select: \"properties\",\n $expand: \"properties($expand=owners($expand=groups),zonings,buildings)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.bpApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiBuildingPlansConstants.URL}/${applicationId}/${ApiBuildingPlansConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationBpamsMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationBpamsMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationBpamsMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").reset();\n this.form.get(\"detailsForm\").get(\"sector\").reset();\n this.form.get(\"detailsForm\").get(\"isRDP\").reset();\n this.form.get(\"detailsForm\").get(\"buildingUse\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").reset();\n this.form.get(\"detailsForm\").get(\"referenceNumber\").reset();\n break;\n case CreateApplicationBpamsMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationBpamsMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationBpamsMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n this.form.get(\"professionalBodiesForm\").get(\"architectRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markArchitectAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markEngineerAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToArchitect\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToEngineer\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToContractor\").reset();\n break;\n case CreateApplicationBpamsMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n postApplicationService(params) {\n return this.http.post(ApiBuildingPlansConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_BP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationBpamsMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationBpamsMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiBuildingPlansConstants.URL}/${jobId}/GetBpApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null)\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n isMinorBuildingWork: new FormControl(null, [Validators.required]),\n sector: new FormControl(null, [Validators.required]),\n isRDP: new FormControl(null, [Validators.required]),\n buildingUse: new FormControl(null, [Validators.required]),\n applicationType: new FormControl(null, [Validators.required]),\n applicationEstimatedBy: new FormControl(null, [Validators.required]),\n applicationEstimatedCost: new FormControl(null, [Validators.required]),\n referenceNumber: new FormControl(null)\n }),\n professionalBodiesForm: new FormGroup({\n sacapRegistrationNumber: new FormControl(null),\n architectRecipient: new FormControl(null),\n engineerRecipients: new FormControl(null),\n electricalContractorRecipient: new FormControl(null),\n markArchitectAsRequired: new FormControl(null),\n markEngineerAsRequired: new FormControl(null),\n markElectricalContractorAsRequired: new FormControl(null),\n copyApplicantToArchitect: new FormControl(null),\n copyApplicantToEngineer: new FormControl(null),\n copyApplicantToContractor: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n decision: \"\",\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n isMinorBuildingWork: this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value,\n sector: this.form.get(\"detailsForm\").get(\"sector\").value.value,\n isRdp: this.form.get(\"detailsForm\").get(\"isRDP\").value,\n buildingUse: this.form.get(\"detailsForm\").get(\"buildingUse\").value.value,\n applicationType: this.form.get(\"detailsForm\").get(\"applicationType\").value.value,\n applicationEstimatedBy: this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value.value,\n applicationEstimatedCost: this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value,\n shape: \"\",\n wkid: 102100,\n applicant: applicant ? [applicant] : [],\n applicantAgent: [],\n architect: [],\n engineer: [],\n electricalContractor: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n erfSize: item.get(\"erfSize\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeed: item.get(\"titleDeed\").value,\n updateGeometry: false,\n wkid: 102100,\n applicationDescription: item.get(\"propertyDescription\").value,\n applicationRestrictions: item.get(\"titleDeedRestrictions\").value,\n externalWalls: item.get(\"externalWalls\").value?.value,\n internalWalls: item.get(\"internalWalls\").value?.value,\n roofing: item.get(\"roofing\").value?.value,\n numberOfHouses: item.get(\"numberOfHousesUnits\").value,\n patioCoveredExisting: item.get(\"coveredExisting\").value,\n patioCoveredAdded: item.get(\"coveredAdded\").value,\n patioOpenExisting: item.get(\"openExisting\").value,\n patioOpenAdded: item.get(\"openAdded\").value,\n pool: item.get(\"pool\").value,\n boundaryWallHeight: item.get(\"boundaryWallHeight\").value,\n boundaryWallRunning: item.get(\"boundaryWallRunning\").value,\n coverage: item.get(\"coverage\").value,\n bulkCalculation: item.get(\"bulkCalculation\").value,\n zonings: [],\n buildings: [],\n owners,\n };\n // mainBuildings: new FormArray([], [Validators.min(1)]),\n const mainBuildingsArray = item.get(\"mainBuildings\");\n mainBuildingsArray.controls.forEach((mainBuilding) => {\n const building = {\n deleted: false,\n type: \"Main Building\",\n floor: mainBuilding.get(\"floor\").value.toString(),\n existingSize: mainBuilding.get(\"existingSize\").value,\n addedSize: mainBuilding.get(\"addedSize\").value,\n buildingNameNumber: mainBuilding.get(\"buildingNameNumber\").value\n };\n property.buildings.push(building);\n });\n const outBuildingsArray = item.get(\"outBuildings\");\n outBuildingsArray.controls.forEach((outBuilding) => {\n const building = {\n deleted: false,\n type: \"Additional Building\",\n floor: outBuilding.get(\"floor\").value.toString(),\n existingSize: outBuilding.get(\"existingSize\").value,\n addedSize: outBuilding.get(\"addedSize\").value,\n buildingNameNumber: outBuilding.get(\"buildingNameNumber\").value\n };\n property.buildings.push(building);\n });\n const propertyZonesArray = item.get(\"zones\");\n propertyZonesArray?.controls.forEach((zoneItem) => {\n const zone = {\n deleted: false,\n zoning: zoneItem?.get(\"zone\")?.value?.value,\n };\n property.zonings.push(zone);\n });\n // ensure that the existing zones that are not in a lookup (or form) are kept\n if (missingLookupsForZones) {\n missingLookupsForZones.forEach((missingZone) => {\n const zone = {\n deleted: false, zoning: missingZone,\n };\n property.zonings.push(zone);\n });\n }\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n // TODO: Check Fields for BP_DETAILS\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.isMinorBuildingWork = this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value;\n application.sector = this.form.get(\"detailsForm\").get(\"sector\").value;\n application.isRdp = this.form.get(\"detailsForm\").get(\"isRDP\").value;\n application.buildingUse = this.form.get(\"detailsForm\").get(\"buildingUse\").value;\n application.applicationType = this.form.get(\"detailsForm\").get(\"applicationType\").value;\n application.applicationEstimatedBy = this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value;\n application.applicationEstimatedCost = this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n isMinorBuildingWork: this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value,\n sector: this.form.get(\"detailsForm\").get(\"sector\").value,\n isRdp: this.form.get(\"detailsForm\").get(\"isRDP\").value,\n buildingUse: this.form.get(\"detailsForm\").get(\"buildingUse\").value,\n applicationType: this.form.get(\"detailsForm\").get(\"applicationType\").value,\n applicationEstimatedBy: this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value,\n applicationEstimatedCost: this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value,\n };\n return application;\n }\n getEntityColumn(searchColumn) {\n return SharedConstants.SEARCH_BY_DEFAULT;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n application.applicantAgentNa = applicantAgentIsNullValue;\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicantAgent: applicantAgent ? [applicantAgent] : [],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return application;\n }\n buildProfessionalBodiesStep(stepIndex, existingApplication) {\n const architectIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markArchitectAsRequired\").value;\n const engineerIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markEngineerAsRequired\").value;\n const electricalContractorIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").value;\n if (architectIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"architectRecipient\").enable();\n if (engineerIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").enable();\n if (electricalContractorIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").enable();\n const professionalBodiesArchitectFormValue = this.form.get(\"professionalBodiesForm\").get(\"architectRecipient\").value;\n const architect = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesArchitectFormValue);\n const professionalBodiesEngineerFormValue = this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").value;\n const engineer = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesEngineerFormValue);\n const professionalBodiesSelectElectricalContractorFormValue = this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").value;\n const electricalContractor = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesSelectElectricalContractorFormValue);\n let application;\n application = existingApplication;\n application.architect = architectIsRequired ? [architect] : [];\n application.engineer = engineerIsRequired ? [engineer] : [];\n application.electricalContractor = electricalContractorIsRequired ? [electricalContractor] : [];\n application.eLodgementStep = stepIndex;\n application.architectNa = !architectIsRequired;\n application.engineerNa = !engineerIsRequired;\n application.electricalContractorNa = !electricalContractorIsRequired;\n RecipientUtils.cleanPropertyOwners(application);\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nBpamsStrategyService = BpamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], BpamsStrategyService);\nexport { BpamsStrategyService };\n","var CemeteryStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiCemeteryConstants } from \"../../constants/api-constants/api-cemetery.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { CreateBurialDetailsCmComponent } from \"../../../create-application/modules/cm/create-burial-details-cm/create-burial-details-cm.component\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ViewFuneralParlourCmComponent } from \"../../../view-application/modules/cm/view-funeral-parlour-cm/view-funeral-parlour-cm.component\";\nimport { ViewFamilyMemberCmComponent } from \"../../../view-application/modules/cm/view-family-member-cm/view-family-member-cm.component\";\nimport { CreateFamilyMemberDetCmComponent } from \"../../../create-application/modules/cm/create-family-member-det-cm/create-family-member-det-cm.component\";\nimport { ViewDeceasedDetailsCmComponent } from \"../../../view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.component\";\nimport { ViewBurialDetailsCmComponent } from \"../../../view-application/modules/cm/view-burial-details-cm/view-burial-details-cm.component\";\nimport { CreateDeceasedDetailsCmComponent } from \"../../../create-application/modules/cm/create-deceased-details-cm/create-deceased-details-cm.component\";\nimport { CreateFuneralParlourCmComponent } from \"../../../create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour-cm.component\";\nimport { DeceasedDtailsCustomValidators } from \"../../../create-application/modules/cm/shared/custom-validators\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationHeadingEnum[\"BurialDate\"] = \"Burial Date\";\n ApplicationHeadingEnum[\"DateOfBirth\"] = \"Date Of Birth\";\n ApplicationHeadingEnum[\"BurialOrderNumber\"] = \"Burial Order Number\";\n ApplicationHeadingEnum[\"SerialNo\"] = \"Serial Number\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"], [ApplicationHeadingEnum.BurialDate, \"burialDate\"], [ApplicationHeadingEnum.DateOfBirth, \"dateOfBirth\"], [ApplicationHeadingEnum.BurialOrderNumber, \"burialOrderNumber\"], [ApplicationHeadingEnum.SerialNo, \"serialNo\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationSummaryColumnsEnum[\"BurialDate\"] = \"Burial Date\";\n ApplicationSummaryColumnsEnum[\"DateOfBirth\"] = \"Date Of Birth\";\n ApplicationSummaryColumnsEnum[\"BurialOrderNumber\"] = \"Burial Order Number\";\n ApplicationSummaryColumnsEnum[\"SerialNo\"] = \"Serial Number\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"], [ApplicationSummaryColumnsEnum.BurialDate, \"burialDate\"], [ApplicationSummaryColumnsEnum.DateOfBirth, \"dateOfBirth\"], [ApplicationSummaryColumnsEnum.BurialOrderNumber, \"burialOrderNumber\"], [ApplicationSummaryColumnsEnum.SerialNo, \"serialNo\"],]);\nexport const CMExpandListForApplicationSearch = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_CM;\nexport var CreateApplicationCemeteryMenuHeadings;\n(function (CreateApplicationCemeteryMenuHeadings) {\n CreateApplicationCemeteryMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationCemeteryMenuHeadings[\"BurialDetails\"] = \"Burial\";\n CreateApplicationCemeteryMenuHeadings[\"DeceasedDetails\"] = \"Deceased\";\n CreateApplicationCemeteryMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationCemeteryMenuHeadings[\"FamilyMemberDetails\"] = \"Family member\";\n CreateApplicationCemeteryMenuHeadings[\"FuneralParlour\"] = \"Funeral parlour\";\n CreateApplicationCemeteryMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationCemeteryMenuHeadings || (CreateApplicationCemeteryMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"BurialDetails\"] = \"Burial details help\";\n HeaderConfigurableTextTypes[\"DeceasedDetails\"] = \"Deceased details help\";\n HeaderConfigurableTextTypes[\"FamilyMemberDetails\"] = \"Family member details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"FuneralParlour\"] = \"Funeral parlour help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationCemeteryMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationCemeteryMenuHeadings.BurialDetails, HeaderConfigurableTextTypes.BurialDetails)\n .set(CreateApplicationCemeteryMenuHeadings.DeceasedDetails, HeaderConfigurableTextTypes.DeceasedDetails)\n .set(CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails, HeaderConfigurableTextTypes.FamilyMemberDetails)\n .set(CreateApplicationCemeteryMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationCemeteryMenuHeadings.FuneralParlour, HeaderConfigurableTextTypes.FuneralParlour)\n .set(CreateApplicationCemeteryMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationCemeteryMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"BurialDetails\"] = \"Burial\";\n ViewApplicationMenuHeadings[\"DeceasedDetails\"] = \"Deceased\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"FamilyMemberDetails\"] = \"Family member\";\n ViewApplicationMenuHeadings[\"FuneralParlour\"] = \"Funeral parlour\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewApplicationMenuConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.BurialDetails, HeaderConfigurableTextTypes.BurialDetails)\n .set(ViewApplicationMenuHeadings.DeceasedDetails, HeaderConfigurableTextTypes.DeceasedDetails)\n .set(ViewApplicationMenuHeadings.FamilyMemberDetails, HeaderConfigurableTextTypes.FamilyMemberDetails)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.FuneralParlour, HeaderConfigurableTextTypes.FuneralParlour)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet CemeteryStrategyService = class CemeteryStrategyService extends AflaModuleStrategyService {\n static { CemeteryStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n viewApplicationSteps = [];\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Cemetery;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiCemeteryConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = CMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewApplicationMenuConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n statusColumn = \"status/ workflowSection\";\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, // private recipientSelectService: RecipientSelectService,\n router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiCemeteryConstants.URL}/${ApiCemeteryConstants.FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationCemeteryMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n // the format for a column filter on an child table is:\n // EQUALS ==> applicantAgent/any(m:m/name eq 'xxxx')\n // CONTAINS with tolower ==> applicantAgent/any(b:contains(tolower(b/name),'xxxx'))\n static buildColumnFilter(text, filter) {\n const column = filter ? filter : ApplicationSearchConstants.DEFAULT_SEARCH;\n return `contains(cast(${column.trim()},'Edm.String'),'${text.trim()}')`;\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n // TODO Correct 2n arg: TPExpandListForApplicationPartial\n static buildExpand(params) {\n return params.set(ODataAction.Expand, CMExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = CemeteryStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n // TODO: Fix Application Search\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: CemeteryStrategyService_1.getRecipientName(CemeteryStrategyService_1.getFirstRecipient(application.applicant)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n burialDate: \"Burial Date\",\n dateOfBirth: \"Date Of Birth\",\n burialOrderNumber: \"Burial Order Number\",\n serialNo: \"Serial Number\"\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.BurialDetails, ViewBurialDetailsCmComponent],\n [ViewApplicationMenuHeadings.DeceasedDetails, ViewDeceasedDetailsCmComponent],\n [ViewApplicationMenuHeadings.FamilyMemberDetails, ViewFamilyMemberCmComponent],\n [ViewApplicationMenuHeadings.FuneralParlour, ViewFuneralParlourCmComponent]\n ]);\n }\n // TODO: setup correct component for each step\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationCemeteryMenuHeadings.BurialDetails, CreateBurialDetailsCmComponent,],\n [CreateApplicationCemeteryMenuHeadings.DeceasedDetails, CreateDeceasedDetailsCmComponent],\n [CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails, CreateFamilyMemberDetCmComponent],\n [CreateApplicationCemeteryMenuHeadings.FuneralParlour, CreateFuneralParlourCmComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = CemeteryStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, CemeteryStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(CemeteryStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n // TODO: Create the Build Step Methods for each step\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n application = this.buildBurialDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n application = this.buildDeceasedStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n application = this.buildFamilyMemberStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n application = this.buildFuneralParlourStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n cmApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $select: \"family, deceased\",\n $expand: \"family($expand=groups), deceased($expand=deceasedNames)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const family = response.value[0]?.family;\n const deceased = response.value[0]?.deceased;\n savedApplication.family = family;\n savedApplication.deceased = deceased;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(CemeteryStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.cmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(CemeteryStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n // TODO Correct the routing here\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiCemeteryConstants.URL}/${applicationId}/${ApiCemeteryConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n // TODO Add steps\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n formName = \"burialForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n formName = \"deceasedForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n formName = \"familyMemberForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n this.requestStatusService.removeBusySpinner(\"CreateCMApplication\");\n formName = \"applicantForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n this.requestStatusService.removeBusySpinner(\"CreateCMApplication\");\n formName = \"funeralParlourForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n // TODO\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n this.form.get(\"burialForm\").get(\"type\").reset();\n this.form.get(\"burialForm\").get(\"burialDate\").reset();\n this.form.get(\"burialForm\").get(\"description\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n this.form.get(\"deceasedForm\").get(\"sex\").reset();\n this.form.get(\"deceasedForm\").get(\"nationality\").reset();\n this.form.get(\"deceasedForm\").get(\"idNumber\").reset();\n this.form.get(\"deceasedForm\").get(\"idType\").reset();\n this.form.get(\"deceasedForm\").get(\"burialOrderNumber\").reset();\n this.form.get(\"deceasedForm\").get(\"serialNo\").reset();\n this.form.get(\"deceasedForm\").get(\"verticalPosition\").reset();\n this.form.get(\"deceasedForm\").get(\"dateOfBirth\").reset();\n this.form.get(\"deceasedForm\").get(\"dateOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"placeOfBirth\").reset();\n this.form.get(\"deceasedForm\").get(\"placeOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"maidenName\").reset();\n this.form.get(\"deceasedForm\").get(\"undertaker\").reset();\n this.form.get(\"deceasedForm\").get(\"provinceOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"deceasedNames\").reset();\n this.selectedApplicationService.clearDeceasedNamesTableSubject$.next(true);\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n this.form.get(\"familyMemberForm\").get(\"family\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n this.form.get(\"funeralParlourForm\").get(\"parlourRecipient\").reset();\n this.form.get(\"funeralParlourForm\").get(\"parlourSelector\").reset();\n this.form.get(\"funeralParlourForm\").get(\"funeralParlourIsNull\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n resetForm() {\n this.form.reset();\n }\n // TODO correct the URL\n postApplicationService(params) {\n return this.http.post(ApiCemeteryConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n // TODO: Remove unecessary fileds\n getSelectedApplicationSummaryExpand() {\n //return \"status, applicant, applicant($expand=groups), applicantAgent, lastEditedUser\";\n return \"status, applicant, applicant($expand=groups), applicantAgent, lastEditedUser\";\n }\n // TODO: Correct Constants\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationCemeteryMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationCemeteryMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiCemeteryConstants.URL}/${jobId}/GetCmApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n return true;\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n burialForm: new FormGroup({\n type: new FormControl(null, [Validators.required]),\n burialDate: new FormControl(null),\n description: new FormControl(null, [Validators.required])\n }),\n deceasedForm: new FormGroup({\n sex: new FormControl(null, [Validators.required]),\n nationality: new FormControl(null, [Validators.required]),\n idNumber: new FormControl(null, [Validators.required]),\n idType: new FormControl(null, [Validators.required]),\n burialOrderNumber: new FormControl(null, [Validators.required]),\n serialNo: new FormControl(null),\n verticalPosition: new FormControl(null, [Validators.required]),\n dateOfBirth: new FormControl(null, [Validators.required, DeceasedDtailsCustomValidators.CompareDateToToday]),\n dateOfDeath: new FormControl(null),\n placeOfBirth: new FormControl(null, [Validators.required]),\n placeOfDeath: new FormControl(null),\n maidenName: new FormControl(null),\n undertaker: new FormControl(null),\n provinceOfDeath: new FormControl(null),\n deceasedNames: new FormControl(null, [Validators.required]),\n }, DeceasedDtailsCustomValidators.CompareDateToDateOfDeath), familyMemberForm: new FormGroup({\n family: new FormControl(null),\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n funeralParlourForm: new FormGroup({\n parlourRecipient: new FormControl(null, [Validators.required]),\n parlourSelector: new FormControl(null, [Validators.required]),\n funeralParlourIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]), referenceNumber: new FormControl(null),\n }),\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n notes: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildBurialDetailsStep(stepIndex, existingApplication) {\n const burialFormValue = this.form.get(\"burialForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = burialFormValue.type;\n application.burialDate = burialFormValue.burialDate;\n application.description = burialFormValue.description;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: burialFormValue.type,\n burialDate: burialFormValue.burialDate,\n description: burialFormValue.description\n };\n return application;\n }\n buildDeceasedStep(stepIndex, existingApplication) {\n const deceasedFormValue = this.form.get(\"deceasedForm\").value;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.deceased = [deceasedFormValue];\n if (existingApplication.deceased == null && !existingApplication.deceased[0].dateOfDeath)\n existingApplication.deceased[0].dateOfDeath = null;\n // tslint:disable-next-line:prefer-for-of\n if (existingApplication.deceased && existingApplication.deceased.length > 0) {\n if (existingApplication.deceased[0].deceasedNames != null) {\n for (let index = 0; index < existingApplication.deceased[0].deceasedNames.length; index++) {\n if (existingApplication.deceased[0].deceasedNames[index].id < 0)\n existingApplication.deceased[0].deceasedNames[index].id = 0;\n }\n }\n }\n return existingApplication;\n }\n buildFamilyMemberStep(stepIndex, existingApplication) {\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n const familyMemberForm = this.form.get(\"familyMemberForm\").value;\n if (familyMemberForm.hasOwnProperty(\"family\")) {\n const familyMemberFormValue = familyMemberForm.family;\n for (let index = 0; index < familyMemberFormValue.length; index++) {\n if (familyMemberFormValue[index].id < 1) {\n familyMemberFormValue[index].id = 0;\n }\n familyMemberFormValue[index] = RecipientUtils.removeInvalidRecipientProperties(familyMemberFormValue[index]);\n }\n const deletedMembers = [];\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < existingApplication.family.length; index++) {\n const family = familyMemberFormValue.find(f => f.id === existingApplication.family[index].id);\n if (!family) {\n existingApplication.family[index].deleted = true;\n deletedMembers.push(existingApplication.family[index]);\n }\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.family = familyMemberFormValue;\n existingApplication.family.push(...deletedMembers);\n }\n return existingApplication;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildFuneralParlourStep(stepIndex, existingApplication) {\n const funeralParlourIsNullValue = this.form.get(\"funeralParlourForm\").get(\"funeralParlourIsNull\").value;\n const funeralParlourIDValue = this.form.get(\"funeralParlourForm\").get(\"parlourSelector\").value;\n if (existingApplication) {\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.funeralParlourId = funeralParlourIsNullValue ? null : funeralParlourIDValue;\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nCemeteryStrategyService = CemeteryStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], CemeteryStrategyService);\nexport { CemeteryStrategyService };\n","var DamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ApiDemolitionManagementConstants } from \"../../constants/api-constants/api-demolition-management.constamt\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { Router } from \"@angular/router\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ViewApplicationDetailsDmComponent } from \"../../../view-application/modules/dm/view-application-details-dm/view-application-details-dm.component\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ViewLocationDmComponent } from \"../../../view-application/modules/dm/view-location-dm/view-location-dm.component\";\nimport { CreateLocationDmComponent } from \"../../../create-application/modules/dm/create-location-dm/create-location-dm.component\";\nimport { CreateApplicationDetailsDmComponent } from \"../../../create-application/modules/dm/create-application-details-dm/create-application-details-dm.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n // [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n // [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n // [ApplicationHeadingEnum.ApplicationType, \"applicationType\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const DMExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_DM;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationDemolitionMenuHeadings;\n(function (CreateApplicationDemolitionMenuHeadings) {\n CreateApplicationDemolitionMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationDemolitionMenuHeadings[\"Location\"] = \"Property details\";\n CreateApplicationDemolitionMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationDemolitionMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationDemolitionMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationDemolitionMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationDemolitionMenuHeadings || (CreateApplicationDemolitionMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationDemolitionMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationDemolitionMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationDemolitionMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationDemolitionMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationDemolitionMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationDemolitionMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet DamsStrategyService = class DamsStrategyService extends AflaModuleStrategyService {\n static { DamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n appController;\n router;\n name = ModuleConfig.DemolitionManagement;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiDemolitionManagementConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = DMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiDemolitionManagementConstants.URL}/${ApiDemolitionManagementConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationDemolitionMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, DMExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = DamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsDmComponent],\n [ViewApplicationMenuHeadings.Location, ViewLocationDmComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationDemolitionMenuHeadings.Details, CreateApplicationDetailsDmComponent],\n [CreateApplicationDemolitionMenuHeadings.Location, CreateLocationDmComponent],\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationDemolitionMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationDemolitionMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = DamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, DamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiDemolitionManagementConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: DamsStrategyService_1.getRecipientName(DamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: DamsStrategyService_1.getRecipientName(DamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiDemolitionManagementConstants.URL}/${applicationId}/${ApiDemolitionManagementConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationDemolitionMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDemolitionDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n dmApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"applicant,applicantAgent,properties($expand=owners), attachments\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.dmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationDemolitionMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationDemolitionMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationDemolitionMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationDemolitionMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationDemolitionMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationDemolitionMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n // (this.form.get(\"detailsForm\").get(\"applicationType\") as FormGroup).reset();\n // (this.form.get(\"detailsForm\").get(\"description\") as FormGroup).reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationDemolitionMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiDemolitionManagementConstants.URL}/${jobId}/GetDmApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required])\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n return application;\n }\n buildDemolitionDetailsStep(stepIndex, existingApplication) {\n const demolitionDetailsForm = this.form.get(\"detailsForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = demolitionDetailsForm.type;\n application.description = demolitionDetailsForm.description;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: demolitionDetailsForm.type,\n description: demolitionDetailsForm.description\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const over60 = item.get(\"over60\").value;\n const worthyOfPreservation = item.get(\"worthyOfPreservation\").value;\n let amafaPermission = \"\";\n if (over60 === \"Yes\" || worthyOfPreservation === \"Yes\") {\n amafaPermission = item.get(\"amafaPermission\").value;\n }\n ;\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n amafaPermission,\n cadastralDescription: item.get(\"cadastralDescription\").value,\n existingUse: item.get(\"existingUse\").value,\n over60,\n rateNumber: item.get(\"rateNumber\").value,\n reason: item.get(\"reason\").value,\n worthyOfPreservation,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n const propertyZonesArray = item.get(\"zones\");\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nDamsStrategyService = DamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], DamsStrategyService);\nexport { DamsStrategyService };\n","var EcStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ApiElectricalConnectionConstants } from \"../../constants/api-constants/api-electrical-conection.constant\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ViewApplicationDetailsEcComponent } from \"../../../view-application/modules/ec/view-application-details-ec/view-application-details-ec.component\";\nimport { ViewApplicationProfessionalBodiesEcComponent } from \"../../../view-application/modules/ec/view-application-professional-bodies-ec/view-application-professional-bodies-ec.component\";\nimport { CreateApplicationDetailsEcComponent } from \"../../../create-application/modules/ec/create-application-details-ec/create-application-details-ec.component\";\nimport { CreateApplicationLocationEcComponent } from \"../../../create-application/modules/ec/create-application-location-ec/create-application-location-ec.component\";\nimport { CreateApplicationProfessionalBodiesEcComponent } from \"../../../create-application/modules/ec/create-application-professional-bodies-ec/create-application-professional-bodies-ec.component\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ViewApplicationLocationEcComponent } from \"../../../view-application/modules/ec/view-application-location-ec/view-application-location-ec.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n // [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n // [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n // [ApplicationHeadingEnum.ApplicationType, \"applicationType\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const ECExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_EC;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationECMenuHeadings;\n(function (CreateApplicationECMenuHeadings) {\n CreateApplicationECMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationECMenuHeadings[\"Location\"] = \"Property details\";\n CreateApplicationECMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationECMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationECMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationECMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n CreateApplicationECMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationECMenuHeadings || (CreateApplicationECMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"ProfessionalBodies\"] = \"Professional bodies help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationECMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationECMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationECMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationECMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationECMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationECMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationECMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"ProfessionalBodies\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet EcStrategyService = class EcStrategyService extends AflaModuleStrategyService {\n static { EcStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.ElectricalConnection;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiElectricalConnectionConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = ECExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiElectricalConnectionConstants.URL}/${ApiElectricalConnectionConstants.FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationECMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ECExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = EcStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsEcComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationEcComponent],\n [\n ViewApplicationMenuHeadings.ProfessionalBodies,\n ViewApplicationProfessionalBodiesEcComponent,\n ]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationECMenuHeadings.Details, CreateApplicationDetailsEcComponent],\n [CreateApplicationECMenuHeadings.Location, CreateApplicationLocationEcComponent],\n [\n CreateApplicationECMenuHeadings.ProfessionalBodies,\n CreateApplicationProfessionalBodiesEcComponent,\n ]\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationECMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationECMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = EcStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, EcStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(EcStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiElectricalConnectionConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: EcStrategyService_1.getRecipientName(EcStrategyService_1.getFirstRecipient(application.applicant)),\n agent: EcStrategyService_1.getRecipientName(EcStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiElectricalConnectionConstants.URL}/${applicationId}/${ApiElectricalConnectionConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildEConnectionDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n application = this.buildProfessionalBodiesStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n ecApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"electricalContractor($expand=groups),engineer($expand=groups),applicant($expand=groups),applicantAgent($expand=groups),properties($expand=owners($expand=groups)), attachments\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(EcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.ecApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(EcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationECMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n // (this.form.get(\"detailsForm\").get(\"applicationType\") as FormGroup).reset();\n // (this.form.get(\"detailsForm\").get(\"description\") as FormGroup).reset();\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n this.form.get(\"professionalBodiesForm\").get(\"electricalEngineerRecipients\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalEngineerAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToElectricalEngineer\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToContractor\").reset();\n break;\n case CreateApplicationECMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiElectricalConnectionConstants.URL}/${jobId}/GetEcApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n applicationType: new FormControl(null, Validators.required),\n applicantType: new FormControl(null),\n descriptionOfProposedWork: new FormControl(null, Validators.required),\n phase: new FormControl(null, Validators.required),\n paymentType: new FormControl(null, Validators.required),\n estimatedCapacity: new FormControl(null, Validators.required),\n referenceNumber: new FormControl(null)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n professionalBodiesForm: new FormGroup({\n electricalEngineerRecipients: new FormControl(null),\n electricalContractorRecipient: new FormControl(null),\n markElectricalEngineerAsRequired: new FormControl(null),\n markElectricalContractorAsRequired: new FormControl(null),\n copyApplicantToElectricalEngineer: new FormControl(null),\n copyApplicantToContractor: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n return application;\n }\n buildProfessionalBodiesStep(stepIndex, existingApplication) {\n const engineerIsRequired = true;\n const electricalContractorIsRequired = true;\n if (engineerIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"electricalEngineerRecipients\").enable();\n if (electricalContractorIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").enable();\n const professionalBodiesEngineerFormValue = this.form.get(\"professionalBodiesForm\").get(\"electricalEngineerRecipients\").value;\n const engineer = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesEngineerFormValue);\n const professionalBodiesSelectElectricalContractorFormValue = this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").value;\n const electricalContractor = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesSelectElectricalContractorFormValue);\n let application;\n application = existingApplication;\n application.engineer = engineerIsRequired ? [engineer] : [];\n application.electricalContractor = electricalContractorIsRequired ? [electricalContractor] : [];\n application.eLodgementStep = stepIndex;\n application.electricalEngineerNa = !engineerIsRequired;\n application.electricalContractorNa = !electricalContractorIsRequired;\n return application;\n }\n buildEConnectionDetailsStep(stepIndex, existingApplication) {\n const detailsForm = this.form.get(\"detailsForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n if (detailsForm.applicationType)\n application.applicationType = detailsForm.applicationType.code;\n application.description = detailsForm.description;\n if (detailsForm.applicantType)\n application.applicantType = detailsForm.applicantType.code;\n if (detailsForm.phase)\n application.phase = detailsForm.phase.code;\n if (detailsForm.paymentType)\n application.paymentType = detailsForm.paymentType.code;\n application.estimatedCapacity = detailsForm.estimatedCapacity;\n application.descriptionOfProposedWork = detailsForm.descriptionOfProposedWork;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n applicationType: detailsForm.applicationType ? detailsForm.applicationType.code : null,\n description: detailsForm.description,\n applicantType: detailsForm.applicantType.code ? detailsForm.applicantType.code : null,\n phase: detailsForm.phase.code ? detailsForm.phase.code : null,\n paymentType: detailsForm.paymentType.code ? detailsForm.paymentType.code : null,\n estimatedCapacity: detailsForm.estimatedCapacity,\n descriptionOfProposedWork: detailsForm.descriptionOfProposedWork\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroidControl = item.get(\"centroid\");\n if (centroidControl && centroidControl.value) {\n const centroid = centroidControl.value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n buildingName: item.get(\"buildingName\").value,\n floor: item.get(\"floor\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners,\n };\n // const propertyZonesArray = item.get(\"zones\") as FormArray;\n application.properties.push(property);\n }\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nEcStrategyService = EcStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], EcStrategyService);\nexport { EcStrategyService };\n","var ItamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { MapService } from \"../../../map/shared/map.service\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { CreateApplicationDetailsItamsComponent } from \"../../../create-application/modules/it/create-application-details-itams/create-application-details-itams.component\";\nimport { CreateApplicationLocationItamsComponent } from \"../../../create-application/modules/it/create-application-location-itams/create-application-location-itams.component\";\nimport { CreateApplicationStakeholdersItamsComponent } from \"../../../create-application/modules/it/create-application-stakeholders-itams/create-application-stakeholders-itams.component\";\nimport { ViewApplicationDetailsItamsComponent } from \"../../../view-application/modules/it/view-application-details-itams/view-application-details-itams.component\";\nimport { ViewApplicationLocationItamsComponent } from \"../../../view-application/modules/it/view-application-location-itams/view-application-location-itams.component\";\nimport { ViewApplicationStakeholdersItamsComponent } from \"../../../view-application/modules/it/view-application-stakeholders-itams/view-application-stakeholders-itams.component\";\nimport { ApiInformalTradeConstants } from \"../../constants/api-constants/api-informal-trade.constants\";\nimport { CreateApplicationLocationItamsConstants } from \"../../../create-application/modules/it/create-application-location-itams/create-application-location-itams.constants\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.Agent, \"agent\"], [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"], [ApplicationHeadingEnum.ApplicationType, \"type\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"]\n]);\nexport const ItExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_IT;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Bay details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Traders\"] = \"Traders\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Bays help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Traders\"] = \"Traders help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Traders, HeaderConfigurableTextTypes.Traders)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Bay details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Traders\"] = \"Traders\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Traders, HeaderConfigurableTextTypes.Traders)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet ItamsStrategyService = class ItamsStrategyService extends AflaModuleStrategyService {\n static { ItamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n mapServices;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.InformalTrade;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiInformalTradeConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = ItExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, mapServices, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.mapServices = mapServices;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiInformalTradeConstants.URL}/${ApiInformalTradeConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ItExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = ItamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: ItamsStrategyService_1.getRecipientName(ItamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: ItamsStrategyService_1.getRecipientName(ItamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsItamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationItamsComponent],\n [ViewApplicationMenuHeadings.Traders, ViewApplicationStakeholdersItamsComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsItamsComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationItamsComponent],\n [CreateApplicationMenuHeadings.Traders, CreateApplicationStakeholdersItamsComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = ItamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, ItamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(ItamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create informal trade application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Traders.toLocaleLowerCase():\n application = this.buildStakeholderStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n itApplication: application, moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest bays\n const params = {\n $select: \"bays, tradeGoods\",\n $expand: \"bays, tradeGoods\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const bays = response.value[0]?.bays;\n const tradeGoods = response.value[0]?.tradeGoods;\n savedApplication.bays = bays;\n savedApplication.tradeGoods = tradeGoods;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(ItamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.itApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(ItamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiInformalTradeConstants.URL}/${applicationId}/${ApiInformalTradeConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"baysForm\";\n break;\n case CreateApplicationMenuHeadings.Traders.toLocaleLowerCase():\n formName = \"tradersForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"baysForm\").get(\"bays\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiInformalTradeConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, bays, traders($expand=groups), lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiInformalTradeConstants.URL}/${jobId}/${ApiInformalTradeConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"baysForm\") && this.form.get(\"baysForm\").get(\"bays\")) {\n const baysArray = this.form.get(\"baysForm\").get(\"bays\");\n if (baysArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.BAY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.BAY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n const previousApplicationValidated = this.form.get(\"detailsForm\").get(\"previousApplicationValidated\").value;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"baysForm\").get(\"bays\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n if (!previousApplicationValidated) {\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoods\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").reset();\n this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").reset();\n this.applicationCreateService.$clearApplicationVerificationSubject.next(true);\n }\n else {\n this.appController.showMessage(\"Form cannot be cleared after previous application has been validated\", AlertType.Warning);\n }\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Traders.toLocaleLowerCase():\n if (!previousApplicationValidated) {\n this.form.get(\"tradersForm\").get(\"traders\").reset();\n }\n else {\n this.appController.showMessage(\"Form cannot be cleared after previous application has been validated\", AlertType.Warning);\n }\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.bays = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n bays: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const baysArray = this.form\n .get(\"baysForm\")\n .get(\"bays\");\n baysArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const bay = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n bayNumber: item.get(\"bayNumber\").value,\n baySize: item.get(\"baySize\").value,\n shape: geometryJSON,\n updateGeometry: false,\n wkid: 102100\n };\n application.bays.push(bay);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n const tradeGoodsFormArray = this.form.get(\"detailsForm\").get(\"tradeGoods\");\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n application.previousReferenceNumber = this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value;\n application.tradeGoods = [];\n }\n else {\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value,\n tradingGoods: this.form.get(\"detailsForm\").get(\"tradingGoods\").value,\n tradingGoodsDescription: this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").value,\n previousReferenceNumber: this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value,\n tradeGoods: []\n };\n }\n tradeGoodsFormArray.controls.forEach((tradeGoodsControl) => {\n const tradeGoods = {\n id: tradeGoodsControl.get(\"id\") != null ? tradeGoodsControl.get(\"id\").value : 0,\n tradeGoods: tradeGoodsControl.get(\"tradeGoods\").value,\n description: tradeGoodsControl.get(\"tradingGoodsDescription\").value,\n };\n application.tradeGoods.push(tradeGoods);\n });\n return application;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n tradingGoods: \"\",\n tradingGoodsDescription: \"\",\n previousReferenceNumber: \"\",\n traders: [],\n tradeGoods: [],\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n bays: [],\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null),\n tradeGoods: new FormArray([\n new FormGroup({\n tradeGoods: new FormControl(null, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: null, disabled: true })\n })\n ], [minLengthArray(1), Validators.required]),\n previousApplicationValidated: new FormControl(false),\n previousReferenceNumber: new FormControl(null),\n referenceNumber: new FormControl(null),\n }),\n tradersForm: new FormGroup({\n traders: new FormControl({ recipients: [] }, Validators.required),\n }),\n baysForm: new FormGroup({\n bays: new FormArray([], [minLengthArray(1), Validators.required]),\n }),\n });\n }\n buildStakeholderStep(stepIndex, existingApplication, missingLookupsForZones) {\n const traders = this.form.get(\"tradersForm\")?.get(\"traders\").value;\n traders.forEach((trader) => {\n RecipientUtils.removeInvalidRecipientProperties(trader);\n });\n if (existingApplication) {\n existingApplication.traders = traders;\n existingApplication.eLodgementStep = stepIndex;\n }\n return existingApplication;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: MapService },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nItamsStrategyService = ItamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ItamsStrategyService);\nexport { ItamsStrategyService };\n","var PlamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiPropertyAndLeaseConstants } from \"../../constants/api-constants/api-property-and-lease.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { CreateApplicationDetailsPlamsComponent } from \"../../../create-application/modules/pl/create-application-details-plams/create-application-details-plams.component\";\nimport { CreateApplicationLocationPlamsComponent } from \"../../../create-application/modules/pl/create-application-location-plams/create-application-location-plams.component\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { MapService } from \"../../../map/shared/map.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ViewApplicationDetailsPlamsComponent } from \"../../../view-application/modules/pl/view-application-details-plams/view-application-details-plams.component\";\nimport { ViewApplicationLocationPlamsComponent } from \"../../../view-application/modules/pl/view-application-location-plams/view-application-location-plams.component\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"LeaseStartDate\"] = \"Lease Start Date\";\n ApplicationHeadingEnum[\"LeaseEndDate\"] = \"Lease End Date\";\n ApplicationHeadingEnum[\"LeaseApplicationStatus\"] = \"Lease Application Status\";\n ApplicationHeadingEnum[\"LeaseType\"] = \"Lease Type\";\n ApplicationHeadingEnum[\"DateOfDeedTransfer\"] = \"Date of Deed Transfer\";\n ApplicationHeadingEnum[\"SaleAmount\"] = \"Sale Amount\";\n ApplicationHeadingEnum[\"EvaluationAmount\"] = \"Evaluation Amount\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.ApplicationType, \"applicationType\"],\n [ApplicationHeadingEnum.LeaseStartDate, \"leaseStartDate\"],\n [ApplicationHeadingEnum.LeaseEndDate, \"leaseEndDate\"],\n [ApplicationHeadingEnum.LeaseApplicationStatus, \"leaseApplicationStatus\"],\n [ApplicationHeadingEnum.LeaseType, \"leaseType\"],\n [ApplicationHeadingEnum.DateOfDeedTransfer, \"dateOfDeedTransfer\"],\n [ApplicationHeadingEnum.SaleAmount, \"saleAmount\"],\n [ApplicationHeadingEnum.EvaluationAmount, \"evaluationAmount\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Phase\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationSummaryColumnsEnum.ApplicationType, \"applicationType\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const PExpandListForApplicationPartial = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_PL;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Property\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet PlamsStrategyService = class PlamsStrategyService extends AflaModuleStrategyService {\n static { PlamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n mapServices;\n router;\n route;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.PropertyAndLease;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiPropertyAndLeaseConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = PExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n buildExpand;\n statusColumn = \"status/ workflowSection\";\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, mapServices, // private recipientSelectService: RecipientSelectService,\n router, route) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.mapServices = mapServices;\n this.router = router;\n this.route = route;\n this.initForm();\n this.applicationEndpoint = `${ApiPropertyAndLeaseConstants.URL}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n // the format for a column filter on an child table is:\n // EQUALS ==> applicantAgent/any(m:m/name eq 'xxxx')\n // CONTAINS with tolower ==> applicantAgent/any(b:contains(tolower(b/name),'xxxx'))\n static buildColumnFilter(text, filter) {\n const column = filter ? filter : ApplicationSearchConstants.DEFAULT_SEARCH;\n return `contains(cast(${column.trim()},'Edm.String'),'${text.trim()}')`;\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, PExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = PlamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n // TODO: FIX THIS -> PL fields\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: PlamsStrategyService_1.getRecipientName(PlamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: PlamsStrategyService_1.getRecipientName(PlamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate),\n // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n applicationType: application.applicationType,\n leaseStartDate: application.leaseStartDate,\n leaseEndDate: application.leaseEndDate,\n leaseApplicationStatus: application.leaseApplicationStatus,\n leaseType: application.leaseType,\n dateOfDeedTransfer: application.dateOfDeedTransfer,\n saleAmount: application.saleAmount,\n evaluationAmount: application.evaluationAmount,\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [\n ViewApplicationMenuHeadings.Details,\n ViewApplicationDetailsPlamsComponent,\n ],\n [ViewApplicationMenuHeadings.Location,\n ViewApplicationLocationPlamsComponent,\n ],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [\n CreateApplicationMenuHeadings.Details,\n CreateApplicationDetailsPlamsComponent,\n ],\n [\n CreateApplicationMenuHeadings.Location,\n CreateApplicationLocationPlamsComponent,\n ]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = PlamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, PlamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n // TODO\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application)\n .subscribe((savedApplication) => {\n this.appController.showMessage(PlamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")\n ]);\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create property and lease application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n if (application.hasOwnProperty(\"applicationTypes\")) {\n delete application[\"applicationTypes\"];\n }\n const applicationId = application.id > 0 ? application.id : 0;\n // application.canMoveToNextStepAfterSave = continueAfterSave;\n // the user must have chosen an application type before a partial save can be done\n if (applicationId === 0 && step.stepTitle === CreateApplicationMenuHeadings.Location && !application.applicationType) {\n this.appController.showMessage(\"An application type is required\", AlertType.Warning);\n this.setIsFormValidSubject(false);\n this.form.get(\"propertiesForm\").markAllAsTouched();\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n return;\n }\n this.savedApplication = undefined;\n const applicationRequestDto = {\n plApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $select: \"properties\",\n $expand: \"properties($expand=owners($expand=groups)),leaseAreas\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n const leaseAreas = response.value[0]?.leaseAreas;\n savedApplication.properties = properties;\n savedApplication.leaseAreas = leaseAreas;\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(`Application ${savedApplication.referenceNumber} ${step.stepTitle} saved successfully`, AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.plApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(`Application ${savedApplication.referenceNumber} ${step.stepTitle} saved successfully`, AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${applicationId}/${ApiPropertyAndLeaseConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"leaseType\").reset();\n this.form.get(\"detailsForm\").get(\"lesseeType\").reset();\n this.form.get(\"detailsForm\").get(\"leaseReason\").reset();\n this.form.get(\"detailsForm\").get(\"saleAmountAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"dateOfDeedTransferAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"evaluationAmountAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"lesseeRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n // TODO: Define and Correct these forms\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiPropertyAndLeaseConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n // TODO: Correct these return values\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_PL_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiPropertyAndLeaseConstants.URL}/${jobId}/GetPlApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n // this.tableHeadingsIsChangedObservable = this.tableHeadingsIsChanged.asObservable()\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n // applicantAgentRecipient: new FormControl(null, [Validators.required]),\n // copyApplicantDetails: new FormControl(null),\n // markApplicantAgentAsNotApplicable: new FormControl(null)\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null)\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n referenceNumber: new FormControl(null),\n description: new FormControl(null, [Validators.required]),\n applicationType: new FormControl(null, [Validators.required]),\n leaseType: new FormControl(null, [Validators.required]),\n leaseReason: new FormControl(null, [Validators.required]),\n lesseeType: new FormControl(null, [Validators.required]),\n lesseeRecipient: new FormControl(null, [Validators.required]),\n leaseUse: new FormControl(null, [Validators.required]),\n leaseRentalAgreementAmount: new FormControl(null, [Validators.required]),\n leaseStartDate: new FormControl(null, [Validators.required]),\n leaseEndDate: new FormControl(null, [Validators.required]),\n saleAmount: new FormControl(null, [Validators.required]),\n dateOfDeedTransfer: new FormControl(null, [Validators.required]),\n evaluationAmount: new FormControl(null, [Validators.required]),\n buyerRecipient: new FormControl(null, [Validators.required]),\n leaseContractNumber: new FormControl(null),\n leaseAccountNumber: new FormControl(null),\n leaseContractEscalation: new FormControl(null),\n leasePeriod: new FormControl(null),\n leaseNoticePeriod: new FormControl(null),\n sellerRecipient: new FormControl(null, [Validators.required]),\n saleAmountAlienation: new FormControl(null, [Validators.required]),\n dateOfDeedTransferAlienation: new FormControl(null, [Validators.required]),\n evaluationAmountAlienation: new FormControl(null, [Validators.required]),\n transferringAttorneyRecipient: new FormControl(null),\n }), propertiesForm: new FormGroup({\n applicationType: new FormControl(null, [Validators.required]),\n properties: new FormArray([]),\n leaseArea: new FormControl(null),\n leaseAreaId: new FormControl(null)\n })\n });\n }\n getEntityColumn(searchColumn) {\n return SharedConstants.SEARCH_BY_DEFAULT;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n applicationType: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n application.applicationType = this.form.get(\"propertiesForm\").get(\"applicationType\").value?.value;\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n zoning: item.get(\"zoning\").value,\n streetNumber: item.get(\"streetNumber\").value,\n streetName: item.get(\"streetName\").value,\n town: item.get(\"town\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n if (item.get(\"property\") && item.get(\"property\").value.id > 0) {\n property.id = +item.get(\"property\").value.id;\n property.applicationId = application.appId;\n property.jobId = application.jobId;\n }\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n // only save the lease area if the application has not been saved previously\n if (application.applicationType === \"Lease\") {\n const geomLease = this.form.get(\"propertiesForm\").get(\"leaseArea\").value;\n if (geomLease === null) {\n return null;\n }\n const leaseAreaGeometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geomLease);\n const leaseArea = {\n wkid: 102100,\n shape: leaseAreaGeometryJSON\n };\n if (existingApplication) {\n leaseArea.id = this.form.get(\"propertiesForm\").get(\"leaseAreaId\").value;\n leaseArea.applicationId = existingApplication.id;\n }\n application.leaseAreas = [leaseArea];\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else {\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n shape: \"\"\n };\n }\n application.applicationType = this.form.get(\"detailsForm\").get(\"applicationType\").value?.value;\n if (application.applicationType === \"Lease\") {\n application.leaseReason = this.form.get(\"detailsForm\").get(\"leaseReason\").value;\n application.leaseUse = this.form.get(\"detailsForm\").get(\"leaseUse\").value;\n application.leaseRentalAgreementAmount = this.form.get(\"detailsForm\").get(\"leaseRentalAgreementAmount\").value;\n application.leaseStartDate = this.form.get(\"detailsForm\").get(\"leaseStartDate\").value;\n application.leaseEndDate = this.form.get(\"detailsForm\").get(\"leaseEndDate\").value;\n application.leaseType = this.form.get(\"detailsForm\").get(\"leaseType\").value?.value;\n application.leaseLesseeType = this.form.get(\"detailsForm\").get(\"lesseeType\").value?.value;\n let lessees = this.form.get(\"detailsForm\").get(\"lesseeRecipient\").value;\n if (lessees && lessees.length > 0) {\n lessees = lessees.map((lessee) => {\n lessee = RecipientUtils.removeInvalidRecipientProperties(lessee);\n lessee.id = 0;\n return lessee;\n });\n }\n else {\n lessees = [];\n }\n application.lessees = lessees;\n }\n if (application.applicationType === \"Acquisition\") {\n application.saleAmount = Number(this.form.get(\"detailsForm\").get(\"saleAmount\").value);\n application.dateOfDeedTransfer = this.form.get(\"detailsForm\").get(\"dateOfDeedTransfer\").value;\n application.evaluationAmount = Number(this.form.get(\"detailsForm\").get(\"evaluationAmount\").value);\n let sellers = this.form.get(\"detailsForm\").get(\"sellerRecipient\").value;\n if (sellers && sellers.length > 0) {\n sellers = sellers.map((seller) => {\n seller = RecipientUtils.removeInvalidRecipientProperties(seller);\n seller.id = 0;\n return seller;\n });\n }\n else {\n sellers = [];\n }\n application.sellers = sellers;\n }\n if (application.applicationType === \"Alienation\") {\n application.saleAmount = Number(this.form.get(\"detailsForm\").get(\"saleAmountAlienation\").value);\n application.dateOfDeedTransfer = this.form.get(\"detailsForm\").get(\"dateOfDeedTransferAlienation\").value;\n application.evaluationAmount = Number(this.form.get(\"detailsForm\").get(\"evaluationAmountAlienation\").value);\n let buyers = this.form.get(\"detailsForm\").get(\"buyerRecipient\").value;\n if (buyers && buyers.length > 0) {\n buyers = buyers.map((buyer) => {\n buyer = RecipientUtils.removeInvalidRecipientProperties(buyer);\n buyer.id = 0;\n return buyer;\n });\n }\n else {\n buyers = [];\n }\n application.buyers = buyers;\n }\n const properties = this.cleanPropertyOwners(application);\n if (properties.length > 0) {\n application.properties = properties;\n }\n return application;\n }\n cleanPropertyOwners(application) {\n const properties = [];\n if (application.hasOwnProperty(\"properties\") && application.properties) {\n application.properties.forEach(prop => {\n if (prop.hasOwnProperty(\"owners\") && prop.owners) {\n const owners = [];\n prop.owners.forEach(owner => {\n owners.push(RecipientUtils.removeInvalidRecipientProperties(owner));\n });\n }\n properties.push(prop);\n });\n }\n return properties;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicationType: this.form.get(\"detailsForm\").get(\"applicationType\").value.value,\n shape: \"\",\n wkid: 102100,\n applicant: applicant ? [applicant] : [],\n applicantAgent: [],\n notes: [],\n leaseAreas: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = applicant ? [applicant] : [];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: applicant ? [applicant] : [],\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n shape: \"\"\n };\n const properties = this.cleanPropertyOwners(application);\n if (properties.length > 0) {\n application.properties = properties;\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n application.applicantAgentNa = applicantAgentIsNullValue;\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicantAgent: applicantAgent ? [applicantAgent] : [],\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n shape: \"\"\n };\n const properties = this.cleanPropertyOwners(application);\n if (properties.length > 0) {\n application.properties = properties;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true,\n shape: \"\"\n };\n const properties = this.cleanPropertyOwners(application);\n if (properties.length > 0) {\n application.properties = properties;\n }\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: MapService },\n { type: Router },\n { type: ActivatedRoute }\n ];\n};\nPlamsStrategyService = PlamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], PlamsStrategyService);\nexport { PlamsStrategyService };\n","var RcStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiRatesCertificateConstants } from \"../../constants/api-constants/api-rates-certificate.constants\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ViewApplicationDetailsRcComponent } from \"../../../view-application/modules/rc/view-application-details-rc/view-application-details-rc.component\";\nimport { ViewApplicationLocationRcComponent } from \"../../../view-application/modules/rc/view-application-location-rc/view-application-location-rc.component\";\nimport { CreateApplicationDetailsRcComponent } from \"../../../create-application/modules/rc/create-application-details-rc/create-application-details-rc.component\";\nimport { CreateApplicationLocationRcComponent } from \"../../../create-application/modules/rc/create-application-location-rc/create-application-location-rc.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { map } from \"rxjs/operators\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { ViewApplicationPeopleOfInterestComponent } from \"../../../view-application/view-application-people-of-interest/view-application-people-of-interest.component\";\nimport { CreateApplicationPeopleOfInterestComponent } from \"../../../create-application/create-application-people-of-interest/create-application-people-of-interest.component\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const RCExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_RC;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationRcMenuHeadings;\n(function (CreateApplicationRcMenuHeadings) {\n CreateApplicationRcMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationRcMenuHeadings[\"Location\"] = \"Property details\";\n CreateApplicationRcMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationRcMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationRcMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationRcMenuHeadings[\"PeopleOfInterest\"] = \"People of interest\";\n CreateApplicationRcMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationRcMenuHeadings || (CreateApplicationRcMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"PeopleOfInterest\"] = \"People of interest help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationRcMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationRcMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationRcMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationRcMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationRcMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationRcMenuHeadings.PeopleOfInterest, HeaderConfigurableTextTypes.PeopleOfInterest)\n .set(CreateApplicationRcMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationRcMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"PeopleOfInterest\"] = \"People of interest\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.PeopleOfInterest, HeaderConfigurableTextTypes.PeopleOfInterest)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet RcStrategyService = class RcStrategyService extends AflaModuleStrategyService {\n static { RcStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.RatesCertificate;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiRatesCertificateConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = RCExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiRatesCertificateConstants.URL}/${ApiRatesCertificateConstants.FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationRcMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, RCExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = RcStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_RC_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsRcComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationRcComponent],\n [ViewApplicationMenuHeadings.PeopleOfInterest, ViewApplicationPeopleOfInterestComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationRcMenuHeadings.Details, CreateApplicationDetailsRcComponent],\n [CreateApplicationRcMenuHeadings.Location, CreateApplicationLocationRcComponent],\n [CreateApplicationRcMenuHeadings.PeopleOfInterest, CreateApplicationPeopleOfInterestComponent]\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationRcMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationRcMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = RcStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, RcStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(RcStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiRatesCertificateConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: RcStrategyService_1.getRecipientName(RcStrategyService_1.getFirstRecipient(application.applicant)),\n agent: RcStrategyService_1.getRecipientName(RcStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiRatesCertificateConstants.URL}/${applicationId}/${ApiRatesCertificateConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildRcDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n application = this.buildPeopleOfInterestStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n rcApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"applicant,applicantAgent,transferor,transferee,conveyancer,properties($expand=managingAgent($expand=groups)),attachments\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(RcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.rcApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(RcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n formName = \"peopleOfInterestForm\";\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n this.form.get(\"detailsForm\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n this.form.get(\"peopleOfInterestForm\").get(\"transferor\").reset();\n this.form.get(\"peopleOfInterestForm\").get(\"transferee\").reset();\n this.form.get(\"peopleOfInterestForm\").get(\"conveyancer\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiRatesCertificateConstants.URL}/${jobId}/GetRcApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n applicationType: new FormControl(null, Validators.required),\n reasonForApplication: new FormControl(null, Validators.required),\n typeOfTransfer: new FormControl(null, Validators.required),\n propertyType: new FormControl(null, Validators.required),\n ratesAccountNumber: new FormControl(null, Validators.required),\n electronicReference: new FormControl(null, Validators.required),\n attorneyReference: new FormControl(null, Validators.required),\n councilReference: new FormControl(null, Validators.required),\n referenceNumber: new FormControl(null)\n }),\n peopleOfInterestForm: new FormGroup({\n transferor: new FormControl(null, [Validators.required]),\n transferee: new FormControl(null, [Validators.required]),\n conveyancer: new FormControl(null, [Validators.required]),\n copyApplicantToTransferee: new FormControl(false)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n }\n buildRcDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = this.form.get(\"detailsForm\").get(\"applicationType\").value;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.reasonForApplication = this.form.get(\"detailsForm\").get(\"reasonForApplication\").value;\n application.typeOfTransfer = this.form.get(\"detailsForm\").get(\"typeOfTransfer\").value;\n application.propertyType = this.form.get(\"detailsForm\").get(\"propertyType\").value;\n application.ratesAccountNumber = this.form.get(\"detailsForm\").get(\"ratesAccountNumber\").value;\n application.electronicReference = this.form.get(\"detailsForm\").get(\"electronicReference\").value;\n application.attorneyReference = this.form.get(\"detailsForm\").get(\"attorneyReference\").value;\n application.councilReference = this.form.get(\"detailsForm\").get(\"councilReference\").value;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: this.form.get(\"detailsForm\").get(\"applicationType\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n reasonForApplication: this.form.get(\"detailsForm\").get(\"reasonForApplication\").value,\n typeOfTransfer: this.form.get(\"detailsForm\").get(\"typeOfTransfer\").value,\n propertyType: this.form.get(\"detailsForm\").get(\"propertyType\").value,\n ratesAccountNumber: this.form.get(\"detailsForm\").get(\"ratesAccountNumber\").value,\n electronicReference: this.form.get(\"detailsForm\").get(\"electronicReference\").value,\n attorneyReference: this.form.get(\"detailsForm\").get(\"attorneyReference\").value,\n councilReference: this.form.get(\"detailsForm\").get(\"councilReference\").value,\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n const item = propertiesArray.controls[0];\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const managingAgent = item.get(\"managingAgent\").value;\n RecipientUtils.removeInvalidRecipientProperties(managingAgent);\n const extentStringValue = item.get(\"extent\").value;\n const purchasePriceStringValue = item.get(\"purchasePrice\").value;\n const extentDecimalValue = parseFloat(extentStringValue);\n const purchasePriceDecimalValue = parseFloat(purchasePriceStringValue);\n const property = {\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeedNumber: item.get(\"titleDeedNumber\").value,\n zoning: item.get(\"zoning\").value,\n sectionalTitleSchemeName: item.get(\"sectionalTitleSchemeName\").value,\n sectionalTitleSchemeNumber: item.get(\"sectionalTitleSchemeNumber\").value,\n sectionalTitleSchemeUnit: item.get(\"sectionalTitleSchemeUnit\").value,\n extent: extentDecimalValue,\n purchasePrice: purchasePriceDecimalValue,\n dateOfSale: item.get(\"dateOfSale\").value,\n electricityAccountNumber: item.get(\"electricityAccountNumber\").value,\n waterAccountNumber: item.get(\"waterAccountNumber\").value,\n refuseAccountNumber: item.get(\"refuseAccountNumber\").value,\n updateGeometry: false,\n wkid: 102100,\n managingAgent: [managingAgent]\n };\n application.properties = [property];\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n buildPeopleOfInterestStep(stepIndex, existingApplication) {\n let transferee;\n const transfereeFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"transferee\").value;\n transferee = RecipientUtils.removeInvalidRecipientProperties(transfereeFormControlValue);\n let transferor;\n const transferorFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"transferor\").value;\n transferor = RecipientUtils.removeInvalidRecipientProperties(transferorFormControlValue);\n let conveyancer;\n const conveyancerFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"conveyancer\").value;\n conveyancer = RecipientUtils.removeInvalidRecipientProperties(conveyancerFormControlValue);\n let application;\n application = existingApplication;\n application.transferee = [transferee];\n application.transferor = [transferor];\n application.conveyancer = [conveyancer];\n application.eLodgementStep = stepIndex;\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRcStrategyService = RcStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], RcStrategyService);\nexport { RcStrategyService };\n","var SnStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { ViewApplicationDetailsSnComponent } from \"../../../view-application/modules/sn/view-application-details-sn/view-application-details-sn.component\";\nimport { ViewApplicationLocationSnComponent } from \"../../../view-application/modules/sn/view-application-location-sn/view-application-location-sn.component\";\nimport { CreateApplicationDetailsSnComponent } from \"../../../create-application/modules/sn/create-application-details-sn/create-application-details-sn.component\";\nimport { CreateApplicationLocationSnComponent } from \"../../../create-application/modules/sn/create-application-location-sn/create-application-location-sn.component\";\nimport { ApiStreetNamingConstants } from \"../../constants/api-constants/api-street-naming.constants\";\nimport { CreateApplicationLocationSnConstants } from \"../../../create-application/modules/sn/create-application-location-sn/create-application-location-sn.constant\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n [ApplicationHeadingEnum.ApplicationType, \"type\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"]\n]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const SNExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_SN;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Location details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet SnStrategyService = class SnStrategyService extends AflaModuleStrategyService {\n static { SnStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.StreetNaming;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiStreetNamingConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = SNExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiStreetNamingConstants.URL}/${ApiStreetNamingConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, SNExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = SnStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: SnStrategyService_1.getRecipientName(SnStrategyService_1.getFirstRecipient(application.applicant)),\n agent: SnStrategyService_1.getRecipientName(SnStrategyService_1.getFirstRecipient(application.applicantAgent)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId) {\n userName = `${user.lastName}, ${user.firstName}`;\n }\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsSnComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationSnComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsSnComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationSnComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = SnStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, SnStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (savedApplication) => {\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"create informal trade application\", error, CRUDOperation.Add);\n }\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n snApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest location\n const params = {\n $select: \"location,line,polygon\",\n $expand: \"location($expand=alternativeNames),line,polygon\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n savedApplication.location = response.value[0]?.location;\n savedApplication.line = response.value[0]?.line;\n savedApplication.polygon = response.value[0]?.polygon;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX THE ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.snApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiStreetNamingConstants.URL}/${applicationId}/${ApiStreetNamingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n response.eLodgementStep = response.elodgementStep;\n response.eLodgementComplete = response.elodgementComplete;\n delete response.elodgementStep;\n delete response.elodgementComplete;\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"locationForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"locationForm\").get(\"features\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiStreetNamingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, location, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiStreetNamingConstants.URL}/${jobId}/${ApiStreetNamingConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"locationForm\") && this.form.get(\"locationForm\").get(\"features\")) {\n const featuresArray = this.form.get(\"locationForm\").get(\"features\");\n if (featuresArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationSnConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationSnConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"locationForm\").get(\"features\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n const locationArray = this.form.get(\"locationForm\").get(\"features\");\n const streetOrFeatureValue = locationArray.controls[0].get(\"streetOrFeature\").value;\n if (existingApplication) {\n application = existingApplication;\n application.location = existingApplication.location;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else {\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n location: null,\n shape: \"\",\n wkid: 102100\n };\n }\n this.setLocationDetails(application, locationArray);\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.setApplicationPolygon(application, locationArray);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.setApplicationLine(application, locationArray);\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value\n };\n return application;\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n wkid: 102100,\n moduleId: Number(this.appControllerService.selectedModuleID),\n decision: \"\"\n };\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n referenceNumber: new FormControl(null)\n }),\n locationForm: new FormGroup({\n features: new FormArray([], [minLengthArray(1), Validators.required])\n }),\n });\n }\n setLocationDetails(application, locationArray) {\n locationArray.controls.forEach((selectedLocationItem) => {\n const location = {\n id: 0,\n streetOrFeature: selectedLocationItem.get(\"streetOrFeature\").value,\n publicOrPrivate: selectedLocationItem.get(\"publicOrPrivate\").value,\n areaEstateName: selectedLocationItem.get(\"areaEstateName\").value,\n isNewDevelopment: selectedLocationItem.get(\"isNewDevelopment\").value,\n haveExistingName: selectedLocationItem.get(\"haveExistingName\").value,\n currentName: selectedLocationItem.get(\"currentName\").value,\n locationDescription: selectedLocationItem.get(\"locationDescription\").value,\n ward: selectedLocationItem.get(\"ward\").value,\n proposedName: selectedLocationItem.get(\"proposedName\").value,\n proposedNameLanguage: selectedLocationItem.get(\"proposedNameLanguage\").value,\n proposedNameMeaning: selectedLocationItem.get(\"proposedNameMeaning\").value,\n proposedNameOrigin: selectedLocationItem.get(\"proposedNameOrigin\").value,\n featureType: selectedLocationItem.get(\"featureType\").value,\n reasonForChange: selectedLocationItem.get(\"reasonForChange\").value,\n alternativeNames: selectedLocationItem.get(\"alternativeNames\").value,\n deleted: false,\n };\n application.location = location;\n });\n }\n setApplicationPolygon(application, locationArray) {\n const points = [];\n locationArray.controls.forEach((selectedLocationItem) => {\n const centroid = selectedLocationItem.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const polygonShape = `Point ${points.join(\", \")}`;\n const selectedLocationFormGroup = locationArray.controls[0];\n const geometry = selectedLocationFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.polygon = {\n id: 0,\n deleted: false,\n shape: geometryJSON,\n wkid: 102100,\n };\n application.shape = polygonShape;\n }\n setApplicationLine(application, locationArray) {\n const points = [];\n locationArray.controls.forEach((selectedLocationItem) => {\n const centroid = selectedLocationItem.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const lineShape = `Point ${points.join(\", \")}`;\n const selectedLocationFormGroup = locationArray.controls[0];\n const geometry = selectedLocationFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.line = {\n id: 0,\n deleted: false,\n shape: geometryJSON,\n wkid: 102100,\n };\n application.shape = lineShape;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nSnStrategyService = SnStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], SnStrategyService);\nexport { SnStrategyService };\n","var TmamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { Router } from \"@angular/router\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApiTrainingConstants } from \"../../constants/api-constants/api-training.constants\";\nimport { ViewApplicationDetailsTmamsComponent } from \"../../../view-application/modules/tm/view-application-details-tmams/view-application-details-tmams.component\";\nimport { ViewApplicationLocationTmamsComponent } from \"../../../view-application/modules/tm/view-application-location-tmams/view-application-location-tmams.component\";\nimport { CreateApplicationDetailsTmamsComponent } from \"../../../create-application/modules/tm/create-application-details-tmams/create-application-details-tmams.component\";\nimport { CreateApplicationLocationTmamsComponent } from \"../../../create-application/modules/tm/create-application-location-tmams/create-application-location-tmams.component\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n // [ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n // [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"],\n // [ApplicationHeadingEnum.ApplicationType, \"applicationType\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const DMExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_TM;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationTrainingMenuHeadings;\n(function (CreateApplicationTrainingMenuHeadings) {\n CreateApplicationTrainingMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationTrainingMenuHeadings[\"Location\"] = \"Properties\";\n CreateApplicationTrainingMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationTrainingMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationTrainingMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationTrainingMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationTrainingMenuHeadings || (CreateApplicationTrainingMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Application\"] = \"Training application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationTrainingMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationTrainingMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationTrainingMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationTrainingMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationTrainingMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationTrainingMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Properties\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet TmamsStrategyService = class TmamsStrategyService extends AflaModuleStrategyService {\n static { TmamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n name = ModuleConfig.TrainingModule;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiTrainingConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = DMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiTrainingConstants.URL}/${ApiTrainingConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationTrainingMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, DMExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = TmamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TM_APPLICATION_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsTmamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationTmamsComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationTrainingMenuHeadings.Details, CreateApplicationDetailsTmamsComponent],\n [CreateApplicationTrainingMenuHeadings.Location, CreateApplicationLocationTmamsComponent],\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationTrainingMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationTrainingMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = TmamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, TmamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiTrainingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: TmamsStrategyService_1.getRecipientName(TmamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: TmamsStrategyService_1.getRecipientName(TmamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiTrainingConstants.URL}/${applicationId}/${ApiTrainingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationTrainingMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildTrainingDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationTrainingMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationTrainingMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationTrainingMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationTrainingMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n tmApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"applicant,applicantAgent,properties($expand=owners), attachments\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.tmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationTrainingMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationTrainingMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"type\").reset();\n this.form.get(\"detailsForm\").get(\"description\").reset();\n break;\n case CreateApplicationTrainingMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationTrainingMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationTrainingMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationTrainingMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiTrainingConstants.URL}/${jobId}/GetTmApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n return true;\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required])\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n return application;\n }\n buildTrainingDetailsStep(stepIndex, existingApplication) {\n const TrainingDetailsForm = this.form.get(\"detailsForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = TrainingDetailsForm.type;\n application.description = TrainingDetailsForm.description;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: TrainingDetailsForm.type,\n description: TrainingDetailsForm.description\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners,\n };\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router }\n ];\n};\nTmamsStrategyService = TmamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], TmamsStrategyService);\nexport { TmamsStrategyService };\n","var TpamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiTownPlanningConstants } from \"../../constants/api-constants/api-town-planning.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { CreateApplicationDetailsTpamsComponent } from \"../../../create-application/modules/tp/create-application-details-tpams/create-application-details-tpams.component\";\nimport { CreateApplicationLocationTpamsComponent } from \"../../../create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.component\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ViewApplicationDetailsTpamsComponent } from \"../../../view-application/modules/tp/view-application-details-tpams/view-application-details-tpams.component\";\nimport { ViewApplicationLocationTpamsComponent } from \"../../../view-application/modules/tp/view-application-location-tpams/view-application-location-tpams.component\";\nimport { CreateApplicationLocationTpamsConstants } from \"../../../create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.Agent, \"agent\"], [ApplicationHeadingEnum.ErfNumber, \"erfNumbers\"], [ApplicationHeadingEnum.ApplicationType, \"applicationType\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.Agent, \"agent\"], [ApplicationSummaryColumnsEnum.ErfNumber, \"erfNumbers\"], [ApplicationSummaryColumnsEnum.ApplicationType, \"applicationType\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],]);\nexport const TPExpandListForApplicationPartial = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_TP;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Property\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet TpamsStrategyService = class TpamsStrategyService extends AflaModuleStrategyService {\n static { TpamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.TownPlanning;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiTownPlanningConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = TPExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiTownPlanningConstants.URL}/${ApiTownPlanningConstants.FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, TPExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = TpamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: TpamsStrategyService_1.getRecipientName(TpamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: TpamsStrategyService_1.getRecipientName(TpamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n applicationType: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.applicationTypes, \"applicationType\"),\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([[ViewApplicationMenuHeadings.Details, ViewApplicationDetailsTpamsComponent,], [ViewApplicationMenuHeadings.Location, ViewApplicationLocationTpamsComponent,]]);\n }\n // TODO: setup correct component for each step\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([[CreateApplicationMenuHeadings.Details, CreateApplicationDetailsTpamsComponent,], [CreateApplicationMenuHeadings.Location, CreateApplicationLocationTpamsComponent,]]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = TpamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, TpamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create town planning application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n tpApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $select: \"properties\",\n $expand: \"properties($expand=owners($expand=groups),zonings)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.tpApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiTownPlanningConstants.URL}/${applicationId}/${ApiTownPlanningConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").clear();\n this.form.get(\"detailsForm\").get(\"zones\").clear();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").push(new FormGroup({\n type: new FormControl(null, [Validators.required]),\n }));\n this.form.get(\"detailsForm\").get(\"zones\").push(new FormGroup({\n zone: new FormControl(null, [Validators.required]),\n }));\n }\n postApplicationService(params) {\n return this.http.post(ApiTownPlanningConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiTownPlanningConstants.URL}/${jobId}/GetTpApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").reset();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").reset();\n this.form.get(\"detailsForm\").get(\"zones\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n buildingFloorArea: (parseFloat(item.get(\"buildingFloorArea\").value)),\n buildingUse: item.get(\"buildingUse\").value,\n erfNumber: item.get(\"erfNo\").value,\n erfSize: parseFloat(item.get(\"erfSize\").value),\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeed: item.get(\"titleDeed\").value,\n updateGeometry: false,\n wkid: 102100,\n zonings: [],\n owners,\n };\n const propertyZonesArray = item.get(\"zones\");\n propertyZonesArray?.controls.forEach((zoneItem) => {\n const zone = {\n deleted: false,\n zoning: zoneItem?.get(\"zone\")?.value?.value,\n };\n property.zonings.push(zone);\n });\n // ensure that the existing zones that are not in a lookup (or form) are kept\n if (missingLookupsForZones) {\n missingLookupsForZones.forEach((missingZone) => {\n const zone = {\n deleted: false, zoning: missingZone,\n };\n property.zonings.push(zone);\n });\n }\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicationTypes = [];\n application.applicationZonings = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.amendmentSchemeNumber = this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n amendmentSchemeNumber: this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicationTypes: [],\n applicationZonings: []\n };\n const typesArray = this.form\n .get(\"detailsForm\")\n .get(\"applicationTypes\");\n typesArray?.controls.forEach((item) => {\n if (item && item.get(\"type\").value) {\n const applicationType = {\n applicationId: application.id, applicationType: item.get(\"type\").value.value, jobId: application.jobId\n };\n application.applicationTypes.push(applicationType);\n }\n });\n const zonesArray = this.form.get(\"detailsForm\").get(\"zones\");\n zonesArray?.controls.forEach((item) => {\n if (item && item.get(\"zone\").value) {\n const zone = {\n applicationId: application.id, deleted: false, zoning: item.get(\"zone\").value.value, jobId: application.jobId\n };\n application.applicationZonings.push(zone);\n }\n });\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }), applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }), documentForm: new FormGroup({\n documents: new FormArray([]),\n }), detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n amendmentSchemeNumber: new FormControl(null),\n referenceNumber: new FormControl(null),\n applicationTypes: new FormArray([new FormGroup({\n type: new FormControl(null, [Validators.required]),\n }),], [Validators.min(1)]),\n zones: new FormArray([new FormGroup({\n zone: new FormControl(null, [Validators.required]),\n }),], [Validators.min(1)]),\n }), propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n decision: \"\",\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n amendmentSchemeNumber: this.form\n .get(\"detailsForm\")\n .get(\"amendmentSchemeNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n applicationTypes: [],\n applicationZonings: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nTpamsStrategyService = TpamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], TpamsStrategyService);\nexport { TpamsStrategyService };\n","var WamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiWayleaveConstants } from \"../../constants/api-constants/api-wayleave.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { CreateApplicationDetailsWamsComponent } from \"../../../create-application/modules/w/create-application-details-wams/create-application-details-wams.component\";\nimport { CreateApplicationLocationWamsComponent } from \"../../../create-application/modules/w/create-application-location-wams/create-application-location-wams.component\";\nimport { CreateApplicationProfessionalBodiesWamsComponent } from \"../../../create-application/modules/w/create-application-professional-bodies-wams/create-application-professional-bodies-wams.component\";\nimport { ViewApplicationDetailsWamsComponent } from \"../../../view-application/modules/w/view-application-details-wams/view-application-details-wams.component\";\nimport { ViewApplicationLocationWamsComponent } from \"../../../view-application/modules/w/view-application-location-wams/view-application-location-wams.component\";\nimport { ViewApplicationProfessionalBodiesWamsComponent } from \"../../../view-application/modules/w/view-application-professional-bodies-wams/view-application-professional-bodies-wams.component\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationHeadingEnum[\"clientReferenceNumber\"] = \"Client Reference Number\";\n ApplicationHeadingEnum[\"description\"] = \"Description\";\n ApplicationHeadingEnum[\"proposedStartDate\"] = \"Proposed Start Date\";\n ApplicationHeadingEnum[\"proposedEndDate\"] = \"Proposed End Date\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.Agent, \"agent\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"], [ApplicationHeadingEnum.clientReferenceNumber, \"clientReferenceNumber\"], [ApplicationHeadingEnum.description, \"description\"], [ApplicationHeadingEnum.proposedStartDate, \"proposedStartDate\"], [ApplicationHeadingEnum.proposedEndDate, \"proposedEndDate\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationSummaryColumnsEnum[\"clientReferenceNumber\"] = \"Client Reference Number\";\n ApplicationSummaryColumnsEnum[\"description\"] = \"Description\";\n ApplicationSummaryColumnsEnum[\"proposedStartDate\"] = \"Proposed Start Date\";\n ApplicationSummaryColumnsEnum[\"proposedEndDate\"] = \"Proposed End Date\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.Agent, \"agent\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"], [ApplicationSummaryColumnsEnum.clientReferenceNumber, \"clientReferenceNumber\"], [ApplicationSummaryColumnsEnum.description, \"description\"], [ApplicationSummaryColumnsEnum.proposedStartDate, \"proposedStartDate\"], [ApplicationSummaryColumnsEnum.proposedEndDate, \"proposedEndDate\"],]);\nexport const WExpandListForApplicationPartial = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_W;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Location\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"ProfessionalBodies\"] = \"Professional bodies help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet WamsStrategyService = class WamsStrategyService extends AflaModuleStrategyService {\n static { WamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n appControllerService;\n oDataQueryService;\n applicationCreateService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n route;\n viewApplicationSteps = [];\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Wayleaves;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiWayleaveConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = WExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n statusColumn = \"status/ workflowSection\";\n savedApplication;\n getApplicationsSubscription;\n createApplicationWamsSubscription;\n constructor(saShortDatePipe, applicationSearchService, appControllerService, oDataQueryService, applicationCreateService, requestStatusService, selectedApplicationService, http, appController, router, route) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.route = route;\n this.initForm();\n this.applicationEndpoint = `${ApiWayleaveConstants.URL}/${ApiWayleaveConstants.FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n // the format for a column filter on an child table is:\n // EQUALS ==> applicantAgent/any(m:m/name eq 'xxxx')\n // CONTAINS with tolower ==> applicantAgent/any(b:contains(tolower(b/name),'xxxx'))\n static buildColumnFilter(text, filter) {\n const column = filter ? filter : ApplicationSearchConstants.DEFAULT_SEARCH;\n return `contains(cast(${column.trim()},'Edm.String'),'${text.trim()}')`;\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, WExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = WamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n // TODO: FIX THIS -> WAMS fields\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: WamsStrategyService_1.getRecipientName(WamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: WamsStrategyService_1.getRecipientName(WamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n clientReferenceNumber: \"\",\n description: \"Description\",\n proposedStartDate: \"Proposed Start Date\",\n proposedEndDate: \"Proposed End Date\"\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([[CreateApplicationMenuHeadings.Details, CreateApplicationDetailsWamsComponent], [CreateApplicationMenuHeadings.Location, CreateApplicationLocationWamsComponent], [CreateApplicationMenuHeadings.ProfessionalBodies, CreateApplicationProfessionalBodiesWamsComponent]]);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([[ViewApplicationMenuHeadings.Details, ViewApplicationDetailsWamsComponent], [ViewApplicationMenuHeadings.Location, ViewApplicationLocationWamsComponent], [ViewApplicationMenuHeadings.ProfessionalBodies, ViewApplicationProfessionalBodiesWamsComponent]]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = WamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, WamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n // TODO\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.createApplicationWamsSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n // @ts-ignore\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication, missingLookupsForZones);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n application = this.buildProfessionalBodiesStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n wApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $expand: \"applicationLines,applicationPolygons\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const applicationLines = response.value[0]?.applicationLines;\n const applicationPolygons = response.value[0]?.applicationPolygons;\n savedApplication.applicationLines = applicationLines;\n savedApplication.applicationPolygons = applicationPolygons;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.wApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (continueAfterSave && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, params) {\n return this.http.post(`${ApiWayleaveConstants.URL}/${applicationId}/${ApiWayleaveConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, params)\n .pipe(map((response) => {\n return response;\n }));\n }\n // TODO: Defined and Correct these forms\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"locationForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent:\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"clientReferenceNumber\").reset();\n this.form.get(\"detailsForm\").get(\"applicantTelecommunicationLicenseNumber\").reset();\n this.form.get(\"detailsForm\").get(\"scopeOfWork\").reset();\n this.form.get(\"detailsForm\").get(\"estimatedConstructionCost\").reset();\n this.form.get(\"detailsForm\").get(\"applicationFee\").reset();\n this.form.get(\"detailsForm\").get(\"constructionPeriodInWeeks\").reset();\n this.form.get(\"detailsForm\").get(\"proposedStartDate\").reset();\n this.form.get(\"detailsForm\").get(\"proposedEndDate\").reset();\n this.form.get(\"detailsForm\").get(\"laneClosureIsRequired\").reset();\n this.form.get(\"detailsForm\").get(\"laneClosureExtent\").reset();\n this.form.get(\"detailsForm\").get(\"electricalServices\").reset();\n this.form.get(\"detailsForm\").get(\"actualStartDate\").reset();\n this.form.get(\"detailsForm\").get(\"actualEndDate\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n this.form.get(\"locationForm\").get(\"selectedGraphic\").reset();\n this.form.get(\"locationForm\").get(\"centroid\").reset();\n this.form.get(\"locationForm\").get(\"polyline\").reset();\n this.form.get(\"locationForm\").get(\"polygon\").reset();\n this.form.get(\"locationForm\").get(\"polylineDto\").reset();\n this.form.get(\"locationForm\").get(\"polygonDto\").reset();\n break;\n case CreateApplicationMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n this.form.get(\"professionalBodiesForm\").get(\"markImplementingAgentAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"implementingAgentRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markEngineerAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"responsibleContractorRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToImplementingAgent\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToEngineer\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToContractor\").reset();\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n // TODO: Define and Correct these forms\n resetForm() {\n this.form.reset();\n }\n postApplicationService(params) {\n return this.http.post(ApiWayleaveConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n // TODO: Correct these return values\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_W_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiWayleaveConstants.URL}/${jobId}/GetWApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"locationForm\") && this.form.get(\"locationForm\").get(\"centroid\").value !== null) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n locationForm: new FormGroup({\n selectedGraphic: new FormControl(null),\n centroid: new FormControl(null, [Validators.required]),\n polyline: new FormControl(null),\n polygon: new FormControl(null),\n polylineDto: new FormControl(null),\n polygonDto: new FormControl(null)\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n clientReferenceNumber: new FormControl(null, [Validators.required]),\n applicantTelecommunicationLicenseNumber: new FormControl(null),\n scopeOfWork: new FormControl(null, [Validators.required]),\n estimatedConstructionCost: new FormControl(null, [Validators.required]),\n applicationFee: new FormControl(null, [Validators.required]),\n constructionPeriodInWeeks: new FormControl(null, [Validators.required]),\n proposedStartDate: new FormControl(null, [Validators.required]),\n proposedEndDate: new FormControl(null, [Validators.required]),\n laneClosureIsRequired: new FormControl(null, [Validators.required]),\n laneClosureExtent: new FormControl(null, [Validators.required]),\n electricalServices: new FormControl(null, [Validators.required]),\n actualStartDate: new FormControl(null),\n actualEndDate: new FormControl(null)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null)\n }),\n professionalBodiesForm: new FormGroup({\n markImplementingAgentAsRequired: new FormControl(null),\n implementingAgentRecipient: new FormControl(null),\n markEngineerAsRequired: new FormControl(null),\n engineerRecipients: new FormControl(null),\n markElectricalContractorAsRequired: new FormControl(null),\n responsibleContractorRecipient: new FormControl(null),\n copyApplicantToImplementingAgent: new FormControl(null),\n copyApplicantToEngineer: new FormControl(null),\n copyApplicantToContractor: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n getEntityColumn(searchColumn) {\n return SharedConstants.SEARCH_BY_DEFAULT;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n // TODO Add details fields\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n shape: \"\",\n wkid: 102100,\n applicant: [],\n applicantAgent: [],\n implementingAgent: [],\n engineer: [],\n contractor: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n const centroid = this.form.get(\"locationForm\").get(\"centroid\").value;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.shape = WktConverterUtils.ConvertArcGISJsonToWkt(centroid);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n shape: WktConverterUtils.ConvertArcGISJsonToWkt(centroid),\n wkid: 102100\n };\n const polyline = this.form.get(\"locationForm\").get(\"polyline\").value;\n const polygon = this.form.get(\"locationForm\").get(\"polygon\").value;\n if (application.applicationPolygons === undefined || application.applicationPolygons === null) {\n application.applicationPolygons = [];\n }\n if (application.applicationLines === undefined || application.applicationLines === null) {\n application.applicationLines = [];\n }\n if (polygon !== null) {\n const applicationPolygon = {\n wkid: 102100, shape: WktConverterUtils.ConvertArcGISJsonToWkt(polygon)\n };\n application.applicationPolygons.push(applicationPolygon);\n }\n if (polyline !== null) {\n const applicationLine = {\n wkid: 102100, shape: WktConverterUtils.ConvertArcGISJsonToWkt(polyline)\n };\n application.applicationLines.push(applicationLine);\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.clientReferenceNumber = this.form.get(\"detailsForm\").get(\"clientReferenceNumber\").value;\n application.licenceNumber = this.form.get(\"detailsForm\").get(\"applicantTelecommunicationLicenseNumber\").value;\n application.scopeOfWork = this.form.get(\"detailsForm\").get(\"scopeOfWork\").value;\n application.estimatedCost = this.form.get(\"detailsForm\").get(\"estimatedConstructionCost\").value;\n application.applicationFee = this.form.get(\"detailsForm\").get(\"applicationFee\").value;\n application.constructionPeriod = this.form.get(\"detailsForm\").get(\"constructionPeriodInWeeks\").value;\n application.proposedStartDate = this.form.get(\"detailsForm\").get(\"proposedStartDate\").value;\n application.proposedEndDate = this.form.get(\"detailsForm\").get(\"proposedEndDate\").value;\n application.laneClosureRequired = this.form.get(\"detailsForm\").get(\"laneClosureIsRequired\").value;\n application.laneClosureExtent = this.form.get(\"detailsForm\").get(\"laneClosureExtent\").value;\n application.electricalServices = this.form.get(\"detailsForm\").get(\"electricalServices\").value;\n application.actualStartDate = this.form.get(\"detailsForm\").get(\"actualStartDate\").value;\n application.actualEndDate = this.form.get(\"detailsForm\").get(\"actualEndDate\").value;\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n clientReferenceNumber: this.form.get(\"detailsForm\").get(\"clientReferenceNumber\").value,\n licenceNumber: this.form.get(\"detailsForm\").get(\"applicantTelecommunicationLicenseNumber\").value,\n scopeOfWork: this.form.get(\"detailsForm\").get(\"scopeOfWork\").value,\n estimatedCost: this.form.get(\"detailsForm\").get(\"estimatedConstructionCost\").value,\n applicationFee: this.form.get(\"detailsForm\").get(\"applicationFee\").value,\n constructionPeriod: this.form.get(\"detailsForm\").get(\"constructionPeriodInWeeks\").value,\n proposedStartDate: this.form.get(\"detailsForm\").get(\"proposedStartDate\").value,\n proposedEndDate: this.form.get(\"detailsForm\").get(\"proposedEndDate\").value,\n laneClosureRequired: this.form.get(\"detailsForm\").get(\"laneClosureIsRequired\").value,\n laneClosureExtent: this.form.get(\"detailsForm\").get(\"laneClosureExtent\").value,\n electricalServices: this.form.get(\"detailsForm\").get(\"electricalServices\").value,\n actualStartDate: this.form.get(\"detailsForm\").get(\"actualStartDate\").value,\n actualEndDate: this.form.get(\"detailsForm\").get(\"actualEndDate\").value\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n return application;\n }\n // TODO: Check if Applicable on WAMS\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n application.applicantAgentNa = applicantAgentIsNullValue;\n application.eLodgementStep = stepIndex;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicantAgent: [applicantAgent],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return application;\n }\n buildProfessionalBodiesStep(stepIndex, existingApplication) {\n const engineerIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markEngineerAsRequired\").value;\n const contractorIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").value;\n const implementingAgentIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markImplementingAgentAsRequired\").value;\n if (contractorIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"responsibleContractorRecipient\").enable();\n if (engineerIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").enable();\n if (implementingAgentIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"implementingAgentRecipient\").enable();\n const implementingAgentFormValue = this.form.get(\"professionalBodiesForm\").get(\"implementingAgentRecipient\").value;\n const implementingAgent = RecipientUtils.removeInvalidRecipientProperties(implementingAgentFormValue);\n const engineerFormValue = this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").value;\n const engineer = RecipientUtils.removeInvalidRecipientProperties(engineerFormValue);\n const contractorFormValue = this.form.get(\"professionalBodiesForm\").get(\"responsibleContractorRecipient\").value;\n const contractor = RecipientUtils.removeInvalidRecipientProperties(contractorFormValue);\n let application;\n application = existingApplication;\n application.implementingAgent = implementingAgentIsRequired ? [implementingAgent] : [];\n application.engineer = engineerIsRequired ? [engineer] : [];\n application.contractor = contractorIsRequired ? [contractor] : [];\n application.implementingAgentNa = !implementingAgentIsRequired;\n application.engineerNa = !engineerIsRequired;\n application.contractorNa = !contractorIsRequired;\n application.eLodgementStep = stepIndex;\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router },\n { type: ActivatedRoute }\n ];\n};\nWamsStrategyService = WamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], WamsStrategyService);\nexport { WamsStrategyService };\n","var ZcamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { ApplicationSearchConstants } from \"src/app/view-application/shared/application-search-constants\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { AppControllerService } from \"src/app/app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApplicationCreateService } from \"src/app/create-application/shared/application-create.service\";\nimport { Router } from \"@angular/router\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"src/app/app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"src/app/view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApiZoningCertificateConstants } from \"../../constants/api-constants/api-zoning-certificate.constants\";\nimport { ViewApplicationDetailsZcamsComponent } from \"../../../view-application/modules/zc/view-application-details-zcams/view-application-details-zcams.component\";\nimport { ViewApplicationLocationZcamsComponent } from \"../../../view-application/modules/zc/view-application-location-zcams/view-application-location-zcams.component\";\nimport { CreateApplicationDetailsZcamsComponent } from \"../../../create-application/modules/zc/create-application-details-zcams/create-application-details-zcams.component\";\nimport { CreateApplicationLocationZcamsComponent } from \"../../../create-application/modules/zc/create-application-location-zcams/create-application-location-zcams.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"Agent\"] = \"Agent\";\n ApplicationHeadingEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([\n [ApplicationHeadingEnum.Applicant, \"applicant\"],\n [ApplicationHeadingEnum.Agent, \"agent\"],\n [ApplicationHeadingEnum.CreatedDate, \"startDate\"],\n [ApplicationHeadingEnum.ApplicationStatus, \"phase\"],\n [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"],\n [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport const ZCExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_ZC;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationZcMenuHeadings;\n(function (CreateApplicationZcMenuHeadings) {\n CreateApplicationZcMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationZcMenuHeadings[\"Location\"] = \"Property Details\";\n CreateApplicationZcMenuHeadings[\"Details\"] = \"Application Details\";\n CreateApplicationZcMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationZcMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationZcMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationZcMenuHeadings || (CreateApplicationZcMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationZcMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationZcMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationZcMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationZcMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationZcMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationZcMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationZcMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property Details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application Details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet ZcamsStrategyService = class ZcamsStrategyService extends AflaModuleStrategyService {\n static { ZcamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.ZoningCertificate;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiZoningCertificateConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = ZCExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n getApplicationsSubscription;\n postApplicationSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiZoningCertificateConstants.URL}/${ApiZoningCertificateConstants.FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationZcMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ZCExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = ZcamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsZcamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationZcamsComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationZcMenuHeadings.Details, CreateApplicationDetailsZcamsComponent],\n [CreateApplicationZcMenuHeadings.Location, CreateApplicationLocationZcamsComponent],\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationZcMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationZcMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = ZcamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, ZcamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiZoningCertificateConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: ZcamsStrategyService_1.getRecipientName(ZcamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: ZcamsStrategyService_1.getRecipientName(ZcamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiZoningCertificateConstants.URL}/${applicationId}/${ApiZoningCertificateConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n ;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationZcMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildZcDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationZcMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationZcMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationZcMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationZcMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n zcApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"applicant,applicantAgent,properties($expand=owners), attachments\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.zcApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationZcMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationZcMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationZcMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationZcMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationZcMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationZcMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n // (this.form.get(\"detailsForm\").get(\"applicationType\") as FormGroup).reset();\n // (this.form.get(\"detailsForm\").get(\"description\") as FormGroup).reset();\n break;\n case CreateApplicationZcMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationZcMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationZcMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationZcMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiZoningCertificateConstants.URL}/${jobId}/GetZcApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required])\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n return application;\n }\n buildZcDetailsStep(stepIndex, existingApplication) {\n const demolitionDetailsForm = this.form.get(\"detailsForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = demolitionDetailsForm.type;\n application.description = demolitionDetailsForm.description;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: demolitionDetailsForm.type,\n description: demolitionDetailsForm.description\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n const propertyZonesArray = item.get(\"zones\");\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nZcamsStrategyService = ZcamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ZcamsStrategyService);\nexport { ZcamsStrategyService };\n","import { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocalStorageService } from \"../storage/local-storage.service\";\nimport { OAuthService } from \"angular-oauth2-oidc\";\nimport { JwksValidationHandler } from \"angular-oauth2-oidc-jwks\";\nimport { AppConfig } from \"../../../app.config\";\nimport { SessionStorageService } from \"../storage/session-storage.service\";\nimport { SessionStorageEnum } from \"../storage/session-storage-constants\";\nlet AuthService = class AuthService {\n http;\n localStorage;\n sessionStorageService;\n oauthService;\n appConfig;\n $isNotAuthenticated;\n authenticationTokenSubject = new BehaviorSubject(\"\");\n $authenticationToken = this.authenticationTokenSubject.asObservable();\n isAuthenticatedSubject = new BehaviorSubject(false);\n $isAuthenticated = this.isAuthenticatedSubject.asObservable();\n constructor(http, localStorage, sessionStorageService, oauthService, appConfig) {\n this.http = http;\n this.localStorage = localStorage;\n this.sessionStorageService = sessionStorageService;\n this.oauthService = oauthService;\n this.appConfig = appConfig;\n this.setupListeners();\n this.listenForSecurityTokenServiceEvents();\n }\n configureAuth() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n this.oauthService.loadDiscoveryDocument();\n }\n authenticate() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n this.oauthService.loadDiscoveryDocument();\n if (this.checkIfLoggedIn()) {\n this.oauthService.setupAutomaticSilentRefresh();\n return Promise.resolve(true);\n }\n this.oauthService.setupAutomaticSilentRefresh();\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n const call = this.oauthService.loadDiscoveryDocumentAndLogin();\n call.then(() => {\n this.handleLoginAttempt();\n });\n return call;\n }\n unAuthenticate() {\n this.oauthService.revokeTokenAndLogout();\n this.oauthService.logOut();\n this.publishTokenValidityChange(false);\n }\n logOutRedirect() {\n //this.oauthService.logOut();\n const url = `${AppConfig.settings.ids.issuer}/Account/LogoutClient?returnUrl=${AppConfig.settings.ids.redirectUri}`;\n window.open(url, \"_self\");\n //this.publishTokenValidityChange(false);\n }\n unAuthenticateFrontChannel() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n const call = this.oauthService.loadDiscoveryDocument();\n call.then(() => {\n this.oauthService.revokeTokenAndLogout();\n this.publishTokenValidityChange(false);\n });\n }\n checkIfLoggedIn() {\n if (this.oauthService.hasValidAccessToken()) {\n this.handleTokenValid();\n return true;\n }\n return false;\n }\n localLogout() {\n this.oauthService.logOut(true);\n this.publishTokenValidityChange(false);\n }\n setupListeners() {\n this.$isNotAuthenticated = this.$isAuthenticated.pipe(map((isAuthenticated) => !isAuthenticated));\n }\n handleLoginAttempt() {\n const isTokenValid = this.oauthService.hasValidIdToken();\n if (isTokenValid) {\n this.handleTokenValid();\n }\n else {\n throw new Error(\"Unable to authenticate\");\n }\n }\n publishTokenValidityChange(value) {\n this.isAuthenticatedSubject.next(value);\n }\n publishToken(accessToken) {\n this.authenticationTokenSubject.next(accessToken);\n }\n handleTokenValid() {\n this.sessionStorageService.set(SessionStorageEnum.IsUserAuthenticated, \"true\");\n this.localStorage.set(SessionStorageEnum.IsUserAuthenticated, \"true\");\n this.publishToken(this.oauthService.getAccessToken());\n this.publishTokenValidityChange(true);\n }\n listenForSecurityTokenServiceEvents() {\n this.oauthService.events.subscribe((event) => {\n if (!isDevMode()) {\n console.log(event);\n }\n });\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: LocalStorageService },\n { type: SessionStorageService },\n { type: OAuthService },\n { type: AppConfig }\n ];\n};\nAuthService = __decorate([\n Injectable()\n], AuthService);\nexport { AuthService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { of } from \"rxjs\";\nlet BackgroundPreloadService = class BackgroundPreloadService {\n constructor() {\n }\n preload(route, load) {\n if (route.data && route.data.preload) {\n return load();\n }\n else {\n return of(null);\n }\n }\n static ctorParameters = () => [];\n};\nBackgroundPreloadService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], BackgroundPreloadService);\nexport { BackgroundPreloadService };\n","var LoginService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { LoginComponent } from \"../../../core/login/login.component\";\nimport { Router } from \"@angular/router\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { Subject } from \"rxjs\";\nimport { LocalStorageService } from \"../storage/local-storage.service\";\nimport { LocalStorageEnum } from \"../storage/local-storage-constants\";\nlet LoginService = class LoginService {\n static { LoginService_1 = this; }\n dialog;\n router;\n authService;\n localStorage;\n loginDialogues = new Array();\n ngUnsubscribe = new Subject();\n constructor(dialog, router, authService, localStorage) {\n this.dialog = dialog;\n this.router = router;\n this.authService = authService;\n this.localStorage = localStorage;\n }\n static getLoginDialogConfig() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n return dialogConfig;\n }\n openLoginDialog(returnURL, loginSuccessEvent) {\n if (this.loginDialogues.length > 0) {\n return;\n }\n this.localStorage.remove(LocalStorageEnum.Login);\n const dialogRef = this.dialog.open(LoginComponent, LoginService_1.getLoginDialogConfig());\n this.loginDialogues.push(dialogRef);\n this.handleDialogClosed(dialogRef, returnURL, loginSuccessEvent);\n return dialogRef;\n }\n closeAllDialogues() {\n if (this.loginDialogues.length > 0) {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = new Subject();\n this.loginDialogues.forEach(item => item.close());\n this.loginDialogues = new Array();\n }\n }\n logOut() {\n this.authService.unAuthenticate();\n this.openLoginDialog();\n }\n handleDialogClosed(dialogRef, returnURL, loginSuccessEvent) {\n dialogRef.afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(data => {\n if (data) {\n this.closeAllDialogues();\n this.checkReturnURL(returnURL);\n if (loginSuccessEvent) {\n loginSuccessEvent();\n }\n }\n });\n }\n checkReturnURL(returnURL) {\n if (returnURL) {\n this.navigateReturnURL(returnURL);\n }\n }\n navigateReturnURL(returnURL) {\n this.router.navigateByUrl(returnURL);\n }\n static ctorParameters = () => [\n { type: MatDialog },\n { type: Router },\n { type: AuthService },\n { type: LocalStorageService }\n ];\n};\nLoginService = LoginService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LoginService);\nexport { LoginService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nlet ModuleConfigService = class ModuleConfigService {\n appControllerService;\n _moduleConfigNameLookup;\n constructor(appControllerService) {\n this.appControllerService = appControllerService;\n this._moduleConfigNameLookup = new Map();\n }\n addModuleConfigName(moduleID, configName) {\n this._moduleConfigNameLookup.set(moduleID, configName);\n }\n removeModuleConfigName(moduleID) {\n return this._moduleConfigNameLookup.delete(moduleID);\n }\n getModuleConfigName(moduleID) {\n if (!moduleID) {\n throw new Error(\"Module ID not defined\");\n }\n if (this._moduleConfigNameLookup.size <= 0) {\n throw new Error(\"Module config lookup empty\");\n }\n return this._moduleConfigNameLookup.get(moduleID);\n }\n getCurrentlySelectedModuleConfigName() {\n if (!this.appControllerService.selectedModuleID) {\n throw new Error(\"Currently selected module ID not defined\");\n }\n return this.getModuleConfigName(+this.appControllerService.selectedModuleID);\n }\n checkModuleName(name) {\n const currentSelectedModuleConfigName = this.getCurrentlySelectedModuleConfigName();\n if (currentSelectedModuleConfigName === name) {\n return true;\n }\n else {\n return false;\n }\n }\n isPropertyValuationModule() {\n return this.checkModuleName(ModuleConfig.PropertyValuation);\n }\n isTownPlanningModule() {\n return this.checkModuleName(ModuleConfig.TownPlanning);\n }\n isBuildingPlanModule() {\n return this.checkModuleName(ModuleConfig.BuildingPlans);\n }\n isCemeteryModule() {\n return this.checkModuleName(ModuleConfig.Cemetery);\n }\n isWayleaveModule() {\n return this.checkModuleName(ModuleConfig.Wayleaves);\n }\n isPropertyAndLeaseModule() {\n return this.checkModuleName(ModuleConfig.PropertyAndLease);\n }\n isTrainingModule() {\n return this.checkModuleName(ModuleConfig.TrainingModule);\n }\n isInformalTradeModule() {\n return this.checkModuleName(ModuleConfig.InformalTrade);\n }\n isStreetNamingModule() {\n return this.checkModuleName(ModuleConfig.StreetNaming);\n }\n isAdvertisingModule() {\n return this.checkModuleName(ModuleConfig.Advertising);\n }\n isBusinessLicenceModule() {\n return this.checkModuleName(ModuleConfig.BusinessLicence);\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nModuleConfigService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ModuleConfigService);\nexport { ModuleConfigService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ApiInformalTradeConstants } from \"../../constants/api-constants/api-informal-trade.constants\";\nlet InformalTradeService = class InformalTradeService {\n http;\n constructor(http) {\n this.http = http;\n }\n getInformalTradeApplicationObservable(params) {\n return this.http.get(ApiInformalTradeConstants.URL, { params })\n .pipe(map((response) => {\n return response.value;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nInformalTradeService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], InformalTradeService);\nexport { InformalTradeService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nimport { ApiPropertyAndLeaseConstants } from \"../../constants/api-constants/api-property-and-lease.constants\";\nlet PropertyAndLeaseService = class PropertyAndLeaseService {\n http;\n constructor(http) {\n this.http = http;\n }\n getLesseesObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_LESSEES}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getBuyersObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_BUYERS}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getSellersObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_SELLERS}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getApplicationSaveDetailsObservable(appId, params) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${appId}/${ApiPropertyAndLeaseConstants.FUNCTION_SET_DETAILS}`, params)\n .pipe(map(response => {\n return response;\n }));\n }\n getApplicationSavePropertiesObservable(appId, params) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${appId}/${ApiPropertyAndLeaseConstants.FUNCTION_SET_PROPERTIES}`, params)\n .pipe(map(response => {\n return response;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nPropertyAndLeaseService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], PropertyAndLeaseService);\nexport { PropertyAndLeaseService };\n","export var ODataAction;\n(function (ODataAction) {\n ODataAction[\"Filter\"] = \"$filter\";\n ODataAction[\"Expand\"] = \"$expand\";\n ODataAction[\"OrderBy\"] = \"$orderby\";\n ODataAction[\"Top\"] = \"$top\";\n ODataAction[\"Select\"] = \"$select\";\n})(ODataAction || (ODataAction = {}));\n","export var OdataOperator;\n(function (OdataOperator) {\n OdataOperator[\"Equals\"] = \"eq\";\n OdataOperator[\"Contains\"] = \"contains\";\n OdataOperator[\"And\"] = \"and\";\n OdataOperator[\"In\"] = \"in\";\n})(OdataOperator || (OdataOperator = {}));\n","var OdataQueryService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { OdataOperator } from \"./odata-operator.model\";\nimport { ODataAction } from \"./odata-action.model\";\nlet OdataQueryService = class OdataQueryService {\n static { OdataQueryService_1 = this; }\n constructor() {\n }\n static isStringCheck(maybeNumber) {\n const checkNumber = Number(maybeNumber);\n return isNaN(checkNumber);\n }\n expand(params, ...expandList) {\n return params.set(ODataAction.Expand, expandList.join(\",\"));\n }\n filter(params, ...filters) {\n params = params.append(ODataAction.Filter, filters.join(\" \" + OdataOperator.And + \" \"));\n return params;\n }\n buildOperation(firstOperand, operation, secondOperand) {\n if (operation === OdataOperator.Contains) {\n return `contains(cast(${firstOperand.toString()},'Edm.String'),'${secondOperand.trim()}')`;\n }\n if (OdataQueryService_1.isStringCheck(secondOperand)) {\n return `${firstOperand.toString()} ${operation} '${secondOperand.trim()}'`;\n }\n else {\n return `${firstOperand.toString()} ${operation} ${secondOperand}`;\n }\n }\n buildFilterWithCollectionSubQuery(group, filterList, operation) {\n let filter = \"\";\n let count = 0;\n filterList.forEach((item) => {\n if (count > 0)\n filter += ` ${operation} `;\n filter += `${group}/any(m:m/${item})`;\n count++;\n });\n return filter;\n }\n buildFilterWithSubQuery(group, filterList, operation) {\n let filter = \"\";\n let count = 0;\n filterList.forEach((item) => {\n if (count > 0)\n filter += ` ${operation} `;\n filter += `${group}/${item}`;\n count++;\n });\n return filter;\n }\n buildExpandWithFilter(group, filterList, operation) {\n let filter = group + \"($filter = \";\n if (filterList.length > 1 && operation)\n filter += filterList.join(\" \" + operation + \" \");\n else\n filter += filterList[0];\n filter += \")\";\n return filter;\n }\n buildFilterFromArray(params, column, filterList) {\n let value = `${column.trim()} ${OdataOperator.In} (`;\n let itemCount = 1;\n // tslint:disable-next-line:forin\n for (const filterListKey in filterList) {\n value += (OdataQueryService_1.isStringCheck(filterList[filterListKey].toString())\n ? `'${filterList[filterListKey].toString().trim()}'`\n : `${filterList[filterListKey].toString().trim()}`)\n + (itemCount < filterList.length ? \",\" : \")\");\n itemCount++;\n }\n params = params.append(ODataAction.Filter, value);\n return params;\n }\n static ctorParameters = () => [];\n};\nOdataQueryService = OdataQueryService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], OdataQueryService);\nexport { OdataQueryService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NavigationStart, Router } from \"@angular/router\";\nlet RequestStatusService = class RequestStatusService {\n router;\n busyRequests;\n countBusyRequests = 0;\n requestBusySubject = new BehaviorSubject(false);\n $requestBusy = this.requestBusySubject.asObservable();\n constructor(router) {\n this.router = router;\n this.busyRequests = new Set();\n this.clearRequestsOnRouteChange();\n }\n clearBusyRequestCounter() {\n this.countBusyRequests = 0;\n }\n showBusySpinner(key) {\n this.countBusyRequests++;\n // console.log(\"show \",key, this.countBusyRequests);\n if (!this.busyRequests.has(key)) {\n this.busyRequests.add(key);\n }\n this.updateSomeRequestBusy();\n }\n removeBusySpinner(key) {\n this.countBusyRequests--;\n // console.log(\"remove \",key, this.countBusyRequests);\n this.busyRequests.delete(key);\n this.updateSomeRequestBusy();\n }\n updateSomeRequestBusy() {\n this.requestBusySubject.next(this.countBusyRequests > 0);\n }\n clearRequestsOnRouteChange() {\n this.router.events.subscribe(change => {\n if (change instanceof NavigationStart) {\n if (this.router.url !== change.url) {\n this.busyRequests = new Set();\n }\n }\n });\n }\n printBusyIndicators() {\n this.busyRequests.forEach(key => {\n console.log(key);\n });\n }\n static ctorParameters = () => [\n { type: Router }\n ];\n};\nRequestStatusService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RequestStatusService);\nexport { RequestStatusService };\n","var RouterParamsService_1;\nimport { __decorate } from \"tslib\";\nimport { NavigationEnd, Router } from \"@angular/router\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\nimport { filter } from \"rxjs/operators\";\nlet RouterParamsService = class RouterParamsService {\n static { RouterParamsService_1 = this; }\n router;\n paramsSnapshot;\n params;\n _paramsSubject;\n url = null;\n constructor(router) {\n this.router = router;\n this.initializeParamData();\n this.handleNavigationEnd();\n this.listenForRouterEvents();\n }\n static checkIfUrlChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n static checkParamsAreDifferent(currentParams, nextParams) {\n const currentKeys = Object.keys(currentParams);\n const nextKeys = Object.keys(nextParams);\n if (currentKeys.length !== nextKeys.length) {\n return true;\n }\n for (let i = 0, length = currentKeys.length; i < length; i++) {\n const key = currentKeys[i];\n if (currentParams[key] !== nextParams[key]) {\n return true;\n }\n }\n return false;\n }\n getParams(root) {\n const params = {};\n (function mergeParamsFromSnapshot(snapshot) {\n Object.assign(params, snapshot.params);\n snapshot.children.forEach(mergeParamsFromSnapshot);\n })(root);\n return (params);\n }\n listenForRouterEvents() {\n this.router.events\n .pipe(filter((event) => {\n return (event instanceof NavigationEnd);\n }))\n .subscribe((event) => {\n if (!event.url.endsWith(\"/refresh\") && RouterParamsService_1.checkIfUrlChanged(event.url, this.url)) {\n this.url = event.url;\n this.handleNavigationEnd();\n }\n });\n }\n handleNavigationEnd() {\n const snapshot = this.router.routerState.snapshot.root;\n const nextParams = this.getParams(snapshot);\n if (RouterParamsService_1.checkParamsAreDifferent(this.paramsSnapshot, nextParams)) {\n this._paramsSubject.next(this.paramsSnapshot = nextParams);\n }\n }\n initializeParamData() {\n this.paramsSnapshot = {};\n this._paramsSubject = new BehaviorSubject(this.paramsSnapshot);\n this.params = this._paramsSubject.asObservable();\n }\n static ctorParameters = () => [\n { type: Router }\n ];\n};\nRouterParamsService = RouterParamsService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RouterParamsService);\nexport { RouterParamsService };\n","var SelectedApplicationService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SessionStorageService } from \"../storage/session-storage.service\";\nimport { SessionStorageEnum } from \"../storage/session-storage-constants\";\nimport { AflaModuleStrategyService } from \"../afla-module-strategy/afla-module-strategy.service\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nlet SelectedApplicationService = class SelectedApplicationService {\n static { SelectedApplicationService_1 = this; }\n sessionStorageService;\n http;\n $applicationSavedSubject = new BehaviorSubject(false);\n childRefreshedSubject = new BehaviorSubject({ applicationRefreshed: false, refreshUrl: \"\" });\n clearDeceasedNamesTableSubject$ = new BehaviorSubject(false);\n selectedApplicationSubject = new BehaviorSubject(null);\n $selectedApplication = this.selectedApplicationSubject.asObservable();\n incompleteJobId = new BehaviorSubject(0);\n $incompleteJobId = this.incompleteJobId.asObservable();\n startNewApplication = new BehaviorSubject(false);\n $startNewApplication = this.startNewApplication.asObservable();\n copyOwner = new BehaviorSubject(false);\n $copyOwner = this.copyOwner.asObservable();\n constructor(sessionStorageService, http) {\n this.sessionStorageService = sessionStorageService;\n this.http = http;\n }\n static buildGetSingleRequest(aflaModuleStrategyService, jobId, expandList) {\n const params = {\n $expand: expandList, $filter: AflaModuleStrategyService.buildJobIDFilter(jobId)\n };\n return aflaModuleStrategyService.getApplicationsQuery(params);\n }\n static getExpandList(aflaModuleStrategyService) {\n return aflaModuleStrategyService.expandListForApplicationPartial;\n }\n setStartNewApplication(start) {\n this.startNewApplication.next(start);\n }\n setCopyOwner(copied) {\n this.copyOwner.next(copied);\n }\n setIncompleteJobId(jobId) {\n this.incompleteJobId.next(jobId);\n }\n setSelectedApplication(application) {\n this.selectedApplicationSubject.next(application);\n if (!application) {\n return;\n }\n this.sessionStorageService.set(SessionStorageEnum.SelectedJobID, application.jobId.toString());\n }\n fetchSelectedApplicationFromJobID(jobID, aflaModuleStrategyService) {\n this.getSingleApplication(aflaModuleStrategyService, jobID).subscribe({\n next: (selectedApplication) => {\n this.setSelectedApplication(selectedApplication);\n this.$applicationSavedSubject.next(true);\n }\n });\n }\n getSingleApplication(aflaModuleStrategyService, jobId) {\n return SelectedApplicationService_1.buildGetSingleRequest(aflaModuleStrategyService, jobId, SelectedApplicationService_1.getExpandList(aflaModuleStrategyService))\n .pipe(map((applicationList) => {\n return applicationList.value.map((application) => {\n return application;\n })?.pop();\n }));\n }\n getSelectedApplicationGeometry(url, params) {\n return this.http.get(url, { params });\n }\n static ctorParameters = () => [\n { type: SessionStorageService },\n { type: HttpClient }\n ];\n};\nSelectedApplicationService = SelectedApplicationService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SelectedApplicationService);\nexport { SelectedApplicationService };\n","var ServerNotificationService_1;\nimport { __decorate } from \"tslib\";\nimport { EventEmitter, Injectable, isDevMode } from \"@angular/core\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { AppConfig } from \"../../../app.config\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { UrlConstants } from \"../../constants/url.constants\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { HubConnectionBuilder, LogLevel } from \"@microsoft/signalr\";\nlet ServerNotificationService = class ServerNotificationService {\n static { ServerNotificationService_1 = this; }\n authService;\n messageReceived = new EventEmitter();\n connectionEstablished = new EventEmitter();\n _connectionIsEstablished = false;\n _hubConnection;\n _authenticationToken;\n constructor(authService) {\n this.authService = authService;\n // TODO: implement signal R\n // this.listenForAuthenticationTokenChanges();\n }\n static buildHubUrl() {\n return AppConfig.settings.api.server + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.SIGNAL_R_HUB_SUFFIX;\n }\n static getLogLevel() {\n if (!isDevMode()) {\n return LogLevel.Debug;\n }\n else {\n return LogLevel.None;\n }\n }\n sendMessage(message) {\n this._hubConnection.invoke(SharedConstants.SEND_SERVER_MESSAGE_ACTION, message);\n }\n async setupConnection(authToken) {\n this.createConnection(authToken);\n this.registerServerEvents();\n await this.startConnection();\n }\n async listenForAuthenticationTokenChanges() {\n this.authService.$authenticationToken.subscribe(async (tokenChange) => {\n if (tokenChange && tokenChange !== \"\") {\n this._authenticationToken = tokenChange;\n // Need to recreate connection with new token, so close old connection first and then start new one\n await this.closeCurrentConnection();\n await this.setupConnection(this._authenticationToken);\n }\n });\n }\n createConnection(authToken) {\n this._hubConnection = new HubConnectionBuilder()\n .withUrl(ServerNotificationService_1.buildHubUrl(), {\n accessTokenFactory() {\n return authToken;\n },\n logger: ServerNotificationService_1.getLogLevel()\n })\n // .withAutomaticReconnect()\n .build();\n }\n async startConnection() {\n try {\n await this._hubConnection.start();\n this.handleConnectionEstablished();\n }\n catch (error) {\n if (!isDevMode()) {\n throw new Error(SharedConstants.SERVER_HUB_CONNECTION_ERROR_MESSAGE + error.toLocaleString());\n }\n }\n }\n registerServerEvents() {\n this._hubConnection.on(SharedConstants.SERVER_MESSAGE_LISTENER_EVENT, (data) => {\n this.messageReceived.emit(data);\n });\n }\n handleConnectionEstablished() {\n this._connectionIsEstablished = true;\n this.connectionEstablished.emit(true);\n }\n closeCurrentConnection() {\n if (this.isConnectionActive()) {\n return this._hubConnection.stop();\n }\n }\n isConnectionActive() {\n return !!this._hubConnection;\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n};\nServerNotificationService = ServerNotificationService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ServerNotificationService);\nexport { ServerNotificationService };\n","var ServerInterceptor_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { HttpErrorResponse, HttpResponse } from \"@angular/common/http\";\nimport { throwError } from \"rxjs\";\nimport { AppConfig } from \"../../../app.config\";\nimport { catchError, tap } from \"rxjs/operators\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { HttpStatusCodeEnum } from \"../../models/http-status-code-enum.model\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nconst CONTENT_TYPE = \"application/json\";\nlet ServerInterceptor = class ServerInterceptor {\n static { ServerInterceptor_1 = this; }\n appControllerService;\n authService;\n requestStatusService;\n authenticationToken;\n constructor(appControllerService, authService, requestStatusService) {\n this.appControllerService = appControllerService;\n this.authService = authService;\n this.requestStatusService = requestStatusService;\n this.listenForAuthenticationTokenChanges();\n }\n static checkForUnAuthenticated(httpResponse) {\n return httpResponse.status === +HttpStatusCodeEnum.UnAuthorized;\n }\n static configureUrl(request) {\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n return request.url.replace(AppRoutingConstants.API_PREFIX, apiUrl);\n }\n static isRequestValidForProgressUpdate(request) {\n const headers = request.headers;\n const showProgressHeader = headers.get(\"Progress\");\n if (headers.get(\"Progress\")) {\n if (showProgressHeader === \"false\") {\n return false;\n }\n }\n return true;\n }\n intercept(req, next) {\n if (!req.url.startsWith(AppRoutingConstants.API_PREFIX)) {\n return this.handleNonApiRequest(req, next);\n }\n else {\n return this.handleApiRequest(req, next);\n }\n }\n handleUnAuthenticated() {\n this.authService.authenticate();\n }\n listenForAuthenticationTokenChanges() {\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n this.authenticationToken = tokenChange;\n });\n }\n handleNonApiRequest(request, next) {\n this.showBusySpinnerForRequest(request);\n return this.executePipelineActions(request, next, request);\n }\n handleApiRequest(request, next) {\n let url = ServerInterceptor_1.configureUrl(request);\n url = this.checkIfBusyIndicatorMustShow(url);\n this.showBusySpinnerForRequest(request, url);\n const serverRequest = this.setHeaders(request, url);\n return this.executePipelineActions(serverRequest, next, request);\n }\n checkIfBusyIndicatorMustShow(url) {\n return url.replace(SharedConstants.NOT_BUSY_INDICATOR, \"\");\n }\n executePipelineActions(request, next, oldRequest) {\n return next.handle(request).pipe(tap(evt => {\n if (evt instanceof HttpResponse) {\n this.handleResponse(evt, request, oldRequest);\n }\n }), catchError((err) => {\n return this.handleHttpError(err, request, oldRequest);\n }));\n }\n handleResponse(evt, request, oldRequest) {\n this.removeBusySpinnerForRequest(request, oldRequest);\n if (!isDevMode()) {\n this.showResponseContent(evt);\n }\n }\n showResponseContent(evt) {\n if (evt.body) {\n this.appControllerService.showConsoleMessage(evt.body);\n }\n else {\n this.appControllerService.showConsoleMessage(JSON.stringify(evt));\n }\n }\n setHeaders(request, url) {\n if (request.body instanceof FormData) {\n return request.clone({\n setHeaders: {\n Authorization: \"Bearer \" + this.authenticationToken\n },\n url,\n withCredentials: true\n });\n }\n else {\n return request.clone({\n setHeaders: {\n Accept: CONTENT_TYPE,\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n Authorization: \"Bearer \" + this.authenticationToken\n },\n url,\n body: JSON.stringify(request.body),\n withCredentials: true\n });\n }\n }\n handleHttpError(err, request, oldRequest) {\n this.removeBusySpinnerForRequest(request, oldRequest);\n if (err instanceof HttpErrorResponse) {\n if (ServerInterceptor_1.checkForUnAuthenticated(err)) {\n this.handleUnAuthenticated();\n }\n if (!isDevMode()) {\n this.appControllerService.showConsoleMessage(JSON.stringify(err));\n }\n }\n return throwError(err);\n }\n showBusySpinnerForRequest(request, url = null) {\n if (request.url.includes(SharedConstants.NOT_BUSY_INDICATOR) || url && url.includes(SharedConstants.NOT_BUSY_INDICATOR))\n return;\n if (ServerInterceptor_1.isRequestValidForProgressUpdate(request)) {\n if (url == null) {\n this.requestStatusService.showBusySpinner(request.url);\n }\n else {\n this.requestStatusService.showBusySpinner(url);\n }\n }\n }\n removeBusySpinnerForRequest(request, oldRequest) {\n if (oldRequest.url.includes(SharedConstants.NOT_BUSY_INDICATOR)) {\n return;\n }\n this.requestStatusService.removeBusySpinner(request.url);\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: AuthService },\n { type: RequestStatusService }\n ];\n};\nServerInterceptor = ServerInterceptor_1 = __decorate([\n Injectable()\n], ServerInterceptor);\nexport { ServerInterceptor };\n","export var LocalStorageEnum;\n(function (LocalStorageEnum) {\n LocalStorageEnum[\"Login\"] = \"Login\";\n LocalStorageEnum[\"Url\"] = \"Url\";\n LocalStorageEnum[\"SelectedJobID\"] = \"selectedJobID\";\n LocalStorageEnum[\"SelectedModuleID\"] = \"selectedModuleID\";\n LocalStorageEnum[\"IsLoggedIn\"] = \"IsLoggedIn\";\n})(LocalStorageEnum || (LocalStorageEnum = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { StorageBase } from \"./storage-base\";\nlet LocalStorageService = class LocalStorageService extends StorageBase {\n constructor() {\n super(window.localStorage);\n }\n static ctorParameters = () => [];\n};\nLocalStorageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LocalStorageService);\nexport { LocalStorageService };\n","export var SessionStorageEnum;\n(function (SessionStorageEnum) {\n SessionStorageEnum[\"SelectedModuleID\"] = \"selectedModuleID\";\n SessionStorageEnum[\"SelectedJobID\"] = \"selectedJobID\";\n SessionStorageEnum[\"IsUserAuthenticated\"] = \"isUserAuthenticated\";\n SessionStorageEnum[\"Nonce\"] = \"nonce\";\n})(SessionStorageEnum || (SessionStorageEnum = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { StorageBase } from \"./storage-base\";\nlet SessionStorageService = class SessionStorageService extends StorageBase {\n constructor() {\n super(window.sessionStorage);\n }\n static ctorParameters = () => [];\n};\nSessionStorageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SessionStorageService);\nexport { SessionStorageService };\n","const STORAGE_ERROR = \"Storage is not available\";\nexport class StorageBase {\n storage;\n constructor(storageType) {\n if (storageType) {\n this.storage = storageType;\n }\n else {\n throw new Error(STORAGE_ERROR);\n }\n }\n get(key) {\n return this.storage.getItem(key);\n }\n getStorage() {\n return this.storage;\n }\n remove(key) {\n this.storage.removeItem(key);\n }\n removeAll() {\n this.storage.clear();\n }\n set(key, value) {\n if (determineIfString(value)) {\n this.storage.setItem(key, value);\n }\n else {\n const serialized = JSON.stringify(value);\n this.storage.setItem(key, serialized);\n }\n }\n}\nfunction determineIfString(toBeDetermined) {\n if ((toBeDetermined instanceof String)) {\n return true;\n }\n return false;\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { ModuleConfigService } from \"./module-config/module-config.service\";\nimport { map } from \"rxjs/operators\";\nimport { AuthService } from \"./auth/auth.service\";\nimport { ApiModuleSettingConstants } from \"../constants/api-constants/api-module-setting.constants\";\nlet SystemModuleSettingsService = class SystemModuleSettingsService {\n httpClient;\n moduleConfigService;\n authService;\n $systemModuleSettingsFetched;\n systemModuleSettingsSubject = new BehaviorSubject(null);\n $systemModuleSettings;\n _configName = \"ViewerConfigFile\";\n $isAuthenticated;\n constructor(httpClient, moduleConfigService, authService) {\n this.httpClient = httpClient;\n this.moduleConfigService = moduleConfigService;\n this.authService = authService;\n this.$systemModuleSettings = this.systemModuleSettingsSubject.asObservable();\n this.$isAuthenticated = this.authService.$isAuthenticated;\n this.setupSystemModuleSettingsFetched();\n this.listenForAuthenticationChanges();\n }\n getSystemModuleSettingsRequest() {\n const params = {\n $filter: `Key eq '${this._configName}'`\n };\n return this.httpClient\n .get(`${ApiModuleSettingConstants.URL}/${ApiModuleSettingConstants.FUNCTION_GET_AFLA_PORTAL_SETTINGS}`)\n .pipe(map((moduleSettings) => {\n this.setModuleConfigs(moduleSettings.value);\n this.systemModuleSettingsSubject.next(moduleSettings.value);\n return moduleSettings.value;\n }));\n }\n getSystemModuleSettings() {\n this.getSystemModuleSettingsRequest().subscribe();\n }\n setModuleConfigs(value) {\n value.forEach((systemModuleSetting) => {\n this.moduleConfigService.addModuleConfigName(systemModuleSetting.moduleId, systemModuleSetting.value);\n });\n }\n listenForAuthenticationChanges() {\n this.$isAuthenticated.subscribe((isAuthenticated) => {\n if (isAuthenticated) {\n this.getSystemModuleSettings();\n }\n });\n }\n setupSystemModuleSettingsFetched() {\n this.$systemModuleSettingsFetched = this.$systemModuleSettings.pipe(map((systemModuleSettings) => {\n return systemModuleSettings != null;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: ModuleConfigService },\n { type: AuthService }\n ];\n};\nSystemModuleSettingsService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SystemModuleSettingsService);\nexport { SystemModuleSettingsService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { UrlConstants } from \"../../constants/url.constants\";\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { DisclaimerDialogBodyComponent } from \"../../../core/dashboard/disclaimer-dialog-body/disclaimer-dialog-body.component\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { map } from \"rxjs/operators\";\nimport { ApiUserConstants } from \"../../constants/api-constants/api-user.constants\";\nexport const ANONYMOUS_USER = {\n email: \"\",\n firstName: \"\",\n id: undefined,\n lastName: \"\",\n organisationApplications: [],\n organisations: [],\n userId: \"\"\n};\nlet UserInformationService = class UserInformationService {\n http;\n router;\n appControllerService;\n matDialog;\n authService;\n systemModulesLoaded$ = new BehaviorSubject(false);\n systemOrganisationsSubject = new BehaviorSubject(null);\n $systemOrganisations;\n systemModulesSubject = new BehaviorSubject([]);\n $systemModules;\n userInformationFetchedSubject = new BehaviorSubject(false);\n $userInformationFetched;\n authenticatedUserSubject = new BehaviorSubject(ANONYMOUS_USER);\n $authenticatedUser;\n $isAuthenticated;\n constructor(http, router, appControllerService, matDialog, authService) {\n this.http = http;\n this.router = router;\n this.appControllerService = appControllerService;\n this.matDialog = matDialog;\n this.authService = authService;\n this.$systemOrganisations = this.systemOrganisationsSubject.asObservable();\n this.$systemModules = this.systemModulesSubject.asObservable();\n this.$systemModules = this.systemModulesSubject.asObservable();\n this.$userInformationFetched = this.userInformationFetchedSubject.asObservable();\n this.$authenticatedUser = this.authenticatedUserSubject.asObservable();\n this.$isAuthenticated = this.authService.$isAuthenticated;\n this.setUpListeners();\n }\n get userInformationFetchedValue() {\n return this.userInformationFetchedSubject.value;\n }\n getUserInformation() {\n this.getUserInformationRequest().subscribe({\n next: (userInformation) => {\n this.handleUserInformation(userInformation);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"user information\", error, CRUDOperation.Get);\n }\n });\n }\n getModuleInformation(moduleId) {\n let foundModule;\n this.getSystemModules()?.forEach((module) => {\n if (module.id === moduleId) {\n foundModule = module;\n return;\n }\n });\n return foundModule;\n }\n getOrganisationInformation(OrganisationId) {\n let foundOrganisation = null;\n this.getOrganisations().forEach((organisation) => {\n if (organisation.id === OrganisationId) {\n foundOrganisation = organisation;\n }\n });\n return foundOrganisation;\n }\n getOrganisationId(moduleId) {\n const module = this.getModuleInformation(moduleId);\n if (module) {\n return module.organisationId;\n }\n else {\n return null;\n }\n }\n retrieveMyPortalApplications() {\n return this.http.get(`${ApiUserConstants.URL}/${ApiUserConstants.RETRIEVE_MY_PORTAL_APPLICATIONS_URL}`)\n .pipe(map(response => {\n return response;\n }));\n }\n hasOpenPortalApplications(moduleId) {\n const params = {\n moduleId\n };\n return this.http.get(`${ApiUserConstants.URL}/${ApiUserConstants.HAS_OPEN_PORTAL_APPLICATIONS}`, { params })\n .pipe(map(response => {\n return response;\n }));\n }\n isSysadminAdmin() {\n return this.authenticatedUserSubject.value?.isSysAdmin;\n }\n handleUserInformation(userInfo) {\n this.publishAuthUserValue(userInfo);\n this.publishSystemModules(userInfo);\n this.publishSystemOrganisations(userInfo);\n this.showDisclaimer();\n }\n getSystemModules() {\n return this.systemModulesSubject.value;\n }\n getUserInformationRequest() {\n const params = {\n $expand: `Organisations($expand=UserSystemRoles,Settings,Modules($expand=userModuleRoles)),OrganisationApplications`,\n };\n return this.http.get(UrlConstants.GET_MY_PORTAL_INFORMATION_URL, { params });\n }\n publishAuthUserValue(value) {\n this.authenticatedUserSubject.next(value);\n this.userInformationFetchedSubject.next(true);\n }\n setUpListeners() {\n this.setupAuthenticationListener();\n }\n showDisclaimer() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n this.matDialog.open(DisclaimerDialogBodyComponent, dialogConfig);\n }\n publishSystemModules(user) {\n if (user) {\n const modules = [];\n user.organisations.forEach(organisation => {\n modules.push(...organisation.modules);\n });\n this.systemModulesSubject.next(modules.sort((a, b) => 0 - (a.name > b.name ? -1 : 1)));\n if (modules.length > 0) {\n this.systemModulesLoaded$.next(true);\n }\n else {\n this.systemModulesLoaded$.next(false);\n }\n }\n else {\n this.systemModulesSubject.next([]);\n }\n }\n publishSystemOrganisations(user) {\n const organisations = [];\n if (user) {\n organisations.push(...user.organisations);\n this.systemOrganisationsSubject.next(organisations.sort((a, b) => 0 - (a.name > b.name ? -1 : 1)));\n }\n else {\n this.systemOrganisationsSubject.next([]);\n }\n }\n setupAuthenticationListener() {\n this.$isAuthenticated.subscribe((isAuthenticated) => {\n if (isAuthenticated) {\n this.getUserInformation();\n }\n });\n }\n getOrganisations() {\n return this.systemOrganisationsSubject.value;\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: Router },\n { type: AppControllerService },\n { type: MatDialog },\n { type: AuthService }\n ];\n};\nUserInformationService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], UserInformationService);\nexport { UserInformationService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet WebNotificationService = class WebNotificationService {\n _permissionGranted;\n constructor() {\n this.requestPermission();\n }\n showNotification(title, text) {\n if (this._permissionGranted) {\n this.createNewNotification(title, text);\n }\n else {\n throw new Error(SharedConstants.PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR);\n }\n }\n requestPermission() {\n if (!(\"Notification\" in window)) {\n throw new Error(SharedConstants.NO_NOTIFICATION_BROWSER_SUPPORT_ERROR);\n }\n this.getPermissionRequest().then((permissionResponse) => {\n this.handlePermissionResponse(permissionResponse);\n });\n }\n getPermissionRequest() {\n return Notification.requestPermission();\n }\n handlePermissionResponse(permissionResponse) {\n if (Notification.permission === \"granted\" && permissionResponse === \"granted\") {\n this._permissionGranted = true;\n }\n }\n removePermission() {\n this._permissionGranted = false;\n }\n createNewNotification(title, text) {\n return new Notification(title, { body: text });\n }\n static ctorParameters = () => [];\n};\nWebNotificationService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], WebNotificationService);\nexport { WebNotificationService };\n","import { __decorate } from \"tslib\";\nimport { NgModule } from \"@angular/core\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { PageHeadingComponent } from \"./components/page-heading/page-heading.component\";\nimport { HighlightPipe } from \"./pipes/highlight/highlight.pipe\";\nimport { HighlightWithColumnPipe } from \"./pipes/highlight/highlight-with-column.pipe\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { AlertComponent } from \"./components/alert/alert.component\";\nimport { CommonModule, DatePipe, TitleCasePipe } from \"@angular/common\";\nimport { PwaInstallBottomSheetComponent } from \"./components/pwa-install-bottom-sheet/pwa-install-bottom-sheet.component\";\nimport { PrimaryButtonComponent } from \"./components/primary-button/primary-button.component\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { SecondaryButtonComponent } from \"./components/secondary-button/secondary-button.component\";\nimport { InputComponent } from \"./components/input/input.component\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { SaShortDatePipe } from \"./pipes/sa-short-date/sa-short-date.pipe\";\nimport { NgPipesModule, UcFirstPipe } from \"ngx-pipes\";\nimport { ContentMenuComponent } from \"./components/content-menu/content-menu.component\";\nimport { RouterModule } from \"@angular/router\";\nimport { QuillModule } from \"ngx-quill\";\nimport { AppViewShortDatePipe } from \"./pipes/app-view-short-date/app-view-short-date.pipe\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { SaLongDatePipe } from \"./pipes/sa-long-date/sa-long-date.pipe\";\nimport { UtcDatePipe } from \"./pipes/utc-date/utc-date.pipe\";\nimport { RecipientFilterComponent } from \"./components/recipient-components/shared/recipient-filter/recipient-filter.component\";\nimport { RecipientSelectComponent } from \"./components/recipient-components/recipient-select/recipient-select.component\";\nimport { ZaesriAngularCalciteModule } from \"../../../../zaesri-angular-calcite/src/lib/zaesri-angular-calcite.module\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { AddRecipientModalComponent } from \"./components/recipient-components/shared/modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { AflaCommonModule } from \"../../../../afla-common/src/lib/afla-common.module\";\nimport { RecipientListComponent } from \"./components/recipient-components/recipient-list/recipient-list.component\";\nimport { EditRecipientModalComponent } from \"./components/recipient-components/shared/modal-components/edit-recipient-modal/edit-recipient-modal.component\";\nimport { HelpModalComponent } from \"./components/help-modal/help-modal.component\";\nimport { RefreshComponent } from \"../create-application/shared/refresh/refresh.component\";\nimport { DragDropDirective } from \"./directives/drag-drop.directive\";\nimport { ConfirmDeleteModalComponent } from \"./components/recipient-components/shared/modal-components/confirm-delete-modal/confirm-delete-modal.component\";\nimport { TreeModule } from \"@ali-hm/angular-tree-component\";\nimport { DocumentTreeViewComponent } from \"./components/document-tree-view/document-tree-view.component\";\nimport { PopUpComponent } from \"./components/pop-up/pop-up.component\";\nimport { ViewApplicationStepperComponent } from \"./components/view-application-stepper/view-application-stepper.component\";\nimport { ViewApplicationHostDirective } from \"../view-application/shared/view-application-host.directive\";\nimport { SafeHtmlPipe } from \"./pipes/safeHtml/safe-html.pipe\";\nlet SharedModule = class SharedModule {\n};\nSharedModule = __decorate([\n NgModule({\n declarations: [\n HighlightPipe,\n HighlightWithColumnPipe,\n AlertComponent,\n PageHeadingComponent,\n PwaInstallBottomSheetComponent,\n PrimaryButtonComponent,\n SecondaryButtonComponent,\n InputComponent,\n SaShortDatePipe,\n SaLongDatePipe,\n AppViewShortDatePipe,\n ContentMenuComponent,\n RecipientFilterComponent,\n RecipientSelectComponent,\n AddRecipientModalComponent,\n RecipientListComponent,\n EditRecipientModalComponent,\n HelpModalComponent,\n RefreshComponent,\n DragDropDirective,\n ConfirmDeleteModalComponent,\n DocumentTreeViewComponent,\n PopUpComponent,\n ViewApplicationStepperComponent,\n ViewApplicationHostDirective,\n SafeHtmlPipe\n ],\n imports: [\n CommonModule,\n MatSelectModule,\n MatIconModule,\n MatButtonModule,\n FormsModule,\n MatDialogModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n ReactiveFormsModule,\n NgPipesModule,\n RouterModule,\n QuillModule.forRoot(),\n MatDividerModule,\n ZaesriAngularCalciteModule,\n MatTooltipModule,\n AflaCommonModule,\n TreeModule\n ],\n exports: [\n HighlightPipe,\n AlertComponent,\n HighlightWithColumnPipe,\n PageHeadingComponent,\n PrimaryButtonComponent,\n SecondaryButtonComponent,\n InputComponent,\n ContentMenuComponent,\n RecipientSelectComponent,\n RecipientListComponent,\n RefreshComponent,\n DragDropDirective,\n DocumentTreeViewComponent,\n PopUpComponent,\n ViewApplicationHostDirective,\n SafeHtmlPipe,\n NgPipesModule\n ],\n providers: [\n SaShortDatePipe,\n AppViewShortDatePipe,\n UcFirstPipe,\n SaLongDatePipe,\n UtcDatePipe,\n DatePipe,\n TitleCasePipe,\n SafeHtmlPipe,\n ]\n })\n], SharedModule);\nexport { SharedModule };\n","// import {CreateApplicationDetailsWConstants} from \"../../create-application/modules/w/create-application-details-w/create-application-details-w.constants\";\n// TODO: add this back when we re-add Wayleaves application\nexport class CompareDatesUtil {\n static verifyProposedDates(form, startDateFormControlName, endDateFormControlName, sourceFormControl, appController) {\n const startDate = Date.parse(form.get(startDateFormControlName).value);\n const endDate = Date.parse(form.get(endDateFormControlName).value);\n if (startDate && endDate && (startDate > endDate)) {\n form.get(sourceFormControl).reset();\n // appController.showMessage(CreateApplicationDetailsWConstants.DATE_VALIDATION_ERROR, AlertType.Warning);\n }\n }\n}\n","import { saveAs } from \"file-saver\";\nexport class FileUtils {\n static ALLOWED_MIME_TYPES = {\n abs: \"audio/x-mpeg\",\n ai: \"application/postscript\",\n aif: \"audio/x-aiff\",\n aifc: \"audio/x-aiff\",\n aiff: \"audio/x-aiff\",\n aim: \"application/x-aim\",\n art: \"image/x-jg\",\n asf: \"video/x-ms-asf\",\n asx: \"video/x-ms-asf\",\n au: \"audio/basic\",\n avi: \"video/x-msvideo\",\n avx: \"video/x-rad-screenplay\",\n bcpio: \"application/x-bcpio\",\n bin: \"application/octet-stream\",\n bmp: \"image/bmp\",\n body: \"text/html\",\n cdf: \"application/x-cdf\",\n cer: \"application/pkix-cert\",\n class: \"application/java\",\n cpio: \"application/x-cpio\",\n csh: \"application/x-csh\",\n css: \"text/css\",\n dib: \"image/bmp\",\n doc: \"application/msword\",\n dtd: \"application/xml-dtd\",\n dv: \"video/x-dv\",\n dvi: \"application/x-dvi\",\n eot: \"application/vnd.ms-fontobject\",\n eps: \"application/postscript\",\n etx: \"text/x-setext\",\n exe: \"application/octet-stream\",\n gif: \"image/gif\",\n gtar: \"application/x-gtar\",\n gz: \"application/x-gzip\",\n hdf: \"application/x-hdf\",\n hqx: \"application/mac-binhex40\",\n htc: \"text/x-component\",\n htm: \"text/html\",\n html: \"text/html\",\n ief: \"image/ief\",\n jad: \"text/vnd.sun.j2me.app-descriptor\",\n jar: \"application/java-archive\",\n java: \"text/x-java-source\",\n jnlp: \"application/x-java-jnlp-file\",\n jpe: \"image/jpeg\",\n jpeg: \"image/jpeg\",\n jpg: \"image/jpeg\",\n js: \"application/javascript\",\n jsf: \"text/plain\",\n json: \"application/json\",\n jspf: \"text/plain\",\n kar: \"audio/midi\",\n latex: \"application/x-latex\",\n m3u: \"audio/x-mpegurl\",\n mac: \"image/x-macpaint\",\n man: \"text/troff\",\n mathml: \"application/mathml+xml\",\n me: \"text/troff\",\n mid: \"audio/midi\",\n midi: \"audio/midi\",\n mif: \"application/x-mif\",\n mov: \"video/quicktime\",\n movie: \"video/x-sgi-movie\",\n mp1: \"audio/mpeg\",\n mp2: \"audio/mpeg\",\n mp3: \"audio/mpeg\",\n mp4: \"video/mp4\",\n mpa: \"audio/mpeg\",\n mpe: \"video/mpeg\",\n mpeg: \"video/mpeg\",\n mpega: \"audio/x-mpeg\",\n mpg: \"video/mpeg\",\n mpv2: \"video/mpeg2\",\n ms: \"application/x-wais-source\",\n nc: \"application/x-netcdf\",\n oda: \"application/oda\",\n odb: \"application/vnd.oasis.opendocument.database\",\n odc: \"application/vnd.oasis.opendocument.chart\",\n odf: \"application/vnd.oasis.opendocument.formula\",\n odg: \"application/vnd.oasis.opendocument.graphics\",\n odi: \"application/vnd.oasis.opendocument.image\",\n odm: \"application/vnd.oasis.opendocument.text-master\",\n odp: \"application/vnd.oasis.opendocument.presentation\",\n ods: \"application/vnd.oasis.opendocument.spreadsheet\",\n odt: \"application/vnd.oasis.opendocument.text\",\n otg: \"application/vnd.oasis.opendocument.graphics-template\",\n oth: \"application/vnd.oasis.opendocument.text-web\",\n otp: \"application/vnd.oasis.opendocument.presentation-template\",\n ots: \"application/vnd.oasis.opendocument.spreadsheet-template\",\n ott: \"application/vnd.oasis.opendocument.text-template\",\n ogx: \"application/ogg\",\n ogv: \"video/ogg\",\n oga: \"audio/ogg\",\n ogg: \"audio/ogg\",\n otf: \"application/x-font-opentype\",\n spx: \"audio/ogg\",\n flac: \"audio/flac\",\n anx: \"application/annodex\",\n axa: \"audio/annodex\",\n axv: \"video/annodex\",\n xspf: \"application/xspf+xml\",\n pbm: \"image/x-portable-bitmap\",\n pct: \"image/pict\",\n pdf: \"application/pdf\",\n pgm: \"image/x-portable-graymap\",\n pic: \"image/pict\",\n pict: \"image/pict\",\n pls: \"audio/x-scpls\",\n png: \"image/png\",\n pnm: \"image/x-portable-anymap\",\n pnt: \"image/x-macpaint\",\n ppm: \"image/x-portable-pixmap\",\n ppt: \"application/vnd.ms-powerpoint\",\n pps: \"application/vnd.ms-powerpoint\",\n ps: \"application/postscript\",\n psd: \"image/vnd.adobe.photoshop\",\n qt: \"video/quicktime\",\n qti: \"image/x-quicktime\",\n qtif: \"image/x-quicktime\",\n ras: \"image/x-cmu-raster\",\n rdf: \"application/rdf+xml\",\n rgb: \"image/x-rgb\",\n rm: \"application/vnd.rn-realmedia\",\n roff: \"text/troff\",\n rtf: \"application/rtf\",\n rtx: \"text/richtext\",\n sfnt: \"application/font-sfnt\",\n sh: \"application/x-sh\",\n shar: \"application/x-shar\",\n sit: \"application/x-stuffit\",\n snd: \"audio/basic\",\n src: \"application/x-wais-source\",\n sv4cpio: \"application/x-sv4cpio\",\n sv4crc: \"application/x-sv4crc\",\n svg: \"image/svg+xml\",\n svgz: \"image/svg+xml\",\n swf: \"application/x-shockwave-flash\",\n t: \"text/troff\",\n tar: \"application/x-tar\",\n tcl: \"application/x-tcl\",\n tex: \"application/x-tex\",\n texi: \"application/x-texinfo\",\n texinfo: \"application/x-texinfo\",\n tif: \"image/tiff\",\n tiff: \"image/tiff\",\n tr: \"text/troff\",\n tsv: \"text/tab-separated-values\",\n ttf: \"application/x-font-ttf\",\n txt: \"text/plain\",\n ulw: \"audio/basic\",\n ustar: \"application/x-ustar\",\n vxml: \"application/voicexml+xml\",\n xbm: \"image/x-xbitmap\",\n xht: \"application/xhtml+xml\",\n xhtml: \"application/xhtml+xml\",\n xls: \"application/vnd.ms-excel\",\n xml: \"application/xml\",\n xpm: \"image/x-xpixmap\",\n xsl: \"application/xml\",\n xslt: \"application/xslt+xml\",\n xul: \"application/vnd.mozilla.xul+xml\",\n xwd: \"image/x-xwindowdump\",\n vsd: \"application/vnd.visio\",\n wav: \"audio/x-wav\",\n wbmp: \"image/vnd.wap.wbmp\",\n wml: \"text/vnd.wap.wml\",\n wmlc: \"application/vnd.wap.wmlc\",\n wmls: \"text/vnd.wap.wmlsc\",\n wmlscriptc: \"application/vnd.wap.wmlscriptc\",\n wmv: \"video/x-ms-wmv\",\n woff: \"application/font-woff\",\n woff2: \"application/font-woff2\",\n wrl: \"model/vrml\",\n wspolicy: \"application/wspolicy+xml\",\n z: \"application/x-compress\",\n zip: \"application/zip\"\n };\n static openFile(fileName, response) {\n const fileExtension = fileName.substring(fileName.lastIndexOf(\".\") + 1);\n const mime = this.ALLOWED_MIME_TYPES[fileExtension];\n const newAttachementContent = new Blob([response, \"blob\"], { type: mime });\n if (mime) {\n const fileURL = URL.createObjectURL(newAttachementContent);\n window.open(fileURL, \"_blank\");\n }\n else {\n saveAs(newAttachementContent, fileName);\n }\n }\n}\n","export default class GeometryUtils {\n static mapGeometryToDTO(geometry) {\n return {\n cache: geometry.cache,\n centroid: geometry.get(\"centroid\"),\n extent: geometry.get(\"extent\"),\n hasM: geometry.hasM,\n hasZ: geometry.hasZ,\n isSelfIntersecting: geometry.get(\"isSelfIntersecting\"),\n rings: geometry.get(\"rings\"),\n spatialReference: geometry.get(\"spatialReference\"),\n type: geometry.type\n };\n }\n}\n","export class ObjectUtils {\n static getCommaSeparatedValuesFromListForKey(list, key) {\n let commaSeparated = \"\";\n if (!list || list.length <= 0) {\n return commaSeparated;\n }\n list.forEach((item) => {\n const value = item[key];\n if (!value) {\n return;\n }\n if (item === list[list.length - 1]) {\n commaSeparated += `${value}`;\n }\n else {\n commaSeparated += `${value},`;\n }\n });\n return commaSeparated;\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { RecipientFormConstants } from \"../components/recipient-components/shared/shared-contants/recipient-shared.constants\";\nimport { phoneNumberValidator } from \"../classes/phone-number-validator\";\nimport { isString } from \"underscore\";\nexport default class RecipientUtils {\n static mapStepMetaRecipientGroups(stepMetaGroups) {\n const groups = [];\n stepMetaGroups.map((groupObj) => {\n if (groupObj.hasOwnProperty(\"groupName\")) {\n groups.push(groupObj);\n }\n else {\n groups.push({\n groupName: groupObj.GroupName,\n groupType: groupObj.GroupType,\n requiredFields: groupObj.requiredFields\n });\n }\n });\n return groups;\n }\n static removeInvalidRecipientProperties(recipient) {\n // Checks and remove properties that cannot be mapped to the recipient Dto\n if (recipient) {\n if (recipient.hasOwnProperty(\"id\")) {\n if (isString(recipient.id) && recipient.id.indexOf(\"-\") >= 0) {\n recipient.id = 0;\n }\n if (recipient.id === null) {\n delete recipient.id;\n }\n }\n if (recipient.hasOwnProperty(\"jobId\") &&\n recipient.jobId === null) {\n delete recipient.jobId;\n }\n if (recipient.hasOwnProperty(\"groupsStringArray\")) {\n delete recipient.groupsStringArray;\n }\n if (recipient.hasOwnProperty(\"emailField\")) {\n delete recipient.emailField;\n }\n if (recipient.hasOwnProperty(\"overrideGroup\")) {\n delete recipient.overrideGroup;\n }\n if (recipient.hasOwnProperty(\"selected\")) {\n delete recipient.selected;\n }\n if (recipient.hasOwnProperty(\"setRecipient\")) {\n delete recipient.setRecipient;\n }\n if (recipient.hasOwnProperty(\"consolidatedGroup\")) {\n delete recipient.consolidatedGroup;\n }\n if (recipient.hasOwnProperty(\"fullName\")) {\n delete recipient.fullName;\n }\n if (recipient.hasOwnProperty(\"groupsStringArray\")) {\n delete recipient.groupsStringArray;\n }\n if (recipient.hasOwnProperty(\"selected\")) {\n delete recipient.selected;\n }\n recipient.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n }\n return recipient;\n }\n static makeDeepCopies(recipient, overrideGroup, removeId) {\n const recipientDeepCopy = Object.assign({}, recipient);\n if (recipientDeepCopy.hasOwnProperty(\"id\") && removeId) {\n delete recipientDeepCopy.id;\n }\n if (overrideGroup) {\n recipientDeepCopy.overrideGroup = overrideGroup;\n }\n else {\n recipientDeepCopy.groups.forEach(group => {\n if (group.hasOwnProperty(\"id\") && removeId) {\n delete group.id;\n }\n });\n }\n return recipientDeepCopy;\n }\n static checkAddressDetails(recipient, recipientForm) {\n // if postal details are the same as residential details returns true\n let sameAsResidential = false;\n const streetAddressValue = recipientForm.get(RecipientFormConstants.streetAddressFormControlName).value;\n const postalAddressValue = recipientForm.get(RecipientFormConstants.postalAddressFormControlName).value;\n const streetSuburbValue = recipientForm.get(RecipientFormConstants.streetSuburbFormControlName).value;\n const postalSuburbValue = recipientForm.get(RecipientFormConstants.postalSuburbFormControlName).value;\n const streetCityValue = recipientForm.get(RecipientFormConstants.streetCityFormControlName).value;\n const postalCityValue = recipientForm.get(RecipientFormConstants.postalCityFormControlName).value;\n const streetProvinceValue = recipientForm.get(RecipientFormConstants.postalProvinceFormControlName).value;\n const postalProvinceValue = recipientForm.get(RecipientFormConstants.postalProvinceFormControlName).value;\n const streetCountryValue = recipientForm.get(RecipientFormConstants.streetCountryFormControlName).value;\n const postalCountryValue = recipientForm.get(RecipientFormConstants.postalCountryFormControlName).value;\n const streetCodeValue = recipientForm.get(RecipientFormConstants.streetCodeFormControlName).value;\n const postalCodeValue = recipientForm.get(RecipientFormConstants.postalCodeFormControlName).value;\n if (((streetAddressValue !== null) && (streetAddressValue === postalAddressValue)) &&\n ((streetSuburbValue !== null) && (streetSuburbValue === postalSuburbValue)) &&\n ((streetCityValue !== null) && (streetCityValue === postalCityValue)) &&\n ((streetProvinceValue !== null) && (streetProvinceValue === postalProvinceValue)) &&\n ((streetCountryValue !== null) && (streetCountryValue === postalCountryValue)) &&\n ((streetCodeValue !== null) && (streetCodeValue === postalCodeValue))) {\n sameAsResidential = true;\n }\n else {\n sameAsResidential = false;\n }\n return sameAsResidential;\n }\n static disablePostalDetails(recipientForm) {\n // disables all fields under the 'Postal details' section\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).clearValidators();\n recipientForm.updateValueAndValidity();\n }\n static enablePostalDetails(recipientForm) {\n // enables all fields under the 'Postal details' section\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).enable();\n }\n static restorePostalDetailsValidators(recipientFormGroup, groupsFromMetadata) {\n if (groupsFromMetadata[0].hasOwnProperty(\"requiredFields\")) {\n const requiredFields = groupsFromMetadata[0].requiredFields;\n if (requiredFields.postalAddress || requiredFields.PostalAddress)\n recipientFormGroup.get(RecipientFormConstants.postalAddressFormControlName).setValidators(Validators.required);\n if (requiredFields.postalSuburb || requiredFields.PostalSuburb)\n recipientFormGroup.get(RecipientFormConstants.postalSuburbFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCity || requiredFields.PostalCity)\n recipientFormGroup.get(RecipientFormConstants.postalCityFormControlName).setValidators(Validators.required);\n if (requiredFields.postalProvince || requiredFields.PostalProvince)\n recipientFormGroup.get(RecipientFormConstants.postalProvinceFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCountry || requiredFields.PostalCountry)\n recipientFormGroup.get(RecipientFormConstants.postalCountryFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCode || requiredFields.PostalCode)\n recipientFormGroup.get(RecipientFormConstants.postalCodeFormControlName).setValidators(Validators.required);\n }\n }\n static checkRequiredFields(groupsFromMetadata, newRecipientForm) {\n if (groupsFromMetadata && newRecipientForm && groupsFromMetadata.hasOwnProperty(\"requiredFields\") && Object.keys(groupsFromMetadata.requiredFields)?.length > 0) {\n groupsFromMetadata.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n if (item.required) {\n this.setRequiredFields(newRecipientForm, item.name);\n }\n });\n newRecipientForm.updateValueAndValidity();\n }\n }\n static formatObjectKey(name) {\n var wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n static setRequiredFields(recipientFormGroup, fieldName) {\n recipientFormGroup.controls[fieldName].setValidators(Validators.required);\n if (fieldName === RecipientFormConstants.homeTelePhoneFormControl) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.workTelephoneFormControl) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.cellphoneFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.streetCodeFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.minLength(4)]);\n return;\n }\n if (fieldName === RecipientFormConstants.postalCodeFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.minLength(4)]);\n return;\n }\n if (fieldName === RecipientFormConstants.emailFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.email]);\n return;\n }\n recipientFormGroup.get(fieldName).setValidators(Validators.required);\n }\n static enablePostalSelects(recipientFormGroup, postalProvinceFormControlName, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup.get(postalProvinceFormControlName).enable();\n }\n }\n static disablePostalSelects(recipientFormGroup, postalProvinceFormControlName, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup.get(postalProvinceFormControlName).disable();\n }\n }\n static clearPostalDetailsValidators(recipientFormGroup, sameAsResidentialChecked) {\n // clears all validators of Postal fields then updates value and validity\n if (sameAsResidentialChecked) {\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).updateValueAndValidity();\n }\n }\n static copyStreetDetailsDataToPostalDetailsFields(recipientFormGroup, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetAddressFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetSuburbFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCityFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetProvinceFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCountryFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCodeFormControlName).value);\n }\n }\n static onResidentialInputEntered($event, formControlName, recipientFormGroup, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n const inputValue = $event.target.value;\n const postalFormControl = recipientFormGroup.get(formControlName);\n postalFormControl.patchValue(inputValue);\n }\n }\n static standardizeRecipientGroupsObject(recipientGroups) {\n // standardizes casing on the keys of the groups Object\n let standardizedRecipientGroups = [];\n if (recipientGroups && recipientGroups.length > 0) {\n standardizedRecipientGroups = recipientGroups.map((recipientGroup, index) => {\n if (index === 0) {\n return {\n groupType: recipientGroup.hasOwnProperty(\"GroupType\") ? recipientGroup.GroupType : recipientGroup.groupType,\n groupName: recipientGroup.hasOwnProperty(\"GroupName\") ? recipientGroup.GroupName : recipientGroup.groupName,\n requiredFields: recipientGroup.hasOwnProperty(\"requiredFields\") ? recipientGroup.requiredFields : undefined\n };\n }\n else {\n return {\n groupType: recipientGroup.hasOwnProperty(\"GroupType\") ? recipientGroup.GroupType : recipientGroup.groupType,\n groupName: recipientGroup.hasOwnProperty(\"GroupName\") ? recipientGroup.GroupName : recipientGroup.groupName\n };\n }\n });\n }\n if (!standardizedRecipientGroups[0].requiredFields)\n delete standardizedRecipientGroups[0].requiredFields;\n return standardizedRecipientGroups;\n }\n static setRecipients(recipients, overrideGroup, recipientControl, removeId = false) {\n const values = [];\n recipients.forEach(recipient => {\n const recipientDeepCopy = this.makeDeepCopies(recipient, overrideGroup, removeId);\n recipientDeepCopy.setRecipient = true;\n values.push(recipientDeepCopy);\n });\n recipientControl.setValue(values);\n }\n static cleanPropertyOwners(existingApplication) {\n // removes owner properties that are not going part of the recipient DTO\n if (existingApplication.hasOwnProperty(\"properties\") && existingApplication.properties.length > 0) {\n existingApplication.properties.forEach((propertyItem) => {\n let owners = propertyItem.owners ? propertyItem.owners : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n });\n }\n }\n}\n","import * as WKT from \"terraformer-wkt-parser\";\nimport * as ArcGIS from \"terraformer-arcgis-parser\";\nimport moment from \"moment\";\nexport class WktConverterUtils {\n static ConvertWktToArcGisJson(wkt, wkidSpatialReference) {\n try {\n // convert wkt to geojson\n const geojson = this.ConvertWktToGeoJson(wkt);\n // convert a GeoJSON object into an ArcGIS geometry\n const parseOptions = {\n sr: wkidSpatialReference\n };\n const arcgisGeometry = this.ConvertGeoJsonToArcGis(geojson, parseOptions);\n return arcgisGeometry;\n }\n catch (e) {\n throw Error(\"ConvertWktToArcGisJson: \" + e);\n }\n }\n static ConvertGeoJsonToArcGis(geojson, parseOptions) {\n try {\n return ArcGIS.convert(geojson, parseOptions);\n }\n catch (e) {\n throw Error(\"ConvertGeoJsonToArcGis: \" + e);\n }\n }\n static ConvertWktToGeoJson(wkt) {\n try {\n return WKT.parse(wkt);\n }\n catch (e) {\n throw Error(\"ConvertWktToGeoJson: \" + e);\n }\n }\n static ConvertArcGISJsonToWkt(arcgisJson) {\n try {\n // convert ArcGIS geometry to GeoJSON\n const geojson = this.ConvertArcGisToGeoJson(arcgisJson);\n // convert ArcGIS geometry to GeoJSON\n const wkt = this.ConvertGeoJsonToWkt(geojson);\n return wkt;\n }\n catch (e) {\n throw Error(\"ConvertWktToArcGisJson: \" + e);\n }\n }\n static ConvertArcGisToGeoJson(arcgisJson) {\n try {\n return ArcGIS.parse(arcgisJson);\n }\n catch (e) {\n throw Error(\"ConvertGeoJsonToArcGis: \" + e);\n }\n }\n static ConvertGeoJsonToWkt(geojson) {\n try {\n return WKT.convert(geojson);\n }\n catch (e) {\n throw Error(\"ConvertWktToGeoJson: \" + e);\n }\n }\n static testPerformanceLoop() {\n const wkt = \"MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 45 20, 30 5, 10 10, 10 30, 20 35), (30 20, 20 25, 20 15, 30 20)))\";\n const startTime = moment();\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < 500; ++i) {\n this.ConvertWktToArcGisJson(wkt, 3857);\n }\n const endTime = moment();\n const timeDiffms = endTime.diff(startTime, \"milliseconds\", true);\n const timeDiffSec = endTime.diff(startTime, \"seconds\", true);\n }\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsAConstants } from \"./view-application-details-a.constants\";\nimport { CreateApplicationDetailsAConstants } from \"../../../../create-application/modules/a/create-application-details-a/create-application-details-a.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { DatePipe } from \"@angular/common\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nlet ViewApplicationDetailsAComponent = class ViewApplicationDetailsAComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n datePipe;\n changeDetectorRef;\n recipientService;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsAConstants.VALIDATION_MESSAGES;\n applicationDetailsFormGroupName = ViewApplicationDetailsAConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n // FormControls\n descriptionFormControlName = ViewApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n displayStartDateControlName = ViewApplicationDetailsAConstants.DISPLAY_START_DATE_FORM_CONTROL_NAME;\n displayEndDateControlName = ViewApplicationDetailsAConstants.DISPLAY_END_DATE_FORM_CONTROL_NAME;\n displayRemovalDateControlName = ViewApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME;\n numberOfPostersControlName = ViewApplicationDetailsAConstants.NUMBER_OF_POSTERS_FORM_CONTROL_NAME;\n nameOfBusinessControlName = ViewApplicationDetailsAConstants.NAME_OF_BUSINESS_FORM_CONTROL_NAME;\n notifySignageRemovalPeriodControlName = ViewApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME;\n positionOfTheDisplayControlName = ViewApplicationDetailsAConstants.POSITION_OF_DISPLAY_FORM_CONTROL_NAME;\n heightControlName = ViewApplicationDetailsAConstants.HEIGHT_FORM_CONTROL_NAME;\n widthControlName = ViewApplicationDetailsAConstants.WIDTH_FORM_CONTROL_NAME;\n depthControlName = ViewApplicationDetailsAConstants.DEPTH_FORM_CONTROL_NAME;\n materialControlName = ViewApplicationDetailsAConstants.MATERIAL_FORM_CONTROL_NAME;\n coloursControlName = ViewApplicationDetailsAConstants.COLOURS_FORM_CONTROL_NAME;\n frontalAreaControlName = ViewApplicationDetailsAConstants.FRONTAL_AREA_FORM_CONTROL_NAME;\n totalAreaControlName = ViewApplicationDetailsAConstants.TOTAL_AREA_FORM_CONTROL_NAME;\n signTypeControlName = ViewApplicationDetailsAConstants.SIGN_TYPE_FORM_CONTROL_NAME;\n weightControlName = ViewApplicationDetailsAConstants.WEIGHT_FORM_CONTROL_NAME;\n wattageControlName = ViewApplicationDetailsAConstants.WATTAGE_FORM_CONTROL_NAME;\n signContractorControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME;\n signContractorAddressControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME;\n signContractorTelephoneControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME;\n forSaleControlName = ViewApplicationDetailsAConstants.FOR_SALE_FORM_CONTROL_NAME;\n onShowControlName = ViewApplicationDetailsAConstants.ON_SHOW_FORM_CONTROL_NAME;\n toLetControlName = ViewApplicationDetailsAConstants.TO_LET_FORM_CONTROL_NAME;\n soldControlName = ViewApplicationDetailsAConstants.SOLD_FORM_CONTROL_NAME;\n OtherControlName = ViewApplicationDetailsAConstants.OTHER_FORM_CONTROL_NAME;\n constructionBoardSignControlName = ViewApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME;\n groundSignControlName = ViewApplicationDetailsAConstants.GROUND_SIGN_FORM_CONTROL_NAME;\n flagControlName = ViewApplicationDetailsAConstants.FLAG_FORM_CONTROL_NAME;\n sandwichBoardControlName = ViewApplicationDetailsAConstants.SANDWICH_BOARD_FORM_CONTROL_NAME;\n pylonControlName = ViewApplicationDetailsAConstants.PYLON_FORM_CONTROL_NAME;\n wallSignControlName = ViewApplicationDetailsAConstants.WALL_SIGN_FORM_CONTROL_NAME;\n billBoardControlName = ViewApplicationDetailsAConstants.BILLBOARD_FORM_CONTROL_NAME;\n buildingAttachmentControlName = ViewApplicationDetailsAConstants.BUILDING_ATTACHMENT_FORM_CONTROL_NAME;\n projectingWallControlName = ViewApplicationDetailsAConstants.PROJECTING_WALL_SIGN_FORM_CONTROL_NAME;\n wallPaintedControlName = ViewApplicationDetailsAConstants.WALL_PAINTED_FORM_CONTROL_NAME;\n roofSignControlName = ViewApplicationDetailsAConstants.ROOF_SIGN_FORM_CONTROL_NAME;\n skySignControlName = ViewApplicationDetailsAConstants.SKY_SIGN_FORM_CONTROL_NAME;\n verandaControlName = ViewApplicationDetailsAConstants.VERANDA_FORM_CONTROL_NAME;\n aerialSignControlName = ViewApplicationDetailsAConstants.AERIAL_SIGN_FORM_CONTROL_NAME;\n windowSignControlName = ViewApplicationDetailsAConstants.WINDOW_SIGN_FORM_CONTROL_NAME;\n schoolSignControlName = ViewApplicationDetailsAConstants.SCHOOL_SIGN_FORM_CONTROL_NAME;\n combinationSignControlName = ViewApplicationDetailsAConstants.COMBINATION_SIGN_FORM_CONTROL_NAME;\n underAwningSignControlName = ViewApplicationDetailsAConstants.UNDER_AWNING_SIGN_FORM_CONTROL_NAME;\n flagSignControlName = ViewApplicationDetailsAConstants.FLAG_SIGN_FORM_CONTROL_NAME;\n canopyControlName = ViewApplicationDetailsAConstants.CANOPY_FORM_CONTROL_NAME;\n balconyControlName = ViewApplicationDetailsAConstants.BALCONY_FORM_CONTROL_NAME;\n electronicSignControlName = ViewApplicationDetailsAConstants.ELECTRONIC_SIGN_FORM_CONTROL_NAME;\n developmentBoardControlName = ViewApplicationDetailsAConstants.DEVELOPMENT_BOARD_FORM_CONTROL_NAME;\n otherFiveYearControlName = ViewApplicationDetailsAConstants.OTHER_FIVE_YEAR_FORM_CONTROL_NAME;\n nonIlluminatedBillboardControlName = ViewApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n digitalBillboardControlName = ViewApplicationDetailsAConstants.DIGITAL_BILLBOARD_FORM_CONTROL_NAME;\n nonIlluminatedGantryControlName = ViewApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n digitalGantryControlName = ViewApplicationDetailsAConstants.DIGITAL_GANTRY_FORM_CONTROL_NAME;\n internallyIlluminatedBillboardControlName = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n internallyIlluminatedGantryControlName = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n municipalConsumerAccountNumberFormControlName = ViewApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME;\n personResponsibleFormControlName = ViewApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_NAME;\n // Labels\n descriptionLabel = ViewApplicationDetailsAConstants.DESCRIPTION_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = ViewApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n typeLabel = ViewApplicationDetailsAConstants.APPLICATION_TYPE_LABEL;\n displayStartDateLabel = ViewApplicationDetailsAConstants.DISPLAY_START_DATE_LABEL;\n displayEndDateLabel = ViewApplicationDetailsAConstants.DISPLAY_END_DATE_LABEL;\n displayRemovalDateLabel = ViewApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_LABEL;\n numberOfPostersLabel = ViewApplicationDetailsAConstants.NUMBER_OF_POSTERS_LABEL;\n nameOfBusinessLabel = ViewApplicationDetailsAConstants.NAME_OF_BUSINESS_LABEL;\n notifySignageRemovalPeriodLabel = ViewApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_LABEL;\n positionOfTheDisplayLabel = ViewApplicationDetailsAConstants.POSITION_OF_THE_DISPLAY_LABEL;\n heightLabel = ViewApplicationDetailsAConstants.HEIGHT_LABEL;\n widthLabel = ViewApplicationDetailsAConstants.WIDTH_LABEL;\n depthLabel = ViewApplicationDetailsAConstants.DEPTH_LABEL;\n materialLabel = ViewApplicationDetailsAConstants.MATERIAL_LABEL;\n coloursLabel = ViewApplicationDetailsAConstants.COLOURS_LABEL;\n frontalAreaLabel = ViewApplicationDetailsAConstants.FRONTAL_AREA_LABEL;\n totalAreaLabel = ViewApplicationDetailsAConstants.TOTAL_AREA_LABEL;\n signTypeLabel = ViewApplicationDetailsAConstants.SIGN_TYPE_LABEL;\n weightLabel = ViewApplicationDetailsAConstants.WEIGHT_LABEL;\n wattageLabel = ViewApplicationDetailsAConstants.WATTAGE_LABEL;\n signContractorLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_LABEL;\n signContractorAddressLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_LABEL;\n signContractorTelephoneLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_LABEL;\n forSaleAddressLabel = ViewApplicationDetailsAConstants.FOR_SALE_LABEL;\n // 1 year permanent\n onShowLabel = ViewApplicationDetailsAConstants.ON_SHOW_LABEL;\n toLetLabel = ViewApplicationDetailsAConstants.TO_LET_LABEL;\n soldLabel = ViewApplicationDetailsAConstants.SOLD_LABEL;\n constructionBoardSignLabel = ViewApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_LABEL;\n otherLabel = ViewApplicationDetailsAConstants.OTHER_LABEL;\n // 5 year permanent\n groundSignLabel = ViewApplicationDetailsAConstants.GROUND_SIGN_FORM_LABEL;\n flagLabel = ViewApplicationDetailsAConstants.FLAG_FORM_LABEL;\n sandwichBoardLabel = ViewApplicationDetailsAConstants.SANDWICH_BOARD_FORM_LABEL;\n pylonLabel = ViewApplicationDetailsAConstants.PYLON_FORM_LABEL;\n wallSignLabel = ViewApplicationDetailsAConstants.WALL_SIGN_FORM_LABEL;\n buildingAttachmentLabel = ViewApplicationDetailsAConstants.BUILDING_ATTACHMENT_LABEL;\n projectingWallLabel = ViewApplicationDetailsAConstants.PROJECTING_WALL_SIGN_LABEL;\n wallPaintedLabel = ViewApplicationDetailsAConstants.WALL_PAINTED_LABEL;\n roofSignLabel = ViewApplicationDetailsAConstants.ROOF_SIGN_LABEL;\n skySignLabel = ViewApplicationDetailsAConstants.SKY_SIGN_LABEL;\n verandaLabel = ViewApplicationDetailsAConstants.VERANDA_LABEL;\n aerialSignLabel = ViewApplicationDetailsAConstants.AERIAL_SIGN_LABEL;\n windowSignLabel = ViewApplicationDetailsAConstants.WINDOW_SIGN_LABEL;\n schoolSignLabel = ViewApplicationDetailsAConstants.SCHOOL_SIGN_LABEL;\n combinationSignLabel = ViewApplicationDetailsAConstants.COMBINATION_SIGN_LABEL;\n underAwningSignLabel = ViewApplicationDetailsAConstants.UNDER_AWNING_SIGN_LABEL;\n flagSignLabel = ViewApplicationDetailsAConstants.FLAG_SIGN_LABEL;\n canopyLabel = ViewApplicationDetailsAConstants.CANOPY_LABEL;\n balconyLabel = ViewApplicationDetailsAConstants.BALCONY_LABEL;\n electronicSignLabel = ViewApplicationDetailsAConstants.ELECTRONIC_SIGN_LABEL;\n developmentBoardLabel = ViewApplicationDetailsAConstants.DEVELOPMENT_BOARD_LABEL;\n otherFiveYearLabel = ViewApplicationDetailsAConstants.OTHER_FIVE_YEAR_LABEL;\n nonIlluminatedBillboardLabel = ViewApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_LABEL;\n digitalBillboardLabel = ViewApplicationDetailsAConstants.DIGITAL_BILLBOARD_LABEL;\n nonIlluminatedGantryLabel = ViewApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_LABEL;\n digitalGantryLabel = ViewApplicationDetailsAConstants.DIGITAL_GANTRY_LABEL;\n internallyIlluminatedBillboardLabel = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LABEL;\n internallyIlluminatedGantryLabel = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n municipalConsumerAccountNumberLabel = ViewApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL;\n personResponsibleLabel = ViewApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_LABEL;\n // Lookups\n signTypeLookups = [];\n removalPeriodLookups = LookupConstants.REMOVAL_PERIOD_LOOKUPS_A;\n nonIlluminatedBillboardLookups = LookupConstants.NON_ILLUMINATED_BILLBOARD_A;\n nonIlluminatedGantryLookups = LookupConstants.NON_ILLUMINATED_GANTRY_A;\n internallyIlluminatedBillboardLookups = LookupConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A;\n digitalGantryLookups = LookupConstants.DIGITAL_GANTRY_A;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n showTemporaryApplicationFields = false;\n showPermanentApplicationFields = false;\n show5YearPermanentApplicationOptionalFields = false;\n show1YearPermanentApplicationOptionalFields = false;\n // person responsible recipient\n personResponsibleDisableAdd = true;\n personResponsibleDisableEditing = false;\n personResponsibleDisableFilterBy = true;\n personResponsibleIsInternal = false;\n personResponsibleGroups = [];\n personResponsibleShowFields = true;\n temporaryApplicationType = [];\n permanentApplicationType = [];\n getLookupsObservableSubscription;\n selectedApplicationIASubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, datePipe, changeDetectorRef, recipientService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n try {\n this.personResponsibleGroups = stepMeta.personResponsibleGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsAConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"signtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.signTypeLookups.push(lookUpContent);\n }\n });\n this.subscribeToSelectedApplication();\n this.changeDetectorRef.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationIASubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n application.isAdvetisingPermanentOrTemporary === \"permanent\" ? this.configureFormsForPermanentApplication(application) : this.configureFormsForTemporaryApplication(application);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n configureFormsForPermanentApplication(application) {\n this.setMainPermanentFields(application);\n this.getPersonResponsibleByApplicantId(application.personResponsibleId);\n if (application.type.toLowerCase().includes(\"1 year\")) {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n this.set1yearPermanentApplicationFields(application);\n }\n if (application.type.toLowerCase().includes(\"5 year\")) {\n this.show5YearPermanentApplicationOptionalFields = true;\n this.show1YearPermanentApplicationOptionalFields = false;\n this.set5yearPermanentApplicationFields(application);\n }\n this.showTemporaryApplicationFields = false;\n }\n setMainPermanentFields(application) {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n this.detailsForm.get(this.nameOfBusinessControlName).setValue(application.nameOfBusiness);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).setValue(application.notifySignageRemovalPeriod);\n this.detailsForm.get(this.positionOfTheDisplayControlName).setValue(application.positionOfDisplay);\n this.detailsForm.get(this.heightControlName).setValue(application.dimensionsH);\n this.detailsForm.get(this.widthControlName).setValue(application.dimensionsW);\n this.detailsForm.get(this.depthControlName).setValue(application.dimensionsD);\n this.detailsForm.get(this.materialControlName).setValue(application.material);\n this.detailsForm.get(this.coloursControlName).setValue(application.colours);\n this.detailsForm.get(this.frontalAreaControlName).setValue(application.frontalArea);\n this.detailsForm.get(this.totalAreaControlName).setValue(application.totalArea);\n this.detailsForm.get(this.signTypeControlName).setValue(application.signType);\n this.detailsForm.get(this.weightControlName).setValue(application.weight);\n this.detailsForm.get(this.wattageControlName).setValue(application.wattage);\n this.detailsForm.get(this.signContractorTelephoneControlName).setValue(application.contractorTelephone);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).setValue(application.municipalConsumerAccountNumber);\n this.detailsForm.get(this.nameOfBusinessControlName).disable();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).disable();\n this.detailsForm.get(this.positionOfTheDisplayControlName).disable();\n this.detailsForm.get(this.heightControlName).disable();\n this.detailsForm.get(this.widthControlName).disable();\n this.detailsForm.get(this.depthControlName).disable();\n this.detailsForm.get(this.materialControlName).disable();\n this.detailsForm.get(this.coloursControlName).disable();\n this.detailsForm.get(this.frontalAreaControlName).disable();\n this.detailsForm.get(this.totalAreaControlName).disable();\n this.detailsForm.get(this.signTypeControlName).disable();\n this.detailsForm.get(this.weightControlName).disable();\n this.detailsForm.get(this.wattageControlName).disable();\n this.detailsForm.get(this.signContractorTelephoneControlName).disable();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n set1yearPermanentApplicationFields(application) {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n this.detailsForm.get(this.forSaleControlName).setValue(application.forSale);\n this.detailsForm.get(this.onShowControlName).setValue(application.onShow);\n this.detailsForm.get(this.toLetControlName).setValue(application.toLet);\n this.detailsForm.get(this.soldControlName).setValue(application.sold);\n this.detailsForm.get(this.constructionBoardSignControlName).setValue(application.constructionBoardSign);\n this.detailsForm.get(this.OtherControlName).setValue(application.otherOneYear);\n this.detailsForm.get(this.forSaleControlName).disable();\n this.detailsForm.get(this.onShowControlName).disable();\n this.detailsForm.get(this.toLetControlName).disable();\n this.detailsForm.get(this.soldControlName).disable();\n this.detailsForm.get(this.constructionBoardSignControlName).disable();\n this.detailsForm.get(this.OtherControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n set5yearPermanentApplicationFields(application) {\n this.detailsForm.get(this.groundSignControlName).setValue(application.groundSign);\n this.detailsForm.get(this.flagControlName).setValue(application.flag);\n this.detailsForm.get(this.sandwichBoardControlName).setValue(application.sandwichBoard);\n this.detailsForm.get(this.pylonControlName).setValue(application.pylon);\n this.detailsForm.get(this.wallSignControlName).setValue(application.wallSign);\n this.detailsForm.get(this.billBoardControlName).setValue(application.billboard);\n this.detailsForm.get(this.groundSignControlName).disable();\n this.detailsForm.get(this.flagControlName).disable();\n this.detailsForm.get(this.sandwichBoardControlName).disable();\n this.detailsForm.get(this.pylonControlName).disable();\n this.detailsForm.get(this.wallSignControlName).disable();\n this.detailsForm.get(this.billBoardControlName).disable();\n this.detailsForm.get(this.buildingAttachmentControlName).setValue(application.buildingAttachment);\n this.detailsForm.get(this.projectingWallControlName).setValue(application.projectingWallSign);\n this.detailsForm.get(this.wallPaintedControlName).setValue(application.wallPainted);\n this.detailsForm.get(this.roofSignControlName).setValue(application.roofSign);\n this.detailsForm.get(this.skySignControlName).setValue(application.skySign);\n this.detailsForm.get(this.buildingAttachmentControlName).disable();\n this.detailsForm.get(this.projectingWallControlName).disable();\n this.detailsForm.get(this.wallPaintedControlName).disable();\n this.detailsForm.get(this.roofSignControlName).disable();\n this.detailsForm.get(this.skySignControlName).disable();\n this.detailsForm.get(this.verandaControlName).setValue(application.veranda);\n this.detailsForm.get(this.aerialSignControlName).setValue(application.aerialSign);\n this.detailsForm.get(this.windowSignControlName).setValue(application.windowSign);\n this.detailsForm.get(this.schoolSignControlName).setValue(application.schoolSign);\n this.detailsForm.get(this.combinationSignControlName).setValue(application.combinationSign);\n this.detailsForm.get(this.verandaControlName).disable();\n this.detailsForm.get(this.aerialSignControlName).disable();\n this.detailsForm.get(this.windowSignControlName).disable();\n this.detailsForm.get(this.schoolSignControlName).disable();\n this.detailsForm.get(this.combinationSignControlName).disable();\n this.detailsForm.get(this.underAwningSignControlName).setValue(application.underAwningSign);\n this.detailsForm.get(this.flagSignControlName).setValue(application.flagSign);\n this.detailsForm.get(this.canopyControlName).setValue(application.canopy);\n this.detailsForm.get(this.balconyControlName).setValue(application.balcony);\n this.detailsForm.get(this.electronicSignControlName).setValue(application.electronicSign);\n this.detailsForm.get(this.developmentBoardControlName).setValue(application.developmentBoard);\n this.detailsForm.get(this.underAwningSignControlName).disable();\n this.detailsForm.get(this.flagSignControlName).disable();\n this.detailsForm.get(this.canopyControlName).disable();\n this.detailsForm.get(this.balconyControlName).disable();\n this.detailsForm.get(this.electronicSignControlName).disable();\n this.detailsForm.get(this.developmentBoardControlName).disable();\n this.detailsForm.get(this.otherFiveYearControlName).setValue(application.otherFiveYear);\n this.detailsForm.get(this.otherFiveYearControlName).disable();\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).setValue(application.nonIlluminatedBillboard);\n this.detailsForm.get(this.digitalBillboardControlName).setValue(application.digitalBillboard);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).setValue(application.nonIlluminatedGantry);\n this.detailsForm.get(this.digitalGantryControlName).setValue(application.digitalGantry);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).setValue(application.internallyIlluminatedBillboard);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).setValue(application.internallyIlluminatedGantry);\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).disable();\n this.detailsForm.get(this.digitalBillboardControlName).disable();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).disable();\n this.detailsForm.get(this.digitalGantryControlName).disable();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).disable();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n configureFormsForTemporaryApplication(application) {\n this.setTemporaryAdvertisementFields(application);\n this.showPermanentApplicationFields = false;\n }\n setTemporaryAdvertisementFields(application) {\n this.showTemporaryApplicationFields = true;\n this.showPermanentApplicationFields = false;\n this.detailsForm.get(this.displayStartDateControlName).setValue(this.datePipe.transform(application.displayStartDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.displayEndDateControlName).setValue(this.datePipe.transform(application.displayEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.displayRemovalDateControlName).setValue(this.datePipe.transform(application.displayRemovalDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.numberOfPostersControlName).setValue(application.numberOfPosters);\n this.detailsForm.get(this.displayStartDateControlName).disable();\n this.detailsForm.get(this.displayEndDateControlName).disable();\n this.detailsForm.get(this.displayRemovalDateControlName).disable();\n this.detailsForm.get(this.numberOfPostersControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n getPersonResponsibleByApplicantId(personResponsibleId) {\n const params = {\n $expand: \"groups\",\n $filter: `id eq ${personResponsibleId} and deleted eq false`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedPersonResponsible = recipients[0];\n this.detailsForm.get(this.personResponsibleFormControlName).setValue(savedPersonResponsible);\n this.detailsForm.get(this.personResponsibleFormControlName).disable();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"person responsible\", error, CRUDOperation.Get);\n }\n });\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsAComponent = __decorate([\n Component({\n selector: \"app-view-application-details-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsAComponent);\nexport { ViewApplicationDetailsAComponent };\n","import { SharedConstants } from \"../../../../../../../afla-common/src/lib/constants/shared-constants\";\nexport class ViewApplicationDetailsAConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static APPLICATION_DURATION_LABEL = \"Application duration\";\n static DISPLAY_START_DATE_LABEL = \"Display start date\";\n static DISPLAY_END_DATE_LABEL = \"Display end date\";\n static DISPLAY_REMOVAL_DATE_LABEL = \"Display removal date\";\n static NUMBER_OF_POSTERS_LABEL = \"Number of posters / banners / flags\";\n static NAME_OF_BUSINESS_LABEL = \"Name of business\";\n static NOTIFY_SIGNAGE_REMOVAL_LABEL = \"Notify the municipality within this period of signage is removed?\";\n static POSITION_OF_THE_DISPLAY_LABEL = \"Position of the display\";\n static HEIGHT_LABEL = \"Height(m)\";\n static WIDTH_LABEL = \"Width(m)\";\n static DEPTH_LABEL = \"Depth(m)\";\n static MATERIAL_LABEL = \"Material\";\n static COLOURS_LABEL = \"Colours\";\n static FRONTAL_AREA_LABEL = `Frontal area (m2)`;\n static TOTAL_AREA_LABEL = `Total area (m2)`;\n static SIGN_TYPE_LABEL = \"Sign type\";\n static WEIGHT_LABEL = \"Weight (kg)\";\n static WATTAGE_LABEL = \"Wattage\";\n static SIGN_CONTRACTOR_LABEL = \"Sign contractor name\";\n static SIGN_CONTRACTOR_ADDRESS_LABEL = \"Sign contractor address\";\n static SIGN_CONTRACTOR_TELEPHONE_LABEL = \"Sign contractor telephone number\";\n // 1 year permanent\n static FOR_SALE_LABEL = \"For sale\";\n static ON_SHOW_LABEL = \"On show\";\n static TO_LET_LABEL = \"To-Let\";\n static SOLD_LABEL = \"Sold\";\n static CONSTRUCTION_BOARD_SIGN_LABEL = \"Construction board sign\";\n static OTHER_LABEL = \"Other\";\n // 5 year permanent\n static GROUND_SIGN_FORM_LABEL = \"Ground sign\";\n static FLAG_FORM_LABEL = \"Flag\";\n static SANDWICH_BOARD_FORM_LABEL = \"Sandwich board\";\n static PYLON_FORM_LABEL = \"Pylon\";\n static WALL_SIGN_FORM_LABEL = \"Wall sign\";\n static BUILDING_ATTACHMENT_LABEL = \"Building attachment\";\n static PROJECTING_WALL_SIGN_LABEL = \"Projecting wall sign\";\n static WALL_PAINTED_LABEL = \"Wall painted\";\n static ROOF_SIGN_LABEL = \"Roof sign\";\n static SKY_SIGN_LABEL = \"Sky sign\";\n static VERANDA_LABEL = \"Veranda\";\n static AERIAL_SIGN_LABEL = \"Aerial sign\";\n static WINDOW_SIGN_LABEL = \"Window sign\";\n static SCHOOL_SIGN_LABEL = \"School sign\";\n static COMBINATION_SIGN_LABEL = \"Combination sign\";\n static UNDER_AWNING_SIGN_LABEL = \"Under awning sign\";\n static FLAG_SIGN_LABEL = \"Flag sign\";\n static CANOPY_LABEL = \"Canopy\";\n static BALCONY_LABEL = \"Balcony\";\n static ELECTRONIC_SIGN_LABEL = \"Electronic sign (Excluding billboards / Gantries)\";\n static DEVELOPMENT_BOARD_LABEL = \"Development board\";\n static OTHER_FIVE_YEAR_LABEL = \"Other (specify)\";\n static NON_ILLUMINATED_BILLBOARD_LABEL = \"Non-Illuminated billboard\";\n static DIGITAL_BILLBOARD_LABEL = \"Digital billboard\";\n static NON_ILLUMINATED_GANTRY_LABEL = \"Non-Illuminated gantry\";\n static DIGITAL_GANTRY_LABEL = \"Digital Gantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_LABEL = \"Internally illuminated billboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_LABEL = \"Internally illuminated gantry\";\n // Temporary ApplicationType Labels\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL = \"Municipal consumer account number\";\n static PERSON_RESPONSIBLE_CONTROL_LABEL = \"Person responsible\";\n static ADVERTISEMENTS_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENTS_FORM_CONTROL_NAME = \"advertisements\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static APPLICATION_DURATION_FORM_CONTROL_NAME = \"permanentApplicationDuration\";\n static DISPLAY_START_DATE_FORM_CONTROL_NAME = \"displayStartDate\";\n static DISPLAY_END_DATE_FORM_CONTROL_NAME = \"displayEndDate\";\n static DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME = \"displayRemovalDate\";\n static NUMBER_OF_POSTERS_FORM_CONTROL_NAME = \"numberOfPosters\";\n static NAME_OF_BUSINESS_FORM_CONTROL_NAME = \"nameOfBusiness\";\n static NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME = \"notifySignageRemovalPeriod\";\n static POSITION_OF_DISPLAY_FORM_CONTROL_NAME = \"positionOfDisplay\";\n static HEIGHT_FORM_CONTROL_NAME = \"dimensionsH\";\n static WIDTH_FORM_CONTROL_NAME = \"dimensionsW\";\n static DEPTH_FORM_CONTROL_NAME = \"dimensionsD\";\n static MATERIAL_FORM_CONTROL_NAME = \"material\";\n static COLOURS_FORM_CONTROL_NAME = \"colours\";\n static FRONTAL_AREA_FORM_CONTROL_NAME = \"frontalArea\";\n static TOTAL_AREA_FORM_CONTROL_NAME = \"totalArea\";\n static SIGN_TYPE_FORM_CONTROL_NAME = \"signType\";\n static WEIGHT_FORM_CONTROL_NAME = \"weight\";\n static WATTAGE_FORM_CONTROL_NAME = \"wattage\";\n static SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME = \"contractorName\";\n static SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME = \"contractorAddress\";\n static SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME = \"contractorTelephone\";\n static FOR_SALE_FORM_CONTROL_NAME = \"forSale\";\n static ON_SHOW_FORM_CONTROL_NAME = \"onShow\";\n static TO_LET_FORM_CONTROL_NAME = \"toLet\";\n static SOLD_FORM_CONTROL_NAME = \"sold\";\n static OTHER_FORM_CONTROL_NAME = \"otherOneYear\";\n static CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME = \"constructionBoardSign\";\n // 5year permanent\n static GROUND_SIGN_FORM_CONTROL_NAME = \"groundSign\";\n static FLAG_FORM_CONTROL_NAME = \"flag\";\n static SANDWICH_BOARD_FORM_CONTROL_NAME = \"sandwichBoard\";\n static PYLON_FORM_CONTROL_NAME = \"pylon\";\n static WALL_SIGN_FORM_CONTROL_NAME = \"wallSign\";\n static BILLBOARD_FORM_LABEL = \"Billboard\";\n static BILLBOARD_FORM_CONTROL_NAME = \"billboard\";\n static BUILDING_ATTACHMENT_FORM_CONTROL_NAME = \"buildingAttachment\";\n static PROJECTING_WALL_SIGN_FORM_CONTROL_NAME = \"projectingWallSign\";\n static WALL_PAINTED_FORM_CONTROL_NAME = \"wallPainted\";\n static ROOF_SIGN_FORM_CONTROL_NAME = \"roofSign\";\n static SKY_SIGN_FORM_CONTROL_NAME = \"skySign\";\n static VERANDA_FORM_CONTROL_NAME = \"veranda\";\n static AERIAL_SIGN_FORM_CONTROL_NAME = \"aerialSign\";\n static WINDOW_SIGN_FORM_CONTROL_NAME = \"windowSign\";\n static SCHOOL_SIGN_FORM_CONTROL_NAME = \"schoolSign\";\n static COMBINATION_SIGN_FORM_CONTROL_NAME = \"combinationSign\";\n static UNDER_AWNING_SIGN_FORM_CONTROL_NAME = \"underAwningSign\";\n static FLAG_SIGN_FORM_CONTROL_NAME = \"flagSign\";\n static CANOPY_FORM_CONTROL_NAME = \"canopy\";\n static BALCONY_FORM_CONTROL_NAME = \"balcony\";\n static ELECTRONIC_SIGN_FORM_CONTROL_NAME = \"electronicSign\";\n static DEVELOPMENT_BOARD_FORM_CONTROL_NAME = \"developmentBoard\";\n static OTHER_FIVE_YEAR_FORM_CONTROL_NAME = \"otherFiveYear\";\n static NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"nonIlluminatedBillboard\";\n static DIGITAL_BILLBOARD_FORM_CONTROL_NAME = \"digitalBillboard\";\n static NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"nonIlluminatedGantry\";\n static DIGITAL_GANTRY_FORM_CONTROL_NAME = \"digitalGantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"internallyIlluminatedBillboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"internallyIlluminatedGantry\";\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n // Permanent ApplicationType Controls\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static PERSON_RESPONSIBLE_CONTROL_NAME = \"personResponsible\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationDuration: {\n required: `Application duration ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayStartDate: {\n required: `Display start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayEndDate: {\n required: `Display end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayRemovalDate: {\n required: `Display removal date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfPosters: {\n required: `Number of posters ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nameOfBusiness: {\n required: `Name of business ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n notifySignageRemovalPeriod: {\n required: `Notify signage removal period ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n positionOfTheDisplay: {\n required: `Position of the display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n height: {\n required: `Height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n width: {\n required: `Width ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n depth: {\n required: `Depth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n material: {\n required: `Material ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n colours: {\n required: `Colours ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n frontalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signType: {\n required: `Sign type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n weight: {\n required: `Weight ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n wattage: {\n required: `Wattage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractor: {\n required: `Sign contractor name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorAddress: {\n required: `Sign contractor address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorTelephone: {\n required: `Sign contractor telephone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedBillboard: {\n required: `Non-Illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalBillboard: {\n required: `Digital billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedGantry: {\n required: `Non-Illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalGantry: {\n required: `digital gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedBillboard: {\n required: `Internally illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedGantry: {\n required: `Internally illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n municipalConsumerAccountNumber: {\n required: `Municipal consumer account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ViewApplicationLocationAConstants } from \"./view-application-location-a.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationAComponent = class ViewApplicationLocationAComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n mapService;\n applicationCreateService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n showMap = true;\n activeTabIndex;\n advertisementsForm;\n detailsForm;\n descriptionLabel1 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationAConstants.VALIDATION_MESSAGES;\n advertisementsFormGroupName = ViewApplicationLocationAConstants.ADVERTISEMENT_FORM_GROUP_NAME;\n advertisementsFormControlName = ViewApplicationLocationAConstants.ADVERTISEMENT_FORM_CONTROL_NAME;\n areaOfDisplayFormControlName = ViewApplicationLocationAConstants.AREA_OF_DISPLAY_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = ViewApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationLocationAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n typeLabel = ViewApplicationLocationAConstants.APPLICATION_TYPE_LABEL;\n streetNamesFormControl = ViewApplicationLocationAConstants.STREET_NAMES_FORM_CONTROL;\n propertyDescriptionFormControlName = ViewApplicationLocationAConstants.PROPERTY_DESCRIPTION_FORM_CONTROL_NAME;\n addressOrStreetFormControlName = ViewApplicationLocationAConstants.ADDRESS_OR_STREET_FORM_CONTROL_NAME;\n areaOfDisplayLabel = ViewApplicationLocationAConstants.AREA_OF_CONTROL_LABEL;\n streetNamesLabel = ViewApplicationLocationAConstants.STREET_NAMES_LABEL;\n propertyDescriptionLabel = ViewApplicationLocationAConstants.PROPERTY_DESCRIPTION_LABEL;\n addressOrStreetLabel = ViewApplicationLocationAConstants.ADDRESS_OR_STREET_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = ViewApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n selectedApplicationStatus;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n areaOfDisplayLookups = LookupConstants.AREA_OF_DISPLAY_LOOKUPS_A;\n showPermanentApplicationsFields = false;\n showTemporaryApplicationsFields = false;\n permanentOrTemporaryLookupOptions = ViewApplicationLocationAConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n applicationTypesLookups = [];\n isMapLoaded = false;\n sketchTool;\n selectedGraphic = null;\n applicationLoaded = false;\n mapComponent;\n application;\n getApplicationsQuerySubscription;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, mapService, applicationCreateService, mapTools, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.mapService = mapService;\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.getApplicationLocationDetails(application);\n this.applicationLoaded = true;\n }\n }\n });\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: \"point, polygon\",\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.point = response.value[0]?.point;\n application.polygon = response.value[0]?.polygon;\n this.application = application;\n this.onGetApplicationDataCompleted(application);\n this.applicationLoaded = true;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getAdvertisements().clear();\n const shape = application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"permanent\" ? application.point.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getAdvertisements();\n const advertisingFormGroup = this.createAdvertisingFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialAdvertisingForm(advertisingFormGroup);\n this.setTrueCentroid(advertisingFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationAConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n configureInitialAdvertisingForm(formGroup) {\n const isAdvertisingPermanentOrTemporaryValue = formGroup.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n this.configureFormsForTemporaryAdvertisingForm();\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n this.configureFormsForPermanentAdvertisingForm();\n }\n }\n createAdvertisingFormGroup(application) {\n let geometryArc;\n if (application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"permanent\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.point.shape, 102100);\n }\n if (application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"temporary\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const advertisingFormGroup = new FormGroup({\n areaOfDisplay: new FormControl({ value: application?.polygon?.areaOfDisplay, disabled: true }),\n isAdvetisingPermanentOrTemporary: new FormControl({\n value: application?.isAdvetisingPermanentOrTemporary,\n disabled: true\n }),\n streetNames: new FormControl({ value: application?.polygon?.streetNames, disabled: true }),\n streetOrAddress: new FormControl({ value: application?.polygon?.addressStreetInformation, disabled: true }),\n addressStreetInformation: new FormControl({ value: application?.point?.addressStreetInformation, disabled: true }),\n type: new FormControl({ value: application?.type, disabled: true }),\n propertyDescription: new FormControl({ value: application?.polygon?.propertyDescription, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n });\n this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).setValue(application.isAdvetisingPermanentOrTemporary);\n this.advertisementsForm.disable();\n return advertisingFormGroup;\n }\n getAdvertisements() {\n return this.advertisementsForm.get(this.advertisementsFormControlName);\n }\n initForm() {\n this.advertisementsForm = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getAdvertisements().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n try {\n this.mapComponent.addGeometriesOnMap(geometries, \"Advertising graphics\", true);\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n }\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n this.onGetLookupsCompleted(lookups);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Lookups\", error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(lookups) {\n this.applicationTypesLookups = [];\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypesLookups.push(lookUpContent);\n }\n });\n this.listenForSelectedApplication();\n this.changeDetectorRefs.detectChanges();\n }\n configureFormsForTemporaryAdvertisingForm() {\n this.showTemporaryApplicationsFields = true;\n }\n configureFormsForPermanentAdvertisingForm() {\n this.showPermanentApplicationsFields = true;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: false },] }]\n };\n};\nViewApplicationLocationAComponent = __decorate([\n Component({\n selector: \"app-view-application-location-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationAComponent);\nexport { ViewApplicationLocationAComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationAConstants {\n static DESCRIPTION_LABEL_1 = \"Search the map to find the advertisement for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct advertisement and click on the advertisement. Click on 'add advertisement' in the window that appears on the map after you selected the advertisement.\";\n static DESCRIPTION_LABEL_3 = \"The advertisement will be added and the fields must be completed for the advertisement.\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static ADVERTISEMENT_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENT_FORM_CONTROL_NAME = \"advertisements\";\n static AREA_OF_DISPLAY_FORM_CONTROL_NAME = \"areaOfDisplay\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static STREET_NAMES_FORM_CONTROL = \"streetNames\";\n static PROPERTY_DESCRIPTION_FORM_CONTROL_NAME = \"propertyDescription\";\n static ADDRESS_OR_STREET_FORM_CONTROL_NAME = \"addressStreetInformation\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static AREA_OF_CONTROL_LABEL = \"Area of control\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static STREET_NAMES_LABEL = \"Street names\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description (If it is a private sale or permanent advertisement)\";\n static ADDRESS_OR_STREET_LABEL = \"Address / Street information\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n areaOfDisplay: {\n required: `Area of display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, streetNames: {\n required: `Street names ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, addressOrStreet: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [{ code: \"permanent\", value: \"permanent\" }, { code: \"temporary\", value: \"temporary\" }];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false, circle: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static POINT_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n circle: false, polygon: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsItamsConstants } from \"../../it/view-application-details-itams/view-application-details-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsBlConstants } from \"./view-application-details-bl.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nlet ViewApplicationDetailsBlComponent = class ViewApplicationDetailsBlComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n recipientService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsBlConstants.VALIDATION_MESSAGES;\n descriptionFormControlName = ViewApplicationDetailsBlConstants.DESCRIPTION_FORM_CONTROL_NAME;\n typeFormControlName = ViewApplicationDetailsBlConstants.TYPE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n descriptionLabel = ViewApplicationDetailsBlConstants.DESCRIPTION_LABEL;\n typeLabel = ViewApplicationDetailsBlConstants.TYPE_LABEL;\n tradeNameLabel = ViewApplicationDetailsBlConstants.TRADE_NAME_LABEL;\n tradeNameFormControlName = ViewApplicationDetailsBlConstants.TRADE_NAME_CONTROL;\n businessOwnerLabel = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_LABEL;\n businessOwnerFormControlName = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_CONTROL;\n businessOwnerHeading = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_HEADING;\n businessOwnerDisableFilterBy = true;\n businessOwnerDisableEditing = false;\n businessOwnerGroups = [];\n applicationTypes = [];\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, recipientService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.recipientService = recipientService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n try {\n this.businessOwnerGroups = stepMeta.businessOwnerGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n handleRouteChange() {\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(ViewApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.typeFormControlName).setValue(application.type);\n this.detailsForm.get(this.typeFormControlName).disable();\n this.detailsForm.get(this.tradeNameFormControlName).setValue(application.tradeName);\n this.detailsForm.get(this.tradeNameFormControlName).disable();\n this.getBusinessOwnerByApplicantId(application.businessOwnerId);\n }\n ngAfterViewInit() {\n }\n getBusinessOwnerByApplicantId(businessOwnerId) {\n const params = {\n $expand: \"groups\",\n $filter: `id eq ${businessOwnerId} and deleted eq false`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedBusinessOwner = recipients[0];\n this.detailsForm.get(this.businessOwnerFormControlName).setValue(savedBusinessOwner);\n this.detailsForm.get(this.businessOwnerFormControlName).disable();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"business owner\", error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsBlComponent = __decorate([\n Component({\n selector: \"app-view-application-details-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsBlComponent);\nexport { ViewApplicationDetailsBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsBlConstants {\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static DESCRIPTION_LABEL = \"Description\";\n static TYPE_LABEL = \"Application type\";\n static TRADE_NAME_LABEL = \"Trade name under which business to be conducted?\";\n static BUSINESS_OWNER_LABEL = \"Business owner\";\n static BUSINESS_OWNER_HEADING = \"Business owner\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADE_NAME_CONTROL = \"tradeName\";\n static BUSINESS_OWNER_CONTROL = \"businessOwner\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n tradeName: {\n required: `Trade name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n businessOwner: {\n required: `Business owner ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationLocationBlConstants } from \"./view-application-location-bl.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationBlComponent = class ViewApplicationLocationBlComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationBlConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewApplicationLocationBlConstants.ERF_NO_CONTROL;\n propertiesFormGroupName = ViewApplicationLocationBlConstants.PROPERTIES_FORM_GROUP_NAME;\n centroidFromControlName = ViewApplicationLocationBlConstants.CENTROID_CONTROL;\n propertiesFormControlName = ViewApplicationLocationBlConstants.PROPERTIES_FORM_CONTROL;\n subdivisionControl = ViewApplicationLocationBlConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationBlConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationBlConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationBlConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationBlConstants.ADDRESS_CONTROL;\n unitNumberControl = ViewApplicationLocationBlConstants.UNIT_NUMBER_CONTROL;\n shopNumberControl = ViewApplicationLocationBlConstants.SHOP_NUMBER_CONTROL;\n titleDeedNumberControl = ViewApplicationLocationBlConstants.TITLE_DEED_NUMBER_CONTROL;\n titleDeedDescriptionNumberControl = ViewApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationBlConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationBlConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationBlConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationBlConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationBlConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationBlConstants.ADDRESS_TEXT_PLACEHOLDER;\n unitNumberPlaceHolder = ViewApplicationLocationBlConstants.UNIT_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationBlConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n shopNumberTextPlaceHolder = ViewApplicationLocationBlConstants.SHOP_NUMBER_TEXT_PLACEHOLDER;\n titleDeedNumberTextPlaceHolder = ViewApplicationLocationBlConstants.TITLE_DEED_NUMBER_TEXT_PLACEHOLDER;\n nameOfAccommodationTextPlaceholder = ViewApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER;\n nameOfAccommodationControl = ViewApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_CONTROL;\n titleDeedDescriptionTextPlaceHolder = ViewApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removePropertyLabel = ViewApplicationLocationBlConstants.REMOVE_PROPERTY_LABEL;\n geometryControl = ViewApplicationLocationBlConstants.GEOMETRY_CONTROL;\n applicationLoaded = false;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n application;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n mapLoaded() {\n this.syncMapGeometries();\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n this.selectedApplication?.properties?.sort((a, b) => (b?.id - a?.id));\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl);\n this.syncMapGeometries();\n });\n }\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(this.geometryControl).value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationBlConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBlConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n erfNo: new FormControl(savedProperty.erfNumber),\n subdivision: new FormControl(savedProperty.subdivision),\n allotment: new FormControl(savedProperty.allotment),\n farmNo: new FormControl(savedProperty.farmNumber),\n sgCode: new FormControl(savedProperty.sgCode),\n address: new FormControl(savedProperty.address),\n geometry: new FormControl(geom),\n unitNumber: new FormControl(savedProperty.unitNumber),\n shopNumber: new FormControl(savedProperty.shopNumber),\n accommodationName: new FormControl(savedProperty.accommodationName),\n titleDeedNumber: new FormControl(savedProperty.titleDeedNumber),\n titleDeedDescription: new FormControl(savedProperty.titleDeedDescription),\n centroid: new FormControl(null)\n });\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.farmNoControl).disable();\n propertyControl.get(this.unitNumberControl).disable();\n propertyControl.get(this.shopNumberControl).disable();\n propertyControl.get(this.nameOfAccommodationControl).disable();\n propertyControl.get(this.titleDeedNumberControl).disable();\n propertyControl.get(this.titleDeedDescriptionNumberControl).disable();\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = false;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesFormControlName);\n }\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationBlComponent = __decorate([\n Component({\n selector: \"app-view-application-location-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationBlComponent);\nexport { ViewApplicationLocationBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationBlConstants {\n static STEP_TITLE = \"Location\";\n static GEOMETRY_CONTROL = \"geometry\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static LAYER_REF = \"Property graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static PROPERTY_REQUIRED = \"Please select a property before saving or continuing with the application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static UNIT_NUMBER_CONTROL = \"unitNumber\";\n static SHOP_NUMBER_CONTROL = \"shopNumber\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static NAME_OF_ACCOMMODATION_CONTROL = \"accommodationName\";\n static TITLE_DEED_DESCRIPTION_CONTROL = \"titleDeedDescription\";\n static PROPERTIES_FORM_CONTROL = \"properties\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static CENTROID_CONTROL = \"centroid\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static UNIT_NUMBER_PLACEHOLDER = \"Unit number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static SHOP_NUMBER_TEXT_PLACEHOLDER = \"Shop number\";\n static TITLE_DEED_NUMBER_TEXT_PLACEHOLDER = \"Title deed number (Lot number)\";\n static NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER = \"Name of accommodation\";\n static TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER = \"Title deed description\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedDescription: {\n required: `Title deed description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-bpams.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { ViewApplicationDetailsBpamsConstants } from \"./view-application-details-bpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsBpamsComponent = class ViewApplicationDetailsBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = ViewApplicationDetailsBpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n descriptionLabel = ViewApplicationDetailsBpamsConstants.DESCRIPTION_LABEL;\n isMinorBuildingWorkLabel = ViewApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_LABEL;\n sectorLabel = ViewApplicationDetailsBpamsConstants.SECTOR_LABEL;\n isRDPLabel = ViewApplicationDetailsBpamsConstants.IS_RDP_LABEL;\n buildingUseLabel = ViewApplicationDetailsBpamsConstants.BUILDING_USE_LABEL;\n typeLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_TYPE_LABEL;\n estimatedByLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_LABEL;\n estimatedCostLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_LABEL;\n isMinorBuildingWorkFormControlName = ViewApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME;\n sectorFormControlName = ViewApplicationDetailsBpamsConstants.SECTOR_FORM_CONTROL_NAME;\n isRDPFormControlName = ViewApplicationDetailsBpamsConstants.IS_RDP_FORM_CONTROL_NAME;\n buildingUseFormControlName = ViewApplicationDetailsBpamsConstants.BUILDING_USE_FORM_CONTROL_NAME;\n typeFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n estimatedByFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME;\n estimatedCostFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME;\n application;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedApplication();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).setValue(application.isMinorBuildingWork);\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).disable();\n this.detailsForm.get(this.sectorFormControlName).setValue(application.sector);\n this.detailsForm.get(this.sectorFormControlName).disable();\n this.detailsForm.get(this.isRDPFormControlName).setValue(application.isRdp);\n this.detailsForm.get(this.isRDPFormControlName).disable();\n this.detailsForm.get(this.buildingUseFormControlName).setValue(application.buildingUse);\n this.detailsForm.get(this.buildingUseFormControlName).disable();\n this.detailsForm.get(this.typeFormControlName).setValue(application.applicationType);\n this.detailsForm.get(this.typeFormControlName).disable();\n this.detailsForm.get(this.estimatedByFormControlName).setValue(application.applicationEstimatedBy);\n this.detailsForm.get(this.estimatedByFormControlName).disable();\n this.detailsForm.get(this.estimatedCostFormControlName).setValue(application.applicationEstimatedCost);\n this.detailsForm.get(this.estimatedCostFormControlName).disable();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsBpamsComponent);\nexport { ViewApplicationDetailsBpamsComponent };\n","export class ViewApplicationDetailsBpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_MINOR_BUILDING_WORK_LABEL = \"Is there minor building work?\";\n static SECTOR_LABEL = \"Sector\";\n static IS_RDP_LABEL = \"Is it an RDP house?\";\n static BUILDING_USE_LABEL = \"Building use\";\n static APPLICATION_TYPE_LABEL = \"Type\";\n static APPLICATION_ESTIMATED_BY_LABEL = \"Estimated by\";\n static APPLICATION_ESTIMATED_COST_LABEL = \"Estimated project cost (R)\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME = \"isMinorBuildingWork\";\n static SECTOR_FORM_CONTROL_NAME = \"sector\";\n static IS_RDP_FORM_CONTROL_NAME = \"isRDP\";\n static BUILDING_USE_FORM_CONTROL_NAME = \"buildingUse\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME = \"applicationEstimatedBy\";\n static APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME = \"applicationEstimatedCost\";\n}\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n PropertyBuildingHeadingEnum[\"BuildingNameNumber\"] = \"Building name / number\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"],\n [PropertyBuildingHeadingEnum.BuildingNameNumber, \"buildingNameNumber\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ViewApplicationLocationBpamsConstants } from \"./view-application-location-bpams.constants\";\nimport { PropertyBuildingHeadingEnumHeadingLookup } from \"./property-building-heading.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationBpamsComponent = class ViewApplicationLocationBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n erfNoControl = ViewApplicationLocationBpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationBpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationBpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationBpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationBpamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationBpamsConstants.ADDRESS_CONTROL;\n erfSizeControl = ViewApplicationLocationBpamsConstants.ERF_SIZE_CONTROL;\n titleDeedControl = ViewApplicationLocationBpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = ViewApplicationLocationBpamsConstants.ZONE_CONTROL;\n ownerControl = ViewApplicationLocationBpamsConstants.OWNER_CONTROL;\n propertiesControl = ViewApplicationLocationBpamsConstants.PROPERTIES_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationBpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationBpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationBpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationBpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationBpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationBpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationBpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationBpamsConstants.ZONE_LABEL;\n addZoneLabel = ViewApplicationLocationBpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = ViewApplicationLocationBpamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = ViewApplicationLocationBpamsConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerDisableDelete = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n fullApplicationCheckRequired = false;\n showOnlyPropertyAndZoningLayers = true;\n propertyDescriptionTextPlaceHolder = ViewApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_LABEL;\n propertyDescriptionControl = ViewApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_CONTROL;\n titleDeedRestrictionsTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n externalWallsTextPlaceHolder = ViewApplicationLocationBpamsConstants.EXTERNAL_WALLS_LABEL;\n internalWallsTextPlaceHolder = ViewApplicationLocationBpamsConstants.INTERNAL_WALLS_LABEL;\n roofingTextPlaceHolder = ViewApplicationLocationBpamsConstants.ROOFING_LABEL;\n numberOfHousesUnitsTextPlaceHolder = ViewApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_LABEL;\n externalWallsControl = ViewApplicationLocationBpamsConstants.EXTERNAL_WALLS_CONTROL;\n internalWallsControl = ViewApplicationLocationBpamsConstants.INTERNAL_WALLS_CONTROL;\n roofingControl = ViewApplicationLocationBpamsConstants.ROOFING_CONTROL;\n numberOfHousesUnitsControl = ViewApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_CONTROL;\n buildingDetailsLabel = ViewApplicationLocationBpamsConstants.BUILDING_DETAILS_LABEL;\n mainBuildingLabel = ViewApplicationLocationBpamsConstants.MAIN_BUILDING_LABEL;\n outBuildingLabel = ViewApplicationLocationBpamsConstants.OUT_BUILDING_LABEL;\n totalLabel = ViewApplicationLocationBpamsConstants.TOTAL_LABEL;\n buildingTotalLabel = ViewApplicationLocationBpamsConstants.BUILDING_TOTAL_LABEL;\n stoepLabel = ViewApplicationLocationBpamsConstants.STOEP_LABEL;\n miscellaneousLabel = ViewApplicationLocationBpamsConstants.MISCELLANEOUS_LABEL;\n totalExistingPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_LABEL;\n totalAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_LABEL;\n totalFloorAreaTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_LABEL;\n totalExistingControl = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_CONTROL;\n totalAddedControl = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_CONTROL;\n totalFloorAreaControl = ViewApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_CONTROL;\n // patio\n coveredExistingTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERED_EXISTING_LABEL;\n coveredAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERED_ADDED_LABEL;\n openExistingTextPlaceHolder = ViewApplicationLocationBpamsConstants.OPEN_EXISTING_LABEL;\n openAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.OPEN_ADDED_LABEL;\n totalExistingPatioTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_LABEL;\n totalAddedPatioTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_LABEL;\n coveredExistingControl = ViewApplicationLocationBpamsConstants.COVERED_EXISTING_CONTROL;\n coveredAddedControl = ViewApplicationLocationBpamsConstants.COVERED_ADDED_CONTROL;\n openExistingControl = ViewApplicationLocationBpamsConstants.OPEN_EXISTING_CONTROL;\n openAddedControl = ViewApplicationLocationBpamsConstants.OPEN_ADDED_CONTROL;\n totalExistingPatioControl = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_CONTROL;\n totalAddedPatioControl = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_CONTROL;\n // misc\n poolTextPlaceHolder = ViewApplicationLocationBpamsConstants.POOL_LABEL;\n boundaryWallHeightTextPlaceHolder = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_LABEL;\n boundaryWallRunningTextPlaceHolder = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_LABEL;\n coverageTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERAGE_LABEL;\n bulkCalculationTextPlaceHolder = ViewApplicationLocationBpamsConstants.BULK_CALCULATION_LABEL;\n calculationsLabel = ViewApplicationLocationBpamsConstants.CALCULATIONS_LABEL;\n poolControl = ViewApplicationLocationBpamsConstants.POOL_CONTROL;\n boundaryWallHeightControl = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_CONTROL;\n boundaryWallRunningControl = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_CONTROL;\n coverageControl = ViewApplicationLocationBpamsConstants.COVERAGE_CONTROL;\n bulkCalculationControl = ViewApplicationLocationBpamsConstants.BULK_CALCULATION_CONTROL;\n propertyApplicationDetailsLabel = ViewApplicationLocationBpamsConstants.PROPERTY_APPLICATION_DETAILS_LABEL;\n removeDialogTitle = ViewApplicationLocationBpamsConstants.REMOVE_DIALOG_TEXT;\n selectPromptMessage = \"Delete-test\";\n zones = [];\n mainTableMapper;\n outTableMapper;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n getLookupsObservableSubscription;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.getZoningLookups();\n this.listenForRouteParamChange();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.mapService.destroyMap();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(this.zoneControl);\n }\n mainArrayReturned(array, index) {\n this.getProperties().controls[index].get(\"mainTableSelection\").setValue(array);\n }\n outArrayReturned(array, index) {\n this.getProperties().controls[index].get(\"outTableSelection\").setValue(array);\n }\n // TODO Disable styles on template\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n // propertyControl.get(this.buildingUseControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n // propertyControl.get(this.buildingFloorAreaControl).disable();\n propertyControl.get(this.titleDeedControl).disable();\n }\n setZonesControls(newPropertyFormGroup, property) {\n const zonesControl = newPropertyFormGroup.get(this.zoneControl);\n if (property.zonings && property.zonings.length > 0) {\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zones: new FormControl({ value: zoneOption, disabled: true }),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n });\n });\n }\n else {\n const zoneGroup = new FormGroup({\n id: new FormControl(null),\n applicationId: new FormControl(null),\n applicationPropertyId: new FormControl(null),\n zones: new FormControl({ value: null, disabled: true }),\n deleted: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.setZonesControls(newPropertyFormGroup, property);\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n syncMainBuildings(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"mainTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n syncOutBuildings(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"outTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n initializeColumnToObjectMapping() {\n this.mainTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n this.outTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n }\n getZoningLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'Zoning'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.value && response.value.length > 0) {\n const zoningLookups = response.value;\n this.onGetZoningLookupsCompleted(zoningLookups);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetZoningLookupsCompleted(zoningLookups) {\n zoningLookups.forEach(zoneObject => {\n this.zones.push(JSON.parse(zoneObject.content));\n });\n this.getMetadata();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationBpamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n let index = 0;\n this.application.properties.sort((a, b) => (b?.id - a?.id))?.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.propertiesForm.markAllAsTouched();\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property);\n index++;\n });\n }\n }\n }\n createFormGroup(property, geom) {\n const _form = new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n erfSize: new FormControl({ value: property.erfSize, disabled: true }),\n titleDeed: new FormControl({ value: property.titleDeed, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n propertyDescription: new FormControl({ value: property.applicationDescription, disabled: true }),\n applicationRestrictions: new FormControl({ value: property.applicationRestrictions, disabled: true }),\n externalWalls: new FormControl({ value: property.externalWalls, disabled: true }),\n internalWalls: new FormControl({ value: property.internalWalls, disabled: true }),\n roofing: new FormControl({ value: property.roofing, disabled: true }),\n numberOfHouses: new FormControl({ value: property.numberOfHouses, disabled: true }),\n patioCoveredExisting: new FormControl({ value: property.patioCoveredExisting, disabled: true }),\n patioCoveredAdded: new FormControl({ value: property.patioCoveredAdded, disabled: true }),\n patioOpenExisting: new FormControl({ value: property.patioOpenExisting, disabled: true }),\n patioOpenAdded: new FormControl({ value: property.patioOpenAdded, disabled: true }),\n totalExistingPatio: new FormControl({ value: null, disabled: true }),\n totalAddedPatio: new FormControl({ value: null, disabled: true }),\n pool: new FormControl({ value: property.pool, disabled: true }),\n boundaryWallHeight: new FormControl({ value: property.boundaryWallHeight, disabled: true }),\n boundaryWallRunning: new FormControl({ value: property.boundaryWallRunning, disabled: true }),\n coverage: new FormControl({ value: property.coverage, disabled: true }),\n bulkCalculation: new FormControl({ value: property.bulkCalculation, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n zones: new FormArray([]),\n buildings: new FormArray([]),\n owners: new FormControl(property.owners),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n });\n const mainTableDataSource = _form.get(\"mainTableDataSource\").value;\n const outTableDataSource = _form.get(\"outTableDataSource\").value;\n const mainItems = [];\n const outItems = [];\n property.buildings.forEach(building => {\n if (building.type === \"Main Building\") {\n mainItems.push(building);\n }\n else {\n outItems.push(building);\n }\n });\n mainTableDataSource.next(mainItems);\n outTableDataSource.next(outItems);\n this.syncMainBuildings(_form);\n this.syncOutBuildings(_form);\n this.calculateTotals(_form);\n return _form;\n }\n calculateTotals(PropertyFormGroup) {\n PropertyFormGroup.get(\"coverage\").setValue(0);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (PropertyFormGroup.get(\"patioCoveredExisting\").value !== null && PropertyFormGroup.get(\"patioCoveredAdded\").value !== null && PropertyFormGroup.get(\"patioOpenExisting\").value !== null && PropertyFormGroup.get(\"patioOpenAdded\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"patioCoveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"patioCoveredAdded\").value;\n const patioOpenExisting = PropertyFormGroup.get(\"patioOpenExisting\").value;\n const patioOpenAdded = PropertyFormGroup.get(\"patioOpenAdded\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n PropertyFormGroup.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n PropertyFormGroup.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = PropertyFormGroup.get(\"mainBuildings\");\n const outbuildings = PropertyFormGroup.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outbuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n PropertyFormGroup.get(\"totalExisting\").setValue(totalExistingCalculated);\n PropertyFormGroup.get(\"totalAdded\").setValue(totalAddedCalculated);\n PropertyFormGroup.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (PropertyFormGroup.get(\"patioCoveredExisting\").value !== null && PropertyFormGroup.get(\"patioCoveredAdded\").value !== null && PropertyFormGroup.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"patioCoveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"patioCoveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + PropertyFormGroup.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n PropertyFormGroup.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationBpamsComponent);\nexport { ViewApplicationLocationBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationBpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current Property Zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static PROPERTY_APPLICATION_DETAILS_LABEL = \"Property application details\";\n static BUILDING_DETAILS_LABEL = \"Building details\";\n static MAIN_BUILDING_LABEL = \"Main building\";\n static OUT_BUILDING_LABEL = \"Outbuilding / additional building\";\n static TOTAL_LABEL = \"Total\";\n static BUILDING_TOTAL_LABEL = \"Building Total\";\n static STOEP_LABEL = \"Patios / stoeps\";\n static MISCELLANEOUS_LABEL = \"Miscellaneous\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static PROPERTY_DESCRIPTION_CONTROL = \"propertyDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"applicationRestrictions\";\n static EXTERNAL_WALLS_CONTROL = \"externalWalls\";\n static INTERNAL_WALLS_CONTROL = \"internalWalls\";\n static ROOFING_CONTROL = \"roofing\";\n static NUMBER_OF_HOUSES_UNITS_CONTROL = \"numberOfHouses\";\n static TOTAL_EXISTING_CONTROL = \"totalExisting\";\n static TOTAL_ADDED_CONTROL = \"totalAdded\";\n static TOTAL_FLOOR_AREA_CONTROL = \"totalFloorArea\";\n // patio\n static COVERED_EXISTING_CONTROL = \"patioCoveredExisting\";\n static COVERED_ADDED_CONTROL = \"patioCoveredAdded\";\n static OPEN_EXISTING_CONTROL = \"patioOpenExisting\";\n static OPEN_ADDED_CONTROL = \"patioOpenAdded\";\n static TOTAL_EXISTING_PATIO_CONTROL = \"totalExistingPatio\";\n static TOTAL_ADDED_PATIO_CONTROL = \"totalAddedPatio\";\n // misc\n static POOL_CONTROL = \"pool\";\n static BOUNDARY_WALL_HEIGHT_CONTROL = \"boundaryWallHeight\";\n static BOUNDARY_WALL_RUNNING_CONTROL = \"boundaryWallRunning\";\n static COVERAGE_CONTROL = \"coverage\";\n static BULK_CALCULATION_CONTROL = \"bulkCalculation\";\n // TODO check:\n static FLOOR_CONTROL_NAME = \"floor\";\n static EXISTING_SIZE_CONTROL_NAME = \"existingSize\";\n static ADDED_SIZE_CONTROL_NAME = \"addedSize\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static EXTERNAL_WALLS_LABEL = \"External walls\";\n static INTERNAL_WALLS_LABEL = \"Internal walls\";\n static ROOFING_LABEL = \"Roofing\";\n static NUMBER_OF_HOUSES_UNITS_LABEL = \"Number of houses / units\";\n static TOTAL_EXISTING_LABEL = \"Total existing (m²)\";\n static TOTAL_ADDED_LABEL = \"Total added (m²)\";\n static TOTAL_FLOOR_AREA_LABEL = \"Total floor area (m²)\";\n // patio\n static COVERED_EXISTING_LABEL = \"Covered - existing (m²)\";\n static COVERED_ADDED_LABEL = \"Covered - added (m²)\";\n static OPEN_EXISTING_LABEL = \"Open - existing (m²)\";\n static OPEN_ADDED_LABEL = \"Open - added (m²)\";\n static TOTAL_EXISTING_PATIO_LABEL = \"Total - existing (m²)\";\n static TOTAL_ADDED_PATIO_LABEL = \"Total - added (m²)\";\n // misc\n static POOL_LABEL = \"Pool (m2)\";\n static BOUNDARY_WALL_HEIGHT_LABEL = \"Boundary wall height (m)\";\n static BOUNDARY_WALL_RUNNING_LABEL = \"Boundary wall running (m)\";\n static COVERAGE_LABEL = \"Coverage (%)\";\n static BULK_CALCULATION_LABEL = \"Bulk calculation (FAR) (%)\";\n static CALCULATIONS_LABEL = \"Calculations\";\n // TODO: Check\n static REMOVE_DIALOG_TEXT = `${SharedConstants.REMOVE_TITLE} building`;\n static FLOOR_LABEL = \"Floor\";\n static EXISTING_SIZE_LABEL = \"Existing Size (m²)\";\n static ADDED_SIZE_LABEL = \"Added Size (m²)\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Building plans graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationProfessionalBodiesBpamsConstants } from \"./view-application-professional-bodies-bpams.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationConstants } from \"../../../shared/view-application.constants\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationProfessionalBodiesBpamsComponent = class ViewApplicationProfessionalBodiesBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRef;\n routerParamsService;\n professionalBodiesForm;\n componentName = \"view-application-professional-bodes\";\n stepHeader;\n markArchitectAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL;\n markArchitectAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markEngineerAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL;\n markEngineerAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markElectricalContractorAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL;\n markElectricalContractorAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n architectFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.ARCHITECT_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n architectDisableFilterBy = true;\n architectDisableEditing = true;\n architectGroups = [];\n architectLabel = ViewApplicationProfessionalBodiesBpamsConstants.ARCHITECT_LABEL;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = true;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = ViewApplicationProfessionalBodiesBpamsConstants.ENGINEER_LABEL;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = true;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesBpamsConstants.ELECTRICAL_CONTRACTOR_LABEL;\n selectedApplicationSubscription;\n selectedModuleNameAsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.listenForRouteParamChange();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"professionalBodiesForm\");\n form.clearValidators();\n this.professionalBodiesForm = form;\n }\n loadMetadata(stepMeta) {\n try {\n this.architectGroups = stepMeta.architectGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.populateProfessionalBodiesForms();\n this.changeDetectorRef.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n handleRouteChange() {\n }\n populateProfessionalBodiesForms() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.architect !== undefined && application.architect !== null && application.architect.length > 0) {\n this.showArchitect = true;\n const architect = application.architect[0];\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(architect);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.architectFormControlName).disable();\n }\n if (application && application.engineer !== undefined && application.engineer !== null && application.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = application.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n }\n if (application && application.electricalContractor !== undefined && application.electricalContractor !== null && application.electricalContractor.length > 0) {\n this.showElectricalContractor = true;\n const electricalContractor = application.electricalContractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n }\n }\n });\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.PROFESSIONAL_BODIES_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationProfessionalBodiesBpamsComponent);\nexport { ViewApplicationProfessionalBodiesBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationProfessionalBodiesBpamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markArchitectAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantDetailsToArchitect\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markEngineerAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantDetailsToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL = \"Are the electrical contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markElectricalContractorAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantDetailsToElectricalContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-burial-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-burial-details-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewBurialDetailsCmConstants } from \"./view-burial-details-cm.constants\";\nimport { SaShortDatePipe } from \"../../../../shared/pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nlet ViewBurialDetailsCmComponent = class ViewBurialDetailsCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n saShortdatePipe;\n routerParamsService;\n burialTypeControl = ViewBurialDetailsCmConstants.BURIAL_TYPE_CONTROL;\n burialTypeLabel = ViewBurialDetailsCmConstants.BURIAL_TYPE_LABEL;\n burialDateControl = ViewBurialDetailsCmConstants.BURIAL_DATE_CONTROL;\n burialDateLabel = ViewBurialDetailsCmConstants.BURIAL_DATE_LABEL;\n burialTypePlaceHolder = ViewBurialDetailsCmConstants.BURIAL_TYPE_PH;\n validationMessages = ViewBurialDetailsCmConstants.VALIDATION_MESSAGES;\n burialDescriptionControl = ViewBurialDetailsCmConstants.DESCRIPTION_CONTROL;\n burialDescriptionLabel = ViewBurialDetailsCmConstants.DESCRIPTION_LABEL;\n title = ViewBurialDetailsCmConstants.STEP_TITLE;\n burialTypes = [];\n burialForm;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, saShortdatePipe, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.saShortdatePipe = saShortdatePipe;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n initForm() {\n this.burialForm = this.aflaModuleStrategyService.form.get(\"burialForm\");\n }\n populateForm(application) {\n this.burialForm.get(this.burialTypeControl).setValue(application.type);\n this.burialForm.get(this.burialDescriptionControl).setValue(application.description);\n this.burialForm.get(this.burialDescriptionControl).disable();\n this.burialForm.get(this.burialTypeControl).disable();\n if (application.burialDate !== undefined && application.burialDate !== null) {\n const dateString = this.saShortdatePipe.transform(application.burialDate);\n this.burialForm.get(this.burialDateControl).setValue(dateString);\n }\n this.burialForm.get(this.burialDateControl).disable();\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.burialTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SaShortDatePipe },\n { type: RouterParamsService }\n ];\n};\nViewBurialDetailsCmComponent = __decorate([\n Component({\n selector: \"app-view-burial-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewBurialDetailsCmComponent);\nexport { ViewBurialDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewBurialDetailsCmConstants {\n static STEP_TITLE = \"Burial details\";\n static BURIAL_TYPE_CONTROL = \"type\";\n static BURIAL_TYPE_LABEL = \"Burial type\";\n static BURIAL_DATE_CONTROL = \"burialDate\";\n static BURIAL_DATE_LABEL = \"Burial date\";\n static BURIAL_TYPE_PH = \"Select burial type\";\n static DESCRIPTION_CONTROL = \"description\";\n static DESCRIPTION_LABEL = \"Description\";\n static VALIDATION_MESSAGES = {\n burialType: {\n required: `Burial type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n burialDate: {\n required: `Burial date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-deceased-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-deceased-details-cm.component.scss?ngResource\";\nimport { DatePipe } from \"@angular/common\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { map, of } from \"rxjs\";\nimport { DeceasedNamesTableHeaderLookup, ViewDeceasedDetailsCmConstant } from \"./view-deceased-details-cm.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { LookupConstants } from \"src/app/shared/constants/lookup.constants\";\nlet ViewDeceasedDetailsCmComponent = class ViewDeceasedDetailsCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n appController;\n changeDetectorRefs;\n aflaModuleStrategyService;\n datePipe;\n selectedApplicationService;\n routerParamsService;\n nameControl = ViewDeceasedDetailsCmConstant.NAME_CONTROL;\n surnameControl = ViewDeceasedDetailsCmConstant.SURNAME_CONTROL;\n startDateControl = ViewDeceasedDetailsCmConstant.START_DATE_CONTROL;\n nameLabel = ViewDeceasedDetailsCmConstant.NAME_LABEL;\n surnameLabel = ViewDeceasedDetailsCmConstant.SURNAME_LABEL;\n startDateLabel = ViewDeceasedDetailsCmConstant.START_DATE_LABEL;\n sexLabel = ViewDeceasedDetailsCmConstant.SEX_LABEL;\n nationalityLabel = ViewDeceasedDetailsCmConstant.NATIONALITY_LABEL;\n maidenNameLabel = ViewDeceasedDetailsCmConstant.MAIDEN_NAME_LABEL;\n placeOfBirthLabel = ViewDeceasedDetailsCmConstant.PALCE_OF_BIRTH_LABEL;\n placeOfDeathLabel = ViewDeceasedDetailsCmConstant.PLACE_OF_DEATH_LABEL;\n provinceOfDeathLabel = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_LABEL;\n identificationTypeLabel = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_LABEL;\n idNumberLabel = ViewDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_LABEL;\n dateOfDeathLabel = ViewDeceasedDetailsCmConstant.DATE_OF_DEATH_LABEL;\n dateOfBirthLabel = ViewDeceasedDetailsCmConstant.DATE_OF_BIRTH_LABEL;\n burialOrderNumberLabel = ViewDeceasedDetailsCmConstant.BURIAL_ORDER_LABEL;\n serialNumenerLabel = ViewDeceasedDetailsCmConstant.SERIAL_NUMBER_LABEL;\n verticalPositionLabel = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_LABEL;\n undertakerLabel = ViewDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_LABEL;\n sexControl = ViewDeceasedDetailsCmConstant.SEX_CONTROL;\n nationalityControl = ViewDeceasedDetailsCmConstant.NATIONALITY_CONTROL;\n maidenNameControl = ViewDeceasedDetailsCmConstant.MAIDEN_NAME_CONTROL;\n placeOfBirthControl = ViewDeceasedDetailsCmConstant.PALCE_OF_BIRTH_CONTROL;\n placeOfDeathControl = ViewDeceasedDetailsCmConstant.PLACE_OF_DEATH_CONTROL;\n provinceOfDeathControl = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_CONTROL;\n identificationTypeControl = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_CONTROL;\n idNumberControl = ViewDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_CONTROL;\n dateOfDeathControl = ViewDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL;\n dateOfBirthControl = ViewDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL;\n burialOrderNumberControl = ViewDeceasedDetailsCmConstant.BURIAL_ORDER_CONTROL;\n serialNumenerControl = ViewDeceasedDetailsCmConstant.SERIAL_NUMBER_CONTROL;\n verticalPositionControl = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_CONTROL;\n undertakerControl = ViewDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_CONTROL;\n validationMessages = ViewDeceasedDetailsCmConstant.VALIDATION_MESSAGES;\n title = ViewDeceasedDetailsCmConstant.DECEASED_DETAILS_TITLE;\n sexPh = ViewDeceasedDetailsCmConstant.SEX_PH;\n nationalityPh = ViewDeceasedDetailsCmConstant.NATIONALITY_PH;\n provinceOfDeathPh = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_PH;\n identityTypePh = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_PH;\n verticalPositionPh = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_PH;\n deceasedForm;\n tableHeader = DeceasedNamesTableHeaderLookup;\n nationalityLookup = LookupConstants.COUNTRIES;\n tableLabel = ViewDeceasedDetailsCmConstant.TABLE_LABEL;\n provinceLookup = LookupConstants.PROVINCE;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList;\n deceasedNameListObservable;\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\",\n };\n getLookupsObservableSubscription;\n getApplicationsSubscription;\n constructor(applicationViewService, appController, changeDetectorRefs, aflaModuleStrategyService, datePipe, selectedApplicationService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n populateForm(application) {\n if (application.deceased.length > 0) {\n application.deceased.forEach((deceased) => {\n this.deceasedForm.get(this.sexControl).setValue(deceased.sex);\n this.deceasedForm.get(this.nationalityControl).disable();\n this.deceasedForm.get(this.nationalityControl).setValue(deceased.nationality);\n this.deceasedForm.get(this.maidenNameControl).disable();\n this.deceasedForm.get(this.maidenNameControl).setValue(deceased.maidenName);\n this.deceasedForm.get(this.placeOfBirthControl).disable();\n this.deceasedForm.get(this.placeOfBirthControl).setValue(deceased.placeOfBirth);\n this.deceasedForm.get(this.placeOfDeathControl).disable();\n this.deceasedForm.get(this.placeOfDeathControl).setValue(deceased.placeOfDeath);\n this.deceasedForm.get(this.provinceOfDeathControl).disable();\n this.deceasedForm.get(this.provinceOfDeathControl).setValue(deceased.provinceOfDeath);\n this.deceasedForm.get(this.identificationTypeControl).disable();\n this.deceasedForm.get(this.identificationTypeControl).setValue(deceased.idType);\n this.deceasedForm.get(this.idNumberControl).disable();\n this.deceasedForm.get(this.idNumberControl).setValue(deceased.idNumber);\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(deceased.dateOfBirth, \"yyyy-MM-dd)\"));\n this.deceasedForm.get(this.dateOfBirthControl).disable();\n this.deceasedForm.get(this.dateOfDeathControl).setValue(this.datePipe.transform(deceased.dateOfDeath, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.dateOfDeathControl).disable();\n this.deceasedForm.get(this.burialOrderNumberControl).disable();\n this.deceasedForm.get(this.burialOrderNumberControl).setValue(deceased.burialOrderNumber);\n this.deceasedForm.get(this.serialNumenerControl).disable();\n this.deceasedForm.get(this.serialNumenerControl).setValue(deceased.serialNo);\n this.deceasedForm.get(this.verticalPositionControl).disable();\n this.deceasedForm.get(this.verticalPositionControl).setValue(deceased.verticalPosition);\n this.deceasedForm.get(this.undertakerControl).disable();\n this.deceasedForm.get(this.undertakerControl).setValue(deceased.undertaker);\n if (deceased.deceasedNames && deceased.deceasedNames.length > 0) {\n this.deceasedForm.get(\"deceasedNames\").setValue(deceased.deceasedNames);\n this.deceasedNameList = deceased.deceasedNames;\n this.intDataSource();\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n }\n loadLookups() {\n this.getLookupsObservableSubscription =\n this.applicationViewService.getLookupsObservable({\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name in ('${this.lookupConst.IdentificationType}','${this.lookupConst.Sex}','${this.lookupConst.VerticalPosition}') and deleted eq false`,\n })\n .subscribe((lookupValues) => {\n const lookup = lookupValues.value;\n lookup.forEach((lp) => {\n if (lp.name === this.lookupConst.IdentificationType)\n this.identificationTypeLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.Sex)\n this.sexLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.VerticalPosition)\n this.verticalPositionLookup.push(JSON.parse(lp.content));\n });\n this.getApplicationDeceasedDetails(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n });\n }\n intDataSource() {\n this.deceasedNameListObservable = of(this.deceasedNameList)\n .pipe(map((resp) => {\n const sch = [];\n resp.forEach(el => {\n sch.push({\n id: el.id,\n name: el.name,\n surname: el.surname,\n startDate: this.datePipe.transform(el.startDate, ViewDeceasedDetailsCmConstant.SHORT_DATE_CONST)\n });\n });\n return sch;\n }));\n }\n getApplicationDeceasedDetails(savedApplication) {\n const params = {\n $expand: \"deceased($expand=deceasedNames)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${savedApplication.moduleId} and deleted eq false`\n };\n this.getApplicationsSubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (application) => {\n const updatedApplication = application.value;\n if (updatedApplication.length > 0) {\n this.populateForm(updatedApplication[0]);\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AflaModuleStrategyService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n};\nViewDeceasedDetailsCmComponent = __decorate([\n Component({\n selector: \"app-view-deceased-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewDeceasedDetailsCmComponent);\nexport { ViewDeceasedDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewDeceasedDetailsCmConstant {\n static PLACEHOLDER_TEXT = SharedConstants.PLACEHOLDER_TEXT;\n static TABLE_LABEL = \"Please capture the name, surname and date when it was changed\";\n static DECEASED_DETAILS_TITLE = \"Deceased details\";\n static NAME_LABEL = \"Name\";\n static SURNAME_LABEL = \"Surname\";\n static START_DATE_LABEL = \"Date name and surname given / date changed\";\n static NAME_CONTROL = \"name\";\n static SURNAME_CONTROL = \"surname\";\n static START_DATE_CONTROL = \"startDate\";\n static ACTION_LABEL = \"Action\";\n static DELETE_ITEM_TITLE = \"Delete deceased name\";\n static DELETE_DECEASED_NAME_CONFIRM = SharedConstants.REMOVE_MESSAGE + \" deceased name(s)?\";\n static SHORT_DATE_CONST = \"YYYY/MM/d\";\n static ADD_DECEASED_NAME_LBEL = \"Add deceased name\";\n static EDIT_DECEASED_NAME_LBEL = \"Edit deceased name\";\n static REMOVE_DECEASED_NAME_LBEL = \"Remove deceased name\";\n ////////////////////////////////////////////////////////////////////////////\n static SEX_LABEL = \"Sex\";\n static NATIONALITY_LABEL = \"Nationality\";\n static MAIDEN_NAME_LABEL = \"Maiden name\";\n static PALCE_OF_BIRTH_LABEL = \"Place of birth\";\n static PLACE_OF_DEATH_LABEL = \"Place of death\";\n static PROVINCE_OF_DEATH_LABEL = \"Province of death\";\n static IDENTITY_TYPE_LABEL = \"Identification type\";\n static ID_PASSPORT_NUMBER_LABEL = \"ID / Passport number\";\n static DATE_OF_BIRTH_LABEL = \"Date of birth\";\n static DATE_OF_DEATH_LABEL = \"Date of death\";\n static BURIAL_ORDER_LABEL = \"Burial order number\";\n static SERIAL_NUMBER_LABEL = \"Serial number\";\n static VERTICAL_POSITION_LABEL = \"Vertical position (m)\";\n static NAME_OF_THE_UNDERTAKER_LABEL = \"Name of undertaker position (Only if no funeral parlour is used)\";\n static SEX_CONTROL = \"sex\";\n static NATIONALITY_CONTROL = \"nationality\";\n static MAIDEN_NAME_CONTROL = \"maidenName\";\n static PALCE_OF_BIRTH_CONTROL = \"placeOfBirth\";\n static PLACE_OF_DEATH_CONTROL = \"placeOfDeath\";\n static PROVINCE_OF_DEATH_CONTROL = \"provinceOfDeath\";\n static IDENTITY_TYPE_CONTROL = \"idType\";\n static ID_PASSPORT_NUMBER_CONTROL = \"idNumber\";\n static DATE_OF_BIRTH_CONTROL = \"dateOfBirth\";\n static DATE_OF_DEATH_CONTROL = \"dateOfDeath\";\n static BURIAL_ORDER_CONTROL = \"burialOrderNumber\";\n static SERIAL_NUMBER_CONTROL = \"serialNo\";\n static VERTICAL_POSITION_CONTROL = \"verticalPosition\";\n static NAME_OF_THE_UNDERTAKER_CONTROL = \"undertaker\";\n /////////////////////////////////////////////////////////////////////////\n static SEX_PH = \"Select sex\";\n static NATIONALITY_PH = \"Select nationality\";\n static PROVINCE_OF_DEATH_PH = \"Select province of death\";\n static IDENTITY_TYPE_PH = \"Select identity type\";\n static VERTICAL_POSITION_PH = \"Select vertical Position\";\n ////////////////////////////////////////////////////////////////////////\n static DATE_CONST = \"yyyy-MM-dd\";\n static VALIDATION_MESSAGES = {\n sex: {\n required: `Sex ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nationality: {\n required: `Nationality ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n identificationType: {\n required: `Identification Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n maidenName: {\n required: `Maiden name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfBirth: {\n required: `Place of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfDeath: {\n required: `Place of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n provinceOfDeath: {\n required: `Province of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idType: {\n sex: ` Identification type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idNumber: {\n required: `ID / Passport number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateOfBirth: {\n required: `Date of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of birth should not be later than today`\n },\n dateOfDeath: {\n required: `Date of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of death should be between date of birth and today`\n },\n burialOrderNumber: {\n required: `Burial order number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n serialNo: {\n required: `Serial Number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n verticalPosition: {\n required: `Vertical position ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n surname: {\n required: `Surname ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n statDate: {\n required: `Date name or surname given / date changed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\nexport var DeceasedNamesTableHeaderEnum;\n(function (DeceasedNamesTableHeaderEnum) {\n DeceasedNamesTableHeaderEnum[\"name\"] = \"name\";\n DeceasedNamesTableHeaderEnum[\"surname\"] = \"Surname\";\n DeceasedNamesTableHeaderEnum[\"StartDate\"] = \"Name given / date changed\";\n})(DeceasedNamesTableHeaderEnum || (DeceasedNamesTableHeaderEnum = {}));\nexport const DeceasedNamesTableHeaderLookup = new Map([\n [DeceasedNamesTableHeaderEnum.name, \"name\"],\n [DeceasedNamesTableHeaderEnum.surname, \"surname\"],\n [DeceasedNamesTableHeaderEnum.StartDate, \"startDate\"],\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-family-member-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-family-member-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ViewApplicationBaseComponent } from \"../../../../view-application/shared/view-application-base/view-application-base.component\";\nimport { ViewFamilyMemberCmConstants } from \"./view-family-member-cm.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewFamilyMemberCmComponent = class ViewFamilyMemberCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRefs;\n routerParamsService;\n familyMemberForm;\n familyMemberGroups = [];\n familyMemberShowGroupsDropdown = false;\n familyMemberDisableAdd = true;\n familyMemberDisableFilterBy = true;\n familyMemberDisableEditing = true;\n familyMemberListLabel = ViewFamilyMemberCmConstants.FAMILY_LABEL;\n familyMemberListControl = ViewFamilyMemberCmConstants.FAMILY_CONTROL;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n }\n ngOnInit() {\n this.getMetadata();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n this.familyMemberGroups = stepMeta.familyGroup;\n this.subscribeToSelectedApplication();\n }\n initForm() {\n this.familyMemberForm = this.aflaModuleStrategyService.form.get(\"familyMemberForm\");\n this.familyMemberForm.reset();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n populateForm(application) {\n if (application && application.appId > 0) {\n this.familyMemberForm.markAllAsTouched();\n }\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n RecipientUtils.setRecipients(application.family, true, familyMemberListControl);\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewFamilyMemberCmComponent = __decorate([\n Component({\n selector: \"app-view-family-member-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewFamilyMemberCmComponent);\nexport { ViewFamilyMemberCmComponent };\n","export class ViewFamilyMemberCmConstants {\n static FAMILY_CONTROL = \"family\";\n static FAMILY_LABEL = \"Family member\";\n static COPY_APPLICANT_TO_FAMILY_LABEL = \"Copy applicant to family\";\n static DUPLICATE_APPLICANT_ERROR_MESSAGE = \"This applicant already exists\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-funeral-parlour-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-funeral-parlour-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationBaseComponent } from \"../../../../view-application/shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateFuneralParlourConstants } from \"../../../../create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour.constant\";\nlet ViewFuneralParlourCmComponent = class ViewFuneralParlourCmComponent extends ViewApplicationBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n recipientService;\n selectedApplicationService;\n appService;\n changeDetectorRefs;\n appControllerService;\n routerParamsService;\n parlourForm = new FormGroup({});\n parlourGroups = [];\n parlourLabel = CreateFuneralParlourConstants.NOTICE_LABEL;\n parlourControl = CreateFuneralParlourConstants.PARLOUR_CONTROL;\n parlourSelectControl = CreateFuneralParlourConstants.PARLOUR_SELECT_CONTROL;\n validationMessages = CreateFuneralParlourConstants.VALIDATION_MESSAGES;\n title = CreateFuneralParlourConstants.TITLE;\n markFuneralParlourAsNotApplicableLabel = CreateFuneralParlourConstants.MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL;\n parlourMetadata;\n disableEditing = true;\n funeralParlourNotApplicableChecked = false;\n funeralParlourNotApplicableCheckboxDisabled = false;\n objectName = \"view-funeral-parlour-details\";\n selectedApplicationFPSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, recipientService, selectedApplicationService, appService, changeDetectorRefs, appControllerService, routerParamsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientService = recipientService;\n this.selectedApplicationService = selectedApplicationService;\n this.appService = appService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.appControllerService = appControllerService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.listenForSelectedApplication();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.parlourMetadata = stepMeta;\n this.parlourGroups = stepMeta.funeralParlourGroup;\n this.listenForSelectedApplication();\n this.changeDetectorRefs.detectChanges();\n }\n handleRouteChange() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationFPSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (selectedApplication) => {\n if (selectedApplication) {\n const selectedFuneralParlour = selectedApplication.funeralParlour;\n if (selectedFuneralParlour && selectedFuneralParlour.length > 0) {\n this.populateForm(selectedApplication);\n }\n else {\n this.disableFields();\n }\n this.syncFuneralParlourNotApplicableCheckbox();\n }\n },\n error: (err) => {\n this.appControllerService.handleServerErrorMessage(this.objectName, err, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.parlourForm = this.aflaModuleStrategyService.form.get(\"funeralParlourForm\");\n this.parlourForm.enable();\n }\n populateForm(application) {\n this.parlourForm.get(this.parlourControl).patchValue(application.funeralParlour[0]);\n this.parlourForm.get(this.parlourSelectControl).patchValue(application.funeralParlourId);\n }\n syncFuneralParlourNotApplicableCheckbox() {\n const funeralParlourNotApplicable = this.selectedApplication.funeralParlourNa;\n if (funeralParlourNotApplicable) {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm.get(this.parlourSelectControl).disable();\n this.parlourForm.get(this.parlourControl).disable();\n this.changeDetectorRefs.markForCheck();\n }\n }\n disableFields() {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm.get(this.parlourSelectControl).disable();\n this.parlourForm.get(this.parlourControl).disable();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: RouterParamsService }\n ];\n};\nViewFuneralParlourCmComponent = __decorate([\n Component({\n selector: \"app-view-funeral-parlour-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewFuneralParlourCmComponent);\nexport { ViewFuneralParlourCmComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsDmConstants } from \"./view-application-details-dm.constants\";\nlet ViewApplicationDetailsDmComponent = class ViewApplicationDetailsDmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsDmConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsDmConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsDmConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsDmConstants.DESCRIPTION_LBL;\n validationMessages = ViewApplicationDetailsDmConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = ViewApplicationDetailsDmConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n getLookupsObservableSubscription;\n selectedApplicationPFSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationPFSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsDmComponent = __decorate([\n Component({\n selector: \"app-view-application-details-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsDmComponent);\nexport { ViewApplicationDetailsDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsDmConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-location-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-location-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewLocationDmConstants } from \"./view-location-dm.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewLocationDmComponent = class ViewLocationDmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewLocationDmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewLocationDmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewLocationDmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewLocationDmConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewLocationDmConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewLocationDmConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewLocationDmConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewLocationDmConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewLocationDmConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewLocationDmConstants.SG_CODE_CONTROL;\n addressControl = ViewLocationDmConstants.ADDRESS_CONTROL;\n ownerControl = ViewLocationDmConstants.OWNER_CONTROL;\n cadastralDescriptionControl = ViewLocationDmConstants.CADASTRAL_DESCRIPTION_CONTROL;\n rateNumberControl = ViewLocationDmConstants.RATE_NUMBER_CONTROL;\n existingUseControl = ViewLocationDmConstants.EXISTING_USE_CONTROL;\n worthyOfPreservationControl = ViewLocationDmConstants.WORTHY_OF_PRESERVATION_CONTROL;\n reasonControl = ViewLocationDmConstants.REASON_CONTROL;\n over60Control = ViewLocationDmConstants.OVER_60_CONTROL;\n amafaPermissionControl = ViewLocationDmConstants.AMAFA_PERMISSION_CONTROL;\n erfNoTextPlaceHolder = ViewLocationDmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewLocationDmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewLocationDmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewLocationDmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewLocationDmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewLocationDmConstants.ADDRESS_TEXT_PLACEHOLDER;\n cadastralDescriptionTextPlaceHolder = ViewLocationDmConstants.CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER;\n rateNumberTextPlaceHolder = ViewLocationDmConstants.RATE_NUMBER_TEXT_PLACEHOLDER;\n existingUseTextPlaceHolder = ViewLocationDmConstants.EXISTING_USE_TEXT_PLACEHOLDER;\n worthyOfPreservationTextPlaceHolder = ViewLocationDmConstants.WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER;\n reasonTextPlaceHolder = ViewLocationDmConstants.REASON_TEXT_PLACEHOLDER;\n over60TextPlaceHolder = ViewLocationDmConstants.OVER_60_TEXT_PLACEHOLDER;\n amafaPermissionTextPlaceHolder = ViewLocationDmConstants.AMAFA_PERMISSION_TEXT_PLACEHOLDER;\n ownerLabel = ViewLocationDmConstants.OWNER_LABEL;\n removePropertyLabel = ViewLocationDmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n dmApplication;\n selectedApplicationDMSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.selectedApplicationDMSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.dmApplication = app;\n if (this.dmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n cadastralDescription: new FormControl(prop.cadastralDescription, [Validators.required]),\n rateNumber: new FormControl(prop.rateNumber, [Validators.required]),\n existingUse: new FormControl(prop.existingUse, [Validators.required]),\n worthyOfPreservation: new FormControl(prop.worthyOfPreservation, [Validators.required]),\n reason: new FormControl(prop.reason, [Validators.required]),\n over60: new FormControl(prop.over60, [Validators.required]),\n amafaPermission: new FormControl(prop.amafaPermission),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.dmApplication.properties && this.dmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.dmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewLocationDmConstants.PROPERTY_LAYER_NAME, true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewLocationDmComponent = __decorate([\n Component({\n selector: \"app-view-location-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewLocationDmComponent);\nexport { ViewLocationDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewLocationDmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static CADASTRAL_DESCRIPTION_CONTROL = \"cadastralDescription\";\n static RATE_NUMBER_CONTROL = \"rateNumber\";\n static EXISTING_USE_CONTROL = \"existingUse\";\n static WORTHY_OF_PRESERVATION_CONTROL = \"worthyOfPreservation\";\n static REASON_CONTROL = \"reason\";\n static OVER_60_CONTROL = \"over60\";\n static AMAFA_PERMISSION_CONTROL = \"amafaPermission\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER = \"Cadastral description\";\n static RATE_NUMBER_TEXT_PLACEHOLDER = \"Rate number\";\n static EXISTING_USE_TEXT_PLACEHOLDER = \"Existing use\";\n static WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER = \"Is the Building listed as worthy of preservation in Appendix 7 of the Town Planning Regulations?\";\n static REASON_TEXT_PLACEHOLDER = \"Reason for demolition\";\n static OVER_60_TEXT_PLACEHOLDER = \"Is the Building over 60 Years old?\";\n static AMAFA_PERMISSION_TEXT_PLACEHOLDER = \"Has permission to demolish been obtained from AMAFA?\";\n static NO_APPLICANT_AVAILABLE = \"There is no applicant available\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Demolition management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n cadastralDescription: {\n required: `Cadastral description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n rateNumber: {\n required: `Rate number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingUse: {\n required: `Existing use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n worthyOfPreservation: {\n required: `Worthy of preservation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reason: {\n required: `Reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n over60: {\n required: `Over 60 ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n amafaPermission: {\n required: `Amafa permission ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-ec.component.scss?ngResource\";\nimport { ViewApplicationDetailsEcConstants } from \"./view-application-details-ec.constants\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet ViewApplicationDetailsEcComponent = class ViewApplicationDetailsEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n // ViewApplicationDetailsEcConstants\n // Labels\n descriptionLabel = ViewApplicationDetailsEcConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LABEL;\n whoIsApplyingLabel = ViewApplicationDetailsEcConstants.WHO_IS_APPLYING_LABEL;\n descriptionOfProposedWorkLabel = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_LABEL;\n descriptionOfProposedWorkNote = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_NOTE;\n phaseLabel = ViewApplicationDetailsEcConstants.PHASE_LABEL;\n conventionalPrepaidLabel = ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LABEL;\n estimatedCapacityLabel = ViewApplicationDetailsEcConstants.ESTIMATED_CAPACITY_LABEL;\n // Form controls\n descriptionFormControlName = ViewApplicationDetailsEcConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsEcConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicantTypeFormControlName = ViewApplicationDetailsEcConstants.APPLICANT_TYPE_FORM_CONTROL_NAME;\n descriptionOfProposedWorkFormControlName = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME;\n phaseFormControlName = ViewApplicationDetailsEcConstants.PHASE_FORM_CONTROL_NAME;\n paymentTypeControlName = ViewApplicationDetailsEcConstants.PAYMENT_TYPE_CONTROL_NAME;\n estimatedCapacityControlName = ViewApplicationDetailsEcConstants.ESTIMATED_CAPACITY_FORM_CONTROL_NAME;\n // constants\n validationMessages = ViewApplicationDetailsEcConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n applicantTypes = [];\n phases = [];\n conventionalPrepaidOptions = [];\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.getMetadata();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n console.log(\"application\", application);\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n const applicationType = this.applicationTypes.find(x => x.code === application.applicationType);\n const applicantType = this.applicantTypes.find(x => x.code === application.applicantType);\n const phase = this.phases.find(x => x.code === application.phase);\n const paymentType = this.conventionalPrepaidOptions.find(x => x.code === application.paymentType);\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(applicationType);\n this.detailsForm.get(this.applicantTypeFormControlName).setValue(applicantType);\n this.detailsForm.get(this.descriptionOfProposedWorkFormControlName).setValue(application.descriptionOfProposedWork);\n this.detailsForm.get(this.phaseFormControlName).setValue(phase);\n this.detailsForm.get(this.estimatedCapacityControlName).setValue(application.estimatedCapacity);\n this.detailsForm.get(this.paymentTypeControlName).setValue(paymentType);\n }\n loadLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appController.selectedModuleID}) and ((name eq '${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}' and deleted eq false))`\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationDetailsEcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const applicantTypes = [];\n const phases = [];\n const conventionalPrepaid = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === `${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`) {\n applicantTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`) {\n phases.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`) {\n conventionalPrepaid.push(JSON.parse(item.content));\n }\n });\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`, applicantTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`, phases);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`, conventionalPrepaid);\n this.applicationTypes = applicationTypes;\n this.applicantTypes = applicantTypes;\n this.phases = phases;\n this.conventionalPrepaidOptions = conventionalPrepaid;\n this.populateForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsEcComponent = __decorate([\n Component({\n selector: \"app-view-application-details-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsEcComponent);\nexport { ViewApplicationDetailsEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsEcConstants {\n // Labels\n static STEP_TITLE = \"Application details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Application description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static WHO_IS_APPLYING_LABEL = \"Who is applying\";\n static DESCRIPTION_OF_PROPOSED_WORK_LABEL = \"Description of proposed work\";\n static DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME = \"descriptionOfProposedWork\";\n static DESCRIPTION_OF_PROPOSED_WORK_NOTE = \"Note: For farms and agricultural holdings, fill this description as per title deed is required\";\n static PHASE_LABEL = \"Phase\";\n static CONVENTIONAL_PREPAID_LABEL = \"Conventional prepaid\";\n static ESTIMATED_CAPACITY_LABEL = \"Estimated capacity of electrical installation (Amp/kVa)\";\n // Controls\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICANT_TYPE_FORM_CONTROL_NAME = \"applicantType\";\n static PHASE_FORM_CONTROL_NAME = \"phase\";\n static PAYMENT_TYPE_CONTROL_NAME = \"paymentType\";\n static ESTIMATED_CAPACITY_FORM_CONTROL_NAME = \"estimatedCapacity\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static APPLICANT_TYPE_LOOKUP_NAME = \"ApplicantType\";\n static PHASE_LOOKUP_NAME = \"Phase\";\n static CONVENTIONAL_PREPAID_LOOKUP_NAME = \"ConventionalPrepaid\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, descriptionOfProposedWork: {\n required: `Description of proposed work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, phase: {\n required: `Phase ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, conventionalPrepaid: {\n required: `Conventional prepaid ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, estimatedCapacity: {\n required: `Estimated capacity ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationLocationEcConstants } from \"./view-application-location.ec.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationEcComponent = class ViewApplicationLocationEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n // controls\n erfNoControl = ViewApplicationLocationEcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationEcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationEcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationEcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationEcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationEcConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationEcConstants.OWNER_CONTROL;\n buildingNameControl = ViewApplicationLocationEcConstants.BUILDING_NAME_CONTROL;\n floorControl = ViewApplicationLocationEcConstants.FLOOR_CONTROL;\n // Labels and placeholders\n descriptionLabel1 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewApplicationLocationEcConstants.VALIDATION_MESSAGES;\n erfNoTextPlaceHolder = ViewApplicationLocationEcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationEcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationEcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationEcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationEcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationEcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewApplicationLocationEcConstants.OWNER_LABEL;\n removePropertyLabel = ViewApplicationLocationEcConstants.REMOVE_PROPERTY_LABEL;\n ownerListLabel = ViewApplicationLocationEcConstants.OWNER_LIST_LABEL;\n buildingNamePlaceHolder = ViewApplicationLocationEcConstants.BUILDING_NAME_LABEL;\n floorPlaceholder = ViewApplicationLocationEcConstants.FLOOR_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n ecApplication;\n propertiesForm;\n active;\n selectedApplicationECSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.ecApplication = this.selectedApplication;\n this.initForm();\n this.checkSave();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.ecApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom),\n buildingName: new FormControl(prop.buildingName, [Validators.required]),\n floor: new FormControl(prop.floor, [Validators.required]),\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.ecApplication.properties && this.ecApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n return propertyFoemGroup;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Electrical connection graphics\", true);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n checkSave() {\n this.selectedApplicationECSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.ecApplication = app;\n if (this.ecApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationEcComponent = __decorate([\n Component({\n selector: \"app-view-application-location-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationEcComponent);\nexport { ViewApplicationLocationEcComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationLocationEcConstants {\n // controls\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static BUILDING_NAME_CONTROL = \"buildingName\";\n static FLOOR_CONTROL = \"floor\";\n // Labels and placeholders\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static OWNER_LIST_LABEL = \"Owner\";\n static BUILDING_NAME_LABEL = \"Building name\";\n static FLOOR_LABEL = \"Floor\";\n // Messages\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, buildingName: {\n required: `Building name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationProfessionalBodiesEcConstants } from \"./view-application-professional-bodies-ec.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nlet ViewApplicationProfessionalBodiesEcComponent = class ViewApplicationProfessionalBodiesEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = ViewApplicationProfessionalBodiesEcConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = ViewApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = ViewApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToElectricalContractorFormControlName = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = ViewApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = ViewApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesEcConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showEngineer = false;\n showElectricalContractor = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = ViewApplicationProfessionalBodiesEcConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.initialiseDefaultValues();\n }\n loadMetadata(stepMeta) {\n try {\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.populateProfessionalBodiesForms();\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.professionalBodiesForm = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n }\n populateProfessionalBodiesForms() {\n this.populateEngineer(this.selectedApplication);\n this.populateElectricalContractor(this.selectedApplication);\n }\n handleRouteChange() {\n }\n populateEngineer(selectedApplication) {\n if (selectedApplication.engineer && selectedApplication.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = selectedApplication.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n }\n else {\n this.showEngineer = false;\n }\n }\n populateElectricalContractor(selectedApplication) {\n if (selectedApplication.electricalContractor && selectedApplication.electricalContractor.length > 0) {\n this.showElectricalContractor = true;\n const electricalContractor = selectedApplication.electricalContractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n }\n else {\n this.showElectricalContractor = false;\n }\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesEcComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationProfessionalBodiesEcComponent);\nexport { ViewApplicationProfessionalBodiesEcComponent };\n","export class ViewApplicationProfessionalBodiesEcConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Electrical engineer's details\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to electrical engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToElectricalEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Electrical contractor's details\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Electrical engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"electricalEngineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsItamsConstants } from \"./view-application-details-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationDetailsItamsComponent = class ViewApplicationDetailsItamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n // Labels\n descriptionLabel = ViewApplicationDetailsItamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LABEL;\n tradingGoodsLabel = ViewApplicationDetailsItamsConstants.TRADING_GOODS_LABEL;\n tradingGoodsDescriptionLabel = ViewApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_LABEL;\n previousApplicationReferenceNumberLabel = ViewApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL;\n // Form controls\n tradeGoodsFormArray = ViewApplicationDetailsItamsConstants.TRADING_GOODS_FORM_ARRAY_NAME;\n descriptionFormControlName = ViewApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsDescriptionFormControlName = ViewApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME;\n previousApplicationReferenceNumberFormControlName = ViewApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME;\n referenceNumberFormControlName = ViewApplicationDetailsItamsConstants.REFERENCE_NUMBER_CONTROL_NAME;\n tradeGoodsFormControlName = ViewApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n // constants\n validationMessages = ViewApplicationDetailsItamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n tradingGoods = [];\n showPreviousApplicationReferenceNumberField = false;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n if (this.aflaModuleStrategyService.lookups.has(ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n if (this.aflaModuleStrategyService.lookups.has(ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME)) {\n this.tradingGoods = this.aflaModuleStrategyService.lookups.get(ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n }\n this.subscribeToSelectedApplication();\n }\n else {\n this.getLookups();\n }\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n getLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appControllerService.selectedModuleID}) and ((name eq '${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}' and deleted eq false))`\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const tradingGoods = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME?.trim().toLowerCase()}`) {\n tradingGoods.push(JSON.parse(item.content));\n }\n });\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}`, tradingGoods);\n this.applicationTypes = applicationTypes;\n this.tradingGoods = tradingGoods;\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.setSelectedApplicationType(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n const tradingGoodsFormArray = this.getTradingGoods();\n tradingGoodsFormArray.clear();\n application.tradeGoods.forEach(savedTradeGood => {\n this.tradingGoods.forEach(tradeGoodLookupOption => {\n if (tradeGoodLookupOption.value === savedTradeGood.tradeGoods) {\n const tradingGroupForm = new FormGroup({\n id: new FormControl(savedTradeGood.id),\n applicationId: new FormControl(savedTradeGood.applicationId),\n tradeGoods: new FormControl({ value: savedTradeGood.tradeGoods, disabled: true }),\n tradingGoodsDescription: new FormControl({ value: savedTradeGood.description, disabled: true }),\n });\n tradingGoodsFormArray.push(tradingGroupForm);\n }\n });\n });\n if (this.showPreviousApplicationReferenceNumberField) {\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n }\n this.detailsForm.get(this.referenceNumberFormControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberFormControlName).disable();\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).disable();\n }\n setSelectedApplicationType(selectedApplicationType) {\n const previousApplicationReferenceNumberFormControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n previousApplicationReferenceNumberFormControl.addValidators(Validators.required);\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = true;\n }\n else {\n previousApplicationReferenceNumberFormControl.clearValidators();\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = false;\n }\n // this.changeDetectorRef.detectChanges();\n }\n getTradingGoods() {\n return this.detailsForm.get(\"tradeGoods\");\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationDetailsItamsComponent);\nexport { ViewApplicationDetailsItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsItamsConstants {\n // Labels\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static TRADING_GOODS_LABEL = \"Trading goods\";\n static TRADING_GOODS_DESCRIPTION_LABEL = \"Trading goods description\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL = \"Previous application reference number\";\n // Controls\n static TRADING_GOODS_FORM_ARRAY_NAME = \"tradeGoods\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME = \"tradingGoodsDescription\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME = \"previousReferenceNumber\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static TRADING_GOODS_CONTROL_NAME = \"tradeGoods\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static TRADING_GOODS_LOOKUP_NAME = \"TradingGoods\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoods: {\n required: `Trading goods ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoodsDescription: {\n required: `Trading goods description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationLocationItamsConstants } from \"./view-application-location-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationItamsComponent = class ViewApplicationLocationItamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n baysForm;\n validationMessages = ViewApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n addressControl = ViewApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = ViewApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = ViewApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n geometryControl = ViewApplicationLocationItamsConstants.GEOMETRY_CONTROL;\n baysFormGroupName = ViewApplicationLocationItamsConstants.BAYS_FORM_GROUP_NAME;\n centroidFromControlName = ViewApplicationLocationItamsConstants.CENTROID_CONTROL;\n addressTextPlaceHolder = ViewApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = ViewApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n baySizeTextPlaceHolder = ViewApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeBayLabel = ViewApplicationLocationItamsConstants.REMOVE_BAY_LABEL;\n baysControl = ViewApplicationLocationItamsConstants.BAYS_CONTROL;\n applicationLoaded = false;\n application;\n mapComponent;\n isMapLoaded = false;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.listenForRouteParamChange();\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = false;\n }\n getBays() {\n if (this.baysForm) {\n return this.baysForm.get(this.baysControl);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n handleRouteChange() {\n }\n initForm() {\n this.baysForm = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.bays && this.application.bays.length > 0) {\n if (!this.getBays()) {\n return;\n }\n else {\n this.getBays().clear();\n const baysFormArray = this.getBays();\n this.selectedApplication?.bays?.sort((a, b) => (b?.id - a?.id));\n this.application.bays.forEach((bay) => {\n // create form groups for each bay\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(bay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newBayFormGroup = this.createFormGroup(bay, geom);\n this.setTrueCentroid(geometryArc, newBayFormGroup, baysFormArray);\n this.syncMapGeometries();\n });\n }\n }\n }\n createFormGroup(savedBay, geom) {\n return new FormGroup({\n id: new FormControl(savedBay.id),\n bay: new FormControl(savedBay),\n address: new FormControl(savedBay.address, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl(savedBay.bayNumber),\n baySize: new FormControl(savedBay.baySize),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n setTrueCentroid(geometryArc, newBayFormGroup, bayFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newBayFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n bayFormArray.push(newBayFormGroup);\n this.active = bayFormArray.length - 1;\n this.disableBayControls(bayFormArray.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disableBayControls(bayIndex) {\n const bayControl = this.getBays().controls[bayIndex];\n bayControl.get(this.addressControl).disable();\n bayControl.get(this.bayNumberControl).disable();\n bayControl.get(this.baySizeControl).disable();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getBays().controls.forEach(item => {\n const geom = item.get(this.geometryControl).value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationItamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationItamsComponent);\nexport { ViewApplicationLocationItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationItamsConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_BAY_LABEL = \"Remove bay\";\n static LAYER_REF = \"ITAMS graphics\";\n static BAY_REQUIRED = \"Please select a bay before continuing with the create application process\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static ADDRESS_CONTROL = \"address\";\n static BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\n static GEOMETRY_CONTROL = \"geometry\";\n static CENTROID_CONTROL = \"centroid\";\n static BAYS_CONTROL = \"bays\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static BAY_SIZE_TEXT_PLACEHOLDER = \"Bay size\";\n static DUPLICATE_MESSAGE = \"The selected bay has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, bayNumber: {\n required: `Bay number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, baySize: {\n required: `Bay size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-stakeholders-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-stakeholders-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { ViewApplicationStakeholdersItamsConstants } from \"./view-application-stakeholders-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet ViewApplicationStakeholdersItamsComponent = class ViewApplicationStakeholdersItamsComponent extends ViewApplicationBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n recipientService;\n applicationViewService;\n changeDetectorRefs;\n routerParamsService;\n tradersForm;\n disableTraderRecipientFilter = true;\n traderConfigurableLabel = \"Trader\";\n tradersFormControlName = ViewApplicationStakeholdersItamsConstants.TRADERS_CONTROL_NAME;\n traderDisableAddButton = true;\n traderRecipientGroups = [];\n traderDisableEditButton = true;\n traderDisableDeleteButton = true;\n stepHeader;\n selectedModuleNameAsObservableSubscription;\n getRecipientsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, recipientService, applicationViewService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.recipientService = recipientService;\n this.applicationViewService = applicationViewService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedModuleName();\n this.getTraders();\n }\n loadMetadata(stepMeta) {\n this.traderRecipientGroups = stepMeta.traderGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getTradersControl() {\n return this.tradersForm.get(this.tradersFormControlName);\n }\n handleRouteChange() {\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationCreateService.selectedModuleNameAsObservable.subscribe(() => {\n const header = `${ViewApplicationStakeholdersItamsConstants.STAKEHOLDERS_HEADER}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRefs.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(ViewApplicationStakeholdersItamsConstants.TRADERS_FORM_GROUP_NAME);\n this.tradersForm = form;\n }\n getTraders() {\n const params = {\n $filter: `(jobId eq ${this.jobId} and moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false and groups/any(c: c/groupName eq 'Other')) or (jobId eq ${this.jobId} and moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false and groups/any(c: c/groupName eq 'Trader'))`,\n $expand: `groups`\n };\n this.getRecipientsObservableSubscription = this.recipientService.getRecipientsObservable(params).subscribe({\n next: (recipientArray) => {\n this.onGetTradersCompleted(recipientArray);\n this.changeDetectorRefs.detectChanges();\n }, error: err => {\n this.appControllerService.handleServerErrorMessage(\"traders\", err, CRUDOperation.Get);\n }\n });\n }\n onGetTradersCompleted(recipientArray) {\n if (recipientArray && recipientArray.length > 0) {\n const tradersControl = this.tradersForm.get(this.tradersFormControlName);\n RecipientUtils.setRecipients(recipientArray, true, tradersControl);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: RecipientService },\n { type: ApplicationViewService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationStakeholdersItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-stakeholders-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationStakeholdersItamsComponent);\nexport { ViewApplicationStakeholdersItamsComponent };\n","export class ViewApplicationStakeholdersItamsConstants {\n static TRADERS_CONTROL_NAME = \"traders\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static STAKEHOLDERS_HEADER = \"Traders\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { PropertyAndLeaseService } from \"../../../../shared/services/modules/property-and-lease.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsPlamsConstants } from \"./view-application-details-plams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { DatePipe } from \"@angular/common\";\nlet ViewApplicationDetailsPlamsComponent = class ViewApplicationDetailsPlamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n datePipe;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n propertyAndLeaseService;\n saShortDatePipe;\n routerParamsService;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionLabel = ViewApplicationDetailsPlamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsPlamsConstants.APPLICATION_TYPE_LABEL;\n leaseLabel = ViewApplicationDetailsPlamsConstants.LEASE_LABEL;\n drawPolyonLabel = ViewApplicationDetailsPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = ViewApplicationDetailsPlamsConstants.POLYGON_DRAWN_LABEL;\n leaseTypeLabel = ViewApplicationDetailsPlamsConstants.LEASE_TYPE_LABEL;\n leaseReasonTypeLabel = ViewApplicationDetailsPlamsConstants.LEASE_REASON_LABEL;\n leaseUseLabel = ViewApplicationDetailsPlamsConstants.LEASE_USE_LABEL;\n leaseRentalAgreementLabel = ViewApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_LABEL;\n leaseStartDateLabel = ViewApplicationDetailsPlamsConstants.LEASE_START_DATE_LABEL;\n leaseEndDateLabel = ViewApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_LABEL;\n leaseContractNumberLabel = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_NUMBER_LabeL;\n leaseAccountNumberLabel = ViewApplicationDetailsPlamsConstants.LEASE_ACCOUNT_NUMBER_LabeL;\n leaseContractEscalationLabel = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_ESCALLATION_LabeL;\n leasePeriodLabel = ViewApplicationDetailsPlamsConstants.LEASE_PERIOD_LabeL;\n leaseNoticePeriodLabel = ViewApplicationDetailsPlamsConstants.LEASE_NOTICE_PERIOD_DATE_LabeL;\n lesseeTypeTypeLabel = ViewApplicationDetailsPlamsConstants.LESSEE_TYPE_LABEL;\n lesseeLabel = ViewApplicationDetailsPlamsConstants.LESSEE_LABEL;\n alienationLabel = ViewApplicationDetailsPlamsConstants.ALIENATION_LABEL;\n saleAmountLabel = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_LABEL;\n dateofDeedTransferLabel = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_LABEL;\n evaluationAmountLabel = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_LABEL;\n acquisitionLabel = ViewApplicationDetailsPlamsConstants.ACQUISITION_LABEL;\n buyerLabel = ViewApplicationDetailsPlamsConstants.BUYER_LABEL;\n sellerLabel = ViewApplicationDetailsPlamsConstants.SELLER_LABEL;\n referenceNumberLabel = ViewApplicationDetailsPlamsConstants.REFERENCE_NUMBER_LABEL;\n descriptionFormControlName = ViewApplicationDetailsPlamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsPlamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n leaseTypeFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_TYPE_FORM_CONTROL_NAME;\n leaseReasonFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_REASON_FORM_CONTROL_NAME;\n leaseUseFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_USE_FORM_CONTROL_NAME;\n leaseRentalAgreementFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME;\n leaseStartDateFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_START_DATE_FORM_CONTROL_NAME;\n leaseEndDateFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_CONTROL_NAME;\n leaseContractNumberFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME;\n leaseAccountNumberFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME;\n leaseContractEscalationFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME;\n leasePeriodFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_PERIOD_FORM_CONTROL_NAME;\n leaseNoticePeriodFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME;\n lesseeTypeFormControlName = ViewApplicationDetailsPlamsConstants.LESSEE_TYPE_FORM_CONTROL_NAME;\n lesseeFormControlName = ViewApplicationDetailsPlamsConstants.LESSEE_FORM_CONTROL_NAME;\n saleAmountAlienationFormControlName = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n dateofDeedAlienationTransferFormControlName = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME;\n evaluationAmountAlienationFormControlName = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n buyerFormControlName = ViewApplicationDetailsPlamsConstants.BUYER_FORM_CONTROL_NAME;\n saleAmountFormControlName = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_FORM_CONTROL_NAME;\n dateofDeedTransferFormControlName = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME;\n evaluationAmountFormControlName = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_FORM_CONTROL_NAME;\n sellerFormControlName = ViewApplicationDetailsPlamsConstants.SELLER_FORM_CONTROL_NAME;\n referenceNumberControlName = ViewApplicationDetailsPlamsConstants.REFERENCE_NUMBER_FORM_CONTROL_NAME;\n leaseAreaDrawn = false;\n applicationTypes = [];\n leaseTypes = [];\n lesseeTypes = [];\n lesseeDisableFilterBy = true;\n lesseeDisableAdd = true;\n lesseeDisableDelete = true;\n lesseeDisableEditing = true;\n lesseeShowGroupsDropdown = true;\n lesseeGroups = [];\n lesseeListLabel = \"Lessee\";\n buyerDisableFilterBy = true;\n buyerDisableAdd = true;\n buyerDisableDelete = true;\n buyerDisableEditing = true;\n buyerShowGroupsDropdown = true;\n buyerGroups = [];\n buyerListLabel = \"Buyer\";\n sellerDisableFilterBy = true;\n sellerDisableAdd = true;\n sellerDisableDelete = true;\n sellerDisableEditing = true;\n sellerShowGroupsDropdown = true;\n sellerGroups = [];\n sellerListLabel = \"Seller\";\n fullApplicationCheckRequired = false;\n requiredClass = SharedConstants.CLASS_REQUIRED_TEXT;\n requiredText = SharedConstants.REQUIRED_TEXT_INDICATOR;\n descriptionPlaceholder = \"Enter description\";\n inputID = SharedConstants.CLASS_DESCRIPTION_TEXT;\n applicationType = null;\n jobId = null;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n getLesseesObservableSubscription;\n getSellersObservableSubscription;\n propertyAndLeaseServiceSubscription;\n constructor(applicationViewService, datePipe, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, saShortDatePipe, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.datePipe = datePipe;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.propertyAndLeaseService = propertyAndLeaseService;\n this.saShortDatePipe = saShortDatePipe;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n this.initForm();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.lesseeGroups = stepMeta.lesseeGroup;\n this.buyerGroups = stepMeta.buyerGroup;\n this.sellerGroups = stepMeta.sellerGroup;\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'LeaseType' or name eq 'LesseeType')`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.leaseTypes = [];\n this.lesseeTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LeaseType\") {\n this.leaseTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LesseeType\") {\n this.lesseeTypes.push(JSON.parse(item.content));\n }\n });\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.jobId = application.jobId;\n this.leaseAreaDrawn = false;\n // checks the application has application details set\n this.applicationType = application.applicationType;\n this.applicationTypes.forEach(item => {\n if (item.value === application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n if (this.applicationType === \"Alienation\") {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValue(application.saleAmount);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).disable();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValue(application.evaluationAmount);\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).disable();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValue(this.saShortDatePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).disable();\n this.getBuyers(application.jobId);\n }\n if (this.applicationType === \"Lease\") {\n this.leaseTypes.forEach(item => {\n if (item.value === application.leaseType) {\n this.detailsForm.get(this.leaseTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.leaseTypeFormControlName).disable();\n this.detailsForm.get(this.leaseReasonFormControlName).setValue(application.leaseReason);\n this.detailsForm.get(this.leaseReasonFormControlName).disable();\n this.detailsForm.get(this.leaseUseFormControlName).setValue(application.leaseUse);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValue(application.leaseRentalAgreementAmount);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValue(this.datePipe.transform(application.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseEndDateFormControlName).setValue(this.datePipe.transform(application.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseUseFormControlName).disable();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).disable();\n this.detailsForm.get(this.leaseStartDateFormControlName).disable();\n this.detailsForm.get(this.leaseEndDateFormControlName).disable();\n this.detailsForm.get(this.leaseContractNumberFormControlName).setValue(application.leaseContractNumber);\n this.detailsForm.get(this.leaseAccountNumberFormControlName).setValue(application.leaseAccountNumber);\n this.detailsForm.get(this.leaseContractEscalationFormControlName).setValue(application.leaseContractEscalation);\n this.detailsForm.get(this.leasePeriodFormControlName).setValue(application.leasePeriod);\n this.detailsForm.get(this.leaseNoticePeriodFormControlName).setValue(application.leaseNoticePeriod);\n this.detailsForm.get(this.leaseContractNumberFormControlName).disable();\n this.detailsForm.get(this.leaseAccountNumberFormControlName).disable();\n this.detailsForm.get(this.leaseContractEscalationFormControlName).disable();\n this.detailsForm.get(this.leasePeriodFormControlName).disable();\n this.detailsForm.get(this.leaseNoticePeriodFormControlName).disable();\n this.lesseeTypes.forEach(item => {\n if (item.value === application.leaseLesseeType) {\n this.detailsForm.get(this.lesseeTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.lesseeTypeFormControlName).disable();\n this.leaseAreaDrawn = application.leaseAreas.length > 0 ? true : false;\n this.getLessees(application.jobId);\n }\n if (this.applicationType === \"Acquisition\") {\n this.detailsForm.get(this.saleAmountFormControlName).setValue(application.saleAmount);\n this.detailsForm.get(this.saleAmountFormControlName).disable();\n this.detailsForm.get(this.evaluationAmountFormControlName).setValue(application.evaluationAmount);\n this.detailsForm.get(this.evaluationAmountFormControlName).disable();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValue(this.saShortDatePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.dateofDeedTransferFormControlName).disable();\n this.getSellers(application.jobId);\n }\n }\n getLessees(jobId) {\n this.getLesseesObservableSubscription = this.propertyAndLeaseService\n .getLesseesObservable(jobId)\n .subscribe({\n next: (response) => this.onGetLesseesCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLesseesCompleted(response) {\n if (response && response.value.length > 0) {\n const lesseeControl = this.detailsForm.get(this.lesseeFormControlName);\n RecipientUtils.setRecipients(response.value, true, lesseeControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getSellers(jobId) {\n this.getSellersObservableSubscription = this.propertyAndLeaseService\n .getSellersObservable(jobId)\n .subscribe({\n next: (response) => this.onGetSellersCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetSellersCompleted(response) {\n if (response && response.value.length > 0) {\n const sellerControl = this.detailsForm.get(this.sellerFormControlName);\n RecipientUtils.setRecipients(response.value, true, sellerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getBuyers(jobId) {\n this.propertyAndLeaseServiceSubscription = this.propertyAndLeaseService\n .getBuyersObservable(jobId)\n .subscribe({\n next: (response) => this.onGetBuyersCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetBuyersCompleted(response) {\n if (response && response.value.length > 0) {\n const buyerControl = this.detailsForm.get(this.buyerFormControlName);\n RecipientUtils.setRecipients(response.value, true, buyerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: DatePipe },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: PropertyAndLeaseService },\n { type: DatePipe },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsPlamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsPlamsComponent);\nexport { ViewApplicationDetailsPlamsComponent };\n","export class ViewApplicationDetailsPlamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static LEASE_LABEL = \"Lease details\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the location tab.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static LEASE_TYPE_LABEL = \"Lease type\";\n static LEASE_REASON_LABEL = \"Lease reason\";\n static LEASE_USE_LABEL = \"What will the lease be used for?\";\n static LEASE_RENTAL_AGREEMENT_LABEL = \"Lease rental agreement amount (p/m)\";\n static LEASE_START_DATE_LABEL = \"Lease start date\";\n static LEASE_END_DATE_FORM_LABEL = \"Lease end date\";\n static LEASE_CONTRACT_NUMBER_LabeL = \"Lease contract number\";\n static LEASE_ACCOUNT_NUMBER_LabeL = \"Lease account number\";\n static LEASE_COMMENTS_LabeL = \"Lease comments\";\n static LEASE_CONTRACT_ESCALLATION_LabeL = \"Lease contract escalation\";\n static LEASE_PERIOD_LabeL = \"Lease period\";\n static LEASE_NOTICE_PERIOD_DATE_LabeL = \"Lease notice period\";\n static LEASE_STATUS_ACCORDING_TO_COUNCIL_LabeL = \"Lease status according to council\";\n static LESSEE_LABEL = \"Lessee\";\n static SELLER_LABEL = \"Seller\";\n static BUYER_LABEL = \"Buyer\";\n static LESSEE_TYPE_LABEL = \"Lessee type\";\n static ALIENATION_LABEL = \"Alienation details\";\n static SALE_AMOUNT_LABEL = \"Sale amount (R)\";\n static DATE_OF_DEED_TRANSFER_LABEL = \"Date of deed transfer\";\n static EVALUATION_AMOUNT_LABEL = \"Evaluation amount\";\n static ACQUISITION_LABEL = \"Acquisition details\";\n static COPY_APPLICANT_TO_LESSEE_LABEL = \"Copy applicant to lessee\";\n static COPY_APPLICANT_TO_BUYER_LABEL = \"Copy applicant to buyer\";\n static COPY_APPLICANT_TO_SELLER_LABEL = \"Copy applicant to seller\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static TRANSFERRING_ATTORNEY_LABEL = \"Transferring attorney\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static LEASE_TYPE_FORM_CONTROL_NAME = \"leaseType\";\n static LEASE_REASON_FORM_CONTROL_NAME = \"leaseReason\";\n static LEASE_USE_FORM_CONTROL_NAME = \"leaseUse\";\n static LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME = \"leaseRentalAgreementAmount\";\n static LEASE_START_DATE_FORM_CONTROL_NAME = \"leaseStartDate\";\n static LEASE_END_DATE_FORM_CONTROL_NAME = \"leaseEndDate\";\n static LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME = \"leaseContractNumber\";\n static LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"leaseAccountNumber\";\n static LEASE_COMMENTS_FORM_CONTROL_NAME = \"leaseComments\";\n static LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME = \"leaseContractEscalation\";\n static LEASE_PERIOD_FORM_CONTROL_NAME = \"leasePeriod\";\n static LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME = \"leaseNoticePeriod\";\n static LEASE_STATUS_ACCORDING_TO_COUNCIL_FORM_CONTROL_NAME = \"leaseStatusAccordingToCouncilResolution\";\n static LESSEE_TYPE_FORM_CONTROL_NAME = \"lesseeType\";\n static LESSEE_FORM_CONTROL_NAME = \"lesseeRecipient\";\n static SALE_AMOUNT_FORM_CONTROL_NAME = \"saleAmount\";\n static DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME = \"dateOfDeedTransfer\";\n static EVALUATION_AMOUNT_FORM_CONTROL_NAME = \"evaluationAmount\";\n static BUYER_FORM_CONTROL_NAME = \"buyerRecipient\";\n static SELLER_FORM_CONTROL_NAME = \"sellerRecipient\";\n static SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"saleAmountAlienation\";\n static DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME = \"dateOfDeedTransferAlienation\";\n static EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"evaluationAmountAlienation\";\n static REFERENCE_NUMBER_FORM_CONTROL_NAME = \"referenceNumber\";\n static TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME = \"transferringAttorneyRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationLocationPlamsConstants } from \"./view-application-location-plams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationPlamsComponent = class ViewApplicationLocationPlamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_4;\n descriptionLabel5 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_5;\n applicationControl = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_CONTROL;\n erfNoControl = ViewApplicationLocationPlamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationPlamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationPlamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationPlamsConstants.FARM_NO_CONTROL;\n zoningControl = ViewApplicationLocationPlamsConstants.ZONING_CONTROL;\n streetNumberControl = ViewApplicationLocationPlamsConstants.STREET_NO_CONTROL;\n streetNameControl = ViewApplicationLocationPlamsConstants.STREET_NAME_CONTROL;\n townControl = ViewApplicationLocationPlamsConstants.TOWN_CONTROL;\n sgCodeControl = ViewApplicationLocationPlamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationPlamsConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationPlamsConstants.OWNER_CONTROL;\n applicationSelectLabel = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n dropdownApplicationPlaceholder = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n erfNoTextPlaceHolder = ViewApplicationLocationPlamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationPlamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationPlamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationPlamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n zoningControlTextPlaceHolder = ViewApplicationLocationPlamsConstants.ZONING_TEXT_PLACEHOLDER;\n streetNumberTextPlaceHolder = ViewApplicationLocationPlamsConstants.STREET_NO_TEXT_PLACEHOLDER;\n streetNameTextPlaceHolder = ViewApplicationLocationPlamsConstants.STREET_NAME_TEXT_PLACEHOLDER;\n townTextPlaceHolder = ViewApplicationLocationPlamsConstants.TOWN_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationPlamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationPlamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n removePropertyLabel = ViewApplicationLocationPlamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = ViewApplicationLocationPlamsConstants.OWNER_LABEL;\n layerReference = ViewApplicationLocationPlamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableDelete = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerShowGroupsDropdown = true;\n ownerListLabel = \"Owner\";\n appTypes = [];\n applicant;\n fullApplicationCheckRequired = false;\n ownerMetaData;\n showOnlyPropertyAndZoningLayers = true;\n existingApplication = false;\n mapComponent;\n isMapLoaded = false;\n leaseGraphic = null;\n hasLoadedLookups = false;\n hasLoadedApplicationProperties = false;\n selectedApplicationType = null;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n this.initForm();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n this.listenForSelectedApplication();\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(\"properties\");\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.disablePropertyControls(propertyControl.length - 1);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.zoningControl).disable();\n propertyControl.get(this.streetNameControl).disable();\n propertyControl.get(this.streetNumberControl).disable();\n propertyControl.get(this.townControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n const applicationType = this.selectedApplication.applicationType;\n this.appTypes.forEach(item => {\n if (item.value === applicationType) {\n this.propertiesForm.get(this.applicationControl).enable();\n this.propertiesForm.get(this.applicationControl).setValue(item);\n this.propertiesForm.get(this.applicationControl).disable();\n }\n });\n // TODO:: Add lease areas to the map\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n let index = 0;\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl);\n index++;\n });\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n createFormGroup(property, geom) {\n return new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n zoning: new FormControl({ value: property.zoning, disabled: true }),\n streetNumber: new FormControl({ value: property.streetNumber, disabled: true }),\n streetName: new FormControl({ value: property.streetName, disabled: true }),\n town: new FormControl({ value: property.town, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n owners: new FormControl(property.owners)\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and name eq 'ApplicationType'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params)\n .subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const appTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n appTypes.push(JSON.parse(item.content));\n }\n });\n }\n this.appTypes = appTypes;\n // this.applicationCreateService.setHasLoadedLookups(true);\n this.setApplicationData();\n this.changeDetectorRefs.detectChanges();\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.application.leaseAreas && this.application.leaseAreas.length > 0) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.application.leaseAreas[0].shape, 102100);\n const leaseGeom = JsonUtils.fromJSON(geometryArc);\n geometries.push(leaseGeom);\n }\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"PLAMS graphics\", true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationPlamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationPlamsComponent);\nexport { ViewApplicationLocationPlamsComponent };\n","export class ViewApplicationLocationPlamsConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added. \";\n static DESCRIPTION_LABEL_4 = \"If this is an application for a lease, draw an area (polygon) around the lease area on the map.\";\n static DESCRIPTION_LABEL_5 = \"An owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Note that you need to select a property before continuing with the create application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ZONING_CONTROL = \"zoning\";\n static STREET_NO_CONTROL = \"streetNumber\";\n static STREET_NAME_CONTROL = \"streetName\";\n static TOWN_CONTROL = \"town\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static APPLICATION_TYPE_CONTROL = \"applicationType\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ZONING_TEXT_PLACEHOLDER = \"Zoning\";\n static STREET_NO_TEXT_PLACEHOLDER = \"Street number\";\n static STREET_NAME_TEXT_PLACEHOLDER = \"Street name\";\n static TOWN_TEXT_PLACEHOLDER = \"Town\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static APPLICATION_TYPE_PLACEHOLDER = \"Application type\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static LAYER_REF = \"Property and lease graphics\";\n static NO_PROPERTIES_SELECTED_MESSAGE = \"At least one property must be selected before a lease area is drawn\";\n static LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE = \"The lease area(s) drawn are outside the extent of the selected property\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsRcConstants } from \"./view-application-details-rc.constant\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet ViewApplicationDetailsRcComponent = class ViewApplicationDetailsRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsRcConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsRcConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n detailsFormGroupName = ViewApplicationDetailsRcConstants.DETAILS_FORM_GROUP_NAME;\n reasonForApplicationFormControlName = ViewApplicationDetailsRcConstants.REASON_FOR_APPLICATION_CONTROL_NAME;\n typeOfTransferFormControlName = ViewApplicationDetailsRcConstants.TYPE_OF_TRANSFER_CONTROL_NAME;\n propertyTypeFormControlName = ViewApplicationDetailsRcConstants.PROPERTY_TYPE_CONTROL_NAME;\n ratesAccountNumberFormControlName = ViewApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_CONTROL_NAME;\n electronicReferenceFormControlName = ViewApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_CONTROL_NAME;\n attorneyReferenceFormControlName = ViewApplicationDetailsRcConstants.ATTORNEY_REFERENCE_CONTROL_NAME;\n councilReferenceFormControlName = ViewApplicationDetailsRcConstants.COUNCIL_REFERENCE_CONTROL_NAME;\n // Labels and headers\n descriptionLbl = ViewApplicationDetailsRcConstants.DESCRIPTION_LBL;\n reasonForApplicationLabel = ViewApplicationDetailsRcConstants.REASON_FOR_APPLICATION;\n typeOfTransferLabel = ViewApplicationDetailsRcConstants.TYPE_OF_TRANSFER_LABEL;\n propertyTypeLabel = ViewApplicationDetailsRcConstants.PROPERTY_TYPE_LABEL;\n ratesAccountNumberLabel = ViewApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_LABEL;\n electronicReferenceLabel = ViewApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_LABEL;\n attorneyReferenceLabel = ViewApplicationDetailsRcConstants.ATTORNEY_REFERENCE_LABEL;\n councilReferenceLabel = ViewApplicationDetailsRcConstants.COUNCIL_REFERENCE_LABEL;\n applicationTypePlaceHolder = ViewApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n typeOfTransferLookupOptions = [];\n selectedApplicationRCSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationRCSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id > 0) {\n this.selectedApplication = application;\n this.populateForm(this.selectedApplication);\n this.disableForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n this.detailsForm.get(this.reasonForApplicationFormControlName).setValue(application.reasonForApplication);\n this.detailsForm.get(this.typeOfTransferFormControlName).setValue(application.typeOfTransfer);\n this.detailsForm.get(this.propertyTypeFormControlName).setValue(application.propertyType);\n this.detailsForm.get(this.ratesAccountNumberFormControlName).setValue(application.ratesAccountNumber);\n this.detailsForm.get(this.electronicReferenceFormControlName).setValue(application.electronicReference);\n this.detailsForm.get(this.attorneyReferenceFormControlName).setValue(application.attorneyReference);\n this.detailsForm.get(this.councilReferenceFormControlName).setValue(application.councilReference);\n }\n disableForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.get(this.applicationTypeCtrl).disable();\n this.detailsForm.get(this.descriptionCtrl).disable();\n this.detailsForm.get(this.reasonForApplicationFormControlName).disable();\n this.detailsForm.get(this.typeOfTransferFormControlName).disable();\n this.detailsForm.get(this.propertyTypeFormControlName).disable();\n this.detailsForm.get(this.ratesAccountNumberFormControlName).disable();\n this.detailsForm.get(this.electronicReferenceFormControlName).disable();\n this.detailsForm.get(this.attorneyReferenceFormControlName).disable();\n this.detailsForm.get(this.councilReferenceFormControlName).disable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and deleted eq false`\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationDetailsRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const typeOfTransfer = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"applicationtype\") {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.toLowerCase() === \"transfertype\") {\n typeOfTransfer.push(JSON.parse(item.content));\n }\n });\n }\n this.applicationTypes = applicationTypes;\n this.typeOfTransferLookupOptions = typeOfTransfer;\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsRcComponent = __decorate([\n Component({\n selector: \"app-view-application-details-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsRcComponent);\nexport { ViewApplicationDetailsRcComponent };\n","export class ViewApplicationDetailsRcConstants {\n static STEP_TITLE = \"Details\";\n // Labels and headers\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static REASON_FOR_APPLICATION = \"Reason for application\";\n static TYPE_OF_TRANSFER_LABEL = \"Type of transfer\";\n static PROPERTY_TYPE_LABEL = \"Property type\";\n static RATES_ACCOUNT_NUMBER_LABEL = \"Rates account number\";\n static ELECTRONIC_REFERENCE_LABEL = \"Electronic reference number\";\n static ATTORNEY_REFERENCE_LABEL = \"Attorney reference\";\n static COUNCIL_REFERENCE_LABEL = \"Council reference\";\n // Form control name\n static DESCRIPTION_CTRL = \"description\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"applicationType\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static REASON_FOR_APPLICATION_CONTROL_NAME = \"reasonForApplication\";\n static TYPE_OF_TRANSFER_CONTROL_NAME = \"typeOfTransfer\";\n static PROPERTY_TYPE_CONTROL_NAME = \"propertyType\";\n static RATES_ACCOUNT_NUMBER_CONTROL_NAME = \"ratesAccountNumber\";\n static ELECTRONIC_REFERENCE_CONTROL_NAME = \"electronicReference\";\n static ATTORNEY_REFERENCE_CONTROL_NAME = \"attorneyReference\";\n static COUNCIL_REFERENCE_CONTROL_NAME = \"councilReference\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationLocationRcConstants } from \"./view-application-location-rc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationLocationRcConstants } from \"../../../../create-application/modules/rc/create-application-location-rc/create-application-location-rc.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { DatePipe } from \"@angular/common\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationRcComponent = class ViewApplicationLocationRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n appControllerService;\n datePipe;\n selectedApplicationService;\n changeDetectorRefs;\n mapService;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_4;\n erfNoTextPlaceHolder = ViewApplicationLocationRcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationRcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationRcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationRcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationRcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationRcConstants.ADDRESS_TEXT_PLACEHOLDER;\n titleDeedNumberLabel = ViewApplicationLocationRcConstants.TITLE_DEED_NUMBER_LABEL;\n zoningLabel = ViewApplicationLocationRcConstants.ZONING_LABEL;\n sectionalTitleSchemeNameLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_LABEL;\n sectionalTitleSchemeNumberLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_LABEL;\n sectionalTitleSchemeUnitLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_LABEL;\n extentLabel = ViewApplicationLocationRcConstants.EXTENT_LABEL;\n purchasePriceLabel = ViewApplicationLocationRcConstants.PURCHASE_PRICE_LABEL;\n dateOfSaleLabel = ViewApplicationLocationRcConstants.DATE_OF_SALE_LABEL;\n electricityAccountNumberLabel = ViewApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_LABEL;\n waterAccountNumberLabel = ViewApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_LABEL;\n refuseAccountNumberLabel = ViewApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_LABEL;\n removePropertyLabel = ViewApplicationLocationRcConstants.REMOVE_PROPERTY_LABEL;\n managingAgentDisableFilterBy = true;\n managingAgentDisableAdd = false;\n managingAgentDisableEditing = false;\n managingAgentGroups = [];\n managingAgentLabel = \"Managing agent\";\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n erfNoControl = ViewApplicationLocationRcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationRcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationRcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationRcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationRcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationRcConstants.ADDRESS_CONTROL;\n titleDeedNumberControl = ViewApplicationLocationRcConstants.TITLE_DEED_NUMBER_CONTROL;\n zoningControl = ViewApplicationLocationRcConstants.ZONING_CONTROL;\n sectionalTitleSchemeNameControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_CONTROL;\n sectionalTitleSchemeNumberControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL;\n sectionalTitleSchemeUnitControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_CONTROL;\n extentControl = ViewApplicationLocationRcConstants.EXTENT_CONTROL;\n purchasePriceControl = ViewApplicationLocationRcConstants.PURCHASE_PRICE_CONTROL;\n dateOfSaleControl = ViewApplicationLocationRcConstants.DATE_OF_SALE_CONTROL;\n electricityAccountNumberControl = ViewApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_CONTROL;\n waterAccountNumberControl = ViewApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_CONTROL;\n refuseAccountNumberControl = ViewApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_CONTROL;\n managingAgentControl = ViewApplicationLocationRcConstants.MANAGING_AGENT_CONTROL;\n ownerDisableAdd = true;\n ownerDisableFilterBy = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n zones = [];\n applicationLoaded = false;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n rcApplication;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, appControllerService, datePipe, selectedApplicationService, changeDetectorRefs, mapService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.appControllerService = appControllerService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.mapService = mapService;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.getLookups();\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.managingAgentGroups = stepMeta.managingAgentGroup;\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n handleRouteChange() {\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate management graphics\", true);\n }\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID}`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationLocationRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.zones = zones;\n this.changeDetectorRefs.detectChanges();\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.rcApplication = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n this.getProperties().clear();\n const baysFormArray = this.getProperties();\n this.rcApplication.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const propertiesFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, propertiesFormGroup, baysFormArray);\n this.syncMapGeometries();\n });\n }\n createFormGroup(property, geom) {\n const dateString = this.datePipe.transform(property.dateOfSale, ViewApplicationLocationRcConstants.DATE_CONST);\n const propertyFormGroup = new FormGroup({\n id: new FormControl(property.id),\n applicationId: new FormControl(property.applicationId),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment),\n farmNo: new FormControl(property.farmNumber),\n sgCode: new FormControl(property.sgCode),\n address: new FormControl(property.address),\n titleDeedNumber: new FormControl(property.titleDeedNumber),\n zoning: new FormControl(property.zoning),\n sectionalTitleSchemeName: new FormControl(property.sectionalTitleSchemeName),\n sectionalTitleSchemeNumber: new FormControl(property.sectionalTitleSchemeNumber),\n sectionalTitleSchemeUnit: new FormControl(property.sectionalTitleSchemeUnit),\n extent: new FormControl(property.extent?.toFixed(2), [Validators.required]),\n purchasePrice: new FormControl(property.purchasePrice?.toFixed(2)),\n dateOfSale: new FormControl(dateString),\n electricityAccountNumber: new FormControl(property.electricityAccountNumber),\n waterAccountNumber: new FormControl(property.waterAccountNumber),\n refuseAccountNumber: new FormControl(property.refuseAccountNumber),\n managingAgent: new FormControl(null),\n centroid: new FormControl(null),\n geometry: new FormControl(geom)\n });\n const mangingAgentControl = propertyFormGroup.get(\"managingAgent\");\n propertyFormGroup.get(\"managingAgent\").setValue(property.managingAgent[0]);\n mangingAgentControl.disable();\n return propertyFormGroup;\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertiesFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertiesFormArray.push(newPropertyFormGroup);\n this.active = propertiesFormArray.length - 1;\n this.disableBayControls(propertiesFormArray.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disableBayControls(bayIndex) {\n const propertyControl = this.getProperties().controls[bayIndex];\n propertyControl.get(\"erfNo\").disable();\n propertyControl.get(\"subdivision\").disable();\n propertyControl.get(\"allotment\").disable();\n propertyControl.get(\"farmNo\").disable();\n propertyControl.get(\"sgCode\").disable();\n propertyControl.get(\"address\").disable();\n propertyControl.get(\"titleDeedNumber\").disable();\n propertyControl.get(\"zoning\").disable();\n propertyControl.get(\"sectionalTitleSchemeName\").disable();\n propertyControl.get(\"sectionalTitleSchemeNumber\").disable();\n propertyControl.get(\"sectionalTitleSchemeUnit\").disable();\n propertyControl.get(\"extent\").disable();\n propertyControl.get(\"purchasePrice\").disable();\n propertyControl.get(\"dateOfSale\").disable();\n propertyControl.get(\"electricityAccountNumber\").disable();\n propertyControl.get(\"waterAccountNumber\").disable();\n propertyControl.get(\"refuseAccountNumber\").disable();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: AppControllerService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: MapService },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationRcComponent = __decorate([\n Component({\n selector: \"app-view-application-location-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationRcComponent);\nexport { ViewApplicationLocationRcComponent };\n","export class ViewApplicationLocationRcConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"only one property can be added per application.\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static TITLE_DEED_NUMBER_LABEL = \"Title deed number\";\n static ZONING_LABEL = \"Zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_LABEL = \"Sectional title scheme name\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_LABEL = \"Sectional title scheme number\";\n static SECTIONAL_TITLE_SCHEME_UNIT_LABEL = \"Sectional title scheme unit\";\n static EXTENT_LABEL = \"Extent\";\n static PURCHASE_PRICE_LABEL = \"Purchase price\";\n static DATE_OF_SALE_LABEL = \"Date of sale\";\n static ELECTRICITY_ACCOUNT_NUMBER_LABEL = \"Electricity account number\";\n static WATER_ACCOUNT_NUMBER_LABEL = \"Water account number\";\n static REFUSE_ACCOUNT_NUMBER_LABEL = \"Refuse account number\";\n static MANAGING_AGENT_LABEL = \"Managing agent\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static ZONING_CONTROL = \"zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_CONTROL = \"sectionalTitleSchemeName\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL = \"sectionalTitleSchemeNumber\";\n static SECTIONAL_TITLE_SCHEME_UNIT_CONTROL = \"sectionalTitleSchemeUnit\";\n static EXTENT_CONTROL = \"extent\";\n static PURCHASE_PRICE_CONTROL = \"purchasePrice\";\n static DATE_OF_SALE_CONTROL = \"dateOfSale\";\n static ELECTRICITY_ACCOUNT_NUMBER_CONTROL = \"electricityAccountNumber\";\n static WATER_ACCOUNT_NUMBER_CONTROL = \"waterAccountNumber\";\n static REFUSE_ACCOUNT_NUMBER_CONTROL = \"refuseAccountNumber\";\n static MANAGING_AGENT_CONTROL = \"managingAgent\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static DATE_CONST = \"yyyy-MM-dd\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsSnConstants } from \"./view-application-details-sn.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsSnComponent = class ViewApplicationDetailsSnComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n applicationDetailsFormGroupName = ViewApplicationDetailsSnConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = ViewApplicationDetailsSnConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n referenceNumberControlName = ViewApplicationDetailsSnConstants.REFERENCE_NUMBER_CONTROL_NAME;\n referenceNumberLabel = ViewApplicationDetailsSnConstants.REFERENCE_NUMBER_LABEL;\n descriptionLabel = ViewApplicationDetailsSnConstants.DESCRIPTION_FORM_LABEL;\n applicationTypeLabel = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n validationMessages = ViewApplicationDetailsSnConstants.VALIDATION_MESSAGES;\n applicationTypeLookoutName = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_LOOKOUT_NAME;\n getLookupsObservableSubscription;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsSnConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypes.push(lookUpContent);\n }\n });\n this.aflaModuleStrategyService.lookups.set(this.applicationTypeLookoutName, this.applicationTypes);\n this.changeDetectorRef.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n this.changeDetectorRef.detectChanges();\n }\n handleRouteChange() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsSnComponent = __decorate([\n Component({\n selector: \"app-view-application-details-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsSnComponent);\nexport { ViewApplicationDetailsSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationDetailsSnConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static DESCRIPTION_FORM_LABEL = \"Description\";\n static APPLICATION_TYPE_FORM_LABEL = \"Application type\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static APPLICATION_TYPE_LOOKOUT_NAME = \"applicationType\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n referenceNumber: {\n required: `Reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nimport { ViewApplicationLocationSnConstant } from \"./view-application-location-sn.constant\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationSnComponent = class ViewApplicationLocationSnComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n mapService;\n applicationCreateService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n activeTabIndex;\n locationForm;\n descriptionLabel1 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationSnConstant.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.NO_OPTION_SELECTED;\n showPrivateStreetAreaOrEstateNameField = true;\n showCurrentNameField = true;\n showFeatureTypeField = true;\n showRequiredAsteriskForTheAreaEstateNameField = false;\n showRequiredAsteriskForTheCurrentNameField = false;\n streetOrFeatureLookUps = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_LOOKUPS;\n publicOrPrivateLookUps = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_LOOKUPS;\n isNewDevelopmentLookUps = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_LOOKUPS;\n haveExistingNameLookUps = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_LOOKUPS;\n streetOrFeatureLabel = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_LABEL;\n publicOrPrivateLabel = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_LABEL;\n privateStreetAreaOrEstateNameLabel = ViewApplicationLocationSnConstant.PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL;\n isNewDevelopmentLabel = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_NAME_LABEL;\n haveExistingNameLabel = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_LABEL;\n currentNameLabel = ViewApplicationLocationSnConstant.CURRENT_NAME_LABEL;\n locationDescriptionLabel = ViewApplicationLocationSnConstant.LOCATION_DESCRIPTION_LABEL;\n wardLabel = ViewApplicationLocationSnConstant.WARD_LABEL;\n proposedNameLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_LABEL;\n proposedNameLanguageLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_LANGUAGE_LABEL;\n proposedNameMeaningLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_MEANING_LABEL;\n proposedNameOriginLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_ORIGIN_LABEL;\n proposedAlternativeNameLabel = ViewApplicationLocationSnConstant.PROPOSED_ALTERNATIVE_NAME_LABEL;\n languageOfTheAlternativeNameLabel = ViewApplicationLocationSnConstant.LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL;\n meaningAlternativeNameLabel = ViewApplicationLocationSnConstant.MEANING_OF_THE_ALTERNATIVE_NAME_LABEL;\n featureTypeLabel = ViewApplicationLocationSnConstant.FEATURE_TYPE_LABEL;\n reasonForChangeLabel = ViewApplicationLocationSnConstant.REASON_FOR_CHANGE_LABEL;\n saveBtnPlaceholder = ViewApplicationLocationSnConstant.SAVE_BUTTON_PLACEHOLDER;\n featuresFormArrayName = ViewApplicationLocationSnConstant.FEATURES_FORM_ARRAY_NAME;\n locationFormGroupName = ViewApplicationLocationSnConstant.LOCATION_FORM_GROUP_NAME;\n streetOrFeatureFormControlName = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_FORM_CONTROL_NAME;\n publicOrPrivateFormControlName = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME;\n privateStreetAreaOrEstateNameFormControlName = ViewApplicationLocationSnConstant.PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME;\n isNewDevelopmentFormControlName = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME;\n haveExistingNameFormControlName = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_FORM_CONTROL_NAME;\n currentNameFormControlName = ViewApplicationLocationSnConstant.CURRENT_NAME_FORM_CONTROL_NAME;\n locationDescriptionFormControlName = ViewApplicationLocationSnConstant.LOCATION_DESCRIPTION_FORM_CONTROL_NAME;\n wardFormControlName = ViewApplicationLocationSnConstant.WARD_FORM_CONTROL_NAME;\n proposedNameFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_FORM_CONTROL_NAME;\n proposedNameLanguageFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME;\n proposedNameMeaningFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_MEANING_FORM_CONTROL_NAME;\n proposedAlternativeNameFormArrayName = ViewApplicationLocationSnConstant.PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME;\n proposedNameOriginFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME;\n featureTypeFormControlName = ViewApplicationLocationSnConstant.FEATURE_TYPE_FORM_CONTROL_NAME;\n reasonForChangeFormControlName = ViewApplicationLocationSnConstant.REASON_FOR_CHANGE_FORM_CONTROL_NAME;\n SharedConstants = SharedConstants;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getApplicationsQuerySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, mapService, applicationCreateService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.mapService = mapService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.listenForSelectedApplication();\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.listenForRouteParamChange();\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n this.mapService.actionStreetEnabled = false;\n this.mapService.actionPOIEnabled = false;\n }\n getFeatures() {\n if (this.locationForm) {\n return this.locationForm.get(this.featuresFormArrayName);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionStreetEnabled = false;\n this.mapService.actionPOIEnabled = false;\n this.mapService.destroyMap();\n }\n getAlternativeNameFormControls(featureIndex) {\n if (this.locationForm) {\n return this.getFeatures().controls[featureIndex].get(this.proposedAlternativeNameFormArrayName);\n }\n }\n handleRouteChange() {\n }\n syncMapGeometries() {\n const geometries = [];\n const features = this.getFeatures().controls;\n if (features.length > 0) {\n this.getFeatures().controls.forEach(featureControl => {\n const geom = featureControl.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"POI graphics\", true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n initForm() {\n this.locationForm = this.aflaModuleStrategyService.form.get(this.locationFormGroupName);\n this.activeTabIndex = 0;\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.getApplicationLocationDetails(application);\n this.applicationLoaded = true;\n }\n }\n });\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: `location($expand=alternativeNames),line,polygon`,\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.location = response.value[0]?.location;\n application.line = response.value[0]?.line;\n application.polygon = response.value[0]?.polygon;\n this.application = application;\n this.onGetApplicationDataCompleted(application);\n this.applicationLoaded = true;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getFeatures().clear();\n const shape = application.location.streetOrFeature?.toLowerCase() === \"street\" ? application.line.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getFeatures();\n const featureFormGroup = this.createFeatureFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(featureFormGroup);\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationSnConstant.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n configureInitialFeatureForm(formGroup) {\n const streetOrFeatureValue = formGroup.get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.configureFormsForSelectedStreet(formGroup);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.configureFormsForSelectedFeature(formGroup);\n }\n this.showOrHideCurrentNameField(formGroup);\n }\n configureFormsForSelectedStreet(formGroup) {\n this.showStreetSpecificFields();\n this.addStreetSpecificFieldsValidators(formGroup);\n this.clearValidationOfFeatureSpecificFields(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n hideFeatureSpecificFields() {\n this.showFeatureTypeField = false;\n }\n clearValidationOfFeatureSpecificFields(formGroup) {\n formGroup.get(this.featureTypeFormControlName).reset(\"\");\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.get(this.featureTypeFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n addStreetSpecificFieldsValidators(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showPrivateStreetAreaOrEstateNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.updateValueAndValidity();\n }\n configureFormsForSelectedFeature(formGroup) {\n this.clearValidationOfStreetSpecificFields(formGroup);\n this.hideStreetSpecificFields();\n this.clearFeatureTypeValidators(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n clearFeatureTypeValidators(formGroup) {\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.updateValueAndValidity();\n }\n hideStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = false;\n this.showCurrentNameField = false;\n }\n clearValidationOfStreetSpecificFields(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset(\"\");\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).disable();\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).reset(\"\");\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showOrHideCurrentNameField(formGroup) {\n const currentNameValue = formGroup.get(this.currentNameFormControlName).value;\n if (currentNameValue) {\n this.showCurrentNameField = true;\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).setValidators(Validators.required);\n }\n else {\n this.showRequiredAsteriskForTheCurrentNameField = false;\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).setValue(\"\");\n formGroup.get(this.currentNameFormControlName).updateValueAndValidity();\n formGroup.get(this.currentNameFormControlName).disable();\n this.showCurrentNameField = false;\n }\n formGroup.get(this.streetOrFeatureFormControlName).updateValueAndValidity();\n }\n createFeatureFormGroup(application) {\n let geometryArc;\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"street\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.line.shape, 102100);\n }\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"feature\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const featureFormGroup = new FormGroup({\n objectId: new FormControl({ value: application.location.id, disabled: true }),\n currentName: new FormControl({ value: application.location.currentName, disabled: true }, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: application.location.streetOrFeature, disabled: true }),\n publicOrPrivate: new FormControl({\n value: application.location.publicOrPrivate,\n disabled: true\n }, Validators.required),\n areaEstateName: new FormControl({ value: application.location.areaEstateName, disabled: true }),\n isNewDevelopment: new FormControl({\n value: application.location.isNewDevelopment,\n disabled: true\n }, Validators.required),\n haveExistingName: new FormControl({\n value: application.location.haveExistingName,\n disabled: true\n }, Validators.required),\n locationDescription: new FormControl({\n value: application.location.locationDescription,\n disabled: true\n }, Validators.required),\n geometry: new FormControl(geom),\n ward: new FormControl({ value: application.location.ward, disabled: true }, Validators.required),\n proposedName: new FormControl({ value: application.location.proposedName, disabled: true }, Validators.required),\n proposedNameLanguage: new FormControl({\n value: application.location.proposedNameLanguage,\n disabled: true\n }, Validators.required),\n proposedNameMeaning: new FormControl({\n value: application.location.proposedNameMeaning,\n disabled: true\n }, Validators.required),\n proposedNameOrigin: new FormControl({\n value: application.location.proposedNameOrigin,\n disabled: true\n }, Validators.required),\n featureType: new FormControl({ value: application.location.featureType, disabled: true }, Validators.required),\n reasonForChange: new FormControl({\n value: application.location.reasonForChange,\n disabled: true\n }, Validators.required),\n alternativeNames: new FormArray([], Validators.required)\n });\n const alternativeNamesControl = featureFormGroup.get(this.proposedAlternativeNameFormArrayName);\n application.location.alternativeNames.forEach((alternativeNameDetails) => {\n const alternativeGroup = new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl({ value: alternativeNameDetails.name, disabled: true }, Validators.required),\n language: new FormControl(alternativeNameDetails.language, Validators.required),\n meaning: new FormControl(alternativeNameDetails.meaning, Validators.required)\n });\n alternativeNamesControl.push(alternativeGroup);\n });\n return featureFormGroup;\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationSnComponent = __decorate([\n Component({\n selector: \"app-view-application-location-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationSnComponent);\nexport { ViewApplicationLocationSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationLocationSnConstant {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the POI for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct POI and click on the POI. Click on 'add POI' in the window that appears on the map after you selected the POI.\";\n static DESCRIPTION_LABEL_3 = \"The POI will be added and the fields must be completed for the POI. Please note that only one POI can be added.\";\n static PROPERTY_REQUIRED = \"Please select a POI before continuing with the create application process\";\n static STREET_OR_FEATURE_LABEL = \"Are you requesting the renaming of a street or feature?\";\n static PUBLIC_OR_PRIVATE_LABEL = \"Is the street public or private?\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL = \"Private street area or estate name\";\n static IS_NEW_DEVELOPMENT_NAME_LABEL = \"Is the street / feature an existing street or a new development.\";\n static HAVE_EXISTING_NAME_LABEL = \"Does the street / feature have an existing name?\";\n static CURRENT_NAME_LABEL = \"Current name?\";\n static LOCATION_DESCRIPTION_LABEL = \"Description of the street's / feature's location\";\n static WARD_LABEL = \"Ward of the street / feature\";\n static PROPOSED_NAME_LABEL = \"Proposed name of the street / feature: First choice\";\n static PROPOSED_NAME_LANGUAGE_LABEL = \"What is the language of the name / feature?\";\n static PROPOSED_NAME_MEANING_LABEL = \"What is the meaning of the name / feature?\";\n static PROPOSED_NAME_ORIGIN_LABEL = \"Give the origin of the name if you know it and rationale for changing the name. Also provide the significance of the name.\";\n static PROPOSED_ALTERNATIVE_NAME_LABEL = \"Alternative name of the street / feature:\";\n static LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the language of the alternative name?\";\n static MEANING_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the meaning of the alternative name?\";\n static FEATURE_TYPE_LABEL = \"Which feature is the proposed name intended? (e.g. post office, railway station, town, township, suburb, mountain, settlement, village)\";\n static REASON_FOR_CHANGE_LABEL = \"In the case of a proposed change of a name, give the reasons for the change \";\n static REMOVE_FEATURE_LABEL = \"Remove feature\";\n static FEATURES_FORM_ARRAY_NAME = \"features\";\n static LOCATION_FORM_GROUP_NAME = \"locationForm\";\n static STREET_OR_FEATURE_FORM_CONTROL_NAME = \"streetOrFeature\";\n static PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME = \"publicOrPrivate\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME = \"areaEstateName\";\n static IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME = \"isNewDevelopment\";\n static HAVE_EXISTING_NAME_FORM_CONTROL_NAME = \"haveExistingName\";\n static CURRENT_NAME_FORM_CONTROL_NAME = \"currentName\";\n static LOCATION_DESCRIPTION_FORM_CONTROL_NAME = \"locationDescription\";\n static WARD_FORM_CONTROL_NAME = \"ward\";\n static PROPOSED_NAME_FORM_CONTROL_NAME = \"proposedName\";\n static PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME = \"proposedNameLanguage\";\n static PROPOSED_NAME_MEANING_FORM_CONTROL_NAME = \"proposedNameMeaning\";\n static PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME = \"proposedNameOrigin\";\n static PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME = \"alternativeNames\";\n static FEATURE_TYPE_FORM_CONTROL_NAME = \"featureType\";\n static REASON_FOR_CHANGE_FORM_CONTROL_NAME = \"reasonForChange\";\n static DUPLICATE_MESSAGE = \"The selected POI has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static STREET_OR_FEATURE_LOOKUPS = [{\n code: \"Street\", value: \"Street\"\n }, {\n code: \"Feature\", value: \"Feature\"\n }];\n static PUBLIC_OR_PRIVATE_LOOKUPS = [{\n code: \"Public\", value: \"Public\"\n }, {\n code: \"Private\", value: \"Private\"\n }];\n static IS_NEW_DEVELOPMENT_LOOKUPS = [{\n code: \"True\", value: \"True\"\n }, {\n code: \"False\", value: \"False\"\n }];\n static HAVE_EXISTING_NAME_LOOKUPS = [{\n code: \"No\", value: \"No\"\n }, {\n code: \"Yes\", value: \"Yes\"\n }];\n static REASON_FOR_CHANGE_NAME_LOOKUPS = [{\n code: \"Public\", value: \"Public\"\n }, {\n code: \"Private\", value: \"Private\"\n }];\n static VALIDATION_MESSAGES = {\n streetOrFeature: {\n required: `Street or feature ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, publicOrPrivate: {\n required: `Public or public ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, areaEstateName: {\n required: `Area estate name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isNewDevelopment: {\n required: `Is new development ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, haveExistingName: {\n required: `Have existing name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, currentName: {\n required: `Current name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, locationDescription: {\n required: `Location description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, ward: {\n required: `Ward ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedName: {\n required: `Proposed name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameLanguage: {\n required: `Proposed name language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameMeaning: {\n required: `Proposed name meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameOrigin: {\n required: `Proposed name origin ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, featureType: {\n required: `Feature type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, reasonForChange: {\n required: `Reason for change ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, language: {\n required: `Language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, meaning: {\n required: `Meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsTmamsConstants } from \"./view-application-details-tmams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsTmamsComponent = class ViewApplicationDetailsTmamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsTmamsConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsTmamsConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsTmamsConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsTmamsConstants.DESCRIPTION_LBL;\n validationMessages = ViewApplicationDetailsTmamsConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = ViewApplicationDetailsTmamsConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationTMAMSSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationTMAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsTmamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsTmamsComponent);\nexport { ViewApplicationDetailsTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsTmamsConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewLocationTmConstants } from \"./view-application-location-tmams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationTmamsComponent = class ViewApplicationLocationTmamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewLocationTmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewLocationTmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewLocationTmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewLocationTmConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewLocationTmConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewLocationTmConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewLocationTmConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewLocationTmConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewLocationTmConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewLocationTmConstants.SG_CODE_CONTROL;\n addressControl = ViewLocationTmConstants.ADDRESS_CONTROL;\n ownerControl = ViewLocationTmConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = ViewLocationTmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewLocationTmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewLocationTmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewLocationTmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewLocationTmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewLocationTmConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewLocationTmConstants.OWNER_LABEL;\n removePropertyLabel = ViewLocationTmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n mapComponent;\n _isMapLoaded = false;\n selectedApplicationTMAMSSubscription;\n get isMapLoaded() {\n return this._isMapLoaded;\n }\n set isMapLoaded(value) {\n this._isMapLoaded = value;\n }\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n tmApplication;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.selectedApplicationTMAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.tmApplication = app;\n if (this.tmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.tmApplication.properties && this.tmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.tmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewLocationTmConstants.PROPERTY_LAYER_NAME, true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationTmamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationTmamsComponent);\nexport { ViewApplicationLocationTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewLocationTmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Training management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-tpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsTpamsConstants } from \"./view-application-details-tpams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsTpamsComponent = class ViewApplicationDetailsTpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n descriptionFormControlName = ViewApplicationDetailsTpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = ViewApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n zonesFormControlName = ViewApplicationDetailsTpamsConstants.ZONES_FORM_CONTROL_NAME;\n zoneFormControlName = ViewApplicationDetailsTpamsConstants.ZONE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n addZoneLabel = ViewApplicationDetailsTpamsConstants.ADD_ZONE_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPE_LABEL;\n zoneLabel = ViewApplicationDetailsTpamsConstants.ZONE_LABEL;\n descriptionLabel = ViewApplicationDetailsTpamsConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = ViewApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n applicationTypes = [];\n zones = [];\n rezoneConfirmationControlName = ViewApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME;\n rezoneConfirmationLabel = ViewApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_LABEL;\n rezoneKeywordRezone = ViewApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONE;\n rezoneKeywordRezoning = ViewApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONING;\n isRezoning = false;\n applicationTypesControl;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n getApplicationTypes() {\n return this.detailsForm.get(\"applicationTypes\");\n }\n getZones() {\n return this.detailsForm.get(\"zones\");\n }\n onBtnRemoveZoneClicked(i) {\n const controls = this.getZones();\n if (controls.controls.length > 1) {\n controls.removeAt(i);\n }\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'Zoning')`,\n };\n this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"Zoning\") {\n this.zones.push(JSON.parse(item.content));\n }\n });\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).setValue(application.amendmentSchemeNumber);\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).disable();\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n const appTypes = application.applicationTypes;\n this.setTypes(appTypes);\n const appZones = application.applicationZonings;\n this.setZones(appZones);\n }\n setTypes(appTypes) {\n const typesControl = this.getApplicationTypes();\n typesControl.clear();\n // sets application types from the application\n appTypes.forEach(applicationType => {\n let appType = null;\n this.applicationTypes.forEach(item => {\n if (item?.value === applicationType.applicationType) {\n appType = item;\n }\n });\n const typeGroup = new FormGroup({\n id: new FormControl(applicationType.id),\n applicationId: new FormControl(applicationType.applicationId),\n type: new FormControl({ value: appType?.value, disabled: true })\n });\n typesControl.push(typeGroup);\n typesControl.disable();\n });\n }\n setZones(appZones) {\n const zonesControl = this.getZones();\n zonesControl.clear();\n appZones.forEach(applicationZoning => {\n let zone = null;\n this.zones.forEach(item => {\n if (item?.value === applicationZoning.zoning) {\n zone = item;\n }\n });\n const zoneGroup = new FormGroup({\n id: new FormControl(applicationZoning.id),\n applicationId: new FormControl(applicationZoning.applicationId),\n applicationPropertyId: new FormControl(applicationZoning.applicationPropertyId),\n zone: new FormControl({ value: zone?.value, disabled: true })\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n });\n }\n onApplicationTypeSelected(event) {\n let match = false;\n const element = event.target;\n let selectedText = element.options[element.options.selectedIndex].text;\n const typeControls = this.getApplicationTypes();\n typeControls.controls.forEach(type => {\n if (match == false) {\n if ((type.value.type.value.toLowerCase().includes(this.rezoneKeywordRezone) ||\n type.value.type.value.toLowerCase().includes(this.rezoneKeywordRezoning))) {\n this.isRezoning = true;\n match = true;\n }\n else {\n this.isRezoning = false;\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsTpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-tpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsTpamsComponent);\nexport { ViewApplicationDetailsTpamsComponent };\n","export class ViewApplicationDetailsTpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_NUMBER_LABEL = \"File number\";\n static AMENDMENT_SCHEME_NUMBER_LABEL = \"Amendment scheme number\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static ZONE_LABEL = \"New property zone\";\n static AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME = \"amendmentSchemeNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-tpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ViewApplicationLocationTpamsConstants } from \"./view-application-location-tpams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationTpamsComponent = class ViewApplicationLocationTpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n erfNoControl = ViewApplicationLocationTpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationTpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationTpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationTpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationTpamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationTpamsConstants.ADDRESS_CONTROL;\n buildingUseControl = ViewApplicationLocationTpamsConstants.BUILDING_USE_CONTROL;\n erfSizeControl = ViewApplicationLocationTpamsConstants.ERF_SIZE_CONTROL;\n buildingFloorAreaControl = ViewApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_CONTROL;\n titleDeedControl = ViewApplicationLocationTpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = ViewApplicationLocationTpamsConstants.ZONE_CONTROL;\n ownerControl = ViewApplicationLocationTpamsConstants.OWNER_CONTROL;\n propertiesControl = ViewApplicationLocationTpamsConstants.PROPERTIES_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationTpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationTpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationTpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationTpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationTpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationTpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n buildingUseTextPlaceHolder = ViewApplicationLocationTpamsConstants.BUILDING_USE_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationTpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n buildingFloorAreaTextPlaceHolder = ViewApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = ViewApplicationLocationTpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationTpamsConstants.ZONE_LABEL;\n ownerLabel = ViewApplicationLocationTpamsConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerDisableDelete = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n showOnlyPropertyAndZoningLayers = true;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.getZoningLookups();\n this.listenForRouteParamChange();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(this.zoneControl);\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.buildingUseControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.buildingFloorAreaControl).disable();\n propertyControl.get(this.titleDeedControl).disable();\n }\n setZonesControls(newPropertyFormGroup, property) {\n const zonesControl = newPropertyFormGroup.get(this.zoneControl);\n if (property.zonings && property.zonings.length > 0) {\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zones: new FormControl({ value: zoneOption, disabled: true }),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n });\n });\n }\n else {\n const zoneGroup = new FormGroup({\n id: new FormControl(null),\n applicationId: new FormControl(null),\n applicationPropertyId: new FormControl(null),\n zones: new FormControl({ value: null, disabled: true }),\n deleted: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.setZonesControls(newPropertyFormGroup, property);\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getZoningLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'Zoning'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.value && response.value.length > 0) {\n const zoningLookups = response.value;\n this.onGetZoningLookupsCompleted(zoningLookups);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetZoningLookupsCompleted(zoningLookups) {\n zoningLookups.forEach(zoneObject => {\n this.zones.push(JSON.parse(zoneObject.content));\n });\n this.getMetadata();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationTpamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n this.selectedApplication?.properties?.sort((a, b) => (b?.id - a?.id));\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property);\n this.syncMapGeometries();\n });\n }\n }\n }\n createFormGroup(property, geom) {\n return new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n buildingUse: new FormControl({ value: property.buildingUse, disabled: true }),\n erfSize: new FormControl({ value: property.erfSize, disabled: true }),\n buildingFloorArea: new FormControl({ value: property.buildingFloorArea, disabled: true }),\n titleDeed: new FormControl({ value: property.titleDeed, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n zones: new FormArray([]),\n owners: new FormControl(property.owners)\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationTpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-tpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationTpamsComponent);\nexport { ViewApplicationLocationTpamsComponent };\n","export class ViewApplicationLocationTpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Town planning graphics\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CompareDatesUtil } from \"../../../../shared/utils/date-field-validator.utils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsWamsConstants } from \"./view-application-details-wams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { DatePipe } from \"@angular/common\";\nlet ViewApplicationDetailsWamsComponent = class ViewApplicationDetailsWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n shortDatePipe;\n appControllerService;\n changeDetectorRefs;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsWamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = ViewApplicationDetailsWamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n clientReferenceNumberFormControlName = ViewApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n applicantTelecommunicationLicenseNumberFormControlName = ViewApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME;\n scopeOfWorkFormControlName = ViewApplicationDetailsWamsConstants.SCOPE_OF_WORK_FORM_CONTROL_NAME;\n estimatedConstructionCostFormControlName = ViewApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME;\n applicationFeeFormControlName = ViewApplicationDetailsWamsConstants.APPLICATION_FEE_FORM_CONTROL_NAME;\n constructionPeriodInWeeksFormControlName = ViewApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_FORM_CONTROL_NAME;\n proposedStartDateFormControlName = ViewApplicationDetailsWamsConstants.PROPOSED_START_DATE_FORM_CONTROL_NAME;\n proposedEndDateFormControlName = ViewApplicationDetailsWamsConstants.PROPOSED_END_DATE_FORM_CONTROL_NAME;\n laneClosureIsRequiredFormControlName = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME;\n laneClosureExtentFormControlName = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME;\n electricalServicesFormControlName = ViewApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_FORM_CONTROL_NAME;\n descriptionLabel = ViewApplicationDetailsWamsConstants.DESCRIPTION_LABEL;\n clientReferenceNumberLabel = ViewApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_LABEL;\n applicantTelecommunicationLicenseNumberLabel = ViewApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL;\n scopeOfWorkFormLabel = ViewApplicationDetailsWamsConstants.SCOPE_OF_WORK_LABEL;\n estimatedConstructionCostLabel = ViewApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_LABEL;\n applicationFeeLabel = ViewApplicationDetailsWamsConstants.APPLICATION_FEE_LABEL;\n constructionPeriodInWeeksLabel = ViewApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_LABEL;\n proposedStartDateLabel = ViewApplicationDetailsWamsConstants.PROPOSED_START_DATE_LABEL;\n proposedEndDateLabel = ViewApplicationDetailsWamsConstants.PROPOSED_END_DATE_LABEL;\n laneClosureIsRequiredLabel = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_LABEL;\n laneClosureExtentLabel = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_LABEL;\n electricalServicesLabel = ViewApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_LABEL;\n applicationTypes = [];\n zones = [];\n yesNoOptions = [];\n laneClosureExtentOptions = [];\n electricalServicesOptions = [];\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, shortDatePipe, appControllerService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.shortDatePipe = shortDatePipe;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n verifyProposedDates(formControlName) {\n // checks if the startDate is >= endDate\n CompareDatesUtil.verifyProposedDates(this.detailsForm, this.proposedStartDateFormControlName, this.proposedEndDateFormControlName, formControlName, this.appControllerService);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and (name eq 'LaneClosureExtent' or name eq 'ElectricalServices')`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params)\n .subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsWamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.laneClosureExtentOptions = [];\n this.electricalServicesOptions = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"LaneClosureExtent\") {\n this.laneClosureExtentOptions.push(JSON.parse(item.content));\n }\n if (item.name === \"ElectricalServices\") {\n this.electricalServicesOptions.push(JSON.parse(item.content));\n }\n });\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n this.detailsForm.reset();\n this.detailsForm.disable();\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.scopeOfWork) {\n this.detailsForm.get(this.scopeOfWorkFormControlName).setValue(application.scopeOfWork);\n }\n if (application.clientReferenceNumber) {\n this.detailsForm.get(this.clientReferenceNumberFormControlName).setValue(application.clientReferenceNumber);\n }\n if (application.licenceNumber) {\n this.detailsForm.get(this.applicantTelecommunicationLicenseNumberFormControlName).setValue(application.licenceNumber);\n }\n if (application.applicationFee) {\n this.detailsForm.get(this.applicationFeeFormControlName).setValue(application.applicationFee);\n }\n if (application.estimatedCost) {\n this.detailsForm.get(this.estimatedConstructionCostFormControlName).setValue(application.estimatedCost);\n }\n if (application.proposedStartDate) {\n this.detailsForm.get(this.proposedStartDateFormControlName).setValue(this.shortDatePipe.transform(application.proposedStartDate, \"yyyy-MM-dd\"));\n }\n if (application.proposedEndDate) {\n this.detailsForm.get(this.proposedEndDateFormControlName).setValue(this.shortDatePipe.transform(application.proposedEndDate, \"yyyy-MM-dd\"));\n }\n if (application.laneClosureRequired) {\n this.detailsForm.get(this.laneClosureIsRequiredFormControlName).setValue(application.laneClosureRequired);\n }\n if (application.laneClosureExtent) {\n this.detailsForm.get(this.laneClosureExtentFormControlName).setValue(application.laneClosureExtent);\n }\n if (application.constructionPeriod) {\n this.detailsForm.get(this.constructionPeriodInWeeksFormControlName).setValue(application.constructionPeriod);\n }\n if (application.electricalServices) {\n this.detailsForm.get(this.electricalServicesFormControlName).setValue(application.electricalServices);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: DatePipe },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsWamsComponent);\nexport { ViewApplicationDetailsWamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsWamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static CLIENT_REFERENCE_NUMBER_LABEL = \"Client reference number\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL = \"Applicant Telecommunication License Number\";\n static SCOPE_OF_WORK_LABEL = \"Scope of work\";\n static ESTIMATED_CONSTRUCTION_COST_LABEL = \"Estimated construction cost (R) (incl. vat)\";\n static APPLICATION_FEE_LABEL = \"Application fee (R) (incl. vat)\";\n static PROPOSED_START_DATE_LABEL = \"Proposed start date\";\n static PROPOSED_END_DATE_LABEL = \"Proposed end date \";\n static LANE_CLOSURE_IS_REQUIRED_LABEL = \"Lane closure is required\";\n static LANE_CLOSURE_EXTENT_LABEL = \"Lane closure extent\";\n static CONSTRUCTION_PERIOD_LABEL = \"Construction period in weeks\";\n static ELECTRICAL_SERVICES_LABEL = \"Electrical services\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"clientReferenceNumber\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME = \"applicantTelecommunicationLicenseNumber\";\n static SCOPE_OF_WORK_FORM_CONTROL_NAME = \"scopeOfWork\";\n static ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME = \"estimatedConstructionCost\";\n static APPLICATION_FEE_FORM_CONTROL_NAME = \"applicationFee\";\n static PROPOSED_START_DATE_FORM_CONTROL_NAME = \"proposedStartDate\";\n static PROPOSED_END_DATE_FORM_CONTROL_NAME = \"proposedEndDate\";\n static LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME = \"laneClosureIsRequired\";\n static LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME = \"laneClosureExtent\";\n static ELECTRICAL_SERVICES_FORM_CONTROL_NAME = \"electricalServices\";\n static CONSTRUCTION_PERIOD_FORM_CONTROL_NAME = \"constructionPeriodInWeeks\";\n static DATE_VALIDATION_ERROR = \"The proposed start date needs to be less than or equal to the proposed end date\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n clientReferenceNumber: {\n required: `Client reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicantTelecommunicationLicenseNumber: {\n required: `Applicant telecommunication license number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n scopeOfWork: {\n required: `Scope of work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedConstructionCost: {\n required: `Estimated construction cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationFee: {\n required: `Application fee ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedStartDate: {\n required: `Proposed start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedEndDate: {\n required: `Proposed end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureIsRequired: {\n required: `Lane closure is required ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureExtent: {\n required: `Lane closure extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n constructionPeriodInWeeks: {\n required: `Construction period in weeks ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricalServices: {\n required: `Electrical services ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-wams.component.scss?ngResource\";\nimport { Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationWamsComponent = class ViewApplicationLocationWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n showOnlyPropertyAndZoningLayers = true;\n locationForm;\n mapComponent;\n isMapLoaded = false;\n isAppLoaded = false;\n selectedApplicationWAMSSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedApplication();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"locationForm\");\n this.locationForm = form;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationWAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setMapData();\n }\n }\n });\n }\n setMapData() {\n const centroidGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.shape, 102100);\n const centroid = JsonUtils.fromJSON(centroidGeometryArc);\n const geometries = [];\n this.locationForm.get(\"centroid\").setValue(centroid);\n if (this.selectedApplication.applicationPolygons.length > 0) {\n const polygonGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationPolygons[0].shape, 102100);\n const polygon = JsonUtils.fromJSON(polygonGeometryArc);\n this.locationForm.get(\"polygon\").setValue(polygon);\n this.locationForm.get(\"polygonDto\").setValue(this.selectedApplication.applicationPolygons[0]);\n geometries.push(polygon);\n }\n else {\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polygonDto\").setValue(null);\n }\n if (this.selectedApplication.applicationLines.length > 0) {\n const polylineGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationLines[0].shape, 102100);\n const polyline = JsonUtils.fromJSON(polylineGeometryArc);\n this.locationForm.get(\"polyline\").setValue(polyline);\n this.locationForm.get(\"polylineDto\").setValue(this.selectedApplication.applicationLines[0]);\n geometries.push(polyline);\n }\n else {\n this.locationForm.get(\"polyline\").setValue(null);\n this.locationForm.get(\"polylineDto\").setValue(null);\n }\n this.isAppLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n if (this.isAppLoaded && this.isMapLoaded) {\n const geometries = [];\n if (this.selectedApplication !== undefined && this.selectedApplication !== null) {\n if (this.selectedApplication.applicationLines !== null && this.selectedApplication.applicationLines.length > 0) {\n geometries.push(this.locationForm.get(\"polyline\").value);\n }\n else if (this.selectedApplication.applicationPolygons !== null && this.selectedApplication.applicationPolygons.length > 0) {\n geometries.push(this.locationForm.get(\"polygon\").value);\n }\n else {\n geometries.push(this.locationForm.get(\"centroid\").value);\n }\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Draw Tool Layer\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n }\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationWamsComponent);\nexport { ViewApplicationLocationWamsComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationProfessionalBodiesWamsConstants } from \"./view-application-professional-bodies-wams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationConstants } from \"../../../shared/view-application.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationProfessionalBodiesWamsComponent = class ViewApplicationProfessionalBodiesWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n recipientService;\n appController;\n changeDetectorRef;\n routerParamsService;\n professionalBodiesForm;\n professionalBodiesFormControl = ViewApplicationProfessionalBodiesWamsConstants.PROFESSIONAL_BODIES_FORM_CONTROL;\n stepHeader;\n markImplementingAgentAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL;\n markEngineerAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL;\n markContractorAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL;\n implementingAgentFormControlName = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesWamsConstants.RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME;\n showImplementingAgent = false;\n showEngineer = false;\n showContractor = false;\n implementingAgentDisableFilterBy = true;\n implementingAgentDisableEditing = true;\n implementingAgentGroups = [];\n implementingAgentLabel = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_LABEL;\n implementingAgentDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_DETAILS_HEADER;\n engineerDisableFilterBy = true;\n engineerDisableEditing = true;\n engineerGroups = [];\n engineerLabel = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_LABEL;\n engineerDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_DETAILS_HEADER;\n contractorDisableFilterBy = true;\n contractorDisableEditing = true;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesWamsConstants.RESPONSIBLE_CONTRACTOR_LABEL;\n contractorDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.CONTRACTOR_DETAILS_HEADER;\n selectedApplicationSubscription;\n selectedModuleNameAsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, recipientService, appController, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.recipientService = recipientService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.listenForRouteParamChange();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControl);\n form.clearValidators();\n this.professionalBodiesForm = form;\n }\n loadMetadata(stepMeta) {\n try {\n this.implementingAgentGroups = stepMeta.implementingAgentConsultantGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.responsibleContractorGroup;\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n this.listenForSelectedApplication();\n this.changeDetectorRef.detectChanges();\n }\n handleRouteChange() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.implementingAgent !== undefined && application.implementingAgent !== null && application.implementingAgent.length > 0) {\n this.showImplementingAgent = true;\n const implementingAgent = application.implementingAgent[0];\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(implementingAgent);\n this.professionalBodiesForm.markAllAsTouched();\n }\n if (application && application.engineer !== undefined && application.engineer !== null && application.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = application.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.markAllAsTouched();\n }\n if (application && application.contractor !== undefined && application.contractor !== null && application.contractor.length > 0) {\n this.showContractor = true;\n const electricalContractor = application.contractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.markAllAsTouched();\n }\n }\n });\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.PROFESSIONAL_BODIES_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationProfessionalBodiesWamsComponent);\nexport { ViewApplicationProfessionalBodiesWamsComponent };\n","export class ViewApplicationProfessionalBodiesWamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL = \"Are the implementing agent's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markEngineerAsNotApplicable\";\n static MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL = \"Are the contractor's details required?\";\n static IMPLEMENTING_AGENT_LABEL = \"Implementing agent / consultant\";\n static ENGINEER_LABEL = \"Civil engineer\";\n static RESPONSIBLE_CONTRACTOR_LABEL = \"Responsible contractor\";\n static IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"implementingAgentRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME = \"responsibleContractorRecipient\";\n static IMPLEMENTING_AGENT_DETAILS_HEADER = \"Implementing agent details\";\n static ENGINEER_DETAILS_HEADER = \"Engineer details\";\n static CONTRACTOR_DETAILS_HEADER = \"Contractor details\";\n static PROFESSIONAL_BODIES_FORM_CONTROL = \"professionalBodiesForm\";\n}\n","export class ViewApplicationDetailsZcConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_CTRL = \"type\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from '@angular/core';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { AflaModuleStrategyService } from 'src/app/shared/services/afla-module-strategy/afla-module-strategy.service';\nimport { SelectedApplicationService } from 'src/app/shared/services/selected-application/selected-application.service';\nimport { ApplicationViewService } from 'src/app/view-application/shared/application-view.service';\nimport { ViewApplicationBaseComponent } from 'src/app/view-application/shared/view-application-base/view-application-base.component';\nimport { ViewApplicationDetailsZcConstants } from './view-application-details-zc.constant';\nimport { RouterParamsService } from 'src/app/shared/services/route-params.service';\nlet ViewApplicationDetailsZcamsComponent = class ViewApplicationDetailsZcamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsZcConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsZcConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsZcConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsZcConstants.DESCRIPTION_LBL;\n applicationTypePlaceHolder = ViewApplicationDetailsZcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDmSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsZcamsComponent = __decorate([\n Component({\n selector: 'app-view-application-details-zcams',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsZcamsComponent);\nexport { ViewApplicationDetailsZcamsComponent };\n","export class ViewApplicationLocationZcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n // static readonly VALIDATION_MESSAGES = {\n // erfNo: {\n // required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // subdivision: {\n // required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // allotment: {\n // required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // farmNo: {\n // required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // sgCode: {\n // required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // address: {\n // required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // }\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationLocationZcConstants } from \"./view-application-location-zc.constants\";\nimport { ViewApplicationBaseComponent } from \"src/app/view-application/shared/view-application-base/view-application-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { AflaModuleStrategyService } from \"src/app/shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"src/app/shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"src/app/shared/utils/recipient-utils\";\nimport { WktConverterUtils } from \"src/app/shared/utils/wkt-converter-utils\";\nimport { ApplicationViewService } from \"src/app/view-application/shared/application-view.service\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nimport { RouterParamsService } from \"src/app/shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationZcamsComponent = class ViewApplicationLocationZcamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_4;\n erfNoControl = ViewApplicationLocationZcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationZcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationZcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationZcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationZcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationZcConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationZcConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationZcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationZcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationZcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationZcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationZcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationZcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewApplicationLocationZcConstants.OWNER_LABEL;\n removePropertyLabel = ViewApplicationLocationZcConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableAdd = true;\n ownerDisableFilterBy = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n rcApplication;\n selectedApplicationCMSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n checkSave() {\n this.selectedApplicationCMSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.rcApplication = app;\n if (this.rcApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode),\n address: new FormControl(prop.address),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.rcApplication.properties && this.rcApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n if (pa?.controls.length > 0) {\n pa.clear();\n }\n this.rcApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Zone certificate management graphics\", true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationZcamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationZcamsComponent);\nexport { ViewApplicationLocationZcamsComponent };\n","export class ApplicationSearchConstants {\n static FORM_CONTROLS = {\n nameLabel: \"Name\",\n surnameLabel: \"Surname\",\n contactNameLabel: \"Contact Name\",\n contactSurnameLabel: \"Contact Surname\",\n organisationLabel: \"Organisation\",\n dateOfBirthLabel: \"Date of Birth\",\n assignedToLabel: \"Assigned to\",\n townplannerLabel: \"Townplanner\",\n transferAttorneyLabel: \"Transfer Attorney\",\n idNumberLabel: \"ID Number\",\n dateOfDeathLabel: \"Date of death\",\n fromDateLabel: \"Select 'from' date\",\n toDateLabel: \"Select 'to' date\",\n beforeDateLabel: \"Date of deed transfer before\",\n afterDateLabel: \"Date of deed transfer after\",\n percentCompleteLabel: \"Percentage complete\",\n statusLabel: \"Application status\",\n erfNoLabel: \"Erf No.\",\n farmNoLabel: \"Farm No.\",\n allotmentLabel: \"Allotment\",\n sgCodeLabel: \"SG Code\",\n timeoutStatusLabel: \"Timeout status\",\n applicationTypeLabel: \"Application types\",\n daysUntilExpiredLabel: \"Days until expired\",\n dateLabel: \"Select date\",\n datePlaceholder: \"yyyy/mm/dd\",\n endDateLabel: \"Lease end date\",\n startDateLabel: \"Lease start date\",\n searchText: \"Search\",\n cancelBtnPlaceholder: \"Cancel\",\n assignedToUsersForm: \"assignedToUsersForm\",\n applicantAgentForm: \"applicantAgentForm\",\n nameFormControl: \"nameFormControl\",\n surnameFormControl: \"surnameFormControl\",\n idNumberFormControl: \"idNumberFormControl\",\n organisationFormControl: \"organisationFormControl\",\n erfNoFormControl: \"erfNoFormControl\",\n farmNoFormControl: \"farmNoFormControl\",\n allotmentFormControl: \"allotmentFormControl\",\n sgCodeFormControl: \"sgCodeFormControl\",\n assignedToUsersFormControl: \"assignedToUsersFormControl\",\n createdDateFormControl: \"createdDateFormControl\",\n toCreatedDateFormControl: \"toCreatedDateFormControl\",\n fromCreatedDateFormControl: \"fromCreatedDateFormControl\",\n dateOfDeathFormControl: \"dateOfDeathFormControl\",\n statusFormControl: \"statusFormControl\",\n daysUntilExpiredFormControl: \"daysUntilExpiredFormControl\",\n applicationTypeFormControl: \"applicationTypeFormControl\",\n townPlannerFormControl: \"townPlannerFormControl\",\n groupNameFormControl: \"groupNameFormControl\",\n deedTransferBeforeDateFormControl: \"deedTransferBeforeDateFormControl\",\n deedTransferAfterDateFormControl: \"deedTransferAfterDateFormControl\",\n deedTransferDateFormControl: \"deedTransferDateFormControl\",\n leaseContractDateFormControl: \"leaseContractDateFormControl\",\n leaseEndDateFormControl: \"leaseEndDateFormControl\",\n leaseStartDateFormControl: \"leaseStartDateFormControl\"\n };\n static APP_EXPAND_PORTAL_APP_A = \"point,polygon,applicant,personResponsible,attachments\";\n static APP_EXPAND_PORTAL_APP_PL = \"properties($expand=owners($expand=groups)),leaseAreas,attachments,applicant\";\n static APP_EXPAND_PORTAL_APP_BP = \"properties($expand=owners($expand=groups),zonings,buildings),architect,engineer,electricalContractor\";\n static APP_EXPAND_PORTAL_APP_BL = \"properties, BusinessOwner($expand=groups),applicant($expand=groups),status,applicantAgent($expand=groups),attachments\";\n static APP_EXPAND_PORTAL_APP_W = \"applicationPolygons,applicationLines,implementingAgent,engineer,contractor\";\n static APP_EXPAND_PORTAL_APP_TP = \"applicationTypes,applicationZonings,properties($expand=owners($expand=groups),zonings)\";\n static APP_SEARCH_EXPAND_FULL_LIST_IT = \"lastEditedUser,createdSystemUser,applicant,status,applicantAgent,bays,traders($expand=groups),tradeGoods\";\n static APP_SEARCH_EXPAND_FULL_LIST_SN = \"lastEditedUser,createdSystemUser,applicant,status,applicantAgent\";\n static APP_EXPAND_PORTAL_APP_CM = \"deceased($expand=deceasedNames), applicantAgent, applicant, funeralParlour, family($expand=groups), attachments\";\n static APP_SEARCH_EXPAND_FULL_LIST_DM = \"applicant,applicantAgent,properties($expand=owners), attachments\";\n static APP_SEARCH_EXPAND_FULL_LIST_RC = \"applicant($expand=groups),applicantAgent($expand=groups),transferor($expand=groups),transferee($expand=groups),conveyancer($expand=groups),properties($expand=managingAgent($expand=groups)),attachments\";\n static APP_SEARCH_EXPAND_FULL_LIST_EC = \"electricalContractor($expand=groups),engineer($expand=groups),applicant($expand=groups),applicantAgent($expand=groups),properties($expand=owners($expand=groups)), attachments\";\n static APP_SEARCH_EXPAND_FULL_LIST_TM = \"applicant,applicantAgent,properties($expand=owners), attachments\";\n static APP_SEARCH_EXPAND_FULL_LIST_ZC = \"applicant,applicantAgent,properties($expand=owners), attachments\";\n static APPLICATION_AGENT = \"applicantAgent\";\n static FUNERAL_PARLOUR = \"funeralParlour\";\n static FAMILY = \"family\";\n static ORGANISATION = \"organisation\";\n static APPLICANT = \"applicant\";\n static STATUS = \"status\";\n static NAME = \"name\";\n static SURNAME = \"surname\";\n static USER_ID = \"userId\";\n static MODULE_ID = \"moduleId\";\n static USER = \"user\";\n static LAST_NAME = \"lastName\";\n static FIRST_NAME = \"firstName\";\n static CREATED_DATE = \"createdDate\";\n static DEFAULT_SEARCH = \"referenceNumber\";\n static PERCENT_COMPLETE = \"percentageComplete\";\n static APPLICATION_JOB_LINK = \"applicationJobLink\";\n static WORKFLOW_SECTION = \"WorkflowSection\";\n static DAYS_UNTIL_EXPIRED = \"daysUntilExpired\";\n static TIMEOUT_STATUS = \"timeoutStatus\";\n static APPLICATION_TYPES = \"applicationTypes\";\n static APPLICATION_TYPE = \"applicationType\";\n static OWNERS = \"owners\";\n static PROPERTIES = \"properties\";\n static PROPERTY_BUILDINGS = \"propertybuildings\";\n static PROPERTY_ZONINGS = \"propertyzonings\";\n static ZONINGS = \"zonings\";\n static BUILDINGS = \"buildings\";\n static TOWNPLANNER_ID = \"TownplannerId\";\n static DECEASED = \"deceased\";\n static DECEASED_NAMES = \"deceasedNames\";\n static BURIAL_ORDER_NUMBER = \"burialOrderNumber\";\n static ID_NUMBER = \"idNumber\";\n static DATE_OF_BIRTH = \"dateOfBirth\";\n static DATE_OF_DEATH = \"dateOfDeath\";\n static OPTION_SELECT_GRAVE = \"Search burial applications with grave\";\n static GRAVES = \"graves\";\n static ERF_NUMBER = \"erfNumber\";\n static FARM_NUMBER = \"farmNumber\";\n static ALLOTMENT = \"allotment\";\n static SG_CODE = \"sgCode\";\n static SEARCH_BY_SHAPE = \"SearchByShape\";\n static TRANSFER_ATTORNEY = \"transferAttorney\";\n static BUYERS = \"buyers\";\n static SELLERS = \"sellers\";\n static LESSEES = \"lessees\";\n static DATE_DEED_TRANSFER = \"dateOfDeedTransfer\";\n static LEASE_START_DATE = \"leaseStartDate\";\n static LEASE_END_DATE = \"leaseEndDate\";\n static WITH_GRAVE = \"withGrave\";\n}\n","var ApplicationSearchService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { OdataQueryService } from \"../../shared/services/odata-query/odata-query.service\";\nimport { UtcDatePipe } from \"../../shared/pipes/utc-date/utc-date.pipe\";\nimport { ApiUserConstants } from \"../../shared/constants/api-constants/api-user.constants\";\nlet ApplicationSearchService = class ApplicationSearchService {\n static { ApplicationSearchService_1 = this; }\n httpClient;\n oDataQueryService;\n utcDate;\n moduleUsers;\n constructor(httpClient, oDataQueryService, utcDate) {\n this.httpClient = httpClient;\n this.oDataQueryService = oDataQueryService;\n this.utcDate = utcDate;\n }\n // private static buildSimpleSearchRequest\n // (text: string,\n // searchColumn: string | typeof SharedConstants.SEARCH_BY_DEFAULT,\n // aflaModuleStrategyService: AflaModuleStrategyService,\n // moduleID: number)\n // : Observable> {\n // return aflaModuleStrategyService.buildApplicationSearchBaseRequest(moduleID);\n // }\n //\n static buildGetSingleRequest(aflaModuleStrategyService, jobId, expandList) {\n const params = {\n $expand: expandList,\n $filter: AflaModuleStrategyService.buildJobIDFilter(jobId)\n };\n return aflaModuleStrategyService.getApplicationsQuery(params);\n }\n static getExpandList(aflaModuleStrategyService) {\n return aflaModuleStrategyService.expandListForApplicationPartial;\n }\n getSingleApplication(aflaModuleStrategyService, jobId) {\n return ApplicationSearchService_1.buildGetSingleRequest(aflaModuleStrategyService, jobId, ApplicationSearchService_1.getExpandList(aflaModuleStrategyService))\n .pipe(map((applicationList) => {\n return applicationList.value.map((application) => {\n return application;\n // return aflaModuleStrategyService.mapFromApplicationEntityToApplicationSearchModel(application);\n })?.pop();\n }));\n }\n sortApplicationList(applications, sortColumn, ascendingSort = true) {\n let column;\n if (applications.length > 0) {\n // use the first column unless another column has been specified - make sure that the specified column has been included in the list\n // tslint:disable-next-line:forin\n for (const aKey in applications[0]) {\n if (!column) {\n column = aKey;\n if (!sortColumn)\n break;\n }\n if (aKey === sortColumn) {\n column = aKey;\n break;\n }\n }\n if (ascendingSort) {\n return applications.sort((a, b) => {\n if (Date.parse(a[column]))\n return 0 - (a[column] > b[column] ? -1 : 1);\n if (typeof (a[column]) === \"string\")\n return 0 - (a[column].toLowerCase() > b[column].toLowerCase() ? -1 : 1);\n else if (typeof (a[column]) === \"number\")\n return 0 - (a[column] > b[column] ? -1 : 1);\n else\n return 0 - (a[column] > b[column] ? -1 : 1);\n });\n }\n else {\n return applications.sort((a, b) => {\n if (Date.parse(a[column]))\n return 0 - (a[column] > b[column] ? 1 : -1);\n if (typeof (a[column]) === \"string\")\n return 0 - (a[column].toLowerCase() > b[column].toLowerCase() ? 1 : -1);\n else if (typeof (a[column]) === \"number\")\n return 0 - (a[column] > b[column] ? 1 : -1);\n else\n return 0 - (a[column] > b[column] ? 1 : -1);\n });\n }\n }\n else {\n return applications;\n }\n }\n getUserName(userId) {\n return this.httpClient\n .get(`${ApiUserConstants.URL}/${userId}`);\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: OdataQueryService },\n { type: UtcDatePipe }\n ];\n};\nApplicationSearchService = ApplicationSearchService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ApplicationSearchService);\nexport { ApplicationSearchService };\n","var ApplicationViewService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { ApiStepMetaConstants } from \"../../shared/constants/api-constants/api-step-meta.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiLookupConstants } from \"../../shared/constants/api-constants/api-lookup.constants\";\nimport { TrueCentroidResultsModel } from \"../../shared/models/gpserver-truecentroid-model\";\nimport { ApiAttachmentConstants } from \"../../shared/constants/api-constants/api-attachment.constants\";\nimport { ApiCommunicationConstants } from \"src/app/shared/constants/api-constants/api-communication.constants\";\nimport { ApiRecipientConstants } from \"src/app/shared/constants/api-constants/api-recipient.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ApplicationViewService = class ApplicationViewService {\n static { ApplicationViewService_1 = this; }\n http;\n routeParamsService;\n moduleID;\n propertyData; // {data: \"\"};\n propertySubject = new BehaviorSubject(undefined);\n propertyObservable = this.propertySubject.asObservable();\n startMetadataSubject = new BehaviorSubject(null);\n $startMetadata = this.startMetadataSubject.asObservable();\n selectedModuleName = new BehaviorSubject(\"\");\n selectedModuleNameAsObservable = this.selectedModuleName.asObservable();\n selectGoToStep = new BehaviorSubject(0);\n selectGoToStepAsObservable = this.selectGoToStep.asObservable();\n hasLoadedLookups = new BehaviorSubject(false);\n hasLoadedLookupsAsObservable = this.hasLoadedLookups.asObservable();\n fullApplicationCheckRequired = new BehaviorSubject(false);\n $fullApplicationCheckRequired = this.fullApplicationCheckRequired.asObservable();\n $missingLookupsForZones = [];\n $clearLayerGraphicsSubject = new BehaviorSubject(false);\n routeParamsSubscription;\n constructor(http, routeParamsService) {\n this.http = http;\n this.routeParamsService = routeParamsService;\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n return null;\n }\n return newValue !== oldValue;\n }\n savePropertyData(property) {\n this.propertyData.data = property;\n this.propertySubject.next(this.propertyData.data);\n }\n setHasLoadedLookups(loaded) {\n this.hasLoadedLookups.next(loaded);\n }\n start() {\n this.routeParamsSubscription = this.routeParamsService.params.subscribe(async (params) => {\n await this.handleRouteParamChange(params);\n });\n }\n async getStepMeta() {\n const filterString = `stepName eq \\'Start\\' AND moduleId eq ${this.moduleID}`;\n const params = {\n $filter: filterString\n };\n await this.http.get(`${ApiStepMetaConstants.URL}/${ApiStepMetaConstants.FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL}`, { params }).subscribe((metadata) => {\n this.startMetadataSubject.next(JSON.parse(metadata.value[0].metadata));\n });\n }\n setFullApplicationCheckRequired(required) {\n this.fullApplicationCheckRequired.next(required);\n }\n setModuleName(moduleName) {\n this.selectedModuleName.next(moduleName);\n }\n setSelectGoToStep(stepIndex) {\n this.selectGoToStep.next(stepIndex);\n }\n getLookupsObservable(params) {\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n uploadDocumentObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getAttachmentContent(attachmentId) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${attachmentId}/${ApiAttachmentConstants.FUNCTION_GET_ATTACHMENT_CONTENT}`, { responseType: \"blob\" });\n }\n deleteUploadDocumentsObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_DELETE_MULTIPLE_ATTACHMENTS}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getTrueCentroid(url, params) {\n return this.http.post(url, params).pipe(map((response) => {\n return new TrueCentroidResultsModel().deserialize(response);\n }));\n }\n sendMissingLookupsEmail(url, params) {\n return this.http.post(url, params)\n .pipe(map(response => {\n return response;\n }));\n }\n async handleRouteParamChange(params) {\n if (params !== undefined && params !== null && params && ApplicationViewService_1.checkIfChanged(params.moduleid, this.moduleID)) {\n this.moduleID = params.moduleid;\n await this.getStepMeta();\n }\n }\n getAttachments(params) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n getApplicationRecipients(params) {\n return this.http.get(ApiRecipientConstants.URL, { params }).pipe(map(response => {\n return response;\n }));\n }\n getCommunications(params) {\n return this.http.get(`${ApiCommunicationConstants.URL}/${ApiCommunicationConstants.FUNCTION_GET_COMMUNICATION_BY_JOBID}`, { params }).pipe(map(response => {\n return response;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService }\n ];\n};\nApplicationViewService = ApplicationViewService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ApplicationViewService);\nexport { ApplicationViewService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { ApplicationViewService } from \"../../application-view.service\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddDocumentsDialogComponent = class AddDocumentsDialogComponent {\n activeModal;\n saLongDatePipe;\n userInformationService;\n applicationViewService;\n requestStatusService;\n appControllerService;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\n selectedDocumentType;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n addDocumentForm;\n documentTypeLabel = \"Document type\";\n descriptionLabel = \"Description\";\n fileLabel = \"File\";\n selectFileLabel = \"Select file\";\n cancelBtnPlaceholder = \"Cancel\";\n documentTypeFormControlName = \"documentType\";\n descriptionFormControlName = \"description\";\n fileNameFormControlName = \"fileName\";\n saveBtnPlaceholder = \"Save\";\n uploadedFiles = [];\n documentTypeErrMsg = \"Please select the document type.\";\n descriptionErrMsg = \"Please enter a description for the document.\";\n noFileUploadedErrMsg = \"Please upload a document.\";\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n uploadDocumentObservableSubscription;\n authenticatedUserSubscription;\n constructor(activeModal, saLongDatePipe, userInformationService, applicationViewService, requestStatusService, appControllerService) {\n this.activeModal = activeModal;\n this.saLongDatePipe = saLongDatePipe;\n this.userInformationService = userInformationService;\n this.applicationViewService = applicationViewService;\n this.requestStatusService = requestStatusService;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n this.authenticatedUserSubscription = this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.addDocumentForm.get(this.documentTypeFormControlName).setValue(this.selectedDocumentType);\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(\"The uploaded file size is bigger than the allowed file size\", AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(\"The uploaded file type is not allowed.\", AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.addDocumentForm.valid && this.addDocumentForm.touched && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const newDocument = {\n id: 0,\n type: this.addDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.addDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails.name,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(newDocument).then(() => {\n this.requestStatusService.removeBusySpinner(\"save\");\n }).catch(() => {\n this.appControllerService.showMessage(SharedConstants.ADD_DOCUMENT_FAIL, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n });\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.ADD_DOCUMENT_FAIL, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n Object.keys(this.addDocumentForm.controls).forEach(key => {\n if (this.addDocumentForm.get(key).invalid) {\n this.addDocumentForm.get(key).markAsTouched();\n }\n });\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n deleteAttachment(i, $event) {\n this.uploadedFiles.splice(i, 1);\n if (this.uploadedFiles.length === 0) {\n this.addDocumentForm.get(this.fileNameFormControlName).reset();\n }\n $event.stopPropagation();\n }\n initForm() {\n this.addDocumentForm = new FormGroup({\n documentType: new FormControl(null, Validators.required),\n description: new FormControl(null, Validators.required),\n fileName: new FormControl(null)\n });\n }\n uploadAttachment(newDocument) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n let fileString;\n reader.readAsDataURL(this.fileDetails);\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: newDocument.fileName,\n Data: fileString,\n Description: newDocument.name,\n AttachmentType: newDocument.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.applicationViewService.uploadDocumentObservable(params).pipe(take(1)).subscribe({\n next: (response) => {\n newDocument.id = response.id;\n this.activeModal.close(newDocument);\n resolve();\n },\n error: error => {\n reject(error);\n }\n });\n }\n };\n reader.onerror = (error) => {\n reject(error);\n };\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: SaLongDatePipe },\n { type: UserInformationService },\n { type: ApplicationViewService },\n { type: RequestStatusService },\n { type: AppControllerService }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }],\n selectedDocumentType: [{ type: Input }]\n };\n};\nAddDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-add-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"add-documents-dialog\": \"view-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], AddDocumentsDialogComponent);\nexport { AddDocumentsDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./delete-documents-confirmation-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./delete-documents-confirmation-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nlet DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n cancelBtnPlaceholder = \"Cancel\";\n saveBtnPlaceholder = \"Delete\";\n dialogMessage = \"Are you sure that you want to delete the selected document(s) from the table?\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onDeleteBtnClicked() {\n this.activeModal.close(this.documentsToDelete);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n documentsToDelete: [{ type: Input }]\n };\n};\nDeleteDocumentsConfirmationDialogComponent = __decorate([\n Component({\n selector: \"app-delete-documents-confirmation-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'delete-documents-confirmation-dialog': 'view-application' },\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DeleteDocumentsConfirmationDialogComponent);\nexport { DeleteDocumentsConfirmationDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { ApplicationViewService } from \"../../application-view.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditDocumentsDialogComponent = class EditDocumentsDialogComponent {\n activeModal;\n appControllerService;\n userInformationService;\n requestStatusService;\n applicationViewService;\n saLongDatePipe;\n editDocumentForm;\n documentTypes = [];\n dialogTitle = \"\";\n documentToEdit;\n configUploadSettings;\n currentApplication;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR\n };\n documentTypeLabel = \"Document type\";\n descriptionLabel = \"Description\";\n fileLabel = \"File\";\n selectFileLabel = \"Select file\";\n cancelBtnPlaceholder = \"Cancel\";\n documentTypeFormControlName = \"documentType\";\n descriptionFormControlName = \"description\";\n saveBtnPlaceholder = \"Save\";\n uploadedFiles = [];\n documentTypeErrMsg = \"Please select the document type.\";\n descriptionErrMsg = \"Please enter a description for the document.\";\n noFileUploadedErrMsg = \"Please upload a document.\";\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n fileString;\n fileBlob;\n uploadDocumentObservableSubscripition;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n authenticatedUserSubscription;\n constructor(activeModal, appControllerService, userInformationService, requestStatusService, applicationViewService, saLongDatePipe) {\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.requestStatusService = requestStatusService;\n this.applicationViewService = applicationViewService;\n this.saLongDatePipe = saLongDatePipe;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.getAttachmentFileContent(this.documentToEdit.id);\n this.setFormValues();\n this.authenticatedUserSubscription = this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editDocumentForm.valid && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const editedDocument = {\n id: this.documentToEdit.id,\n type: this.editDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.editDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails ? this.fileDetails.name : this.documentToEdit.fileName,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(editedDocument);\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n this.markAllControlsAsTouched();\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n if (this.uploadedFiles.length > 0) {\n this.uploadedFiles.splice(i, 1);\n }\n $event.stopPropagation();\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(\"The uploaded file size is bigger than the allowed file size\", AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(\"The uploaded file type is not allowed.\", AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n uploadAttachment(editedDoc) {\n const reader = new FileReader();\n let fileString;\n if (this.fileDetails) {\n reader.readAsDataURL(this.fileDetails);\n }\n else {\n reader.readAsDataURL(this.fileBlob);\n }\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: editedDoc.fileName,\n Data: fileString,\n Description: editedDoc.name,\n AttachmentType: editedDoc.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscripition = this.applicationViewService.uploadDocumentObservable(params).subscribe({\n next: (attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.saLongDatePipe.transform(attachment.date, \"dd/MM/yyyy hh:mm\"),\n fileName: attachment.fileName,\n };\n const deletedParams = {\n ids: [this.documentToEdit.id], moduleId: this.appControllerService.selectedModuleID\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationViewService.deleteUploadDocumentsObservable(deletedParams).subscribe({\n next: () => {\n const resultObject = {\n idsToDelete: [this.documentToEdit.id], editedDocument: attachmentObject\n };\n this.activeModal.close(resultObject);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Add);\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Update);\n }\n });\n }\n };\n }\n initForm() {\n this.editDocumentForm = new FormGroup({\n documentType: new FormControl(this.documentToEdit.type, Validators.required),\n description: new FormControl(this.documentToEdit.name, Validators.required),\n fileName: new FormControl(this.documentToEdit.fileName)\n });\n }\n setFormValues() {\n this.editDocumentForm.get(this.documentTypeFormControlName).setValue(this.documentToEdit.type);\n this.editDocumentForm.get(this.descriptionFormControlName).setValue(this.documentToEdit.name);\n this.uploadedFiles[0] = this.documentToEdit.fileName;\n }\n markAllControlsAsTouched() {\n Object.keys(this.editDocumentForm.controls).forEach(key => {\n if (this.editDocumentForm.get(key).invalid) {\n this.editDocumentForm.get(key).markAsTouched();\n }\n });\n }\n getAttachmentFileContent(id) {\n this.getAttachmentContentSubscription = this.applicationViewService.getAttachmentContent(id).subscribe({\n next: (fileBlob) => {\n this.fileBlob = fileBlob;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: RequestStatusService },\n { type: ApplicationViewService },\n { type: SaLongDatePipe }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n documentToEdit: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }]\n };\n};\nEditDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-edit-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"edit-documents-dialog\": \"view-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], EditDocumentsDialogComponent);\nexport { EditDocumentsDialogComponent };\n","var ViewApplicationBaseComponent_1;\nimport { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { ApplicationViewService } from \"../application-view.service\";\nimport { RouterParamsService } from \"../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationBaseComponent = class ViewApplicationBaseComponent {\n static { ViewApplicationBaseComponent_1 = this; }\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n incompleteJobIdSubscription;\n selectedApplicationVABSubscription;\n routerParamsSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n this.incompleteJobIdSubscription = this.selectedApplicationService.$incompleteJobId.subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.selectedApplicationVABSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n });\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n getMetadata() {\n this.applicationViewService.$startMetadata.pipe(take(1)).subscribe(stepMeta => {\n if (stepMeta != null) {\n this.stepMeta = stepMeta;\n this.loadMetadata(this.stepMeta);\n }\n });\n }\n listenForRouteParamChange() {\n this.routerParamsSubscription = this.routerParamsService.params.subscribe((params) => {\n this.handleRouteParamChange(params);\n });\n }\n handleRouteParamChange(params) {\n if (params.moduleid || params.jobID) {\n if (ViewApplicationBaseComponent_1.checkIfChanged(params.jobID, this.jobId)\n || ViewApplicationBaseComponent_1.checkIfChanged(params.moduleid, this.moduleId)) {\n this.moduleId = params.moduleid;\n this.jobId = params.jobID;\n this.handleRouteChange();\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationBaseComponent = ViewApplicationBaseComponent_1 = __decorate([\n Component({\n template: \"\",\n changeDetection: ChangeDetectionStrategy.OnPush\n }),\n AutoUnsubPortal()\n], ViewApplicationBaseComponent);\nexport { ViewApplicationBaseComponent };\n","import { __decorate } from \"tslib\";\nimport { Directive, ViewContainerRef } from \"@angular/core\";\nlet ViewApplicationHostDirective = class ViewApplicationHostDirective {\n viewContainerRef;\n constructor(viewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n static ctorParameters = () => [\n { type: ViewContainerRef }\n ];\n};\nViewApplicationHostDirective = __decorate([\n Directive({\n selector: \"[appViewApplicationHost]\"\n })\n], ViewApplicationHostDirective);\nexport { ViewApplicationHostDirective };\n","import { SharedConstants } from \"../../shared/constants/shared.constants\";\nexport class ViewApplicationConstants {\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static CONTINUE_BUTTON_PLACEHOLDER = SharedConstants.CONTINUE_STEP_TEXT;\n static CREATE_BUTTON_PLACEHOLDER = \"Create application\";\n static CLEAR_BUTTON_PLACEHOLDER = SharedConstants.CLEAR_LABEL;\n static CONTENT_PAGE_HEADING = \"Create application\";\n static NAME_INPUT_LABEL = \"Name\";\n static SURNAME_INPUT_LABEL = \"Surname\";\n static CREATE_APPLICATION_LABEL = \"Create\";\n static ERF_INPUT_LABEL = \"Erf\";\n static ADDRESS_INPUT_LABEL = \"Address\";\n // Create application Steps\n static WELCOME_HEADING = \"Welcome to the\";\n static WELCOME_HEADING_APPLICATION = \"application\";\n static VIEW_DOCUMENTS_LINK_TEXT = \"HERE\";\n static APPLICATIONS = \"applications\";\n static PLEASE_CLICK_TEXT = \"Please click\";\n static MORE_INFO_TEXT = \"for more information related to\";\n static DETAILS_HEADING = \"Application Details\";\n static LOCATION_HEADING = \"Location\";\n static PROFESSIONAL_BODIES_HEADING = \"Professional bodies\";\n static DECEASED_HEADING = \"Deceased\";\n static FAMILY_HEADING = \"Family\";\n static APPLICANT_HEADING = \"Applicant\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent details\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\n static COMMUNICATION_HEADING = \"Communications\";\n // TODO: replace with configurable text\n static WELCOME_MESSAGE = \"Irure non quis enim laboris consectetur commodo. Est esse irure Lorem ex enim excepteur duis. Adipisicing enim aliquip ad reprehenderit eiusmod ex et sint consectetur quis eiusmod. Id nostrud sint quis proident dolor.\\n\\n\" + \"Nisi velit excepteur Lorem elit consequat sunt enim ullamco elit Lorem ipsum id. Nostrud exercitation culpa qui ex amet do ad veniam velit ut esse proident aliqua veniam. Consectetur non qui do culpa consectetur occaecat magna magna. Nisi nisi labore anim commodo et magna nostrud. Et fugiat ex do reprehenderit aute ullamco occaecat aute in voluptate. Duis quis culpa minim aliqua sint ut sit proident qui commodo magna ut. Deserunt excepteur quis nostrud anim cillum adipisicing laboris veniam ipsum aliqua cupidatat.\\n\\n\" + \"Quis officia fugiat est nisi enim. Id reprehenderit pariatur culpa irure cupidatat ipsum non officia non. Sit et qui laborum laboris nisi et veniam eiusmod amet. Sit amet eiusmod fugiat cupidatat sunt eiusmod irure proident laborum sunt laboris consequat eiusmod. Fugiat culpa anim incididunt officia sint deserunt aliqua amet reprehenderit aute veniam minim nulla.\\n\\n\" + \"Adipisicing ipsum adipisicing esse exercitation enim duis aute esse cillum fugiat. Laborum minim incididunt nisi commodo dolore ad irure nostrud laborum irure. Consectetur eu elit ullamco duis adipisicing voluptate non. Dolore exercitation nulla aute Lorem officia. Labore ex ullamco qui laboris tempor id id cillum.\\n\\n\" + \"Adipisicing nostrud exercitation voluptate id qui amet officia do voluptate irure ea nulla Lorem. Cillum cillum sint labore tempor irure. Elit do mollit ullamco pariatur eiusmod non do ea id aliquip laborum. Deserunt enim ex anim ea ullamco id labore est nostrud. Tempor aliquip duis voluptate tempor id duis.\\n\";\n}\n","export var RequiredDocumentsHeadingEnum;\n(function (RequiredDocumentsHeadingEnum) {\n RequiredDocumentsHeadingEnum[\"type\"] = \"Type\";\n RequiredDocumentsHeadingEnum[\"name\"] = \"Name\";\n RequiredDocumentsHeadingEnum[\"dateUploaded\"] = \"Date uploaded\";\n RequiredDocumentsHeadingEnum[\"fileName\"] = \"File name\";\n})(RequiredDocumentsHeadingEnum || (RequiredDocumentsHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-documentation.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-documentation.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CRUDOperation } from \"../../shared/models/crud-operation-enum.model\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DatePipe } from \"@angular/common\";\nimport { AppConfig } from \"../../app.config\";\nimport { Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../shared/application-view.service\";\nimport { DeleteDocumentsConfirmationDialogComponent } from \"../shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component\";\nimport { AddDocumentsDialogComponent } from \"../shared/forms/add-documents-dialog/add-documents-dialog.component\";\nimport { EditDocumentsDialogComponent } from \"../shared/forms/edit-documents-dialog/edit-documents-dialog.component\";\nimport { ViewApplicationConstants } from \"../shared/view-application.constants\";\nimport { ViewApplicationDocumentationConstants } from \"./view-application-documentation.constants\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { FileUtils } from \"../../shared/utils/file-utils\";\nlet ViewApplicationDocumentationComponent = class ViewApplicationDocumentationComponent extends ViewApplicationBaseComponent {\n aflaModuleStrategyService;\n applicationViewService;\n selectedApplicationService;\n modalService;\n datePipe;\n changeDetectorRef;\n appController;\n routerParamsService;\n disableComponent = true;\n showNoRequiredDocumentText = false;\n tableMapper;\n tableDataSource = new BehaviorSubject([]);\n documentForm;\n stepHeader = \"\";\n requiredDocuments = [];\n showCheckBoxColumn = true;\n noRequiredDocumentText = ViewApplicationDocumentationConstants.NO_DOCUMENT_REQUIRED_MESSAGE;\n uploadRequiredDocumentLabel = ViewApplicationDocumentationConstants.UPLOAD_REQUIRED_DOC_LABEL;\n applicationDocumentsLabel = ViewApplicationDocumentationConstants.APPLICATIONS_DOCUMENTS_LABEL;\n addBtnLabel = ViewApplicationDocumentationConstants.ADD_DOCUMENTS_BTN_LABEL;\n editBtnLabel = ViewApplicationDocumentationConstants.EDIT_DOCUMENTS_BTN_LABEL;\n deleteBtnLabel = ViewApplicationDocumentationConstants.DELETE_DOCUMENTS_BTN_LABEL;\n modalBodyOptions = ViewApplicationDocumentationConstants.modalBodyOptions;\n attachmentLabel = ViewApplicationDocumentationConstants.ATTACHMENT_LABEL;\n downloadLabel = ViewApplicationDocumentationConstants.DOWNLOAD_LABEL;\n componentName = ViewApplicationDocumentationConstants.COMPONENT_NAME;\n requiredDocumentLookupConstant = ViewApplicationDocumentationConstants.REQUIRED_DOCUMENTS_HEADING_LOOKUP;\n sessionDocumentCantBeDeletedMsg = ViewApplicationDocumentationConstants.SESSION_DOCUMENTS_CANT_BE_DELETED_MESSAGE;\n sessionDocumentCantBeEditedMsg = ViewApplicationDocumentationConstants.SESSION_DOCUMENTS_CANT_BE_EDITED_MESSAGE;\n addDocumentDialogTitle = ViewApplicationDocumentationConstants.ADD_DOCUMENTS_DIALOG_TITLE;\n editDocumentDialogTitle = ViewApplicationDocumentationConstants.EDIT_DOCUMENTS_DIALOG_TITLE;\n deleteDocumentDialogTitle = ViewApplicationDocumentationConstants.DELETE_DOCUMENTS_DIALOG_TITLE;\n datePipeDateFormat = ViewApplicationDocumentationConstants.DATE_PIPE_FORMAT;\n documentFormControl = ViewApplicationDocumentationConstants.DOCUMENT_FORM_CONTROL_NAME;\n documentsFormControl = ViewApplicationDocumentationConstants.DOCUMENTS_FORM_CONTROL_NAME;\n additionalApplicationTypeConstant = ViewApplicationDocumentationConstants.ADDITIONAL_APPLICATION_TYPE_CONSTANTS;\n isDocumentRequiredConstant = ViewApplicationDocumentationConstants.IS_DOCUMENT_REQUIRED;\n noRequiredDocumentsFoundErrMsg = ViewApplicationDocumentationConstants.NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE;\n selectedApplicationApplicationTypes = [];\n selectedDocuments = [];\n documentTypes = [];\n configUploadSettings;\n currentApplication;\n savedDocumentsIds;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n getLookupsObservableSubscription;\n selectedModuleNameAsObservableSubscription;\n getAttachmentsSubscription;\n getApplicationTypesSubscription;\n selectedApplicationSubscription;\n constructor(aflaModuleStrategyService, applicationViewService, selectedApplicationService, modalService, datePipe, changeDetectorRef, appController, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.applicationViewService = applicationViewService;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.routerParamsService = routerParamsService;\n this.configUploadSettings = AppConfig.settings.uploadFile;\n }\n ngOnInit() {\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.setupSubscribers();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n arrayReturned(documents) {\n this.selectedDocuments = documents;\n }\n onDeleteBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.disableComponent && this.checkIfDocumentCanBeAltered()) {\n this.appController.showMessage(this.sessionDocumentCantBeDeletedMsg, AlertType.Warning);\n return;\n }\n const modalRef = this.modalService.open(DeleteDocumentsConfirmationDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.deleteDocumentDialogTitle;\n modalRef.componentInstance.documentsToDelete = this.selectedDocuments;\n modalRef.result.then((deletedDocuments) => {\n if (deletedDocuments) {\n const idsOfDocumentsToBeDeleted = this.selectedDocuments.map(document => {\n return document.id;\n });\n const params = {\n ids: idsOfDocumentsToBeDeleted,\n moduleId: this.currentApplication.moduleId\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationViewService.deleteUploadDocumentsObservable(params).subscribe({\n next: () => {\n this.deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Delete);\n }\n });\n }\n });\n }\n onAddBtnClicked(event) {\n const evt = event.target;\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(AddDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.addDocumentDialogTitle;\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.selectedDocumentType = evt.innerHTML;\n modalRef.result.then((newDocument) => {\n if (newDocument) {\n this.addDocumentToTable(newDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n onEditBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.selectedDocuments.length > 1) {\n this.appController.showMessage(SharedConstants.MORE_THAN_ONE_SELECTED, AlertType.Warning);\n return;\n }\n if (this.disableComponent && this.checkIfDocumentCanBeAltered()) {\n this.appController.showMessage(this.sessionDocumentCantBeEditedMsg, AlertType.Warning);\n return;\n }\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(EditDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.editDocumentDialogTitle;\n modalRef.componentInstance.documentToEdit = this.selectedDocuments[0];\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.result.then((resultObject) => {\n if (resultObject) {\n this.deleteSelectedDocsFromTable(resultObject.idsToDelete);\n this.addDocumentToTable(resultObject.editedDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n }\n });\n }\n onDownloadAttachment(attachment) {\n const attachmentId = attachment.id;\n const fileName = attachment.fileName;\n this.getAttachmentContentSubscription = this.applicationViewService.getAttachmentContent(attachmentId).subscribe({\n next: (attachmentContent) => {\n FileUtils.openFile(fileName, attachmentContent);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n checkIfDocumentCanBeAltered() {\n // checks if the selected documents should be deleted or edited\n let preventDocumentEdit = false;\n const docsThatCantBeAltered = [];\n for (const selectedDocument of this.selectedDocuments) {\n if (this.savedDocumentsIds.indexOf(selectedDocument.id) >= 0) {\n docsThatCantBeAltered.push(selectedDocument);\n }\n }\n if (docsThatCantBeAltered.length > 0) {\n preventDocumentEdit = true;\n }\n return preventDocumentEdit;\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = this.requiredDocumentLookupConstant;\n }\n getRequiredDocumentsLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and name eq 'RequiredDocument' and deleted eq false`,\n $expand: \"attachment\"\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.hasOwnProperty(\"value\") && response.value.length > 0) {\n const lookups = response.value;\n this.onGetRequiredDocumentsLookupsCompleted(lookups);\n }\n else {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n onGetRequiredDocumentsLookupsCompleted(lookups) {\n this.requiredDocuments = [];\n this.buildRequiredDocumentsObjects(lookups);\n this.sortRequiredDocumentsAlphabetically();\n if (this.currentApplication.attachments.length > 0) {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n this.updateFormControl();\n if (this.disableComponent) {\n this.captureIdsOfDocuments();\n }\n this.changeDetectorRef.detectChanges();\n }\n buildRequiredDocumentsObjects(lookups) {\n lookups.forEach(lookup => {\n const content = JSON.parse(lookup.content);\n if (this.selectedApplicationApplicationTypes.length > 0) {\n this.selectedApplicationApplicationTypes.forEach((applicationType) => {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant &&\n content.required?.toLowerCase() === this.isDocumentRequiredConstant &&\n content.applicationType?.toLowerCase() === applicationType?.toLowerCase()) {\n this.appendRequiredDocuments(lookup, content);\n }\n });\n }\n else {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant &&\n content.required?.toLowerCase() === this.isDocumentRequiredConstant) {\n this.appendRequiredDocuments(lookup, content);\n }\n }\n });\n if (this.requiredDocuments.length > 0) {\n this.removeDuplicateDocuments();\n }\n }\n addDocumentToTable(document) {\n // adds new document into the table\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n if (documentsAlreadyOnTheTable.length > 0) {\n documentsAlreadyOnTheTable.push(document);\n this.tableDataSource.next([...documentsAlreadyOnTheTable]);\n }\n else {\n this.tableDataSource.next([document]);\n }\n }\n updateDocumentChecklist() {\n const docsInTable = this.tableDataSource.value;\n this.resetDocumentsChecklist();\n this.updateDocumentChecklistOnInit(docsInTable);\n }\n deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted) {\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n const newDocuments = [];\n documentsAlreadyOnTheTable.forEach((document) => {\n let deleteDocument = false;\n idsOfDocumentsToBeDeleted.forEach((documentIdOfDeletedDocument) => {\n if (document.id === documentIdOfDeletedDocument) {\n deleteDocument = true;\n }\n if (!deleteDocument) {\n newDocuments.push(document);\n }\n });\n });\n this.tableDataSource.next([...newDocuments]);\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n // gets the saved application by jobId (if it exists)\n if (application) {\n if (+this.jobId > 0) {\n this.getApplicationAttachments(application);\n }\n }\n });\n }\n setupSubscribers() {\n this.getStepHeadingSubscribers();\n this.subscribeToSelectedApplication();\n }\n getStepHeadingSubscribers() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.REQUIRED_DOCUMENTATION_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.documentFormControl);\n form.clearValidators();\n this.documentForm = form;\n }\n loadSavedAttachments(attachments) {\n const attachmentsForTable = [];\n attachments.forEach((attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.datePipe.transform(attachment.date, this.datePipeDateFormat),\n fileName: attachment.fileName,\n };\n attachmentsForTable.push(attachmentObject);\n });\n this.tableDataSource.next(attachmentsForTable);\n }\n updateFormControl() {\n // mark form as valid if all required documents are uploaded\n let formIsValid = true;\n if (this.showNoRequiredDocumentText) {\n formIsValid = true;\n }\n this.requiredDocuments.forEach((document) => {\n if (document.uploaded === false) {\n formIsValid = false;\n }\n });\n if (formIsValid) {\n this.documentForm.get(this.documentsFormControl).clearValidators();\n }\n else {\n this.documentForm.get(this.documentsFormControl).addValidators(Validators.required);\n }\n this.documentForm.markAllAsTouched();\n this.documentForm.get(this.documentsFormControl).updateValueAndValidity();\n }\n getApplicationAttachments(application) {\n // get the application's attachments\n const params = {\n jobId: application.jobId\n };\n this.getAttachmentsSubscription = this.applicationViewService.getAttachments(params).subscribe({\n next: (response) => {\n application.attachments = response.value;\n this.getApplicationTypes(application);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n updateDocumentChecklistOnInit(attachmentsForTable) {\n if (this.requiredDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.requiredDocuments.forEach((requiredDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (requiredDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n requiredDocument.uploaded = true;\n }\n });\n });\n }\n }\n getDocumentTypes() {\n this.documentTypes = [this.additionalApplicationTypeConstant];\n const types = this.requiredDocuments?.map(document => {\n return document.name;\n });\n types.forEach((type) => {\n this.documentTypes.push(type);\n });\n return this.documentTypes;\n }\n getApplicationTypes(application) {\n const jobId = +this.jobId;\n const moduleId = +this.appController.selectedModuleID;\n this.getApplicationTypesSubscription = this.aflaModuleStrategyService.getApplicationTypes(jobId, moduleId).subscribe({\n next: (applicationTypes) => {\n this.selectedApplicationApplicationTypes = applicationTypes.value;\n this.currentApplication = application;\n this.getRequiredDocumentsLookups();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n sortRequiredDocumentsAlphabetically() {\n if (this.requiredDocuments.length > 0) {\n this.requiredDocuments?.sort((a, b) => a?.name.localeCompare(b.name));\n }\n else {\n this.showNoRequiredDocumentText = true;\n }\n }\n appendRequiredDocuments(lookup, content) {\n const fileName = lookup.attachment === null ? \"\" : lookup.attachment.fileName;\n this.requiredDocuments.push({\n id: lookup.id,\n uploaded: false,\n category: content.category,\n name: content.name,\n description: content.description,\n required: content.required,\n fileName,\n attachmentId: lookup.attachment === null ? 0 : lookup.attachment.id,\n });\n }\n resetDocumentsChecklist() {\n if (this.requiredDocuments.length > 0) {\n this.requiredDocuments.forEach((doc) => {\n doc.uploaded = false;\n });\n }\n }\n removeDuplicateDocuments() {\n // removes document objects that have the same 'name' property\n const uniqueRequiredDocuments = {};\n const distinctDocumentsArray = [];\n this.requiredDocuments.forEach((documentObject) => {\n if (!uniqueRequiredDocuments[documentObject.name]) {\n distinctDocumentsArray.push(documentObject);\n uniqueRequiredDocuments[documentObject.name] = true;\n }\n });\n this.requiredDocuments = distinctDocumentsArray;\n }\n captureIdsOfDocuments() {\n // capture the Ids of documents that should not be edited/ deleted\n const documents = this.tableDataSource.value;\n this.savedDocumentsIds = [];\n if (documents.length > 0) {\n // capture Id\n this.savedDocumentsIds = documents.map((document) => {\n return document.id;\n });\n }\n }\n static ctorParameters = () => [\n { type: AflaModuleStrategyService },\n { type: ApplicationViewService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDocumentationComponent = __decorate([\n Component({\n selector: \"app-view-application-documentation\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDocumentationComponent);\nexport { ViewApplicationDocumentationComponent };\n","import { RequiredDocumentsHeadingEnum } from \"./view-application-documentation-enums/view-application-documentation-enums\";\nexport class ViewApplicationDocumentationConstants {\n static NO_DOCUMENT_REQUIRED_MESSAGE = \"Documents are not required for this application, but you are welcome to submit any additional documents.\";\n static NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE = \"No required documents found in the lookups, please contact system admin\";\n static SESSION_DOCUMENTS_CANT_BE_DELETED_MESSAGE = \"Only documents that were added in the current session can be deleted\";\n static SESSION_DOCUMENTS_CANT_BE_EDITED_MESSAGE = \"Only documents that were added in the current session can be edited\";\n static UPLOAD_REQUIRED_DOC_LABEL = \"Note: Upload the required documents for the application as listed below.\";\n static APPLICATIONS_DOCUMENTS_LABEL = \"My application documents\";\n static ADD_DOCUMENTS_BTN_LABEL = \"Add document\";\n static ADD_DOCUMENTS_DIALOG_TITLE = \"Add documents\";\n static EDIT_DOCUMENTS_DIALOG_TITLE = \"Edit documents\";\n static DELETE_DOCUMENTS_DIALOG_TITLE = \"Delete document(s)\";\n static EDIT_DOCUMENTS_BTN_LABEL = \"Edit document\";\n static DELETE_DOCUMENTS_BTN_LABEL = \"Delete document\";\n static ATTACHMENT_LABEL = \"Attachment\";\n static DOWNLOAD_LABEL = \"Download\";\n static ADDITIONAL_APPLICATION_TYPE_CONSTANTS = \"Additional\";\n static IS_DOCUMENT_REQUIRED = \"yes\";\n static DOCUMENT_FORM_CONTROL_NAME = \"documentForm\";\n static DOCUMENTS_FORM_CONTROL_NAME = \"documents\";\n static DATE_PIPE_FORMAT = \"dd/MM/yyyy hh:mm\";\n static COMPONENT_NAME = \"view-application-documentation\";\n static modalBodyOptions = {\n size: \"xl\", centered: true, backdrop: \"static\"\n };\n static REQUIRED_DOCUMENTS_HEADING_LOOKUP = new Map([\n [RequiredDocumentsHeadingEnum.type, \"type\"],\n [RequiredDocumentsHeadingEnum.name, \"name\"],\n [RequiredDocumentsHeadingEnum.dateUploaded, \"dateUploaded\"],\n [RequiredDocumentsHeadingEnum.fileName, \"fileName\"]\n ]);\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-people-of-interest.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-people-of-interest.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { ViewApplicationPeopleOfInterestConstants } from \"./view-application-people-of-interest.constants\";\nlet ViewApplicationPeopleOfInterestComponent = class ViewApplicationPeopleOfInterestComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n changeDetectorRef;\n routerParamsService;\n peopleOfInterestForm;\n transferorFormControlName = ViewApplicationPeopleOfInterestConstants.TRANSFEROR_FORM_CONTROL_NAME;\n transfereeFormControlName = ViewApplicationPeopleOfInterestConstants.TRANSFEREE_FORM_CONTROL_NAME;\n conveyancerFormControlName = ViewApplicationPeopleOfInterestConstants.CONVEYANCER_FORM_CONTROL_NAME;\n transferorDisableFilterBy = true;\n transferorDisableEditing = false;\n transferorShowFields = true;\n transferorGroups = [];\n transferorLabel = ViewApplicationPeopleOfInterestConstants.TRANSFEROR_LABEL;\n transfereeDisableFilterBy = true;\n transfereeDisableEditing = false;\n transfereeShowFields = true;\n transfereeGroups = [];\n transfereeLabel = ViewApplicationPeopleOfInterestConstants.TRANSFEREE_LABEL;\n copyApplicantToTransfereeLabel = ViewApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_LABEL;\n conveyancerDisableFilterBy = true;\n conveyancerDisableEditing = false;\n conveyancerShowFields = true;\n conveyancerGroups = [];\n conveyancerLabel = ViewApplicationPeopleOfInterestConstants.CONVEYANCER_LABEL;\n copyApplicantToTransfereeFormControlName = ViewApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.populatePeopleOfInterestForms();\n }\n loadMetadata(stepMeta) {\n try {\n this.transferorGroups = stepMeta.transferorGroup;\n this.transfereeGroups = stepMeta.transfereeGroup;\n this.conveyancerGroups = stepMeta.conveyancerGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.peopleOfInterestForm = this.aflaModuleStrategyService.form.get(\"peopleOfInterestForm\");\n }\n onBtnCopyApplicantToTransfereeClicked(event) {\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n if (event.currentTarget.checked === true) {\n transfereeFormControl.disable();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n this.changeDetectorRefs.detectChanges();\n }\n else {\n transfereeFormControl.enable();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n this.changeDetectorRefs.detectChanges();\n }\n }\n handleRouteChange() {\n }\n populatePeopleOfInterestForms() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.transferor !== undefined && application.transferor !== null && application.transferor.length > 0) {\n const transferor = application.transferor[0];\n this.peopleOfInterestForm.get(this.transferorFormControlName).setValue(transferor);\n }\n this.peopleOfInterestForm.get(this.transferorFormControlName).disable();\n if (application && application.transferee !== undefined && application.transferee !== null && application.transferee.length > 0) {\n const transferee = application.transferee[0];\n this.peopleOfInterestForm.get(this.transfereeFormControlName).setValue(transferee);\n }\n this.peopleOfInterestForm.get(this.transfereeFormControlName).disable();\n if (application && application.conveyancer !== undefined && application.conveyancer !== null && application.conveyancer.length > 0) {\n const conveyancer = application.conveyancer[0];\n this.peopleOfInterestForm.get(this.conveyancerFormControlName).setValue(conveyancer);\n }\n this.peopleOfInterestForm.get(this.conveyancerFormControlName).disable();\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationPeopleOfInterestComponent = __decorate([\n Component({\n selector: \"app-view-application-people-of-interest\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationPeopleOfInterestComponent);\nexport { ViewApplicationPeopleOfInterestComponent };\n","export class ViewApplicationPeopleOfInterestConstants {\n // Controls\n static TRANSFEROR_FORM_CONTROL_NAME = \"transferor\";\n static TRANSFEREE_FORM_CONTROL_NAME = \"transferee\";\n static CONVEYANCER_FORM_CONTROL_NAME = \"conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME = \"copyApplicantToTransferee\";\n // Labels\n static TRANSFEROR_LABEL = \"Transferor\";\n static TRANSFEREE_LABEL = \"Transferee\";\n static CONVEYANCER_LABEL = \"Conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_LABEL = \"Copy Applicant To Transferee\";\n}\n","import { AppRoutingConstants } from \"../app-routing.constants\";\nexport class ViewApplicationRoutingConstants {\n static VIEW_APPLICATION_ROUTE = AppRoutingConstants.createRouteToView(\"view-application\");\n static JOB_ID_ROUTE_PARAMETER = \":jobID\";\n static VIEW_APPLICATION_HEADING_TEXT = \"View application\";\n static APPLICATION_CONTENT_ROUTE = AppRoutingConstants.createRouteToView(\"content\");\n static APPLICATION_STATUS_ROUTE = AppRoutingConstants.createRouteToView(\"status\");\n static REQUIRED_DOCS = AppRoutingConstants.createRouteToView(\"documentation\");\n static COMMUNICATION = AppRoutingConstants.createRouteToView(\"communication\");\n static LOCATION_ROUTE = AppRoutingConstants.createRouteToView(\"location\");\n static DETAILS_ROUTE = AppRoutingConstants.createRouteToView(\"details\");\n static APPLICANT_ROUTE = AppRoutingConstants.createRouteToView(\"applicant\");\n static AGENT_ROUTE = AppRoutingConstants.createRouteToView(\"agent\");\n static BURIAL_ROUTE = AppRoutingConstants.createRouteToView(\"burialdetails\");\n static DECEASED_ROUTE = AppRoutingConstants.createRouteToView(\"deceaseddetails\");\n static FAMILY_ROUTE = AppRoutingConstants.createRouteToView(\"familymemberdetails\");\n static FUNERAL_PARLOUR = AppRoutingConstants.createRouteToView(\"funeralparlour\");\n static PROFESSIONAL_BODIES_ROUTE = AppRoutingConstants.createRouteToView(\"professionalbodies\");\n static TRADERS_ROUTE = AppRoutingConstants.createRouteToView(\"traders\");\n static PEOPLE_OF_INTEREST_ROUTE = AppRoutingConstants.createRouteToView(\"peopleofinterest\");\n}\n","export const environment = {\n name: \"production\",\n production: true\n};\n","// main.ts\nimport { enableProdMode } from \"@angular/core\";\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\nimport { AppModule } from \"./app/app.module\";\nimport { environment } from \"./environments/environment\";\nimport { defineCustomElements } from \"@esri/calcite-components/dist/loader\";\n// define the elements, passing in the window\ndefineCustomElements(window);\nif (environment.production) {\n enableProdMode();\n}\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-button.component.css?ngResource\";\nimport { Component, Input, ViewChild } from '@angular/core';\nlet CalciteButtonComponent = class CalciteButtonComponent {\n btnRef;\n displayText = \"Button\";\n appearance = \"solid\" /* CalciteBtnAppearance.solid */;\n color = \"blue\" /* CalciteBtnColor.blue */;\n disable = false;\n width = \"auto\" /* CalciteBtnWidth.auto */;\n class = \"calcite-theme-light\" /* CalciteBtnClass.lightTheme */;\n constructor() {\n }\n ngOnInit() {\n this.setBtnText();\n }\n setBtnText() {\n if (this.displayText) {\n this.displayText = this.displayText[0].trim().toUpperCase() + this.displayText.trim().substr(1).toLowerCase();\n }\n }\n static ctorParameters = () => [];\n static propDecorators = {\n btnRef: [{ type: ViewChild, args: ['btnRef',] }],\n displayText: [{ type: Input }],\n appearance: [{ type: Input }],\n color: [{ type: Input }],\n disable: [{ type: Input }],\n width: [{ type: Input }],\n class: [{ type: Input }]\n };\n};\nCalciteButtonComponent = __decorate([\n Component({\n selector: 'lib-calcite-button',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteButtonComponent);\nexport { CalciteButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-card.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-card.component.css?ngResource\";\nimport { Component, Input } from '@angular/core';\nlet CalciteCardComponent = class CalciteCardComponent {\n cardTitle = \"\";\n constructor() {\n }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n static propDecorators = {\n cardTitle: [{ type: Input }]\n };\n};\nCalciteCardComponent = __decorate([\n Component({\n selector: 'lib-calcite-card',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteCardComponent);\nexport { CalciteCardComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-checkbox.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-checkbox.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteCheckboxComponent = class CalciteCheckboxComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteCheckboxComponent = __decorate([\n Component({\n selector: 'lib-calcite-checkbox',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteCheckboxComponent);\nexport { CalciteCheckboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-combobox.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-combobox.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Subject } from \"rxjs\";\nlet CalciteComboboxComponent = class CalciteComboboxComponent {\n changeDetectorRef;\n comboboxItemsObservable = new Subject();\n setItemsAsSelectedObservable = new Subject();\n allowCustomValues = false;\n disableComboBox = false;\n comboBoxPlaceholder = undefined;\n comboBoxScale = \"s\" /* ComboboxScale.small */;\n maxItems = 5;\n overlayPositioning = \"absolute\" /* ComboboxOverlayPositioning.absolute */;\n label = undefined;\n setSelectedItems = [];\n onComboBoxChange = new EventEmitter();\n comboBoxOptions = [];\n constructor(changeDetectorRef) {\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.setSubscribers();\n }\n onChange($event) {\n if ($event && $event.detail.selectedItems.length > 0) {\n const selectedItems = [];\n $event.detail.selectedItems.forEach((element) => {\n selectedItems.push(element.value);\n });\n this.onComboBoxChange.next(selectedItems);\n }\n }\n setComboBoxItems(comboBoxItem, elementId, comboBoxElement) {\n const comboBoxItemHTMLElement = document.createElement(\"calcite-combobox-item\");\n comboBoxItemHTMLElement.setAttribute(\"id\", elementId.toString());\n comboBoxItemHTMLElement.setAttribute(\"text-label\", comboBoxItem.value);\n comboBoxItemHTMLElement.setAttribute(\"value\", comboBoxItem.code);\n comboBoxElement?.appendChild(comboBoxItemHTMLElement);\n }\n setItemsAsSelected(selectedItems, comboBoxItemHTMLElement) {\n const comboBoxListItemNodes = comboBoxItemHTMLElement.childNodes;\n comboBoxListItemNodes.forEach((calciteNodeItem) => {\n const itemValue = calciteNodeItem?.value;\n for (const selectedItem of selectedItems) {\n if (itemValue.toLowerCase() == selectedItem.toLowerCase()) {\n calciteNodeItem.setAttribute(\"selected\", \"true\");\n }\n }\n });\n }\n setSubscribers() {\n const comboBoxElement = document.getElementById(\"comboBox\");\n this.comboboxItemsObservable.subscribe(comboBoxItems => {\n if (comboBoxItems && comboBoxItems.length > 0) {\n this.comboBoxOptions = comboBoxItems;\n comboBoxItems.forEach((comboBoxItem, i) => {\n const id = i + 1;\n this.setComboBoxItems(comboBoxItem, id, comboBoxElement);\n });\n this.changeDetectorRef.detectChanges();\n }\n });\n this.setItemsAsSelectedObservable.subscribe((items) => {\n if (items && items.length > 0) {\n this.setItemsAsSelected(items, comboBoxElement);\n }\n });\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n comboboxItemsObservable: [{ type: Input }],\n setItemsAsSelectedObservable: [{ type: Input }],\n allowCustomValues: [{ type: Input }],\n disableComboBox: [{ type: Input }],\n comboBoxPlaceholder: [{ type: Input }],\n comboBoxScale: [{ type: Input }],\n maxItems: [{ type: Input }],\n overlayPositioning: [{ type: Input }],\n label: [{ type: Input }],\n setSelectedItems: [{ type: Input }],\n onComboBoxChange: [{ type: Output }]\n };\n};\nCalciteComboboxComponent = __decorate([\n Component({\n selector: 'lib-calcite-combobox',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteComboboxComponent);\nexport { CalciteComboboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-date-picker.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-date-picker.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteDatePickerComponent = class CalciteDatePickerComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteDatePickerComponent = __decorate([\n Component({\n selector: 'lib-calcite-date-picker',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteDatePickerComponent);\nexport { CalciteDatePickerComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-dropdown.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-dropdown.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteDropdownComponent = class CalciteDropdownComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteDropdownComponent = __decorate([\n Component({\n selector: 'lib-calcite-dropdown',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteDropdownComponent);\nexport { CalciteDropdownComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-form-multiselect.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-form-multiselect.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { UntypedFormBuilder, NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nlet CalciteFormMultiselectComponent = class CalciteFormMultiselectComponent {\n formBuilder;\n changeDetectorRef;\n comboboxItemsObservable = new Subject();\n setItemsAsSelectedObservable = new Subject();\n allowCustomValues = false;\n disableComboBox = false;\n comboBoxPlaceholder = undefined;\n comboBoxScale = \"s\" /* ComboboxScale.small */;\n maxItems = 5;\n overlayPositioning = \"absolute\" /* ComboboxOverlayPositioning.absolute */;\n label = undefined;\n setSelectedItems = [];\n form;\n subscriptions = [];\n id = `${Math.random()}`;\n constructor(formBuilder, changeDetectorRef) {\n this.formBuilder = formBuilder;\n this.changeDetectorRef = changeDetectorRef;\n this.form = this.formBuilder.group({\n groups: []\n });\n this.subscriptions.push(\n // any time the inner form changes update the parent of any change\n this.form.valueChanges.subscribe(value => {\n this.onChange(value);\n this.onTouched();\n }));\n }\n get groupsControl() {\n return this.form.controls.groups;\n }\n get value() {\n return this.form.value;\n }\n set value(value) {\n this.form.setValue(value);\n this.onChange(value);\n this.onTouched();\n }\n // communicate the inner form validation-tab to the parent form\n ngOnInit() {\n }\n ngAfterViewInit() {\n this.setSubscribers();\n }\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnChange(fn) {\n this.onChange = fn;\n }\n writeValue(value) {\n if (value) {\n this.value = value;\n }\n if (value === null) {\n this.form.reset();\n }\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n validate(_) {\n return this.form.valid ? null : { groups: { valid: false } };\n }\n onSelectionChanged($event) {\n if ($event && $event.detail.selectedItems.length > 0) {\n const selectedItems = [];\n $event.detail.selectedItems.forEach((element) => {\n selectedItems.push(element.value);\n });\n this.form.get('groups')?.setValue(selectedItems);\n }\n }\n setSubscribers() {\n const comboBoxElement = document.getElementById(this.id);\n this.comboboxItemsObservable.subscribe(comboBoxItems => {\n if (comboBoxItems && comboBoxItems.length > 0) {\n comboBoxItems.forEach((comboBoxItem, i) => {\n const id = i + 1;\n this.setComboBoxItems(comboBoxItem, id, comboBoxElement);\n });\n this.changeDetectorRef.detectChanges();\n }\n });\n this.setItemsAsSelectedObservable.subscribe((items) => {\n if (items && items.length > 0) {\n this.setItemsAsSelected(items, comboBoxElement);\n }\n });\n }\n setComboBoxItems(comboBoxItem, elementId, comboBoxElement) {\n const comboBoxItemHTMLElement = document.createElement(\"calcite-combobox-item\");\n comboBoxItemHTMLElement.setAttribute(\"id\", elementId.toString());\n comboBoxItemHTMLElement.setAttribute(\"text-label\", comboBoxItem);\n comboBoxItemHTMLElement.setAttribute(\"value\", comboBoxItem);\n comboBoxElement?.appendChild(comboBoxItemHTMLElement);\n }\n setItemsAsSelected(selectedItems, comboBoxItemHTMLElement) {\n const comboBoxListItemNodes = comboBoxItemHTMLElement.childNodes;\n comboBoxListItemNodes.forEach((calciteNodeItem) => {\n const itemValue = calciteNodeItem?.value;\n for (const selectedItem of selectedItems) {\n if (itemValue.toLowerCase() == selectedItem.toLowerCase()) {\n calciteNodeItem.setAttribute(\"selected\", \"true\");\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n comboboxItemsObservable: [{ type: Input }],\n setItemsAsSelectedObservable: [{ type: Input }],\n allowCustomValues: [{ type: Input }],\n disableComboBox: [{ type: Input }],\n comboBoxPlaceholder: [{ type: Input }],\n comboBoxScale: [{ type: Input }],\n maxItems: [{ type: Input }],\n overlayPositioning: [{ type: Input }],\n label: [{ type: Input }],\n setSelectedItems: [{ type: Input }]\n };\n};\nCalciteFormMultiselectComponent = __decorate([\n Component({\n selector: 'lib-calcite-form-multiselect',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteFormMultiselectComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CalciteFormMultiselectComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteFormMultiselectComponent);\nexport { CalciteFormMultiselectComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-input.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-input.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from '@angular/core';\nimport { UntypedFormBuilder, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nlet CalciteInputComponent = class CalciteInputComponent {\n formBuilder;\n changeDetectorRef;\n addClearInputBtn = false;\n type = \"text\" /* CalciteInputTypeEnum.text */;\n disable = false;\n groupSeparator = false;\n maxLength = 100;\n placeholder = \"\";\n inputLabelText = \"\";\n required = false;\n requiredText = \"*\";\n requiredClass = \"calcite-input-text-danger\";\n // test\n // upon UI element value changes, this method gets triggered\n val;\n inputForm;\n constructor(formBuilder, changeDetectorRef) {\n this.formBuilder = formBuilder;\n this.changeDetectorRef = changeDetectorRef;\n // upon touching the element, this method gets triggered\n this.inputForm = this.formBuilder.group({\n calciteFormControl: []\n });\n }\n get value() {\n return this.inputForm?.value;\n }\n set value(val) {\n this.inputForm?.get(\"calciteFormControl\")?.patchValue(val);\n this.val = val;\n this.onChange(val);\n this.onTouch(val);\n }\n ngOnInit() {\n this.initialiseForm();\n }\n onChange = () => {\n };\n onTouch = () => {\n };\n // this method sets the value programmatically\n writeValue(value) {\n this.value = value;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouch = fn;\n }\n initialiseForm() {\n this.inputForm = this.formBuilder.group({\n calciteFormControl: []\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n addClearInputBtn: [{ type: Input }],\n type: [{ type: Input }],\n disable: [{ type: Input }],\n groupSeparator: [{ type: Input }],\n maxLength: [{ type: Input }],\n placeholder: [{ type: Input }],\n inputLabelText: [{ type: Input }],\n required: [{ type: Input }],\n requiredText: [{ type: Input }],\n requiredClass: [{ type: Input }]\n };\n};\nCalciteInputComponent = __decorate([\n Component({\n selector: 'lib-calcite-input',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteInputComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteInputComponent);\nexport { CalciteInputComponent };\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectorRef, Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nlet RequiredClassDirective = class RequiredClassDirective {\n renderer;\n elmRef;\n changeDetectorRef;\n requiredClass;\n constructor(renderer, elmRef, changeDetectorRef) {\n this.renderer = renderer;\n this.elmRef = elmRef;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n if (this.requiredClass) {\n this.renderer.addClass(this.elmRef.nativeElement, `${this.requiredClass}`);\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n requiredClass: [{ type: Input, args: ['requiredClass',] }]\n };\n};\nRequiredClassDirective = __decorate([\n Directive({\n selector: '[libRequiredClass]'\n })\n], RequiredClassDirective);\nexport { RequiredClassDirective };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-link.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-link.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteLinkComponent = class CalciteLinkComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteLinkComponent = __decorate([\n Component({\n selector: 'lib-calcite-link',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteLinkComponent);\nexport { CalciteLinkComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-list.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-list.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteListComponent = class CalciteListComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteListComponent = __decorate([\n Component({\n selector: 'lib-calcite-list',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteListComponent);\nexport { CalciteListComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-select.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-select.component.css?ngResource\";\nimport { Component, forwardRef, Input } from '@angular/core';\nimport { UntypedFormBuilder, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nlet CalciteSelectComponent = class CalciteSelectComponent {\n formBuilder;\n selectForm;\n inputLabelText = \"\";\n selectOptions = [];\n val;\n constructor(formBuilder) {\n this.formBuilder = formBuilder;\n this.selectForm = this.formBuilder.group({\n calciteSelectFormControl: []\n });\n }\n get value() {\n return this.selectForm?.value;\n }\n set value(val) {\n if (val && val.length > 0) {\n val.forEach(value => {\n this.selectOptions.push(value);\n });\n }\n this.val = val;\n this.onChange(val);\n this.onTouch(val);\n }\n ngOnInit() {\n this.initialiseForm();\n }\n onChange = () => {\n };\n onTouch = () => {\n };\n // sets the value programmatically\n writeValue(value) {\n this.value = value;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouch = fn;\n }\n initialiseForm() {\n this.selectForm = this.formBuilder.group({\n calciteSelectFormControl: []\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder }\n ];\n static propDecorators = {\n inputLabelText: [{ type: Input }],\n selectOptions: [{ type: Input }]\n };\n};\nCalciteSelectComponent = __decorate([\n Component({\n selector: 'lib-calcite-select',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteSelectComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteSelectComponent);\nexport { CalciteSelectComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-stepper.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-stepper.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { CalciteStepperService } from \"./calcite-stepper.service\";\nlet CalciteStepperComponent = class CalciteStepperComponent {\n calciteStepperService;\n changeDetectorRef;\n calciteStepper;\n onStepClicked = new EventEmitter();\n options = [];\n scale = \"m\" /* CalciteStepperScale.medium */;\n icon = \"\" /* CalciteStepperIcon.noIcon */;\n numbered = \"\" /* CalciteStepperNumbered.no_numbers */;\n stepperHtmlElement;\n stepOptionsAsObservableSubscription;\n constructor(calciteStepperService, changeDetectorRef) {\n this.calciteStepperService = calciteStepperService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnDestroy() {\n this.stepOptionsAsObservableSubscription.unsubscribe();\n }\n ngOnInit() {\n this.stepperHtmlElement = document.getElementById(\"calciteStepper\");\n this.calciteStepperService.setStepOptions(this.options);\n this.calciteStepperService.totalSteps = this.options.length;\n this.stepOptionsAsObservableSubscription = this.calciteStepperService.stepOptionsAsObservable.subscribe((options) => {\n this.options = options;\n this.setItemValues(options);\n this.changeDetectorRef.detectChanges();\n });\n }\n setItemValues(options) {\n if (this.stepperHtmlElement) {\n let index = -1;\n // clear the current nodes\n this.stepperHtmlElement.innerHTML = \"\";\n this.stepperHtmlElement.setAttribute(\"numbered\", this.numbered === \"numbered\" /* CalciteStepperNumbered.numbered */ ? \"true\" : \"false\");\n this.stepperHtmlElement.setAttribute(\"icon\", this.icon === \"icon\" /* CalciteStepperIcon.icon */ ? \"true\" : \"false\");\n this.stepperHtmlElement.setAttribute(\"scale\", `${this.scale}`);\n options.forEach((option) => {\n index++;\n option.stepIndex = index;\n const step = document.createElement(\"calcite-stepper-item\");\n step.setAttribute(\"id\", option.stepId);\n step.setAttribute(\"item-title\", option.stepTitle);\n step.setAttribute(\"item-subtitle\", option.stepSubtitle);\n step.innerText = option.stepContent;\n switch (option.stepType) {\n case \"active\" /* CalciteStepperItemType.active */:\n step.setAttribute(\"active\", \"true\");\n break;\n case \"disabled\" /* CalciteStepperItemType.disabled */:\n step.setAttribute(\"disabled\", \"true\");\n break;\n case \"complete\" /* CalciteStepperItemType.complete */:\n step.setAttribute(\"complete\", \"true\");\n break;\n case \"error\" /* CalciteStepperItemType.error */:\n step.setAttribute(\"error\", \"true\");\n break;\n }\n step.addEventListener(\"click\", () => {\n onClick(option.stepId);\n });\n this.stepperHtmlElement?.appendChild(step);\n const onClick = (stepId) => {\n this.onStepClicked.emit(stepId);\n };\n });\n }\n }\n static ctorParameters = () => [\n { type: CalciteStepperService },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n calciteStepper: [{ type: ViewChild, args: [\"calciteStepper\", { static: false },] }],\n onStepClicked: [{ type: Output, args: [\"onStepClicked\",] }],\n options: [{ type: Input }],\n scale: [{ type: Input }],\n icon: [{ type: Input }],\n numbered: [{ type: Input }]\n };\n};\nCalciteStepperComponent = __decorate([\n Component({\n selector: \"lib-calcite-stepper\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteStepperComponent);\nexport { CalciteStepperComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nlet CalciteStepperService = class CalciteStepperService {\n stepOptions = new BehaviorSubject([]);\n stepOptionsAsObservable = this.stepOptions.asObservable();\n stepIndex = new BehaviorSubject(0);\n stepIndexAsObservable = this.stepIndex.asObservable();\n totalSteps = 0;\n constructor() { }\n setStepIndex(index) {\n this.stepIndex.next(index);\n }\n setStepOptions(steps) {\n this.totalSteps = steps.length;\n this.stepOptions.next(steps);\n }\n getStepOptions() {\n return this.stepOptionsAsObservable;\n }\n updateStep(stepIndex, updatedStep) {\n const steps = this.stepOptions.value;\n if (steps && steps.length >= stepIndex) {\n steps[stepIndex] = updatedStep;\n this.stepOptions.next(steps);\n }\n }\n getStepByStepID(stepId) {\n let currentStep;\n this.stepOptions.value.forEach((step) => { if (step.stepId === stepId)\n currentStep = step; });\n // @ts-ignore\n return currentStep;\n }\n getStepByStepIndex(stepIndex) {\n return this.stepOptions.value[stepIndex];\n }\n static ctorParameters = () => [];\n};\nCalciteStepperService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], CalciteStepperService);\nexport { CalciteStepperService };\n","import { __decorate } from \"tslib\";\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CalciteButtonComponent } from \"./calcite/components/calcite-button/calcite-button.component\";\nimport { CalciteInputComponent } from \"./calcite/components/calcite-input/calcite-input.component\";\nimport { CalciteSelectComponent } from \"./calcite/components/calcite-select/calcite-select.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { CalciteCardComponent } from \"./calcite/components/calcite-card/calcite-card.component\";\nimport { CalciteCheckboxComponent } from \"./calcite/components/calcite-checkbox/calcite-checkbox.component\";\nimport { CalciteComboboxComponent } from \"./calcite/components/calcite-combobox/calcite-combobox.component\";\nimport { CalciteDatePickerComponent } from \"./calcite/components/calcite-date-picker/calcite-date-picker.component\";\nimport { CalciteDropdownComponent } from \"./calcite/components/calcite-dropdown/calcite-dropdown.component\";\nimport { CalciteListComponent } from \"./calcite/components/calcite-list/calcite-list.component\";\nimport { CalciteLinkComponent } from \"./calcite/components/calcite-link/calcite-link.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { CalciteStepperComponent } from \"./calcite/components/calcite-stepper/calcite-stepper.component\";\nimport { RequiredClassDirective } from \"./calcite/components/calcite-input/required-class.directive\";\nimport { CalciteFormMultiselectComponent } from \"./calcite/components/calcite-form-multiselect/calcite-form-multiselect.component\";\nlet ZaesriAngularCalciteModule = class ZaesriAngularCalciteModule {\n};\nZaesriAngularCalciteModule = __decorate([\n NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [\n CalciteButtonComponent,\n CalciteInputComponent,\n CalciteSelectComponent,\n CalciteCardComponent,\n CalciteCheckboxComponent,\n CalciteComboboxComponent,\n CalciteDatePickerComponent,\n CalciteFormMultiselectComponent,\n CalciteDropdownComponent,\n CalciteListComponent,\n CalciteLinkComponent,\n CalciteStepperComponent,\n CalciteInputComponent,\n RequiredClassDirective\n ],\n imports: [\n ReactiveFormsModule,\n CommonModule\n ],\n exports: [\n CalciteButtonComponent,\n CalciteInputComponent,\n CalciteSelectComponent,\n CalciteCardComponent,\n CalciteCheckboxComponent,\n CalciteComboboxComponent,\n CalciteFormMultiselectComponent,\n CalciteDatePickerComponent,\n CalciteDropdownComponent,\n CalciteListComponent,\n CalciteLinkComponent,\n CalciteInputComponent,\n CalciteStepperComponent\n ],\n })\n], ZaesriAngularCalciteModule);\nexport { ZaesriAngularCalciteModule };\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 16316;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./calcite-accordion_2.entry.js\": [\n\t\t52049,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-accordion_2_entry_js\"\n\t],\n\t\"./calcite-action-bar.entry.js\": [\n\t\t67447,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-bar_entry_js\"\n\t],\n\t\"./calcite-action-group.entry.js\": [\n\t\t80617,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-group_entry_js\"\n\t],\n\t\"./calcite-action-menu.entry.js\": [\n\t\t58447,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-menu_entry_js\"\n\t],\n\t\"./calcite-action-pad.entry.js\": [\n\t\t87103,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-pad_entry_js\"\n\t],\n\t\"./calcite-action.entry.js\": [\n\t\t92879,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action_entry_js\"\n\t],\n\t\"./calcite-alert.entry.js\": [\n\t\t43907,\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-alert_entry_js\"\n\t],\n\t\"./calcite-avatar.entry.js\": [\n\t\t640,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-e84504\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-avatar_entry_js\"\n\t],\n\t\"./calcite-block_2.entry.js\": [\n\t\t33413,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-block_2_entry_js\"\n\t],\n\t\"./calcite-button.entry.js\": [\n\t\t6609,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-button_entry_js\"\n\t],\n\t\"./calcite-card.entry.js\": [\n\t\t45707,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-card_entry_js\"\n\t],\n\t\"./calcite-checkbox.entry.js\": [\n\t\t9000,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-checkbox_entry_js\"\n\t],\n\t\"./calcite-chip.entry.js\": [\n\t\t95767,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-chip_entry_js\"\n\t],\n\t\"./calcite-color-picker_3.entry.js\": [\n\t\t35563,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-e84504\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-color-picker_3_entry_js\"\n\t],\n\t\"./calcite-combobox_3.entry.js\": [\n\t\t35452,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-ef92de72_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-combobox_3_entry_js\"\n\t],\n\t\"./calcite-date-picker_4.entry.js\": [\n\t\t72127,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-7fafd8\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-date-picker_4_entry_js\"\n\t],\n\t\"./calcite-dropdown_3.entry.js\": [\n\t\t17774,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-dropdown_3_entry_js\"\n\t],\n\t\"./calcite-fab.entry.js\": [\n\t\t37736,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-fab_entry_js\"\n\t],\n\t\"./calcite-filter.entry.js\": [\n\t\t15087,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-ef92de72_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-filter_entry_js\"\n\t],\n\t\"./calcite-flow.entry.js\": [\n\t\t18469,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-flow_entry_js\"\n\t],\n\t\"./calcite-graph_2.entry.js\": [\n\t\t4280,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-graph_2_entry_js\"\n\t],\n\t\"./calcite-handle.entry.js\": [\n\t\t17307,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-handle_entry_js\"\n\t],\n\t\"./calcite-icon.entry.js\": [\n\t\t54152,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-icon_entry_js\"\n\t],\n\t\"./calcite-inline-editable.entry.js\": [\n\t\t9081,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-inline-editable_entry_js\"\n\t],\n\t\"./calcite-input-date-picker.entry.js\": [\n\t\t11617,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-7fafd8\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-date-picker_entry_js\"\n\t],\n\t\"./calcite-input-message.entry.js\": [\n\t\t44983,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-message_entry_js\"\n\t],\n\t\"./calcite-input-number.entry.js\": [\n\t\t41591,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-number_entry_js\"\n\t],\n\t\"./calcite-input-time-picker_2.entry.js\": [\n\t\t56795,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-time-picker_2_entry_js\"\n\t],\n\t\"./calcite-input.entry.js\": [\n\t\t50569,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input_entry_js\"\n\t],\n\t\"./calcite-label.entry.js\": [\n\t\t51043,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-label_entry_js\"\n\t],\n\t\"./calcite-link.entry.js\": [\n\t\t72589,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-link_entry_js\"\n\t],\n\t\"./calcite-list_3.entry.js\": [\n\t\t57095,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-list_3_entry_js\"\n\t],\n\t\"./calcite-loader.entry.js\": [\n\t\t75690,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-loader_entry_js\"\n\t],\n\t\"./calcite-modal.entry.js\": [\n\t\t44075,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-modal_entry_js\"\n\t],\n\t\"./calcite-notice.entry.js\": [\n\t\t90657,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-notice_entry_js\"\n\t],\n\t\"./calcite-option_3.entry.js\": [\n\t\t96042,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-option_3_entry_js\"\n\t],\n\t\"./calcite-pagination.entry.js\": [\n\t\t55677,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-pagination_entry_js\"\n\t],\n\t\"./calcite-panel.entry.js\": [\n\t\t19379,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-panel_entry_js\"\n\t],\n\t\"./calcite-pick-list_3.entry.js\": [\n\t\t89315,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-5182df75_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-pick-list_3_entry_js\"\n\t],\n\t\"./calcite-popover_2.entry.js\": [\n\t\t1377,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-popover_2_entry_js\"\n\t],\n\t\"./calcite-progress.entry.js\": [\n\t\t33850,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-progress_entry_js\"\n\t],\n\t\"./calcite-radio-button-group.entry.js\": [\n\t\t313,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-button-group_entry_js\"\n\t],\n\t\"./calcite-radio-button.entry.js\": [\n\t\t14943,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-button_entry_js\"\n\t],\n\t\"./calcite-radio-group_2.entry.js\": [\n\t\t87265,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-group_2_entry_js\"\n\t],\n\t\"./calcite-rating.entry.js\": [\n\t\t77756,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-rating_entry_js\"\n\t],\n\t\"./calcite-scrim.entry.js\": [\n\t\t80067,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-scrim_entry_js\"\n\t],\n\t\"./calcite-shell_3.entry.js\": [\n\t\t97929,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-shell_3_entry_js\"\n\t],\n\t\"./calcite-sortable-list.entry.js\": [\n\t\t19682,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_interactive-44c800e7_js-node_modules_es-2a48b8\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-sortable-list_entry_js\"\n\t],\n\t\"./calcite-split-button.entry.js\": [\n\t\t80366,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-split-button_entry_js\"\n\t],\n\t\"./calcite-stepper_2.entry.js\": [\n\t\t30189,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-stepper_2_entry_js\"\n\t],\n\t\"./calcite-switch.entry.js\": [\n\t\t24257,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-switch_entry_js\"\n\t],\n\t\"./calcite-tab_4.entry.js\": [\n\t\t73153,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tab_4_entry_js\"\n\t],\n\t\"./calcite-tile-select_2.entry.js\": [\n\t\t7527,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tile-select_2_entry_js\"\n\t],\n\t\"./calcite-tile.entry.js\": [\n\t\t98497,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tile_entry_js\"\n\t],\n\t\"./calcite-tip_3.entry.js\": [\n\t\t63902,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tip_3_entry_js\"\n\t],\n\t\"./calcite-tooltip_2.entry.js\": [\n\t\t55135,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tooltip_2_entry_js\"\n\t],\n\t\"./calcite-tree_2.entry.js\": [\n\t\t65188,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tree_2_entry_js\"\n\t],\n\t\"./calcite-value-list_2.entry.js\": [\n\t\t5688,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_interactive-44c800e7_js-node_modules_es-2a48b8\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-5182df75_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-value-list_2_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 7250;\nmodule.exports = webpackAsyncContext;","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\r\n`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.calcite-input-label-container {\r\n display: flex;\r\n}\r\n\r\n.calcite-input-text-danger {\r\n height: 8px;\r\n padding-left: 3px;\r\n padding-top: -4px;\r\n font-family: Inter;\r\n font-style: normal;\r\n font-size: 12px;\r\n /*letter-spacing: -0.0686271px;*/\r\n color: #FF0000FF;\r\n}\r\n\r\n`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.drop-down {\n float: left;\n display: inline;\n align-self: center;\n}\n\n.drop-down select {\n background-color: unset !important;\n color: var(--theme-main-color, #055C8D);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: bold;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n height: 41px;\n width: 176px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.filter {\n width: 100%;\n height: -moz-fit-content;\n height: fit-content;\n display: flex;\n flex-direction: row;\n margin-bottom: 15px;\n}\n\n.filter-bar {\n font-size: 16px;\n color: #555;\n flex-grow: 1;\n height: 41px;\n display: flex;\n}\n\n.filter-bar input {\n width: 100%;\n font-size: 16px;\n color: #555;\n border: none;\n height: 100%;\n}\n\n.filter-by {\n margin-right: 11px;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.label {\n margin-right: 11px;\n margin-left: 6px;\n color: var(--theme-main-color, #055C8D);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: 700;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 60px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.modal-body {\n white-space: pre-line;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n background: var(--theme-main-background-color, #055C8D);\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: none;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.secondary {\n background: rgb(255, 255, 255);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: var(--theme-main-color, #055C8D);\n border: 1px solid var(--theme-main-border-color, #055C8D);\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.checkbox-column {\n text-align: center;\n width: 45px;\n padding-right: 0;\n}\n\n.custom-table {\n height: 100%;\n overflow-y: scroll !important;\n overflow-x: hidden !important;\n}\n\n.header-row {\n width: 100% !important;\n}\n\n.export-row {\n flex-basis: 40px;\n min-height: 40px;\n margin-top: 5px;\n margin-bottom: 10px;\n}\n\n.content-panel {\n overflow-y: auto;\n overflow-x: auto;\n min-height: 0;\n}\n\nthead {\n color: #859296;\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 10.5px;\n}\n\ntbody {\n overflow-y: auto !important;\n background-color: #FFFFFF;\n font-family: Inter;\n font-style: normal;\n font-weight: normal;\n font-size: 11.4px;\n color: #859296;\n}\n\n.tbody-export {\n max-height: calc(100vh - 50px) !important;\n}\n\nth {\n position: sticky;\n}\n\n.table thead th {\n border-top: none;\n position: sticky;\n top: 0;\n background: #F3F3F3;\n z-index: 1;\n vertical-align: middle !important;\n}\n\nth.desc:after {\n transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n}\n\nth.desc:after, th.asc:after {\n content: url(\"data:image/svg+xml; utf8, \");\n width: -moz-fit-content;\n width: fit-content;\n margin-left: 5px;\n height: 13px;\n display: inline-block;\n vertical-align: text-bottom;\n}\n\n.table td, .table th {\n vertical-align: middle !important;\n padding: 0.5rem 0.4rem;\n}\n\ntable {\n display: flex;\n flex-flow: column;\n height: 100%;\n width: 100%;\n}\n\ntable thead {\n /* head takes the height it requires,\n and it's not scaled when table is resized */\n flex: 0 0 auto;\n width: calc(100% - 0.9em);\n}\n\ntable tbody {\n /* body takes all the remaining available space */\n border-top: 2px solid var(--theme-main-border-color, #055C8D);\n flex: 1 1 auto;\n display: block;\n overflow-y: scroll;\n}\n\ntable tbody tr {\n width: 100%;\n}\n\ntable thead, table tbody tr {\n display: table;\n table-layout: fixed;\n}\n\n.table-link {\n color: var(--theme-active-color, #243391);\n cursor: pointer;\n}\n\n.table-link:hover {\n text-decoration: underline;\n}\n\ntd {\n word-wrap: break-word;\n white-space: pre-line;\n}\n\n.filter {\n height: auto;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\ninput[type=radio], input[type=checkbox] {\n z-index: 1;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #859296;\n background-color: var(--theme-main-background-color, #055C8D);\n}\n\n.selectable-row {\n cursor: pointer;\n}\n\n.radio-button-column {\n width: 48px !important;\n}\n\n.recipient-type-labels-padding {\n padding-top: 5px;\n}\n\n.recipient-type-radio-btn-margins {\n margin-left: 8px;\n}\n\n.footer {\n margin-top: 3px;\n flex-direction: row;\n justify-content: flex-end;\n height: 52px;\n padding: 9px 5px 2px 5px;\n position: fixed;\n bottom: 0px;\n}\n\n.filename-text {\n width: 250px;\n padding: 5px;\n margin-right: 10px;\n}\n\n.workflow-form-label {\n padding-right: 5px;\n color: var(--theme-active-color, #243391);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: 700;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n white-space: nowrap;\n}\n\n.border {\n width: 100%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.title {\n font-family: Arial, Helvetica, sans-serif;\n text-align: center;\n}\n\n.center {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.uploader-status ::ng-deep .mat-mdc-progress-spinner circle, .mat-mdc-progress-spinner circle {\n stroke: var(--theme-main-color, #055C8D);\n}\n\n.overlay {\n height: 100vh;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.286);\n z-index: 900000;\n top: 0;\n left: 0;\n position: fixed;\n}\n\n.appAlert {\n width: 80%;\n position: fixed;\n left: 50%;\n margin-left: -37.5%;\n z-index: 9000;\n text-align: center;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main {\n color: rgb(107, 107, 107);\n}\n\n.main .Title, .main .numbers, .main .nb {\n color: rgb(40, 40, 40);\n}\n\n.icon {\n border-radius: 150px;\n width: 200px;\n height: 200px;\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n}\n\n.numbers {\n padding-top: 25px;\n font-size: 250%;\n font-weight: bold;\n width: 100%;\n text-align: center;\n}\n\n.Title {\n font-size: 18px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D) !important;\n height: 10%;\n}\n\n.status {\n text-align: center;\n font-size: 20px;\n}\n\n.c-1 {\n min-height: 10%;\n padding: 20px;\n width: 98% !important;\n margin-top: 2%;\n}\n\n.c-2 {\n height: 60%;\n padding-right: 25px;\n margin-bottom: 4%;\n}\n\n.c-3 {\n height: 20%;\n padding: 10px;\n}\n\n.statuses {\n width: 32%;\n padding-top: 50px;\n cursor: pointer;\n}\n\n@media (max-width: 1536px) {\n .icon {\n width: 200px !important;\n height: 200px !important;\n }\n .status {\n font-size: 16px;\n }\n}\n.description {\n font-size: 14px;\n}\n\n.note-font {\n font-size: 16px;\n color: red;\n}\n\n.la-8x {\n font-size: 6em;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.accept-button {\n width: 3%;\n padding-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `body {\n padding: 0px;\n}\n\n:host(app-landing-page) {\n max-height: 100vh !important;\n height: 100vh !important;\n max-width: 100vw !important;\n width: 100vw !important;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n::ng-deep .cdk-overlay-pane {\n max-height: 100vh !important;\n height: 100vh !important;\n max-width: 100vw !important;\n width: 100vw !important;\n}\n\n::ng-deep .mat-mdc-dialog-container {\n border-radius: 0px !important;\n padding: 0px;\n}\n\n.module {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.accept-button {\n width: 3%;\n padding-left: 10px;\n}\n\n* {\n box-sizing: border-box !important;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n color: #666666;\n font-size: 14px;\n font-family: \"poppins\", sans-serif;\n line-height: 1.80857;\n font-weight: normal;\n overflow-x: hidden;\n}\n\na {\n color: #1f1f1f;\n text-decoration: none !important;\n outline: none !important;\n transition: all 0.3s ease-in-out;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n letter-spacing: 0;\n font-weight: normal;\n position: relative;\n padding: 0 0 10px 0;\n font-weight: normal;\n line-height: normal;\n color: #111111;\n margin: 0;\n}\n\nh1 {\n font-size: 24px;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh3 {\n font-size: 18px;\n}\n\nh4 {\n font-size: 16px;\n}\n\nh5 {\n font-size: 14px;\n}\n\nh6 {\n font-size: 13px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\nh1 a,\nh2 a,\nh3 a,\nh4 a,\nh5 a,\nh6 a {\n color: #212121;\n text-decoration: none !important;\n opacity: 1;\n}\n\nbutton:focus {\n outline: none;\n}\n\nul,\nli,\nol {\n margin: 0px;\n padding: 0px;\n list-style: none;\n}\n\np {\n margin: 0px;\n font-weight: 300;\n font-size: 15px;\n line-height: 24px;\n}\n\na {\n color: #222222;\n text-decoration: none;\n outline: none !important;\n}\n\na,\n.btn {\n text-decoration: none !important;\n outline: none !important;\n transition: all 0.3s ease-in-out;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\n:focus {\n outline: 0;\n}\n\n.btn-custom {\n margin-top: 20px;\n background-color: transparent !important;\n border: 2px solid #ddd;\n padding: 12px 40px;\n font-size: 16px;\n}\n\n.lead {\n font-size: 18px;\n line-height: 30px;\n color: #767676;\n margin: 0;\n padding: 0;\n}\n\n.form-control:focus {\n border-color: #ffffff !important;\n box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);\n}\n\n.navbar-form input {\n border: none !important;\n}\n\n.badge {\n font-weight: 500;\n}\n\nblockquote {\n margin: 20px 0 20px;\n padding: 30px;\n}\n\nbutton {\n border: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n\n.full {\n float: left;\n width: 100%;\n}\n\n.layout_padding {\n padding-top: 90px;\n padding-bottom: 90px;\n}\n\n.layout_padding_2 {\n padding-top: 75px;\n padding-bottom: 75px;\n}\n\n.light_silver {\n background: #f9f9f9;\n}\n\n.theme_bg {\n background: #38c8a8;\n}\n\n.margin_top_30 {\n margin-top: 30px !important;\n}\n\n.full {\n width: 100%;\n float: left;\n margin: 0;\n padding: 0;\n}\n\n/**-- heading section --**/\n.main_heading {\n text-align: center;\n display: flex;\n justify-content: center;\n position: relative;\n margin-bottom: 50px;\n}\n\n.main_heading h2 {\n padding: 0;\n font-size: 48px;\n line-height: 60px;\n font-weight: 400;\n position: relative;\n letter-spacing: -0.5px;\n color: #114c7d;\n border-left: solid #38c8a8 10px;\n padding-left: 15px;\n}\n\n.main_heading h2 strong {\n background: #38c8a8;\n color: #fff;\n font-weight: 600;\n padding: 0 15px;\n line-height: 68px;\n}\n\n.white_heading_main h2 {\n color: #fff;\n}\n\n.small_main_heading {\n margin-top: 25px;\n float: left;\n width: 100%;\n border-bottom: solid rgba(0, 0, 0, 0.07) 1px;\n margin-bottom: 25px;\n}\n\n.small_main_heading h2 {\n padding: 2px 0 20px 0;\n color: #114c7d;\n font-weight: 400;\n font-size: 28px;\n background-repeat: no-repeat;\n padding-left: 55px;\n letter-spacing: -0.5px;\n}\n\n.small_main_heading h2 strong {\n color: #38c8a8;\n font-weight: 600;\n}\n\n.main_bt {\n background: #000;\n color: #fff;\n padding: 10px 60px 10px 60px;\n float: left;\n font-size: 15px;\n font-weight: 400;\n border: solid #000 5px;\n border-radius: 0;\n margin-right: 30px;\n}\n\na.readmore_bt {\n color: #fff;\n font-weight: 300;\n text-decoration: underline !important;\n}\n\n.main_bt:hover,\n.main_bt:focus {\n background: #ad2101;\n border: solid #ad2101 5px;\n color: #fff;\n}\n\n/**-- list icon --**/\n.ul_list_info_icon ul {\n list-style: none;\n}\n\n.ul_list_info_icon ul li {\n display: inline;\n float: left;\n width: 100%;\n}\n\n.ul_list_info_icon ul li img {\n width: 75px;\n}\n\n/*----------------------------\n preloader area\n----------------------------*/\n.loader_bg {\n position: fixed;\n z-index: 9999999;\n background: #fff;\n width: 100%;\n height: 100%;\n}\n\n.loader {\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.loader img {\n width: 280px;\n}\n\n/*----------------------------\n scroll to top area\n----------------------------*/\n.scrollup {\n float: right;\n position: absolute;\n color: #fff;\n right: 20px;\n padding: 0px 5px;\n text-transform: uppercase;\n font-weight: 600;\n background: #38c8a8;\n position: fixed;\n bottom: 20px;\n z-index: 99;\n text-align: center;\n color: #fff;\n cursor: pointer;\n border-radius: 0px;\n opacity: 0;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n transform: scale(1);\n -moz-transform: scale(1);\n -o-transform: scale(1);\n -webkit-transform: scale(1);\n transition: 0.2s all ease;\n -moz-transition: 0.2s all ease;\n -o-transition: 0.2s all ease;\n -webkit-transition: 0.2s all ease;\n width: 50px;\n height: 50px;\n border-radius: 100%;\n line-height: 48px;\n font-size: 16px;\n}\n\n.scrollup.b-show_scrollBut {\n opacity: 1;\n visibility: visible;\n}\n\n.top_awro {\n background: #ee4a79 none repeat scroll 0 0;\n cursor: pointer;\n padding: 6px 8px;\n position: fixed;\n bottom: 59px;\n right: 20px;\n display: none;\n height: 45px;\n width: 45px;\n border-radius: 50%;\n text-align: center;\n line-height: 30px;\n transition: all 0.5s ease;\n}\n\n.sale_pro {\n background: #f25252 !important;\n}\n\n.margin_top_50 {\n margin-top: 50px;\n}\n\n.margin_bottom_30_all {\n margin-bottom: 30px;\n}\n\n.text_align_center {\n text-align: center;\n}\n\n/*---------------------------------------------------------------------\n header area\n---------------------------------------------------------------------*/\n.logo_section {\n text-align: center;\n}\n\n.logo {\n float: left;\n}\n\nnav.main-menu {\n float: right;\n margin-left: 0;\n margin-top: 20px;\n}\n\n.menu-area-main li:hover a,\n.menu-area-main li:focus a {\n color: #000;\n}\n\n.menu-area-main li.active a {\n color: #000;\n}\n\n.right_cart_section {\n float: right;\n width: auto;\n}\n\n.right_cart_section ul {\n float: left;\n min-height: auto;\n margin: 0;\n padding: 12px 0 0;\n}\n\n.right_cart_section .cart_icons {\n padding: 18px 0 0;\n}\n\n.main-menu ul > li nth:child(5) a {\n padding-right: 0px;\n}\n\n.right_cart_section ul li {\n float: left;\n font-size: 17px;\n font-weight: 400;\n color: #fff;\n margin-right: 30px;\n}\n\n.right_cart_section ul.cart_update li {\n font-size: 13px;\n color: #ccc;\n line-height: normal;\n margin: 0;\n font-weight: 300;\n}\n\n.right_cart_section ul.cart_update li span {\n font-size: 18px;\n font-weight: 300;\n color: #fff;\n line-height: 21px;\n}\n\n.right_cart_section ul li i {\n margin-right: 10px;\n margin-top: 5px;\n float: left;\n color: #fff;\n font-size: 21px;\n}\n\n.right_cart_section ul li a {\n color: #fff;\n}\n\n.loginregisterbtn {\n background-color: var(--theme-main-background-color, #055C8D);\n border: solid;\n border-radius: 10px;\n border-color: var(--theme-main-border-color, #055C8D);\n color: white !important;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 16px;\n}\n\n/*-- end header middle --*/\n.top-bar-info {\n background: #111111;\n padding: 5px 0px;\n}\n\n.top-menu-left {\n float: left;\n}\n\n.top-menu-left li {\n position: relative;\n display: inline-block;\n margin-right: 11px;\n padding-right: 12px;\n}\n\n.top-menu-left li::before {\n content: \"\";\n position: absolute;\n right: 0;\n top: 9px;\n height: 10px;\n border-right: 1px dotted #999;\n}\n\n.top-menu-left li:last-child::before {\n display: none;\n}\n\n.top-menu-left li:last-child {\n padding: 0px;\n margin: 0px;\n}\n\n.top-menu-left li a {\n color: #ffffff;\n font-size: 12px;\n text-transform: uppercase;\n text-decoration: none;\n}\n\n.top-menu-left li a:hover {\n color: #38c8a8;\n}\n\n.right-dropdown-language {\n float: right;\n margin-left: 12px;\n}\n\n.dropdown-bar .dropdown-link {\n position: absolute;\n z-index: 1009;\n top: 40px;\n left: 0;\n right: auto;\n min-width: 50px;\n padding: 15px;\n background: #ffffff;\n list-style: none;\n border: 2px solid #38c8a8;\n opacity: 0;\n visibility: hidden;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n transition: opacity 0.2s ease 0s, visibility 0.2s linear 0s;\n text-align: left;\n}\n\n.dropdown-bar:hover .dropdown-link {\n opacity: 1;\n visibility: visible;\n top: 25px;\n}\n\n.dropdown-bar.right-dropdown-language > a::after {\n font-family: \"FontAwesome\";\n content: \"\\\\f107\";\n text-decoration: none;\n padding-left: 4px;\n color: #ffffff;\n}\n\n.right-dropdown-language > a {\n line-height: 10px;\n padding: 5px 5px;\n cursor: pointer;\n}\n\n.dropdown-bar .dropdown-link li a {\n color: #111111;\n display: block;\n font-size: 12px;\n line-height: 15px;\n padding: 5px 0;\n}\n\n.dropdown-bar .dropdown-link li a:hover {\n color: #38c8a8;\n}\n\n.dropdown-bar .dropdown-link li a img {\n margin-right: 7px;\n}\n\n.dropdown-bar .dropdown-link li.active {\n font-weight: bold;\n}\n\n.right-dropdown-language .dropdown-link {\n min-width: 100px;\n padding: 7px 10px;\n color: #111111;\n}\n\n.dropdown-bar {\n position: relative;\n padding: 0 5px;\n font-size: 13px;\n}\n\n.dropdown-bar .dropdown-link.right-sd {\n left: auto;\n right: 0;\n}\n\n.right-dropdown-currency {\n float: right;\n margin-left: 12px;\n}\n\n.dropdown-bar.right-dropdown-currency > a::after {\n font-family: \"FontAwesome\";\n content: \"\\\\f107\";\n text-decoration: none;\n padding-left: 4px;\n color: #ffffff;\n}\n\n.right-dropdown-currency > a {\n line-height: 10px;\n padding: 5px 5px;\n cursor: pointer;\n color: #ffffff;\n}\n\n.right-dropdown-currency .dropdown-link {\n min-width: 100px;\n padding: 7px 10px;\n color: #111111;\n}\n\n.right-dropdown-currency .dropdown-link {\n min-width: 55px;\n padding: 7px 10px;\n}\n\n.right-dropdown-currency .dropdown-link li a span.symbol {\n margin-right: 7px;\n}\n\n#login-modal .modal-content {\n border-radius: 0px;\n}\n\n#login-modal .modal-content .modal-header {\n background: #38c8a8;\n border-radius: 0;\n}\n\n#login-modal .modal-content .modal-body .form-group input {\n background: #ffffff;\n border: 1px solid #c8c8c8;\n border-radius: 0px;\n}\n\n#login-modal .modal-content .modal-body .form-group input:focus {\n border: 1px solid #c8c8c8 !important;\n}\n\n#login-modal .modal-content form {\n margin-bottom: 10px;\n}\n\n.modal-title {\n padding: 0px;\n color: #ffffff;\n font-size: 18px;\n text-transform: uppercase;\n}\n\n.btn-template-outlined {\n background: #111111;\n color: #ffffff;\n border: none;\n border-radius: 0px;\n}\n\n.btn-template-outlined i {\n padding-right: 10px;\n}\n\n.text-muted {\n padding: 10px 0px;\n}\n\n.slogan-line {\n float: right;\n color: #ffffff;\n font-size: 13px;\n}\n\n.middle-area {\n padding: 30px 0px;\n}\n\n.header-search {\n padding: 3px 0px;\n}\n\n.header-search form {\n position: relative;\n box-shadow: 0px 1px 10px -1px rgba(0, 0, 0, 0.2);\n}\n\n.header-search .btn-group.bootstrap-select {\n position: absolute;\n left: 0px;\n top: 0px;\n}\n\n.header-search input {\n width: 100%;\n min-height: 45px;\n border-radius: 0px;\n border: none;\n padding-left: 15px;\n border: 1px solid #e0e7ed;\n}\n\n.header-search form .search-btn {\n position: absolute;\n right: 0;\n top: 0;\n border: 0;\n color: #fff;\n font-size: 20px;\n padding: 4px 15px;\n border-radius: 0px;\n background-color: #38c8a8;\n cursor: pointer;\n}\n\n.header-search form .search-btn:hover {\n background: #111111;\n}\n\n.wish-box {\n float: right;\n}\n\n.wish-box a {\n display: inline-block;\n}\n\n.wish-box a:hover {\n color: #38c8a8;\n}\n\n.wish-box a span.icon {\n background: #38c8a8;\n width: 40px;\n height: 40px;\n display: inline-block;\n line-height: 40px;\n text-align: center;\n color: #ffffff;\n position: relative;\n border-radius: 2px;\n}\n\n.wish-box a span.icon:hover {\n background: #111111;\n}\n\n.cart-content-right {\n padding: 5px 0px;\n}\n\n.cart-content-box .items {\n text-align: center;\n}\n\n.product-media {\n width: 60px;\n float: left;\n position: relative;\n}\n\n.cart-content-box .items:hover .product-media::before {\n transform: scale(1);\n -webkit-transform: scale(1);\n -moz-transform: scale(1);\n -ms-transform: scale(1);\n -o-transform: scale(1);\n}\n\n.product-media::before {\n position: absolute;\n content: \"\";\n z-index: 2;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #38c8a8;\n opacity: 0.4;\n transform: scale(0);\n -webkit-transform: scale(0);\n -moz-transform: scale(0);\n -ms-transform: scale(0);\n -o-transform: scale(0);\n transition: all 0.5s ease;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n}\n\n.cart-content-box .items .item .remove {\n position: absolute;\n right: 0px;\n top: 0px;\n background: #38c8a8;\n color: #ffffff;\n width: 20px;\n height: 20px;\n line-height: 18px;\n border-radius: 2px;\n}\n\n.cart-content-box .items .item {\n margin-bottom: 10px;\n padding-bottom: 10px;\n border-bottom: 1px solid #e0e7ed;\n position: relative;\n}\n\n.cart-content-box .items .item .product-info {\n padding-top: 10px;\n padding-left: 71px;\n text-align: left;\n}\n\n.cart-content-box .items .item .remove:hover {\n background: #111111;\n}\n\n.subtotal {\n text-align: left;\n text-transform: capitalize;\n color: #38c8a8;\n font-weight: 500;\n margin-bottom: 15px;\n}\n\n.subtotal span {\n font-weight: bold;\n color: #111111;\n padding-left: 15px;\n float: right;\n}\n\n.actions .btn-process {\n padding: 5px 16px;\n color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n border-radius: 2px;\n overflow: hidden;\n}\n\n.actions .btn-process:hover {\n color: #ffffff;\n}\n\n.line-cart {\n position: relative;\n}\n\n.wish-box a span.icon span {\n position: absolute;\n right: -8px;\n top: -8px;\n line-height: initial;\n background: #38c8a8;\n padding: 3px;\n border-radius: 50%;\n width: 17px;\n height: 17px;\n font-size: 12px;\n}\n\n.main-menu {\n text-align: center;\n}\n\n.main-menu ul {\n margin: 0;\n list-style-type: none;\n}\n\n.main-menu ul > li {\n display: inline-block;\n position: relative;\n}\n\n.main-menu ul > li a {\n padding: 6px 25px 0 25px;\n line-height: 20px;\n font-size: 17px;\n display: block;\n font-weight: 500;\n color: var(--theme-main-color, #055C8D);\n}\n\n.main-menu ul li:last-child a {\n padding-right: 0;\n}\n\n.sub-down li {\n background: #ffffff;\n}\n\n.main-menu ul > li .sub-down li a {\n color: #114c7d;\n font-size: 15px;\n text-transform: capitalize;\n font-weight: 300;\n padding: 12px 5px;\n position: relative;\n border-bottom: solid #eee 1px;\n}\n\n.main-menu ul > li .sub-down li a:hover {\n color: #111111;\n}\n\n.main-menu ul li:first-child {\n margin-left: 0;\n}\n\n.main-menu ul > li > ul {\n opacity: 0;\n position: absolute;\n text-align: left;\n top: 100%;\n transform: scaleY(0);\n transform-origin: 0 0 0;\n transition: all 0.3s ease 0s;\n visibility: hidden;\n width: 240px;\n z-index: 999;\n background: #fff;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n\n.main-menu > ul > li:hover > ul {\n transform: scaleY(1);\n visibility: visible;\n opacity: 1;\n}\n\n.main-menu ul > li > ul > li {\n margin: 0px;\n position: relative;\n display: block;\n}\n\n.main-menu ul > li > ul > li:hover > ul {\n transform: scaleY(1);\n visibility: visible;\n opacity: 1;\n left: 100%;\n top: 10px;\n}\n\n.main-menu ul > li > ul > li > a {\n background: none !important;\n}\n\n.mean-container .mean-nav {\n margin-top: 0px;\n position: absolute;\n top: 100%;\n}\n\n.main-menu ul > li {\n position: inherit;\n display: inline-block;\n vertical-align: middle;\n}\n\n.main-menu ul > li:nth-child(6) {\n padding-right: 0px;\n}\n\n.nav > li {\n position: inherit;\n display: inline-block;\n vertical-align: middle;\n}\n\n.megamenu .sub-down {\n max-width: 1140px;\n width: 100%;\n left: 0;\n margin: 0 auto;\n right: 0;\n padding: 15px 0px;\n}\n\n.simple-down {\n padding: 15px;\n}\n\n.megamenu-categories {\n padding: 10px 0px;\n}\n\n.sub-full.megamenu-categories li {\n display: block;\n}\n\n.megamenu .sub-full.megamenu-categories ol li a {\n padding: 5px 0px;\n font-size: 15px !important;\n font-weight: 500;\n}\n\n.sub-full.megamenu-categories ol li .category-title {\n padding: 15px 0px;\n font-size: 16px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.sub-full.megamenu-categories ol li .category-box a {\n padding: 5px 0px;\n}\n\n.menu-add {\n padding: 30px 15px;\n}\n\n.menu-add img {\n width: 100%;\n}\n\n.main-w img {\n width: 100%;\n}\n\n.women-box {\n position: relative;\n}\n\n.women-box::before {\n content: \"\";\n position: absolute;\n background: rgba(0, 0, 0, 0.3);\n width: 100%;\n height: 100%;\n}\n\n.banner-up-text {\n position: absolute;\n bottom: 10px;\n left: 0px;\n right: 0px;\n text-align: center;\n}\n\n.text-a {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 40px;\n font-weight: 700;\n}\n\n.text-b {\n color: #fff;\n font-size: 28px;\n text-transform: uppercase;\n line-height: 30px;\n padding: 20px 0px;\n}\n\n.text-c {\n color: #ffffff;\n font-size: 31px;\n font-weight: 300;\n text-transform: uppercase;\n line-height: 30px;\n padding-bottom: 20px;\n}\n\n.megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {\n background: #111111;\n color: #ffffff !important;\n display: inline-block;\n padding: 10px 16px;\n border-radius: 2px;\n overflow: hidden;\n font-size: 16px;\n}\n\n.sticky-wrapper .sticky-wrapper-header {\n z-index: 20 !important;\n background: #ffffff;\n}\n\n.is-sticky .sticky-wrapper-header .middle-area {\n padding: 0px 0px;\n}\n\n.sticky-wrapper:not(.is-sticky) {\n height: auto !important;\n}\n\n.hover-btn {\n display: inline-block;\n vertical-align: middle;\n transform: perspective(1px) translateZ(0);\n box-shadow: 0 0 1px rgba(0, 0, 0, 0);\n position: relative;\n background: #111111;\n transition-property: color;\n transition-duration: 0.3s;\n}\n\n.hover-btn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: #38c8a8;\n transform: scaleX(0);\n transform-origin: 50%;\n transition-property: transform;\n transition-duration: 0.3s;\n transition-timing-function: ease-out;\n display: block !important;\n}\n\n.hover-btn:hover::before,\n.hover-btn:focus::before,\n.hover-btn:active::before {\n transform: scaleX(1);\n}\n\n.hover-btn:hover,\n.hover-btn:focus,\n.hover-btn:active {\n color: white;\n box-shadow: none;\n}\n\n.btn-secondary.focus,\n.btn-secondary:focus {\n box-shadow: none;\n}\n\n.img-responsive {\n max-width: 100%;\n}\n\n.padding_right_15_inner {\n padding-right: 15px;\n}\n\n.padding_left_15_inner {\n padding-left: 15px;\n}\n\n.dark_bg {\n background: #114c7d;\n}\n\n/*---------------------------------------------------------------------\n layout new css\n---------------------------------------------------------------------*/\n.header {\n background: #D2D3D5;\n padding: 10px 0px;\n padding-bottom: 10px;\n}\n\n.logo a {\n font-size: 40px;\n font-weight: bold;\n text-transform: uppercase;\n color: #fff;\n line-height: 40px;\n}\n\n.relative {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n bottom: 0;\n}\n\n.banner-main {\n position: relative;\n}\n\n.carousel-caption {\n border-radius: none;\n padding: 2px 2px;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.banner-main .carousel-caption h1 {\n color: #fff;\n font-size: 40px;\n line-height: 40px;\n font-weight: bold;\n padding-top: 40px;\n}\n\n.banner-main .carousel-caption p {\n font-size: 30px;\n padding: 20px 0px 40px 0px;\n}\n\n/** download section **/\n.Screenshot {\n padding-top: 60px;\n padding-bottom: 90px;\n background: #fff;\n}\n\n.Screenshot .titlepage {\n padding-bottom: 60px;\n text-align: center;\n}\n\n.screenshot-title {\n text-align: center;\n}\n\n.screenshot-text {\n font-weight: bold;\n padding-bottom: 5px;\n}\n\n.Screenshot .titlepage span {\n color: var(--theme-main-color, #055C8D);\n}\n\n.Screenshot .titlepage h2 {\n padding: 0px 0px 6px 0px;\n font-size: 30px;\n font-weight: bold;\n color: #050303;\n line-height: 46px;\n margin-bottom: 0px;\n margin-bottom: 20px;\n border-bottom: #fc4311 solid 1px;\n width: 242px;\n margin: 0 auto;\n margin-bottom: 0px;\n margin-bottom: 20px;\n}\n\n.carousel-item {\n text-align: center;\n}\n\n.carousel-control-prev {\n left: inherit;\n}\n\n#main_slider .carousel-control-prev,\n#main_slider .carousel-control-next {\n width: 55px;\n height: 55px;\n background: #000;\n opacity: 1;\n font-size: 30px;\n color: #fff;\n}\n\n#main_slider .carousel-control-prev:hover,\n#main_slider .carousel-control-next:hover,\n#main_slider .carousel-control-prev:focus,\n#main_slider .carousel-control-next:focus {\n background: var(--theme-main-background-color, #055C8D);\n color: #fff;\n}\n\n#main_slider a.carousel-control-prev {\n position: absolute;\n top: 40%;\n}\n\n#main_slider a.carousel-control-next {\n position: absolute;\n top: 40%;\n}\n\n.read-more {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.read-more a {\n background: #000;\n width: 206px;\n text-transform: uppercase;\n color: #fff;\n text-align: center;\n padding: 15px 0px;\n font-weight: 500;\n font-size: 17px;\n line-height: 30px;\n margin-top: -27px;\n transition: ease-in all 0.5s;\n}\n\n.read-more a:hover {\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 25px;\n transition: ease-in all 0.5s;\n}\n\n/** end download section **/\n/** about section **/\n.about {\n padding: 60px 0px;\n background: #f4f4f4;\n}\n\n.top_layer {\n position: relative;\n}\n\n.top_layer::before {\n position: absolute;\n width: 100%;\n height: 50px;\n content: \"\";\n background-position-x: 0%;\n background-position-y: 0%;\n background-repeat: repeat;\n background-size: auto;\n height: 500px;\n background-size: 100% 100%;\n background-position: center center;\n background-repeat: no-repeat;\n top: -180px;\n}\n\n.about .titlepage {\n text-align: center;\n padding-bottom: 60px;\n}\n\n.about .titlepage h2 {\n padding: 0px 0px 6px 0px;\n font-size: 30px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D);\n line-height: 46px;\n border-bottom: #D2D3D5 solid 1px;\n width: 410px;\n margin: 0 auto;\n margin-bottom: 20px;\n}\n\n.about .titlepage span {\n color: #3d3c3c;\n font-size: 14px;\n line-height: 30px;\n}\n\n.about .about-box {\n max-width: 530px;\n width: 100%;\n float: right;\n padding: 18px 0;\n}\n\n.about .about-box h3 {\n font-size: 36px;\n text-transform: uppercase;\n line-height: 37px;\n padding-bottom: 30px;\n}\n\n.about .about-box p {\n font-size: 17px;\n line-height: 28px;\n}\n\n.about .about-img figure {\n margin: 0;\n}\n\n.about a {\n text-transform: uppercase;\n border: #000 solid 1px;\n background: #000;\n width: 206px;\n padding: 15px 0;\n font-weight: 500;\n font-size: 17px;\n line-height: 30px;\n color: #fff;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin: 0 auto;\n margin-top: 50px;\n transition: ease-in all 0.5s;\n}\n\n.about a:hover {\n border: var(--theme-main-border-color, #055C8D) solid 1px;\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 25px;\n transition: ease-in all 0.5s;\n}\n\n/** end about section **/\n/** blog section **/\n.blog {\n background-color: #fff;\n padding: 60px 0px;\n}\n\n.blog .titlepage {\n text-align: center;\n}\n\n.blog .titlepage h2 {\n padding: 0px 0px 20px 0px;\n font-size: 30px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D);\n line-height: 50px;\n display: inline-block;\n position: relative;\n border-bottom: #D2D3D5 solid 1px;\n margin: 0 auto;\n margin-bottom: 0px;\n margin-bottom: 0px;\n margin-bottom: 20px;\n}\n\n.blog .titlepage span {\n color: #0e0f10;\n font-size: 14px;\n line-height: 32px;\n display: inline-block;\n margin-bottom: 0px;\n display: block;\n margin-bottom: none;\n}\n\n.blog .blog-box {\n margin-bottom: 30px;\n}\n\n.blog .blue h3 {\n background: #fff;\n color: var(--theme-main-color, #055C8D);\n font-size: 36px;\n line-height: 100px;\n margin: 10px;\n padding: 2%;\n position: relative;\n text-align: center;\n}\n\n.blog .blog-box figure {\n margin: 0px;\n}\n\n.blog .blog-box figure span {\n top: 0;\n left: 0px;\n position: absolute;\n margin-left: 15px;\n background: var(--theme-main-background-color, #055C8D);\n padding: 10px 30px;\n color: #fff;\n}\n\n.blog .blog-box h3 {\n font-size: 20px;\n padding-top: 10px;\n line-height: 30px;\n}\n\n.blog .blog-box p {\n font-size: 14px;\n line-height: 30px;\n}\n\n.like {\n color: var(--theme-main-color, #055C8D);\n}\n\n.Comment {\n color: var(--theme-main-color, #055C8D);\n}\n\n/** end blog section **/\n.width {\n width: 25%;\n}\n\n.copyright {\n background-color: #fff;\n padding: 20px 0px;\n margin-top: 55px;\n}\n\n.copyright p {\n color: #000;\n font-size: 18px;\n line-height: 22px;\n text-align: center;\n font-weight: 400;\n}\n\n/*---------------------------------------------------------------------\n ener page css\n---------------------------------------------------------------------*/\n.about-bg {\n background-color: #ad2100;\n margin-bottom: 90px;\n}\n\n.about-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Currency-bg {\n background-color: #ad2100;\n}\n\n.Currency-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Request-bg {\n background-color: #ad2100;\n}\n\n.Request-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Team-bg {\n background-color: #ad2100;\n}\n\n.Team-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.container__header {\n background-color: #fff;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);\n position: sticky;\n top: 0;\n z-index: 4;\n}\n\n.nav__appbar {\n min-height: 1rem;\n padding: 0.65rem 0;\n}\n\n.wrapper__header {\n height: 100%;\n z-index: 14;\n align-items: center;\n display: flex;\n}\n\n.content__container {\n height: 100%;\n max-width: calc(1440px + 12rem);\n}\n\n@media only screen and (min-width: 75rem) {\n .content__container {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n}\n.content__wrapper {\n width: 100%;\n margin: 0 auto;\n align-items: center;\n display: flex;\n}\n\n.section__content {\n display: flex;\n align-items: center;\n height: 100%;\n z-index: 1;\n}\n\n.header__list {\n display: flex;\n list-style-type: none;\n margin: 0;\n padding: 0;\n align-items: center;\n}\n\n.tab__link {\n color: var(--theme-main-color, #055C8D);\n}\n\n.tab__link:hover {\n text-decoration: none;\n cursor: pointer;\n color: var(--theme-main-color, #055C8D);\n}\n\n.desktop__view {\n display: inherit;\n}\n\n.header__list li {\n padding-left: 2.375rem;\n list-style-type: none;\n}\n\n.section__right {\n justify-content: flex-end;\n flex: 1 1;\n}\n\n.btn__medium {\n display: inline-flex;\n justify-content: center;\n font-weight: 500;\n border-radius: 2px;\n padding: 5px;\n font-size: 14px;\n line-height: 1.5;\n min-width: 8rem;\n transition: all 0.1s ease-in-out;\n}\n\n.btn_purple {\n color: #fff;\n background-color: var(--theme-main-background-color, #055C8D);\n border-color: transparent;\n}\n\n.btn_purple:active, .btn_purple:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);\n text-decoration: none;\n color: #fff;\n}\n\n.btn_purple:active {\n color: #fff;\n background-color: var(--theme-main-background-color, #055C8D);\n}\n\n.btn_purple:focus {\n box-shadow: 0 0 0 3px rgba(100, 0, 228, 0.5);\n}\n\n.btn_purple.btn_outline__purple {\n color: var(--theme-main-color, #055C8D);\n background-color: transparent;\n border: 1px solid var(--theme-main-border-color, #055C8D);\n}\n\n.btn_purple.btn_outline__purple:hover {\n background-color: rgba(210, 211, 213, 0.5);\n box-shadow: none;\n}\n\n.btn_purple.btn_outline__purple:active {\n background-color: rgba(100, 0, 228, 0.4);\n box-shadow: none;\n}\n\n.register__btn {\n padding: 0;\n}\n\n.container__main-page {\n max-width: 90rem !important;\n margin: auto;\n width: 100%;\n padding-left: 1rem;\n padding-right: 1rem;\n position: relative;\n}\n\n@media only screen and (min-width: 48rem) {\n .container__main-page {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n::ng-deep .carousel-control-next,\n::ng-deep .carousel-control-prev {\n width: 55px;\n height: 55px;\n background: #000;\n opacity: 1;\n font-size: 30px;\n color: #fff;\n position: absolute;\n top: 40%;\n}\n\n::ng-deep .carousel-control-next:hover,\n::ng-deep .carousel-control-prev:hover,\n::ng-deep .carousel-control-next:focus,\n::ng-deep .carousel-control-prev:focus {\n background: var(--theme-main-background-color, #055C8D);\n color: #fff;\n border-radius: 25px;\n opacity: 1;\n}\n\n::ng-deep .carousel-control-prev {\n left: inherit;\n}\n\n::ng-deep .primary {\n min-width: 132px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.login-full-width {\n width: 100%;\n}\n\n.mat-mdc-dialog-actions {\n justify-content: flex-end;\n}\n\nmat-progress-spinner {\n margin-right: 2%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.menu-item-text {\n color: #dedcdc;\n font-size: 1rem;\n flex-shrink: 1;\n align-self: center;\n}\n\n.menu-header-item-icon {\n color: #dedcdc;\n font-size: 17px;\n font-family: Inter !important;\n align-self: center;\n vertical-align: middle;\n font-weight: bold;\n}\n\n.accordian-button-text {\n color: white !important;\n font-size: 18px !important;\n font-weight: normal !important;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 24px;\n}\n\n.organisation-suspended::after {\n content: \" (suspended)\";\n}\n\n::ng-deep .card-header {\n padding-left: 5px !important;\n padding-right: 5px !important;\n}\n\n::ng-deep .card-body {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n padding-left: 15px !important;\n}\n\n.menu-header-item-text {\n color: #dedcdc;\n font-size: 17px;\n font-family: Inter !important;\n align-self: center;\n vertical-align: middle;\n font-weight: bold;\n margin-left: 10px;\n}\n\n.icon-gap {\n margin-left: 10px;\n display: flex;\n height: 100%;\n min-height: 0;\n align-self: baseline;\n}\n\n.vertical-align {\n margin-bottom: 10px !important;\n margin-top: 10px !important;\n}\n\n.vertical-align-search-row {\n text-align: center;\n margin: auto;\n}\n\n.header-row {\n border-bottom: 1px solid rgb(236, 236, 236);\n align-content: center;\n padding-left: 10px;\n flex-basis: 64px;\n min-height: 70px;\n}\n\n.instruction-row {\n padding-top: 20px;\n padding-right: 15px !important;\n padding-left: 15px;\n flex-basis: 32px;\n}\n\n.nav-pane-text {\n font-size: 14px;\n font-style: italic;\n}\n\n.menu-heading {\n font-size: 16px;\n padding-top: 5px;\n padding-left: 6px;\n font-weight: 600;\n}\n\nhr.solid {\n border-top: 1px solid #ececec;\n width: 100%;\n opacity: 1;\n}\n\n.select-municipality-row {\n padding-top: 5px;\n padding-right: 5px;\n padding-left: 5px;\n flex-basis: 32px;\n}\n\n.select-labels-padding {\n padding-bottom: 2px;\n padding-left: 6px;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n}\n\n.view-documentation-row {\n padding-right: 5px;\n padding-left: none;\n}\n\n.create-application-row {\n margin-top: 10px;\n padding-top: 10px;\n padding-right: 5px;\n padding-left: none;\n}\n\n.link-text {\n cursor: pointer;\n color: #fff;\n font-size: 15px !important;\n padding-left: 2px;\n padding-right: 2px;\n font-style: normal;\n transition: none;\n text-decoration: none;\n}\n\n.link-textcreatenew {\n cursor: pointer;\n color: #fff;\n font-size: 14px;\n padding-left: 1px;\n}\n\n.linktextcreateapplication {\n border-top: #fff;\n border-style: solid;\n border-width: 1px;\n}\n\n.searchButton {\n position: left;\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 7px;\n color: #fff;\n cursor: pointer;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n}\n\n.searchButton:hover {\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 6px;\n color: #fff;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n}\n\n.search-my-application-row {\n display: flex;\n align-items: center;\n margin-bottom: -11px;\n padding: 0;\n border-top: 1px solid #fff;\n width: 100%;\n max-width: 500px;\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n transition: none;\n}\n\n.settings-div {\n padding-top: 0.5px !important;\n padding-left: 5px !important;\n}\n\n.add-organisation-row {\n margin-top: auto;\n border-top: 1px solid rgb(236, 236, 236);\n padding-right: 5px;\n flex-basis: 32px;\n min-height: 32px;\n}\n\n.logout-row {\n border-top: 1px solid #fff;\n padding-top: 5px;\n padding-bottom: 0px;\n justify-content: space-between;\n padding-right: 0.3vw;\n padding-left: 0.3vw;\n max-height: 32px;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 10px 0;\n}\n\n.mb-3 {\n margin-bottom: 10px !important;\n}\n\n.p-2 {\n padding-top: 0px !important;\n}\n\n.menu-row {\n flex-shrink: 1;\n flex-grow: 1;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.add-organisation-link {\n text-align: center;\n color: white;\n cursor: pointer;\n}\n\n.search-application-link-text {\n text-align: center;\n color: white;\n cursor: pointer;\n transition: none;\n margin-left: 10px;\n}\n\n.logout-link {\n text-decoration: none;\n text-align: center;\n color: var(--theme-main-color, #055C8D);\n cursor: pointer;\n font-size: 13px;\n background-color: #fff;\n padding-top: 3.5px;\n padding-bottom: 7px;\n margin-bottom: 3px;\n padding-left: 4.5vw;\n padding-right: 6.1vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n max-width: 300px;\n box-sizing: border-box;\n border: 1px solid #fff;\n width: auto;\n}\n\n.logout-link:hover {\n text-decoration: none;\n text-align: center;\n color: #fff;\n cursor: pointer;\n font-size: 13px;\n background-color: var(--theme-main-background-color, #055C8D);\n padding-top: 4.5px;\n padding-bottom: 7px;\n margin-bottom: 3px;\n transform: none;\n padding-left: 4.5vw;\n padding-right: 6.1vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n max-width: 300px;\n box-sizing: border-box;\n border: 1px solid #fff;\n width: auto;\n}\n\n.settings-link {\n text-decoration: none;\n text-align: left;\n color: var(--theme-main-color, #055C8D);\n cursor: pointer;\n font-size: 13px;\n background-color: #fff;\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 1px;\n padding-left: 1.5vw;\n padding-right: 1.5vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n}\n\n.settings-link:hover {\n text-decoration: none;\n text-align: left;\n color: #fff;\n cursor: pointer;\n font-size: 13px;\n background-color: var(--theme-main-background-color, #055C8D);\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 1px;\n padding-left: 1.5vw;\n padding-right: 1.5vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n}\n\n.content-panel {\n overflow-y: auto;\n min-height: 0;\n}\n\n.settings-icon {\n color: white;\n}\n\n.icon-button {\n padding: 0;\n min-width: 0;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n line-height: 20px;\n border-radius: 50%;\n color: white;\n}\n\n.las {\n font-size: 17px;\n padding-top: 5px !important;\n}\n\n.organisation-modules-settings {\n height: 93%;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.menu-item {\n padding-left: 28px;\n}\n\n.organisation-line {\n color: white;\n background-color: white;\n width: 100%;\n}\n\n.bottom-group {\n position: absolute;\n bottom: 4%;\n width: 229.63px;\n}\n\n.bottom-group-line {\n background-color: white;\n width: 100%;\n}\n\n.link-spacer {\n margin-top: 1%;\n margin-bottom: 1%;\n}\n\n.row-item {\n padding-top: 15px;\n padding-bottom: 15px;\n}\n\n.padded-menu-item {\n padding-left: 5%;\n}\n\n.icon {\n color: white;\n float: right;\n}\n\n.menu-item-module {\n padding-left: 40px;\n}\n\n.tool-map {\n bottom: 1%;\n position: absolute;\n width: 100%;\n}\n\n.keyboard-backspace {\n vertical-align: top;\n color: white;\n}\n\n.organisation-setting-icon {\n display: none;\n width: 10%;\n}\n\n.organisation-setting-label {\n font-weight: bold;\n padding-right: 0;\n padding-left: 0;\n}\n\n.user-organisations {\n overflow-y: scroll;\n height: 40%;\n}\n\n.module-item {\n width: 85%;\n margin-left: 5%;\n}\n\n.icon-button {\n cursor: pointer;\n font-size: 20px;\n vertical-align: middle;\n}\n\n.icon-header-button {\n cursor: pointer;\n font-size: 26px;\n vertical-align: middle;\n}\n\n.dropdown-content {\n display: block;\n position: absolute; /* new */\n width: 100%; /* new */\n}\n\n.module-item-icon-column {\n flex-basis: 24px;\n min-width: 24px;\n max-width: 24px;\n}\n\n.module-item-column {\n flex-shrink: 1;\n flex-grow: 1;\n cursor: pointer;\n}\n\n.add-org {\n padding-left: 5px;\n}\n\n.module-suspended::after {\n content: \" (suspended)\";\n}\n\n.select-application {\n margin: 1px !important;\n}\n\n.form-select {\n padding: 0.5rem 2.25rem 0.375rem 0.75rem !important;\n width: 92% !important;\n margin-left: 10px !important;\n}\n\n.hiddenmenu-row {\n padding-bottom: 8px;\n border-bottom: #ececec;\n margin-left: 2px;\n margin-right: 2px;\n border-style: solid;\n border-width: 1px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.search-my-application-row {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border-top: 1px solid #fff;\n box-sizing: border-box;\n transition: none;\n}\n\n.search-my-application-row .searchButton {\n margin-right: 4px;\n}\n\n.link-text {\n line-height: 1.5;\n margin-left: 4px;\n}\n\n@media (max-width: 1320px) {\n .search-my-application-row {\n justify-content: center;\n }\n .searchButton {\n position: left;\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 26px;\n color: #fff;\n cursor: pointer;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n }\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.toolbar-spacer {\n color: var(--theme-main-color, #055C8D);\n padding-left: 18px;\n font-size: 17px;\n}\n\n.toolbar-header {\n height: 41px;\n font-family: Inter !important;\n}\n\n.main-content {\n background-color: #f3f3f3;\n}\n\n.notification-button {\n margin: 0 0 0 auto;\n}\n\nmat-toolbar {\n background-color: #ffffff;\n padding-right: 5%;\n display: flex;\n z-index: 990;\n height: 70px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 230px;\n}\n\na {\n color: #B2B2B2;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.routing-container {\n padding-left: 25.5px;\n padding-right: 0px;\n min-width: 430px;\n min-height: 640px;\n width: 100%;\n}\n\n.link {\n cursor: pointer;\n color: var(--theme-main-color, #055C8D);\n}\n\n.link:hover {\n cursor: pointer;\n color: var(--theme-main-darker-color, #053551);\n}\n\n.mat-icon {\n color: var(--theme-main-color, #055C8D);\n background-color: #fff;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `mat-sidenav {\n width: 15%;\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n min-width: 160px;\n}\n\nmat-sidenav-content {\n overflow-y: hidden;\n}\n\n.user-area {\n display: flex;\n bottom: 1%;\n width: 100%;\n}\n\na span {\n vertical-align: middle;\n}\n\n.menu-items {\n height: 100% !important;\n}\n\n.icon-text {\n margin-top: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-documentation) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.checkbox-column {\n display: inline-block;\n width: 30%;\n}\n\n.required-document-label {\n font-size: 14px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.upload-required-document-label {\n font-size: 12x;\n text-align: left;\n font-weight: 400;\n margin-bottom: 20px;\n color: #4a4a4a;\n}\n\n.required-document-label {\n font-size: 1rem;\n text-align: left;\n font-weight: 500;\n margin-bottom: 20px;\n margin-left: 10px;\n color: var(--theme-main-darker-color, #053551);\n}\n\n.row-margins {\n margin-bottom: 5px;\n margin-top: 5px;\n}\n\n.justify-content-end {\n margin-left: 2%;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n padding-right: 0px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.custom-checkbox > [type=checkbox]:disabled + label {\n cursor: not-allowed;\n font-weight: 600;\n color: #4a4a4a;\n}\n\n.custom-checkbox > [type=checkbox]:disabled:not(:checked) + label:before, .custom-checkbox > [type=checkbox]:disabled:checked + label:before {\n box-shadow: none;\n background-color: #f3f3f3;\n border-color: #f3f3f3;\n cursor: not-allowed;\n opacity: 1;\n font-family: \"FontAwesome\";\n content: \"\\\\f00d\";\n color: #4a4a4a;\n}\n\n.table-height {\n height: 40vh;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.link-text {\n padding: 0 5px 0 2px;\n cursor: pointer;\n}\n\n.form-check-label-highlighted {\n background-color: #FF0;\n}\n\n.custom-required-document-label {\n color: black !important;\n text-decoration: none !important;\n cursor: pointer;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-people-of-interest) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-a) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.businessOwnerHeader {\n text-align: center;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n padding-left: 10px;\n}\n\ninput, textarea {\n font-size: 13px !important;\n border-radius: 0 !important;\n background: #FDFDFD !important;\n border: 1px solid #EAEAEA !important;\n box-sizing: border-box !important;\n width: 99.3%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-bpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.action-button {\n margin-left: 5px;\n}\n\n.button-row {\n margin-bottom: 5px;\n}\n\n.deceased-table {\n height: 305px;\n}\n\n.table {\n height: 300px;\n margin-bottom: 0rem;\n}\n\n.total-input {\n background-color: #e9ecef !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n padding-left: 10px;\n width: 100%;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.form-control {\n width: 100% !important;\n}\n\n.filter-bar {\n width: 100% !important;\n}\n\n.filter-by {\n margin-left: 10px;\n margin-right: 20px;\n}\n\n.content-panel {\n overflow-y: auto;\n overflow-x: auto;\n min-height: 0;\n margin-bottom: 5px !important;\n}\n\n.w-100 {\n width: 100% !important;\n margin-top: 0px !important;\n}\n\n.label-margin {\n margin-top: 30px;\n}\n\n.sub-label-margin-top {\n margin-top: 20px;\n}\n\n.building-margin-top {\n margin-top: 15px;\n}\n\n.building-padding-bottom {\n padding-bottom: 5px;\n}\n\n.button-panel-margin-top {\n margin-top: 15px;\n margin-right: 15px !important;\n}\n\n.descriptionpadding {\n padding-bottom: 10px;\n}\n\n.nav-tabs {\n margin-top: 15px !important;\n margin-bottom: 15px !important;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n color: var(--theme-main-darker-color, #053551);\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-control-left-alignment {\n padding-left: 24px !important;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.section-header {\n margin-top: 0px !important;\n vertical-align: middle;\n line-height: 34px;\n margin-bottom: 0px !important;\n}\n\n.copy-button {\n margin-left: 10px;\n}\n\n.copy-applicant-row {\n margin-bottom: 10px;\n}\n\n.textarea {\n resize: vertical;\n padding-left: 5px !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-cm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 98% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.not-required {\n padding-bottom: 20px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.description-text {\n width: 100% !important;\n}\n\n.form-control {\n width: 100.3% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 99.5%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.form-control {\n width: 99.5%;\n}\n\n.error-div {\n height: 22px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-ec) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.verified-reference-number {\n color: green;\n margin-left: 5px;\n}\n\n.unverified-reference-number {\n color: red;\n margin-left: 5px;\n}\n\n.flex-container {\n display: flex;\n align-items: stretch;\n}\n\n.trade-goods-div {\n margin-bottom: 15px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-stakeholders-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.traders-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-plams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.red {\n color: red;\n margin-bottom: 10px;\n}\n\n.green {\n color: green;\n margin-bottom: 10px;\n}\n\n.h7 {\n margin-bottom: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n color: red;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-plams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.red {\n color: red;\n display: inline-block;\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.green {\n color: green;\n display: inline-block;\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n color: red;\n}\n\n.application_type_select {\n padding-top: 20px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n}\n\n.error-div {\n height: 22px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-sn) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.location-form {\n height: 100%;\n overflow-x: hidden;\n}\n\ntextarea {\n resize: none;\n rows: 10;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-cm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.box-adjustment {\n margin-left: 9px;\n}\n\n.form-control {\n width: 100.1% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-select {\n width: 101% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-tmams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.bottom-spacer {\n margin-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-w) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-wams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.desc {\n padding-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-control-left-alignment {\n padding-left: 24px !important;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.section-header {\n margin-top: 0px !important;\n vertical-align: middle;\n line-height: 34px;\n margin-bottom: 0px !important;\n}\n\n.copy-button {\n margin-left: 10px;\n}\n\n.copy-applicant-row {\n margin-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-zcams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* import the required JSAPI css */\n.esri-view {\n height: 500px;\n}\n\n.center {\n position: relative;\n bottom: 55px;\n left: 10px;\n width: 35px;\n}\n\n.center ::ng-deep .mat-mdc-progress-spinner circle, .mat-mdc-progress-spinner circle {\n stroke: #000000;\n position: relative;\n bottom: 60px;\n left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bufferContainer {\n width: 120px;\n}\n\n.displayLabel {\n margin-top: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.window {\n margin: 0 7px;\n}\n\n.text {\n margin-bottom: 7px;\n}\n\n.inputs {\n margin-bottom: 7px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.extent {\n background-color: none !important;\n height: 220px;\n width: 245px;\n padding: 0px 5px 10px 10px;\n box-shadow: none !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.esri-component {\n margin-bottom: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.heading {\n height: 9%;\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: left;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n height: 25px;\n padding-left: 10px;\n}\n\n.menu {\n margin-top: 5px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.base-tree-container {\n max-width: 97.8%;\n display: flex;\n flex-direction: column;\n height: 100%;\n position: relative;\n color: #859296;\n font-size: 14px;\n margin-left: 8px;\n padding: 20px;\n background-color: #FFF;\n height: 80vh;\n}\n.base-tree-container .tree-header {\n display: flex;\n padding: 5px;\n height: 38px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.base-tree-container .tree-header .tree-column {\n color: #6E6E6E;\n vertical-align: bottom;\n font-size: 12px;\n font-weight: 500;\n align-items: center;\n}\n.base-tree-container .primary {\n font-size: 16px;\n color: var(--theme-main-color, #055C8D);\n font-weight: 600;\n}\n.base-tree-container .secondary {\n font-size: 14px;\n color: var(--theme-main-color, #055C8D);\n}\n.base-tree-container .tree-wrapper {\n flex: 1;\n max-height: calc(70vh - 0.2rem);\n}\n.base-tree-container .tree-node-wrapper {\n padding-top: 0.2rem;\n padding-bottom: 0.2rem;\n padding-left: 0.2rem;\n display: flex;\n flex-direction: row;\n}\n.base-tree-container .node-content-wrapper {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n flex: 1;\n margin-right: 0.25rem;\n}\n.base-tree-container .tree-header {\n width: 100%;\n}\n.base-tree-container .tree-column-wrapper, .base-tree-container .tree-header {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n}\n.base-tree-container .tree-column-wrapper span, .base-tree-container .tree-header span {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.base-tree-container .tree-column-wrapper .tree-column, .base-tree-container .tree-header .tree-column {\n flex-grow: 1;\n display: flex;\n padding-left: 5px;\n padding-right: 5px;\n align-items: center;\n}\n.base-tree-container .tree-column-wrapper .tree-column:first-child, .base-tree-container .tree-header .tree-column:first-child {\n overflow: hidden;\n margin-right: auto;\n flex-grow: 0;\n min-width: 0px;\n}\n.base-tree-container .tree-column-wrapper .tree-column:first-child span, .base-tree-container .tree-header .tree-column:first-child span {\n white-space: initial;\n}\n.base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n flex-grow: 0;\n flex-shrink: 0;\n align-items: stretch;\n width: 600px;\n padding-top: 5px;\n}\n@media (max-width: 1800px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 500px;\n }\n}\n@media (max-width: 1600px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 400px;\n }\n}\n@media (max-width: 1439px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 300px;\n }\n}\n@media (max-width: 1024px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 200px !important;\n }\n}\n@media (max-width: 768px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n display: 100px !important;\n }\n}\n.base-tree-container .tree-column-wrapper:last-child, .base-tree-container .tree-header:last-child {\n overflow: hidden;\n margin-right: auto;\n flex-shrink: 1;\n min-width: 150px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main-heading {\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 18px;\n line-height: 22px;\n letter-spacing: 0.300001px;\n}\n\n.module-heading {\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 22px;\n letter-spacing: 0.300001px;\n}\n\n.sub-heading {\n font-weight: 500;\n font-size: 2vh;\n letter-spacing: 0.3px;\n color: #FFFFFF;\n opacity: 0.53;\n margin-left: 25px;\n}\n\n.actions {\n margin-right: 20px;\n}\n\n.heading-container {\n border-left: 5px solid var(--theme-heading-border-color, #8DE7E3);\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n padding-left: 39px !important;\n margin-left: 5px;\n height: 57px;\n margin-bottom: 10px;\n}\n\n.w-100 {\n width: 98% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\n.primary:hover {\n background: var(--theme-main-darker-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: none;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 2%;\n}\n\n.install-text {\n margin-bottom: 3%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main-container {\n margin-right: 1%;\n}\n\n.header-row {\n width: 100%;\n}\n\n.table {\n overflow-y: scroll !important;\n padding-top: 3px;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.table-header {\n border-top: none;\n position: sticky;\n top: 0;\n background: #F3F3F3;\n z-index: 1;\n vertical-align: middle !important;\n}\n\n.link-text {\n font-family: Inter, serif;\n font-style: normal;\n font-weight: bold;\n font-size: 10px;\n line-height: 12px;\n letter-spacing: 0.254903px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.link-text .map-link-text {\n padding: 0 5px 0 2px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.view-link-content {\n align-items: center !important;\n}\n.view-link-content:focus {\n outline: none !important;\n}\n\n.view-link-content .map-link {\n left: 20px;\n}\n\n*:focus {\n outline: none !important;\n}\n\n.map {\n margin-right: 20px;\n}\n\n.map-row {\n height: 100%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.container {\n display: flex;\n flex-flow: row wrap;\n}\n\nh6 {\n text-align: left;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray;\n opacity: 1;\n}\n\n.grey-out2 {\n background-color: lightgray;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -12px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.verify-button {\n margin-top: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Important part */\n.modal-dialog {\n overflow-y: initial !important;\n}\n\n.modal-body {\n max-height: calc(100vh - 471px);\n overflow-y: auto;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.container {\n display: flex;\n flex-flow: row wrap;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.mat-mdc-select-panel {\n font-size: 12px;\n}\n\n.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate, .mat-accent .mat-pseudo-checkbox-checked, .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: var(--theme-main-background-color, #055C8D);\n}\n\n.mat-mdc-select-panel .mat-mdc-optgroup-label, .mat-select-panel .mat-mdc-option {\n font-size: inherit;\n line-height: 1.5;\n height: 2em;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n height: 92px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -13px;\n height: 92px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\nbody {\n background: #e8cbc0;\n background: linear-gradient(to right, #e8cbc0, #636fa4);\n min-height: 100vh;\n}\n\n.bootstrap-select .bs-ok-default::after {\n width: 0.3em;\n height: 0.6em;\n border-width: 0 0.1em 0.1em 0;\n transform: rotate(45deg) translateY(0.5rem);\n}\n\n.btn.dropdown-toggle:focus {\n outline: none !important;\n}\n\n::ng-deep .cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n background-color: #efedf1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Important part */\n.modal-dialog {\n overflow-y: initial !important;\n}\n\n.modal-body {\n max-height: calc(100vh - 471px);\n overflow-y: auto;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.container {\n display: flex;\n flex-flow: row wrap;\n}\n\nh6 {\n text-align: left;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.mat-mdc-select-panel {\n font-size: 12px;\n}\n\n.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate, .mat-accent .mat-pseudo-checkbox-checked, .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: var(--theme-main-background-color, #055C8D);\n}\n\n.mat-mdc-select-panel .mat-mdc-optgroup-label, .mat-select-panel .mat-mdc-option {\n font-size: inherit;\n line-height: 1.5;\n height: 2em;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -13px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\nbody {\n background: #e8cbc0;\n background: linear-gradient(to right, #e8cbc0, #636fa4);\n min-height: 100vh;\n}\n\n.bootstrap-select .bs-ok-default::after {\n width: 0.3em;\n height: 0.6em;\n border-width: 0 0.1em 0.1em 0;\n transform: rotate(45deg) translateY(0.5rem);\n}\n\n.btn.dropdown-toggle:focus {\n outline: none !important;\n}\n\n::ng-deep .cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n background-color: #efedf1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.margins {\n margin-left: 8px;\n z-index: 90000;\n}\n\n.bottom-margin {\n margin-bottom: 5px;\n}\n\n.button-margin-right {\n margin-right: 2px;\n}\n\n.label-width {\n white-space: pre-wrap;\n width: 160px;\n padding-top: 18px;\n padding-left: 0.5rem;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.secondary {\n background: rgb(255, 255, 255);\n border-radius: 8px !important;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: var(--theme-main-color, #055C8D) !important;\n border: 1px solid var(--theme-main-border-color, #055C8D) !important;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\n.secondary:hover {\n background: rgb(255, 255, 255);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: var(--theme-main-darker-color, #053551);\n border: 1px solid var(--theme-main-darker-color, #053551);\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-a) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.businessOwnerHeader {\n text-align: center;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `input, textarea {\n font-size: 13px !important;\n padding-left: 10px !important;\n border-radius: 0 !important;\n background-color: lightgray !important;\n opacity: 1;\n box-sizing: border-box !important;\n width: 99.3% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.action-button {\n margin-left: 5px;\n}\n\n.button-row {\n margin-bottom: 5px;\n}\n\n.deceased-table {\n height: 305px;\n}\n\n.table {\n height: 300px;\n margin-bottom: 0rem;\n}\n\n.total-input {\n background-color: #e9ecef !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.label-margin {\n margin-top: 30px;\n}\n\n.sub-label-margin-top {\n margin-top: 20px;\n}\n\n.building-margin-top {\n margin-top: 15px;\n}\n\n.building-padding-bottom {\n padding-bottom: 5px;\n}\n\n.button-panel-margin-top {\n margin-top: 15px;\n}\n\n.w-100 {\n width: 100% !important;\n margin-top: 0 !important;\n}\n\n.content-panel {\n margin-bottom: 5px !important;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.input-outer {\n padding-left: 4px;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n padding-top: 25px !important;\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.col-6 {\n flex: 0 0 auto;\n width: 49.5%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\ninput, select {\n background-color: lightgray !important;\n}\n\n.col-6 {\n padding-bottom: 11px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n margin-left: -13px;\n padding-inline-start: 19px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}\n\n.form-select {\n margin-left: -4px;\n}\n\n.form-control {\n margin-left: -5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-ec) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `input, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n width: 102% !important;\n margin-left: -32px;\n padding-inline-start: 38px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-stakeholders-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.traders-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 10px;\n color: var(--theme-main-color, #055C8D);\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-plams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.red {\n color: red;\n margin-bottom: 10px;\n}\n\n.green {\n color: green;\n margin-bottom: 10px;\n}\n\n.h7 {\n margin-bottom: 10px;\n}\n\n.form-control:disabled,\n.form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-plams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-sn) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.form-alignment {\n width: 101%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-wams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.disabled-input {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-wams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 60vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-zcams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 98% !important;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-documentation) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.checkbox-column {\n display: inline-block;\n width: 30%;\n}\n\n.required-document-label {\n font-size: 12px;\n text-align: left;\n font-weight: 400;\n margin-bottom: 20px;\n color: #4a4a4a;\n}\n\n.myapplication-document-label {\n font-size: 14px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.row-margins {\n margin-bottom: 5px;\n margin-top: 5px;\n}\n\n.justify-content-end {\n margin-right: 1.5%;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.custom-checkbox > [type=checkbox]:disabled + label {\n cursor: not-allowed;\n font-weight: 700;\n color: #000000;\n}\n\n.table-height {\n height: 40vh;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.link-text {\n padding: 0 5px 0 2px;\n cursor: pointer;\n}\n\n.form-check-label-highlighted {\n background-color: #FF0;\n}\n\n.custom-required-document-label {\n color: black !important;\n text-decoration: none !important;\n cursor: pointer;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-people-of-interest) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 11544,\n\t\"./af.js\": 11544,\n\t\"./ar\": 33108,\n\t\"./ar-dz\": 52155,\n\t\"./ar-dz.js\": 52155,\n\t\"./ar-kw\": 53583,\n\t\"./ar-kw.js\": 53583,\n\t\"./ar-ly\": 41638,\n\t\"./ar-ly.js\": 41638,\n\t\"./ar-ma\": 87823,\n\t\"./ar-ma.js\": 87823,\n\t\"./ar-ps\": 7712,\n\t\"./ar-ps.js\": 7712,\n\t\"./ar-sa\": 78261,\n\t\"./ar-sa.js\": 78261,\n\t\"./ar-tn\": 56703,\n\t\"./ar-tn.js\": 56703,\n\t\"./ar.js\": 33108,\n\t\"./az\": 46508,\n\t\"./az.js\": 46508,\n\t\"./be\": 16766,\n\t\"./be.js\": 16766,\n\t\"./bg\": 28564,\n\t\"./bg.js\": 28564,\n\t\"./bm\": 97462,\n\t\"./bm.js\": 97462,\n\t\"./bn\": 17107,\n\t\"./bn-bd\": 43438,\n\t\"./bn-bd.js\": 43438,\n\t\"./bn.js\": 17107,\n\t\"./bo\": 9004,\n\t\"./bo.js\": 9004,\n\t\"./br\": 50927,\n\t\"./br.js\": 50927,\n\t\"./bs\": 87768,\n\t\"./bs.js\": 87768,\n\t\"./ca\": 56291,\n\t\"./ca.js\": 56291,\n\t\"./cs\": 85301,\n\t\"./cs.js\": 85301,\n\t\"./cv\": 66666,\n\t\"./cv.js\": 66666,\n\t\"./cy\": 55163,\n\t\"./cy.js\": 55163,\n\t\"./da\": 87360,\n\t\"./da.js\": 87360,\n\t\"./de\": 45932,\n\t\"./de-at\": 43248,\n\t\"./de-at.js\": 43248,\n\t\"./de-ch\": 83222,\n\t\"./de-ch.js\": 83222,\n\t\"./de.js\": 45932,\n\t\"./dv\": 6405,\n\t\"./dv.js\": 6405,\n\t\"./el\": 60718,\n\t\"./el.js\": 60718,\n\t\"./en-au\": 36319,\n\t\"./en-au.js\": 36319,\n\t\"./en-ca\": 80597,\n\t\"./en-ca.js\": 80597,\n\t\"./en-gb\": 51800,\n\t\"./en-gb.js\": 51800,\n\t\"./en-ie\": 807,\n\t\"./en-ie.js\": 807,\n\t\"./en-il\": 95960,\n\t\"./en-il.js\": 95960,\n\t\"./en-in\": 84418,\n\t\"./en-in.js\": 84418,\n\t\"./en-nz\": 46865,\n\t\"./en-nz.js\": 46865,\n\t\"./en-sg\": 32647,\n\t\"./en-sg.js\": 32647,\n\t\"./eo\": 61931,\n\t\"./eo.js\": 61931,\n\t\"./es\": 46679,\n\t\"./es-do\": 41805,\n\t\"./es-do.js\": 41805,\n\t\"./es-mx\": 83445,\n\t\"./es-mx.js\": 83445,\n\t\"./es-us\": 81516,\n\t\"./es-us.js\": 81516,\n\t\"./es.js\": 46679,\n\t\"./et\": 88150,\n\t\"./et.js\": 88150,\n\t\"./eu\": 80757,\n\t\"./eu.js\": 80757,\n\t\"./fa\": 65742,\n\t\"./fa.js\": 65742,\n\t\"./fi\": 33958,\n\t\"./fi.js\": 33958,\n\t\"./fil\": 46720,\n\t\"./fil.js\": 46720,\n\t\"./fo\": 98352,\n\t\"./fo.js\": 98352,\n\t\"./fr\": 4059,\n\t\"./fr-ca\": 42096,\n\t\"./fr-ca.js\": 42096,\n\t\"./fr-ch\": 95759,\n\t\"./fr-ch.js\": 95759,\n\t\"./fr.js\": 4059,\n\t\"./fy\": 15958,\n\t\"./fy.js\": 15958,\n\t\"./ga\": 94143,\n\t\"./ga.js\": 94143,\n\t\"./gd\": 67028,\n\t\"./gd.js\": 67028,\n\t\"./gl\": 80428,\n\t\"./gl.js\": 80428,\n\t\"./gom-deva\": 76861,\n\t\"./gom-deva.js\": 76861,\n\t\"./gom-latn\": 57718,\n\t\"./gom-latn.js\": 57718,\n\t\"./gu\": 26827,\n\t\"./gu.js\": 26827,\n\t\"./he\": 21936,\n\t\"./he.js\": 21936,\n\t\"./hi\": 31332,\n\t\"./hi.js\": 31332,\n\t\"./hr\": 91957,\n\t\"./hr.js\": 91957,\n\t\"./hu\": 48928,\n\t\"./hu.js\": 48928,\n\t\"./hy-am\": 56215,\n\t\"./hy-am.js\": 56215,\n\t\"./id\": 586,\n\t\"./id.js\": 586,\n\t\"./is\": 90211,\n\t\"./is.js\": 90211,\n\t\"./it\": 70170,\n\t\"./it-ch\": 22340,\n\t\"./it-ch.js\": 22340,\n\t\"./it.js\": 70170,\n\t\"./ja\": 39770,\n\t\"./ja.js\": 39770,\n\t\"./jv\": 73875,\n\t\"./jv.js\": 73875,\n\t\"./ka\": 79499,\n\t\"./ka.js\": 79499,\n\t\"./kk\": 93573,\n\t\"./kk.js\": 93573,\n\t\"./km\": 68807,\n\t\"./km.js\": 68807,\n\t\"./kn\": 65082,\n\t\"./kn.js\": 65082,\n\t\"./ko\": 20137,\n\t\"./ko.js\": 20137,\n\t\"./ku\": 70111,\n\t\"./ku-kmr\": 63744,\n\t\"./ku-kmr.js\": 63744,\n\t\"./ku.js\": 70111,\n\t\"./ky\": 99187,\n\t\"./ky.js\": 99187,\n\t\"./lb\": 35969,\n\t\"./lb.js\": 35969,\n\t\"./lo\": 33526,\n\t\"./lo.js\": 33526,\n\t\"./lt\": 90411,\n\t\"./lt.js\": 90411,\n\t\"./lv\": 32621,\n\t\"./lv.js\": 32621,\n\t\"./me\": 85869,\n\t\"./me.js\": 85869,\n\t\"./mi\": 35881,\n\t\"./mi.js\": 35881,\n\t\"./mk\": 92391,\n\t\"./mk.js\": 92391,\n\t\"./ml\": 21126,\n\t\"./ml.js\": 21126,\n\t\"./mn\": 44892,\n\t\"./mn.js\": 44892,\n\t\"./mr\": 59080,\n\t\"./mr.js\": 59080,\n\t\"./ms\": 70399,\n\t\"./ms-my\": 25950,\n\t\"./ms-my.js\": 25950,\n\t\"./ms.js\": 70399,\n\t\"./mt\": 79902,\n\t\"./mt.js\": 79902,\n\t\"./my\": 72985,\n\t\"./my.js\": 72985,\n\t\"./nb\": 67859,\n\t\"./nb.js\": 67859,\n\t\"./ne\": 13642,\n\t\"./ne.js\": 13642,\n\t\"./nl\": 65441,\n\t\"./nl-be\": 99875,\n\t\"./nl-be.js\": 99875,\n\t\"./nl.js\": 65441,\n\t\"./nn\": 81311,\n\t\"./nn.js\": 81311,\n\t\"./oc-lnc\": 72567,\n\t\"./oc-lnc.js\": 72567,\n\t\"./pa-in\": 56962,\n\t\"./pa-in.js\": 56962,\n\t\"./pl\": 61063,\n\t\"./pl.js\": 61063,\n\t\"./pt\": 78719,\n\t\"./pt-br\": 97476,\n\t\"./pt-br.js\": 97476,\n\t\"./pt.js\": 78719,\n\t\"./ro\": 51004,\n\t\"./ro.js\": 51004,\n\t\"./ru\": 51326,\n\t\"./ru.js\": 51326,\n\t\"./sd\": 72608,\n\t\"./sd.js\": 72608,\n\t\"./se\": 13911,\n\t\"./se.js\": 13911,\n\t\"./si\": 25147,\n\t\"./si.js\": 25147,\n\t\"./sk\": 23741,\n\t\"./sk.js\": 23741,\n\t\"./sl\": 93000,\n\t\"./sl.js\": 93000,\n\t\"./sq\": 60451,\n\t\"./sq.js\": 60451,\n\t\"./sr\": 55046,\n\t\"./sr-cyrl\": 40905,\n\t\"./sr-cyrl.js\": 40905,\n\t\"./sr.js\": 55046,\n\t\"./ss\": 85765,\n\t\"./ss.js\": 85765,\n\t\"./sv\": 99290,\n\t\"./sv.js\": 99290,\n\t\"./sw\": 53449,\n\t\"./sw.js\": 53449,\n\t\"./ta\": 72688,\n\t\"./ta.js\": 72688,\n\t\"./te\": 32060,\n\t\"./te.js\": 32060,\n\t\"./tet\": 93290,\n\t\"./tet.js\": 93290,\n\t\"./tg\": 8294,\n\t\"./tg.js\": 8294,\n\t\"./th\": 1231,\n\t\"./th.js\": 1231,\n\t\"./tk\": 3746,\n\t\"./tk.js\": 3746,\n\t\"./tl-ph\": 49040,\n\t\"./tl-ph.js\": 49040,\n\t\"./tlh\": 17187,\n\t\"./tlh.js\": 17187,\n\t\"./tr\": 60153,\n\t\"./tr.js\": 60153,\n\t\"./tzl\": 88521,\n\t\"./tzl.js\": 88521,\n\t\"./tzm\": 18010,\n\t\"./tzm-latn\": 22234,\n\t\"./tzm-latn.js\": 22234,\n\t\"./tzm.js\": 18010,\n\t\"./ug-cn\": 63349,\n\t\"./ug-cn.js\": 63349,\n\t\"./uk\": 68479,\n\t\"./uk.js\": 68479,\n\t\"./ur\": 43024,\n\t\"./ur.js\": 43024,\n\t\"./uz\": 19800,\n\t\"./uz-latn\": 72376,\n\t\"./uz-latn.js\": 72376,\n\t\"./uz.js\": 19800,\n\t\"./vi\": 89366,\n\t\"./vi.js\": 89366,\n\t\"./x-pseudo\": 69702,\n\t\"./x-pseudo.js\": 69702,\n\t\"./yo\": 72655,\n\t\"./yo.js\": 72655,\n\t\"./zh-cn\": 575,\n\t\"./zh-cn.js\": 575,\n\t\"./zh-hk\": 18351,\n\t\"./zh-hk.js\": 18351,\n\t\"./zh-mo\": 51626,\n\t\"./zh-mo.js\": 51626,\n\t\"./zh-tw\": 8887,\n\t\"./zh-tw.js\": 8887\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;"],"names":["__decorate","Component","AflaCommonComponent","constructor","ngOnInit","ctorParameters","selector","template","CUSTOM_ELEMENTS_SCHEMA","NgModule","ZaesriAngularCalciteModule","CommonTableComponent","CommonTableSortHeaderDirective","CommonFilterByComponent","FormsModule","NgPipesModule","CommonModule","HighlightWithColumnPipe","CommonDropDownComponent","CommonPopUpComponent","CommonSecondaryButtonComponent","CommonPrimaryButtonComponent","AflaCommonModule","schemas","declarations","imports","exports","Injectable","AflaCommonService","branding","setThemeColors","providedIn","__NG_CLI_RESOURCE__0","__NG_CLI_RESOURCE__1","ChangeDetectionStrategy","ChangeDetectorRef","EventEmitter","Input","Output","SharedConstants","changeDetectorRef","aflaCommonService","options","valueSelected","stateReset","preSelected","placeholder","doNotSort","selected","indexOf","Error","refreshSelectionOptions","detectChanges","PLACEHOLDER_TEXT","emit","sort","emitValueChange","$event","value","target","type","propDecorators","changeDetection","OnPush","styles","filterByOptions","filterByChanged","filterTextChanged","errorMessageDisplay","pageName","initialFilterText","initialFilterColumn","label","FILTER_PREFIX","filterTextPlaceHolder","filterText","dropDownValue","dropDownPlaceHolder","FILTER_BY_PLACEHOLDER","dropDownDefault","FILTER_BY_DEFAULT","addFilterByDefault","initializePlaceHolder","filterChanged","text","column","markForCheck","textChanged","NO_FILTER_SELECTED_MESSAGE","unshift","EXCLUDE_HEADING_ACTIONS","toLocaleLowerCase","FILTER_ITEMS_PLACEHOLDER","NgbActiveModal","activeModal","title","contentMessage","data","updateBtnPlaceholder","YES_LABEL","cancelBtnPlaceholder","NO_LABEL","onBtnOkClick","close","onBtnCancel","displayText","clickCallBack","disabled","toLowerCase","onclick","CommonTableComponent_1","ViewChildren","compare","ActivatedRoute","Router","moment","SearchUtils","_","elId","route","router","headers","tableItems","columnToItemPropertyMap","tdTemplate","tdTemplate2","thTemplate","showFilter","rowActions","checkboxColumn","showRadioButtonColumn","allowSingleSelect","disableRowSelect","nextID","defaultSort","showRecipientTypeColumn","parentComponent","allowExport","isApplicationSearchTable","tableItemClicked","tableItemsChecked","tableColumns","visibleTableItems","searchTerm","selectedColumn","focusedElement","selectedRows","isSelected","preSelectedFilterText","preSelectedFilterColumn","noItemsMessage","NO_ITEMS_AVAILABLE_MESSAGE","noFilterResults","NO_FILTER_RESULTS","exportFilenameLabel","ENTER_FILENAME_LABEL","applyTableWidthClass","checkIfObject","test","checkIfDate","SYSTEM_DATE_FORMAT_DEFAULT","isValid","checkIfNumber","maybeNumber","checkNumber","Number","isNaN","getObjectId","row","hasOwnProperty","id","toString","ngAfterViewInit","forEach","header","sortable","direction","expandTableHorizontally","ngOnChanges","changes","currentValue","setInitialVisibleTableItems","filterTable","checkIfColumnMappingExists","listenForQueryParamChanges","initialize","radioButtonAction","push","map","tableItem","checkBoxAction","event","index","splice","checkAllBox","document","getElementById","checked","checkedAll","slice","selectedRow","executeClickAction","getElementValue","element","propertyValue","getTableItemValue","undefined","INVALID_TABLE_VALUE_ERROR","filter","setQueryParams","setVisibleTableItems","filterAllTableItems","filterTableItemsByColumn","onSort","setSortableHeaders","sortTableItems","getTableDate","resetTableColumns","Array","from","keys","initializeFilterOptions","length","sortByDefault","searchAllItemsProperties","listOfVisibleColumns","list","mappedColumn","get","search","searchAllItemsSingleProperty","items","checkForExistingCheckedItems","includes","checkbox","console","log","values","a","b","result","getCorrectPrimitiveTypeForPropertyValue","toLocaleString","TABLE_COLUMN_MAPPING_EXISTS_ERROR","queryParams","subscribe","navigate","queryParamsHandling","size","args","SEARCH_PREFIX","FILTER_DEFAULT","SEARCH_NOT_BLANK","REQUIRED_INPUT_CONTROL_VALIDATION","Directive","rotate","host","asc","desc","v1","v2","Date","diff","HighlightWithColumnPipe_1","Pipe","DomSanitizer","sanitizer","checkColumnsEqual","firstColumn","secondColumn","formatColumnValue","trim","replace","transform","currentColumn","stringValue","re","RegExp","match","replacedValue","bypassSecurityTrustHtml","name","searchKey","searchableColumns","caseSensitive","item","searchItemProperties","Object","some","key","searchItemProperty","property","BehaviorSubject","Subject","Alert","AlertType","isDevMode","NavigationStart","SessionStorageService","SessionStorageEnum","HttpStatusCodeEnum","Title","AppConfig","AppControllerService","sessionStorage","titleService","selectedApplicationID","selectedJobID","modules","organisations","appTitle","alertSubject","keepAfterRouteChange","selectedOrgIdSubject","selectedOrgSubject","$selectedOrgSubject","asObservable","baseRequestObject","authenticatedUser","moduleID","appID","_selectedOrganisationID","configLoadedSubject","$configLoadedSubject","events","_selectedModuleID","selectedModuleID","doubleQuoteRe","SelectedModuleID","selectedOrganisationId","selectedOrganisationID","organisationId","next","org","configLoadedComplete","complete","setTitle","settings","projectSettings","projectName","getRequest","includeAppID","includeModuleID","request","JSON","parse","stringify","AppID","getAlert","alertId","pipe","x","showMessage","message","alert","clearMessage","showConsoleMessage","setSelectedModule","set","handleServerErrorMessage","objectName","httpErrorResponse","operation","status","InternalServerError","BadRequest","error","Warning","errors","errorValue","join","e","Forbidden","FORBIDDEN_MESSAGE","NotFound","NOT_FOUND_MESSAGE","Conflict","CONFLICT_MESSAGE","UNKNOWN_ERROR_MESSAGE","AppRoutingConstants","ROUTE_SEPERATOR","PATH_MATCH_FULL","API_PREFIX","API_VERSION_1","API_VERSION_2","MODULE_ID_ROUTE_PARAMETER","APPLICATION_ID_ROUTE_PARAMETER","ORGANISATION_ROUTE_ID_PARAMETER","ADD_ORGANISATION_ROUTE","ORGANISATION_APPLY_ACCESS_ROUTE","REFRESH_ROUTE","LOGOUT_ROUTE","REFRESH_VIEW_APPLICATION_ROUTE","createEndpointRoutev2","endpointSuffixRoutes","endpointURL","emptySpaceRe","createEndpointRoutev1","createRouteToView","routeComponents","DashRe","DoubleRouteRe","createRouteToViewWithPrefixRouteSeparator","routeComponentsWithSeparator","RouterModule","BackgroundPreloadService","CreateApplicationRoutingConstants","AuthGuard","aflaModuleServiceProvider","SearchApplicationsRoutingConstants","RefreshComponent","DocumentsAndInformationRoutingConstants","ViewApplicationRoutingConstants","RefreshViewApplicationComponent","MapRoutingConstants","LogoutComponent","routes","path","ESRI_MAP_ROUTE","loadChildren","then","mod","MapModule","canActivate","preload","CREATE_APPLICATION_ROUTE","module","CreateApplicationModule","VIEW_APPLICATION_ROUTE","ViewApplicationModule","VIEW_DOCUMENTS_AND_INFORMATION_ROUTE","DocumentsAndInformationModule","SEARCH_APPLICATIONS_ROUTE","SearchApplicationsModule","component","AppRoutingModule","forRoot","preloadingStrategy","providers","AuthService","LoginService","WindowReference","MatBottomSheet","take","UserInformationService","RequestStatusService","SystemModuleSettingsService","ServerNotificationService","WebNotificationService","LocalStorageEnum","LocalStorageService","LandingPageService","AutoUnsubPortal","AppComponent","appController","authService","loginService","sessionStorageService","windowReference","bottomSheet","landingPageService","userInformationService","appConfig","requestStatusService","systemModuleSettingsService","serverMessageService","webNotificationService","localStorage","changeDetectorRefs","themeMainColor","themeMainDarkerColor","themeMainBackgroundColor","themeMainBorderColor","themeHeaderBorderColor","themeActiveColor","themeActiveAlternateColor","calciteUIBrand","calciteUIBrandHover","calciteUIBrandPress","mapCenter","basemapType","mapZoomLevel","$isAuthenticated","$userInformationFetched","showBusyIndicator","showLandingPage","deferredPromptEvent","ON_SAME_RELOAD_STRATEGY","messageReceivedSubscription","saveUrl","listenForLandingPageLogin","startAuthenticationProcess","setupPwaInstall","listenForBusySpinnerChanges","setRouterReloadStrategy","Url","url","loadAppConfig","localStorageIsAuthenticated","Nonce","unAuthenticateFrontChannel","checkIfLoggedIn","configureAuth","authenticate","appConfigLoadedAction","load","styling","handleUserLoggedIn","nativeWindow","addEventListener","preventDefault","promptInstallPWA","prompt","$requestBusy","listenForServerMessages","messageReceived","showNotification","onSameUrlNavigation","loginButtonClicked","isLoginButtonClicked","busySpinnerDoubleClick","printBusyIndicators","AppConfig_1","HttpClient","http","uniqueParam","getTime","jsonFile","Promise","resolve","reject","toPromise","response","catch","BrowserModule","ErrorHandler","Injector","BrowserAnimationsModule","ServiceWorkerModule","environment","ServerInterceptor","HTTP_INTERCEPTORS","provideHttpClient","withInterceptorsFromDi","DashboardModule","LoginComponent","SharedModule","MatToolbarModule","MatIconModule","MatDialogModule","MatInputModule","MatSidenavModule","MatProgressSpinnerModule","ReactiveFormsModule","MatButtonModule","MatBottomSheetModule","NavModule","OAuthModule","NgbModule","TreeModule","APP_BASE_HREF","PlatformLocation","GlobalErrorHandler","LandingPageComponent","AppInjector","AppModule","injector","bootstrap","register","enabled","production","provide","useClass","multi","useFactory","s","getBaseHrefFromDOM","deps","DashboardComponent","DashboardRoutingModule","forChild","of","switchMap","DashboardConstants","changeDetector","appControllerService","howItWorks","HOW_IT_WORKS","howItWorksText","note","NOTE","noteText","overview","OVERVIEW","applicationText","APPLICATONS","InProgress","IN_PROGRESS","unCompleted","UNCOMPLETED","aflaPortal","aflaPortalText","$authenticated","isAuthenticated","applicationsCount","applicationInProgressCount","applicationUncompletedCount","authenticatedSubscribe","loadDashboarInformaton","dashboard","retrieveMyPortalApplications","myApp","ap","onSearchApplicationClicked","FILTERED_SEARCH_APPLICATIONS_ROUTE","PHASES_HEADING","DEFAULT_COLUMN","MODULES_SEARCH_PLACEHOLDER_TEXT","AFLA_PORTAL","MatGridListModule","DisclaimerDialogBodyComponent","MatDialogRef","DisclaimerDialogBodyConstants","dialogRef","DEFAULT_COLOR","DEFAULT_DARKER_COLOR","DEFAULT_HEADER_BORDER_COLOR","DEFAULT_ACTIVE_COLOR","DEFAULT_ACTIVE_ALTERNATE_COLOR","disclaimerTitle","disclaimerContent","acceptDisclaimerURL","ACCEPT_DISCLAIMER_URL","acceptButtonLabel","ACCEPT_DISCLAIMER_TEXT","httpSubscription","disclaimer","content","acceptDisclaimer","showBusySpinner","post","closeDisclaimer","removeBusySpinner","ApiUserConstants","URL","FUNCTION_ACCEPT_DISCLAIMER","LandingPageConstants","logoImageUrl","logoImageAlt","loginButtonLabel","LOGIN_TEXT","mainBannerBackgroundImageUrl","mainBannerHeading","bannerSubHeading","bannerContent","aboutSectionHeading","aboutSectionDescription","modulesAndToolsHeading","modulesAndToolsSubHeading","screenshotSectionMainHeader","screenshotSectionSubHeader","screenshots","copyrightText","loadConfigData","onLoginClicked","config","landingPageData","show","screenshot","FormControl","FormGroup","Validators","takeUntil","LoginConstants","FormErrorStateMatcher","loginErrorStateMatcher","ngUnsubscribe","usernamePlaceHolderText","USERNAME_TEXT","passwordPlaceHolderText","PASSWORD_TEXT","usernameRequiredErrorText","USERNAME_REQUIRED_TEXT","passwordRequiredErrorText","PASSWORD_REQUIRED_TEXT","dialogTitle","LOGIN_DIALOGUE_TITLE","loginButtonText","LOGIN_BUTTON_TEXT","loginErrorText","LOGIN_ERROR_TEXT","spinnerDiameter","LOGIN_SPINNER_DIAMETER","spinnerMode","LOGIN_SPINNER_MODE","loginFormGroup","loginInProgress","loginErrorOccured","username","USERNAME_FORM_CONTROL","password","PASSWORD_FORM_CONTROL","required","trackChangesForLoginError","ngOnDestroy","ngAfterContentInit","testing","setValue","login","loginDisabled","valid","hasUsernameRequiredError","hasError","REQUIRED_ERROR_CODE","hasPasswordRequiredError","handleAuthenticationResult","userResult","resultStatus","success","Success","loginSuccessful","valueChanges","ApiOrganisationConstants","ApiModuleConstants","NavPanService","selectedApplication$","getMunicipalities","params","$filter","newResult","getApplicationTypes","GET_PORTAL_MODULES","NavConstants","NgbModal","SelectedApplicationService","ApplicationCreateService","NavPaneContentComponent","applicationCreateService","selectedApplicationService","navService","modalService","modulesLink","homeLinkText","HOME_LINK_TEXT","logoutLinkText","LOGOUT_LINK_TEXT","activeId","isSystemModuleSettingsFetched","selectMunicipalityText","municipalities","selectedMunicipality","applicationTypes","selectedApplicationType","applications","selectMunicipalityLabel","SELECT_MUNICIPALITY_LABEL","selectApplicationLabel","SELECT_APPLICATION_LABEL","viewDocumentationText","VIEW_DOCUMENTATION_TEXT","createApplicationText","CREATE_APPLICATION_TEXT","searchMyApplicationText","SEARCH_MY_APPLICATION_TEXT","selectAnOptionText","PLEASE_SELECT_AN_OPTION","logo","loadedApplicationTypesMap","Map","INCOMPLETE_APPLICATIONS_TITLE","dialogMessage","INCOMPLETE_APPLICATIONS_MESSAGE","modalBodyOptions","MODAL_OPTIONS","selectedMunicipalityId","selectedApplicationTypeId","userInformationServiceSubscription","isAuthenticatedSubscription","navServiceSubscription","systemModuleSettingsServiceSubscription","navServiceApplicationTypesSubscription","navServiceSelectedApplicationSubscription","subscribeToConfigSubject","loadMunicipalities","listenForAuthentication","listenForModuleFetch","showDefaultModule","subscribeToSelectedApplicationFromSearchPage","logout","logOutRedirect","clearResetDropdowns","onCreateApplicationClicked","checkIncompleteApplications","hasOpenPortalApplications","openIncompleteApplicationsDialog","proceedToCreateApplications","onViewDocumentationClicked","selectMunicipality","input","find","m","selectApplicationType","setSelectedApplication","remove","SelectedJobID","setIncompleteJobId","setSelectGoToStep","navigateByUrl","skipLocationChange","open","componentInstance","OK_LABEL","CANCEL_LABEL","proceed","activePanel","connected","mun","municipalityId","has","appType","configLoaded","logoUrl","$systemModuleSettingsFetched","application","setMunicipalityAndSelectedApplicationTypes","organisationName","applicationType","moduleId","NavToolbarContentComponent_1","NavigationEnd","Link","ModuleConfigService","NavToolbarContentComponent","moduleConfigService","sideNavToggle","headingLinks","showHeadings","notificationIsOn","activeRoute","headingRoutes","propertyLayersForModules","appConfigLoadedSub","getLink","headingText","address","selectedSystemModuleID","initializeHeadingLinks","addHeadingLinks","populateHeadingRoutes","setActivatedRoute","listenForRouteChanges","checkMapServicePropertyLayer","loaded","isShowDiv","linkText","PROPERTIES_HEADING_TEXT","isCemeteryModule","LOCATION_HEADING_TEXT","checkPropertyLayer","layerName","found","layer","layerType","toggleSideNav","routeToUpdateProfile","ids","issuer","redirectUri","applicationAlias","clientId","window","APPLICATIONS_HEADING_TEXT","reactToRouteChanges","handleNavigationStart","handleNavigationEnd","checkIfHeadingRoute","headingRoute","urlAfterRedirects","clearHeadings","routerState","snapshot","ViewChild","NavComponent","sidenav","toggle","ADD_ORGANISATION_LINK_TEXT","DEFAULT_APPLICANT_AGENT_TEXT","centered","backdrop","r","RequiredDocumentsHeadingEnum","AflaModuleStrategyService","CRUDOperation","CreateApplicationConstants","DeleteDocumentsConfirmationDialogComponent","AddDocumentsDialogComponent","DatePipe","EditDocumentsDialogComponent","CreateApplicationViewBaseComponent","CreateApplicationDocumentationConstants","FileUtils","SearchApplicationsService","CreateApplicationDocumentationComponent","aflaModuleStrategyService","datePipe","searchApplicationsService","showNoRequiredDocumentText","showCheckBoxColumn","tableMapper","tableDataSource","documentForm","requiredDocuments","stepHeader","noRequiredDocumentText","NO_DOCUMENT_REQUIRED_MESSAGE","noRequiredDocumentsFoundErrMsg","NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE","uploadRequiredDocumentLabel","UPLOAD_REQUIRED_DOC_LABEL","applicationDocumentsLabel","APPLICATIONS_DOCUMENTS_LABEL","addBtnLabel","ADD_DOCUMENTS_BTN_LABEL","editBtnLabel","EDIT_DOCUMENTS_BTN_LABEL","deleteBtnLabel","DELETE_DOCUMENTS_BTN_LABEL","attachmentLabel","ATTACHMENT_LABEL","downloadLabel","DOWNLOAD_LABEL","deleteDocumentLabel","DELETE_DOCUMENTS_LABEL","addDocumentsDialogTitle","ADD_DOCUMENTS_DIALOG_TITLE","componentName","COMPONENT_NAME","editDocumentsDialogTitle","EDIT_DOCUMENTS_DIALOG_TITLE","additionalApplicationTypeConstant","ADDITIONAL_APPLICATION_TYPE_CONSTANTS","isDocumentRequiredConstant","IS_DOCUMENT_REQUIRED","documentFormControlName","DOCUMENT_FORM_CONTROL_NAME","documentsFormControlName","DOCUMENTS_FORM_CONTROL_NAME","datePipeFormat","DATE_PIPE_FORMAT","requiredDocumentLookupConstant","REQUIRED_DOCUMENTS_HEADING_LOOKUP","selectedApplicationApplicationTypes","selectedDocuments","documentTypes","configUploadSettings","currentApplication","applicationCreateServiceSubscription","applicationCreateServiceSelectModuleSubscription","getAttachmentContentSubscription","selectedApplicationSubscription2","uploadFile","initForm","initializeColumnToObjectMapping","setupSubscribers","loadMetadata","stepMeta","arrayReturned","documents","onDeleteBtnClicked","NO_ITEM_SELECTED","modalRef","documentsToDelete","deletedDocuments","idsOfDocumentsToBeDeleted","deleteUploadDocumentsObservable","deleteSelectedDocsFromTable","updateDocumentChecklist","updateFormControl","Delete","onAddBtnClicked","evt","getDocumentTypes","selectedDocumentType","innerHTML","newDocument","addDocumentToTable","onEditBtnClicked","MORE_THAN_ONE_SELECTED","documentToEdit","resultObject","idsToDelete","editedDocument","onDownloadAttachment","attachment","attachmentId","fileName","getAttachmentContent","attachmentContent","openFile","Get","getRequiredDocumentsLookups","$expand","getLookupsObservable","lookups","onGetRequiredDocumentsLookupsCompleted","loadSavedAttachments","attachments","updateDocumentChecklistOnInit","buildRequiredDocumentsObjects","sortRequiredDocumentsAlphabetically","lookup","category","appendRequiredDocuments","removeDuplicateDocuments","documentsAlreadyOnTheTable","docsInTable","resetDocumentsChecklist","newDocuments","deleteDocument","documentIdOfDeletedDocument","subscribeToSelectedApplication","$selectedApplication","jobId","getApplicationAttachments","getStepHeadingSubscribers","selectedModuleNameAsObservable","modName","REQUIRED_DOCUMENTATION_HEADING","toUpperCase","substr","form","clearValidators","attachmentsForTable","attachmentObject","attachmentType","description","dateUploaded","date","formIsValid","uploaded","addValidators","markAllAsTouched","updateValueAndValidity","getAttachments","requiredDocument","types","localeCompare","sensitivity","doc","uniqueRequiredDocuments","distinctDocumentsArray","documentObject","DELETE_DIALOG_TITLE","CreateApplicationPeopleOfInterestConstants","CreateApplicationPeopleOfInterestComponent","createApplicationService","peopleOfInterestForm","transferorFormControlName","TRANSFEROR_FORM_CONTROL_NAME","transfereeFormControlName","TRANSFEREE_FORM_CONTROL_NAME","conveyancerFormControlName","CONVEYANCER_FORM_CONTROL_NAME","transferorDisableFilterBy","transferorDisableEditing","transferorGroups","transferorLabel","TRANSFEROR_LABEL","transfereeDisableFilterBy","transfereeDisableEditing","transfereeGroups","transfereeLabel","TRANSFEREE_LABEL","copyApplicantToTransfereeLabel","COPY_APPLICANT_TO_TRANSFEREE_LABEL","conveyancerDisableFilterBy","conveyancerDisableEditing","conveyancerGroups","conveyancerLabel","CONVEYANCER_LABEL","copyApplicantToTransfereeFormControlName","COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME","savedApplicant","getMetadata","isApplicationLoadedFromTheSearchPage","checkApplicationData","subScribeToSelectedApplication","transferorGroup","transfereeGroup","conveyancerGroup","INVALID_METADATA","onBtnCopyApplicantToTransfereeClicked","transfereeFormControl","currentTarget","assign","transferee","groups","disable","enable","reset","isFormPristine","pristine","isFormUnTouched","untouched","isFormInvalid","invalid","onGetApplicationDataCompleted","selectedApplication","transferor","transferorFormControl","conveyancer","conveyancerFormControl","applicant","LOCATION_ROUTE","DETAILS_ROUTE","APPLICANT_ROUTE","AGENT_ROUTE","WELCOME_ROUTE","STATUS_ROUTE","PROFESSIONAL_BODIES_ROUTE","BURIAL_ROUTE","DECEASED_ROUTE","FAMILY_ROUTE","REQUIRED_DOCS","FUNERAL_PARLOUR","TRADERS_ROUTE","PEOPLE_OF_INTEREST_ROUTE","CreateApplicationDetailsAConstants","LookupConstants","phoneNumberValidator","RecipientSelectComponent","CreateApplicationDetailsAComponent","detailsForm","personResponsibleComponentRef","advertisementFormGroup","advertisementsFormGroupName","ADVERTISEMENTS_FORM_GROUP_NAME","validationMessages","VALIDATION_MESSAGES","applicationDetailsFormGroupName","APPLICATION_DETAILS_FORM_GROUP_NAME","detailsFormGroupName","DETAILS_FORM_GROUP_NAME","descriptionFormControlName","DESCRIPTION_FORM_CONTROL_NAME","isAdvertisementPermanentOrTemporaryFormControlName","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME","applicationTypeFormControlName","APPLICATION_TYPE_FORM_CONTROL_NAME","displayStartDateControlName","DISPLAY_START_DATE_FORM_CONTROL_NAME","displayEndDateControlName","DISPLAY_END_DATE_FORM_CONTROL_NAME","displayRemovalDateControlName","DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME","numberOfPostersControlName","NUMBER_OF_POSTERS_FORM_CONTROL_NAME","nameOfBusinessControlName","NAME_OF_BUSINESS_FORM_CONTROL_NAME","notifySignageRemovalPeriodControlName","NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME","positionOfTheDisplayControlName","POSITION_OF_DISPLAY_FORM_CONTROL_NAME","heightControlName","HEIGHT_FORM_CONTROL_NAME","widthControlName","WIDTH_FORM_CONTROL_NAME","depthControlName","DEPTH_FORM_CONTROL_NAME","materialControlName","MATERIAL_FORM_CONTROL_NAME","coloursControlName","COLOURS_FORM_CONTROL_NAME","frontalAreaControlName","FRONTAL_AREA_FORM_CONTROL_NAME","totalAreaControlName","TOTAL_AREA_FORM_CONTROL_NAME","signTypeControlName","SIGN_TYPE_FORM_CONTROL_NAME","weightControlName","WEIGHT_FORM_CONTROL_NAME","wattageControlName","WATTAGE_FORM_CONTROL_NAME","signContractorControlName","SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME","signContractorAddressControlName","SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME","signContractorTelephoneControlName","SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME","forSaleControlName","FOR_SALE_FORM_CONTROL_NAME","onShowControlName","ON_SHOW_FORM_CONTROL_NAME","toLetControlName","TO_LET_FORM_CONTROL_NAME","soldControlName","SOLD_FORM_CONTROL_NAME","OtherControlName","OTHER_FORM_CONTROL_NAME","constructionBoardSignControlName","CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME","groundSignControlName","GROUND_SIGN_FORM_CONTROL_NAME","flagControlName","FLAG_FORM_CONTROL_NAME","sandwichBoardControlName","SANDWICH_BOARD_FORM_CONTROL_NAME","pylonControlName","PYLON_FORM_CONTROL_NAME","wallSignControlName","WALL_SIGN_FORM_CONTROL_NAME","billBoardControlName","BILLBOARD_FORM_CONTROL_NAME","buildingAttachmentControlName","BUILDING_ATTACHMENT_FORM_CONTROL_NAME","projectingWallControlName","PROJECTING_WALL_SIGN_FORM_CONTROL_NAME","wallPaintedControlName","WALL_PAINTED_FORM_CONTROL_NAME","roofSignControlName","ROOF_SIGN_FORM_CONTROL_NAME","skySignControlName","SKY_SIGN_FORM_CONTROL_NAME","verandaControlName","VERANDA_FORM_CONTROL_NAME","aerialSignControlName","AERIAL_SIGN_FORM_CONTROL_NAME","windowSignControlName","WINDOW_SIGN_FORM_CONTROL_NAME","schoolSignControlName","SCHOOL_SIGN_FORM_CONTROL_NAME","combinationSignControlName","COMBINATION_SIGN_FORM_CONTROL_NAME","underAwningSignControlName","UNDER_AWNING_SIGN_FORM_CONTROL_NAME","flagSignControlName","FLAG_SIGN_FORM_CONTROL_NAME","canopyControlName","CANOPY_FORM_CONTROL_NAME","balconyControlName","BALCONY_FORM_CONTROL_NAME","electronicSignControlName","ELECTRONIC_SIGN_FORM_CONTROL_NAME","developmentBoardControlName","DEVELOPMENT_BOARD_FORM_CONTROL_NAME","otherFiveYearControlName","OTHER_FIVE_YEAR_FORM_CONTROL_NAME","nonIlluminatedBillboardControlName","NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME","digitalBillboardControlName","DIGITAL_BILLBOARD_FORM_CONTROL_NAME","nonIlluminatedGantryControlName","NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME","digitalGantryControlName","DIGITAL_GANTRY_FORM_CONTROL_NAME","internallyIlluminatedBillboardControlName","INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME","internallyIlluminatedGantryControlName","INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME","municipalConsumerAccountNumberFormControlName","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME","personResponsibleFormControlName","PERSON_RESPONSIBLE_CONTROL_NAME","descriptionLabel","DESCRIPTION_LABEL","typeLabel","APPLICATION_TYPE_LABEL","displayStartDateLabel","DISPLAY_START_DATE_LABEL","displayEndDateLabel","DISPLAY_END_DATE_LABEL","displayRemovalDateLabel","DISPLAY_REMOVAL_DATE_LABEL","numberOfPostersLabel","NUMBER_OF_POSTERS_LABEL","nameOfBusinessLabel","NAME_OF_BUSINESS_LABEL","notifySignageRemovalPeriodLabel","NOTIFY_SIGNAGE_REMOVAL_LABEL","positionOfTheDisplayLabel","POSITION_OF_THE_DISPLAY_LABEL","heightLabel","HEIGHT_LABEL","widthLabel","WIDTH_LABEL","depthLabel","DEPTH_LABEL","materialLabel","MATERIAL_LABEL","coloursLabel","COLOURS_LABEL","frontalAreaLabel","FRONTAL_AREA_LABEL","totalAreaLabel","TOTAL_AREA_LABEL","signTypeLabel","SIGN_TYPE_LABEL","weightLabel","WEIGHT_LABEL","wattageLabel","WATTAGE_LABEL","signContractorLabel","SIGN_CONTRACTOR_LABEL","signContractorAddressLabel","SIGN_CONTRACTOR_ADDRESS_LABEL","signContractorTelephoneLabel","SIGN_CONTRACTOR_TELEPHONE_LABEL","forSaleAddressLabel","FOR_SALE_LABEL","onShowLabel","ON_SHOW_LABEL","toLetLabel","TO_LET_LABEL","soldLabel","SOLD_LABEL","constructionBoardSignLabel","CONSTRUCTION_BOARD_SIGN_LABEL","otherLabel","OTHER_LABEL","groundSignLabel","GROUND_SIGN_FORM_LABEL","flagLabel","FLAG_FORM_LABEL","sandwichBoardLabel","SANDWICH_BOARD_FORM_LABEL","pylonLabel","PYLON_FORM_LABEL","wallSignLabel","WALL_SIGN_FORM_LABEL","billBoardLabel","BILLBOARD_FORM_LABEL","buildingAttachmentLabel","BUILDING_ATTACHMENT_LABEL","projectingWallLabel","PROJECTING_WALL_SIGN_LABEL","wallPaintedLabel","WALL_PAINTED_LABEL","roofSignLabel","ROOF_SIGN_LABEL","skySignLabel","SKY_SIGN_LABEL","verandaLabel","VERANDA_LABEL","aerialSignLabel","AERIAL_SIGN_LABEL","windowSignLabel","WINDOW_SIGN_LABEL","schoolSignLabel","SCHOOL_SIGN_LABEL","combinationSignLabel","COMBINATION_SIGN_LABEL","underAwningSignLabel","UNDER_AWNING_SIGN_LABEL","flagSignLabel","FLAG_SIGN_LABEL","canopyLabel","CANOPY_LABEL","balconyLabel","BALCONY_LABEL","electronicSignLabel","ELECTRONIC_SIGN_LABEL","developmentBoardLabel","DEVELOPMENT_BOARD_LABEL","otherFiveYearLabel","OTHER_FIVE_YEAR_LABEL","nonIlluminatedBillboardLabel","NON_ILLUMINATED_BILLBOARD_LABEL","digitalBillboardLabel","DIGITAL_BILLBOARD_LABEL","nonIlluminatedGantryLabel","NON_ILLUMINATED_GANTRY_LABEL","digitalGantryLabel","DIGITAL_GANTRY_LABEL","internallyIlluminatedBillboardLabel","INTERNALLY_ILLUMINATED_BILLBOARD_LABEL","internallyIlluminatedGantryLabel","INTERNALLY_ILLUMINATED_GANTRY_LABEL","removeLabel","REMOVE_LABEL","municipalConsumerAccountNumberLabel","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL","personResponsibleLabel","PERSON_RESPONSIBLE_CONTROL_LABEL","applicationTypesLookups","signTypeLookups","removalPeriodLookups","REMOVAL_PERIOD_LOOKUPS_A","nonIlluminatedBillboardLookups","NON_ILLUMINATED_BILLBOARD_A","nonIlluminatedGantryLookups","NON_ILLUMINATED_GANTRY_A","internallyIlluminatedBillboardLookups","INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A","digitalGantryLookups","DIGITAL_GANTRY_A","dropdownPlaceholderMessage","notApplicablePlaceholderMessage","NOT_APPLICABLE_MESSAGE","showTemporaryApplicationFields","showPermanentApplicationFields","show5YearPermanentApplicationOptionalFields","show1YearPermanentApplicationOptionalFields","personResponsibleDisableEditing","personResponsibleDisableFilterBy","personResponsibleGroups","personResponsibleShowFields","temporaryApplicationType","permanentApplicationType","getLookupsObservableSubscription","markStepFormGroupAsTouchedSubscription","touched","checkIfFormWasPreviouslyCompleted","setForms","getLookups","subscribeToCheckFormValidity","personResponsibleGroup","advertisementType","handleAdvertisementTypeValueChanged","getLookupCompleted","STEP_TITLE","lookUp","lookUpContent","handleTemporaryAdvertisementSelected","hidePermanentAdvertisementTypeFields","showTemporaryApplicationTypeFields","handlePermanentAdvertisementSelected","clearTemporaryAdvertisementFieldsValidators","resetTemporaryAdvertisementFields","hideTemporaryAdvertisementFields","showPermanentAdvertisementFields","show1YearPermanentApplicationFields","show5YearPermanentApplicationFields","add5YearApplicationFieldsValidators","addMainPermanentFieldsValidators","reset5YearPermanentApplicationFields","set5YearApplicationFieldsFormValues","nonIlluminatedBillboard","digitalBillboard","nonIlluminatedGantry","digitalGantry","internallyIlluminatedBillboard","internallyIlluminatedGantry","reset1yearPermanentApplicationFields","removeValidatorsToMainPermanentFields","setPermanentAdvertisementFormValues","personResponsible","nameOfBusiness","notifySignageRemovalPeriod","positionOfDisplay","dimensionsH","dimensionsW","dimensionsD","material","colours","frontalArea","totalArea","signType","weight","wattage","contractorName","contractorAddress","contractorTelephone","municipalConsumerAccountNumber","resetMainPermanentFields","filterApplicationTypeAccordingToSelectedAdvertisementType","advertisementTypeValue","isAdvetisingPermanentOrTemporary","setupDefaultFormsForPermanentAdvertisementApplications","setupDefaultFormsFor1YearPermanentAdvertisementApplications","setupDefaultFormsFor5YearPermanentAdvertisementApplications","setupDefaultFormsForTemporaryAdvertisementApplications","clearValidatorsOn5YearPermanentApplicationFields","hide5YearPermanentApplicationFields","set1YearPermanentApplicationFormValues","hide1YearPermanentApplicationFields","resetAndHidePermanentApplicationFields","addValidatorsToTemporaryFields","setTemporaryApplicationFormValues","displayStartDate","displayEndDate","displayRemovalDate","numberOfPosters","setNumberToDecimal","control","decimalPlace","decimalString","parseFloat","toFixed","decimalValue","hideMainPermanentFields","clearMainPermanentFieldsValidators","forSale","onShow","toLet","sold","constructionBoardSign","otherOneYear","$markStepFormGroupAsTouchedSubscription","formGroupName","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL","APPLICATION_DURATION_LABEL","ADVERTISEMENTS_FORM_CONTROL_NAME","APPLICATION_DURATION_FORM_CONTROL_NAME","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME","MODAL_DIALOG_TITLE","MODAL_DIALOG_MESSAGE","keyboard","isAdvertisingPermanentOrTemporary","applicationDuration","whoIsApplying","positionOfTheDisplay","height","width","depth","signContractor","signContractorAddress","signContractorTelephone","CreateApplicationLocationAConstants","MapTools","MapService","ApiProxyConstants","UrlConstants","PopUpComponent","debounceTime","WktConverterUtils","JsonUtils","CreateApplicationUtils","CreateApplicationLocationAComponent","mapTools","mapService","displayMap","activeTabIndex","advertisementsForm","descriptionLabel1","DESCRIPTION_LABEL_1","descriptionLabel2","DESCRIPTION_LABEL_2","descriptionLabel3","DESCRIPTION_LABEL_3","ADVERTISEMENT_FORM_GROUP_NAME","advertisementsFormControlName","ADVERTISEMENT_FORM_CONTROL_NAME","areaOfDisplayFormControlName","AREA_OF_DISPLAY_FORM_CONTROL_NAME","layerReference","LAYER_REFERENCE","streetNamesFormControl","STREET_NAMES_FORM_CONTROL","propertyDescriptionFormControlName","PROPERTY_DESCRIPTION_FORM_CONTROL_NAME","addressOrStreetFormControlName","ADDRESS_OR_STREET_FORM_CONTROL_NAME","areaOfDisplayLabel","AREA_OF_CONTROL_LABEL","streetNamesLabel","STREET_NAMES_LABEL","propertyDescriptionLabel","PROPERTY_DESCRIPTION_LABEL","addressOrStreetLabel","ADDRESS_OR_STREET_LABEL","removeAdvertisementLabel","REMOVE_ADVERTISEMENT_LABEL","isAdvertisementPermanentOrTemporaryFormLabel","selectedAdvertisementType","areaOfDisplayLookups","AREA_OF_DISPLAY_LOOKUPS_A","showPermanentApplicationsFields","showTemporaryApplicationsFields","permanentOrTemporaryLookupOptions","PERMANENT_OR_TEMPORARY_LOOKUPS_A","applicationTypesLookupsOptions","showApplicationType","isMapLoaded","sketchTool","selectedGraphic","mapComponent","selectedPropertySubscription","selectedApplicationBpamsSubscription","getTrueCentroidSubscription","clearLayerGraphicsSubjectSubscription","loadFormsAndData","setupSubscriptions","mapLoaded","syncMapGeometries","onPermanentOrTemporaryAdvertisementSelected","advertisementFormArray","getAdvertisements","loadMap","confirmChangeFromUser","onBtnRemovePropertyClicked","propertyIndex","removeAt","onBtnRemoveFeature","featureIndex","setAdvertisementData","propertyObject","geometry","newAdvertisingFormGroup","setAdvertisingFormGroup","createAdvertisingFormGroup","getGPToolURL","formData","getGPToolFormData","getTrueCentroid","trueCentroidResponse","showApplicationTypeField","setApplicationValidators","setPropertyTrueCentroidData","geometries","controls","geom","addGeometriesOnMap","subscribeToAdvertisement","$selectedProperty","objectId","featureDataAlternateColumnName","attributes","propertyHasAlreadyBeenAddedBefore","checkIfSelectedPropertyHasAlreadyBeenAdded","featureHasAlreadyBeenAddedBefore","check","DUPLICATE_MESSAGE","featureObject","name1","name2","returnVal","entries","areaOfDisplay","streetNames","streetOrAddress","addressStreetInformation","propertyDescription","centroid","proxyUrl","gpToolUrl","arcGIS","servicesURL","GEO_PROCESSING","GET_TRUE_CENTROID","GP_SERVER","EXECUTE","FormData","append","newFormGroup","advertisementsArray","results","clear","formGroup","setValidators","addTemporaryAdvertisementFieldsValidators","addPermanentAdvertisementFieldsValidators","handleTemporaryApplicationSelected","handlePermanentApplicationSelected","initializeSketchTools","getMapTool","expandWidget","on","state","handleSketchComplete","sketchGraphicsLayer","removeAll","graphic","setMapToolsForTemporaryAdvertisement","create","visibleElements","POLYGON_SKETCH_TOOLS_OPTIONS","setMapToolsForPermanentAdvertisement","POINT_SKETCH_TOOLS_OPTIONS","canContinueMakingChanges","resetLocationDetails","removeGraphicsFromMap","showMap","onGetLookupsCompleted","polygon","point","subscribeToClearGraphics","$clearLayerGraphicsSubject","clearGraphics","hideApplicationTypeField","setComponentData","advertisementControl","isAdvertisingPermanentOrTemporaryValue","geometryArc","ConvertWktToArcGisJson","shape","fromJSON","updatedAdvertisementFormGroup","getUpdatedAdvertisementFormGroup","getPropertyCentroidObservable","setAdvertisementType","setApplicationType","handleTrueCentroidResponse","TRUE_CENTROID","onApplicationTypeSelected","advertisingFormArray","selectedAdvertisementFormGroup","applicationTypeControl","applicationTypeValue","static","FEATURE_REQUIRED","FARM_NO_TEXT_PLACEHOLDER","INVALID_OWNER_ATTRIBUTE","subdivision","farmNo","addressOrStreet","code","createTools","circle","polyline","rectangle","selectionTools","CreateApplicationDetailsBlConstants","CreateApplicationDetailsBlComponent","typeFormControlName","TYPE_FORM_CONTROL_NAME","TYPE_LABEL","tradeNameLabel","TRADE_NAME_LABEL","tradeNameFormControlName","TRADE_NAME_CONTROL","businessOwnerLabel","BUSINESS_OWNER_LABEL","businessOwnerFormControlName","BUSINESS_OWNER_CONTROL","businessOwnerHeading","BUSINESS_OWNER_HEADING","businessOwnerDisableFilterBy","businessOwnerDisableEditing","businessOwnerGroups","APPLICATION_TYPE_LOOKUP_NAME","businessOwnerGroup","updateFormData","tradeName","businessOwner","CreateApplicationLocationBlConstants","CreateApplicationLocationBlComponent","active","propertiesForm","erfNoControl","ERF_NO_CONTROL","propertiesFormGroupName","PROPERTIES_FORM_GROUP_NAME","propertiesFormControlName","PROPERTIES_FORM_CONTROL","subdivisionControl","SUBDIVISION_CONTROL","allotmentControl","ALLOTMENT_CONTROL","farmNoControl","FARM_NO_CONTROL","sgCodeControl","SG_CODE_CONTROL","addressControl","ADDRESS_CONTROL","unitNumberControl","UNIT_NUMBER_CONTROL","shopNumberControl","SHOP_NUMBER_CONTROL","titleDeedNumberControl","TITLE_DEED_NUMBER_CONTROL","titleDeedDescriptionNumberControl","TITLE_DEED_DESCRIPTION_CONTROL","erfNoTextPlaceHolder","ERF_NO_TEXT_PLACEHOLDER","subdivisionTextPlaceHolder","SUBDIVISION_TEXT_PLACEHOLDER","allotmentTextPlaceHolder","ALLOTMENT_TEXT_PLACEHOLDER","farmNoTextPlaceHolder","sgCodeTextPlaceHolder","SG_CODE_TEXT_PLACEHOLDER","addressTextPlaceHolder","ADDRESS_TEXT_PLACEHOLDER","unitNumberPlaceHolder","UNIT_NUMBER_PLACEHOLDER","erfSizeTextPlaceHolder","ERF_SIZE_TEXT_PLACEHOLDER","shopNumberTextPlaceHolder","SHOP_NUMBER_TEXT_PLACEHOLDER","titleDeedNumberTextPlaceHolder","TITLE_DEED_NUMBER_TEXT_PLACEHOLDER","nameOfAccommodationTextPlaceholder","NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER","nameOfAccommodationControl","NAME_OF_ACCOMMODATION_CONTROL","titleDeedDescriptionTextPlaceHolder","TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER","removePropertyLabel","REMOVE_PROPERTY_LABEL","subdivisionControlRequired","farmNoControlRequired","erfNoControlRequired","LAYER_REF","hasLoadedApplicationProperties","getProperties","actionPropertyEnabled","onBtnRemoveSelectedPropertyClicked","updateRequiredFields","propertyControl","markAsUntouched","subscribeToProperty","updateComponentData","tabIndex","properties","savedProperty","newPropertyFormGroup","getUpdatedPropertiesFormGroup","updatePropertyIds","setPropertyData","sgCode","propertyDataAlternateColumnName","newProperty","erfNo","allotment","unitNumber","shopNumber","accommodationName","titleDeedNumber","titleDeedDescription","handleAddProperty","ONLY_ONE_PROPERTY_ALLOWED","erfNumber","farmNumber","PROPERTY_REQUIRED","erfSize","CreateApplicationDetailsBpamsConstants","CreateApplicationDetailsBpamsComponent","isMinorBuildingWorkLabel","IS_MINOR_BUILDING_WORK_LABEL","sectorLabel","SECTOR_LABEL","isRDPLabel","IS_RDP_LABEL","buildingUseLabel","BUILDING_USE_LABEL","applicationTypeLabel","estimatedByLabel","APPLICATION_ESTIMATED_BY_LABEL","estimatedCostLabel","APPLICATION_ESTIMATED_COST_LABEL","isMinorBuildingWorkFormControlName","IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME","sectorFormControlName","SECTOR_FORM_CONTROL_NAME","isRDPFormControlName","IS_RDP_FORM_CONTROL_NAME","buildingUseFormControlName","BUILDING_USE_FORM_CONTROL_NAME","estimatedByFormControlName","APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME","estimatedCostFormControlName","APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME","yesNoOptions","sectorOptions","buildingUseOptions","applicationTypeOptions","estimatedByOptions","yesnoenumKey","YES_NO_ENUM","buildingUse","sector","estimatedBy","setApplicationDetails","isMinorBuildingWork","isRdp","applicationEstimatedBy","applicationEstimatedCost","isRDP","CreateApplicationLocationBpamsConstants","AddBuildingComponent","modalTitle","addForm","cancelLabel","createLabel","CREATE_LABEL","floorLabel","FLOOR_LABEL","existingSizeLabel","EXISTING_SIZE_LABEL","addedSizeLabel","ADDED_SIZE_LABEL","buildingNameNumberLabel","BUILDING_NAME_NUMBER_LABEL","floorControlName","FLOOR_CONTROL_NAME","existingSizeControlName","EXISTING_SIZE_CONTROL_NAME","addedSizeControlName","ADDED_SIZE_CONTROL_NAME","buildingNameNumberControlName","BUILDING_NAME_NUMBER_CONTROL_NAME","floor","existingSize","addedSize","buildingNameNumber","onBtnSaveClicked","FORM_NOT_VALID","onBtnCancelClicked","FormArray","Query","PropertyBuildingHeadingEnumHeadingLookup","EditBuildingComponent","ViewApplicationLocationBpamsConstants","MapServiceConstants","CreateApplicationLocationBpamsComponent","ownersComponentRef","descriptionLabel4","DESCRIPTION_LABEL_4","propertyApplicationDetailsLabel","PROPERTY_APPLICATION_DETAILS_LABEL","erfSizeControl","ERF_SIZE_CONTROL","titleDeedControl","TITLE_DEED_CONTROL","zoneControl","ZONE_CONTROL","ownerControl","OWNER_CONTROL","titleDeedTextPlaceHolder","TITLE_DEED_TEXT_PLACEHOLDER","zoneLabel","ZONE_LABEL","addZoneLabel","ADD_ZONE_LABEL","ownerLabel","OWNER_LABEL","copyOwnerLabel","COPY_OWNER_LABEL","propertyHeadingLabel","PROPERTY_HEADING_LABEL","ownerDisableFilterBy","ownerDisableAdd","ownerDisableEditing","ownerShowGroupsDropdown","ownerGroups","ownerListLabel","fullApplicationCheckRequired","showOnlyPropertyAndZoningLayers","titleDeedRestrictionsTextPlaceHolder","TITLE_DEED_RESTRICTION_LABEL","titleDeedRestrictionsControl","TITLE_DEED_RESTRICTION_CONTROL","propertyDescriptionTextPlaceHolder","propertyDescriptionControl","PROPERTY_DESCRIPTION_CONTROL","externalWallsTextPlaceHolder","EXTERNAL_WALLS_LABEL","internalWallsTextPlaceHolder","INTERNAL_WALLS_LABEL","roofingTextPlaceHolder","ROOFING_LABEL","numberOfHousesUnitsTextPlaceHolder","NUMBER_OF_HOUSES_UNITS_LABEL","externalWallsControl","EXTERNAL_WALLS_CONTROL","internalWallsControl","INTERNAL_WALLS_CONTROL","roofingControl","ROOFING_CONTROL","numberOfHousesUnitsControl","NUMBER_OF_HOUSES_UNITS_CONTROL","buildingDetailsLabel","BUILDING_DETAILS_LABEL","mainBuildingLabel","MAIN_BUILDING_LABEL","outBuildingLabel","OUT_BUILDING_LABEL","buildingTotalLabel","BUILDING_TOTAL_LABEL","stoepLabel","STOEP_LABEL","miscellaneousLabel","MISCELLANEOUS_LABEL","totalExistingPlaceHolder","TOTAL_EXISTING_LABEL","totalAddedTextPlaceHolder","TOTAL_ADDED_LABEL","totalFloorAreaTextPlaceHolder","TOTAL_FLOOR_AREA_LABEL","totalExistingControl","TOTAL_EXISTING_CONTROL","totalAddedControl","TOTAL_ADDED_CONTROL","totalFloorAreaControl","TOTAL_FLOOR_AREA_CONTROL","coveredExistingTextPlaceHolder","COVERED_EXISTING_LABEL","coveredAddedTextPlaceHolder","COVERED_ADDED_LABEL","openExistingTextPlaceHolder","OPEN_EXISTING_LABEL","openAddedTextPlaceHolder","OPEN_ADDED_LABEL","totalExistingPatioTextPlaceHolder","TOTAL_EXISTING_PATIO_LABEL","totalAddedPatioTextPlaceHolder","TOTAL_ADDED_PATIO_LABEL","coveredExistingControl","COVERED_EXISTING_CONTROL","coveredAddedControl","COVERED_ADDED_CONTROL","openExistingControl","OPEN_EXISTING_CONTROL","openAddedControl","OPEN_ADDED_CONTROL","totalExistingPatioControl","TOTAL_EXISTING_PATIO_CONTROL","totalAddedPatioControl","TOTAL_ADDED_PATIO_CONTROL","poolTextPlaceHolder","POOL_LABEL","boundaryWallHeightTextPlaceHolder","BOUNDARY_WALL_HEIGHT_LABEL","boundaryWallRunningTextPlaceHolder","BOUNDARY_WALL_RUNNING_LABEL","coverageTextPlaceHolder","COVERAGE_LABEL","bulkCalculationTextPlaceHolder","BULK_CALCULATION_LABEL","calculationsLabel","CALCULATIONS_LABEL","poolControl","POOL_CONTROL","boundaryWallHeightControl","BOUNDARY_WALL_HEIGHT_CONTROL","boundaryWallRunningControl","BOUNDARY_WALL_RUNNING_CONTROL","coverageControl","COVERAGE_CONTROL","bulkCalculationControl","BULK_CALCULATION_CONTROL","deleteLabel","editLabel","EDIT_LABEL","addLabel","ADD_LABEL","removeDialogTitle","REMOVE_DIALOG_TEXT","removeMainContent","REMOVE_MESSAGE","removeOutContent","selectPromptMessage","selectOneDocMessage","zoneOptions","externalWallsOptions","internalWallsOptions","roofingOptions","mainTableMapper","outTableMapper","applicantGroups","missingZoneTuple","missingZoneList","modalOptions","selectedApplicationPropertyId","showForm","selectedApplicationLocationBpamsSubscription","sendMissingLookupsEmailSubscription","checkAndInitialiseLookups","destroyMap","ownerGroup","applicantGroup","getZones","updatePropertyRequiredFields","onBtnRemoveZoneClicked","zoneIndex","onBtnAddZoneClicked","zonesControl","zoneGroup","zone","onBtnRemoveMainClicked","mainTableSelection","mainTableDataSource","itemsAlreadyOnTable","getValue","deletedIndex","delIndex","findIndex","i","allItems","syncMainBuildings","res","onBtnEditMainClicked","building","editedIndex","updatedbuilding","onBtnAddMainClicked","newBuilding","onBtnRemoveOutClicked","outTableSelection","outTableDataSource","syncOutBuildings","onBtnEditOutClicked","updatedBuilding","onBtnAddOutClicked","getMissingZones","sendEmailMissingLookupForZones","zones","count","MISSING_ZONE_LABEL","MISSING_ZONE_LABEL_EMAIL","mainArrayReturned","array","outArrayReturned","formItems","newItem","calculateTotals","totalExistingPatioCalculated","totalAddedPatioCalculated","totalExistingCalculated","totalAddedCalculated","totalFloorCalculated","totalGroundFloorCalculated","patioCoverageExisting","patioOpenExisting","patioCoverageAdded","patioOpenAdded","mainBuildings","outBuildings","totalCoveredPatio","totalCoveredArea","totalFloorArea","covered","bulkCalculation","Math","round","formControl","syncMainBuildingsOnGet","PropertyFormGroup","syncOutBuildingsOnGet","subscribeToClearMapGraphics","onGetSelectedApplication","titleDeed","min","owners","titleDeedRestrictions","externalWalls","internalWalls","roofing","numberOfHousesUnits","totalExisting","totalAdded","coveredExisting","coveredAdded","openExisting","openAdded","totalExistingPatio","totalAddedPatio","pool","boundaryWallHeight","boundaryWallRunning","coverage","roofings","setHasLoadedLookups","sortLookups","loadExistingProperty","propertiesFormArray","tempId","zoningLayerObj","userMaps","selectionLayerType","PROPERTY_ZONING_LAYER","zoningLayer","zoningQuery","where","returnGeometry","outFields","queryFeatures","zoneFeatureSet","features","foundZone","zoneItem","ZONING_NOT_FOUND","INVALID_ZONING_ATTRIBUTE","zoningError","$missingLookupsForZones","missingLookupsForZones","applicationDescription","applicationRestrictions","numberOfHouses","patioCoveredExisting","patioCoveredAdded","zonings","zoneOption","zoning","applicationPropertyId","deleted","mainItems","outItems","buildings","calculateTotalsOnGet","checkIfPropertyIsAlreadyLoaded","MISSING_LOOKUP_EMAIL_REQUEST_URL","lookupType","lookupList","sendMissingLookupsEmail","MISSING_ZONE_LABEL_EMAIL_FAILED","Selecting","replaceData","onCopyOwnerToApplicant","selectedOwners","NO_OWNERS_SELECTED_MESSAGE","MULTIPLE_OWNERS_SELECTED_MESSAGE","setCopyOwner","applicantId","applicantForm","COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE","MISSING_ZONE_EMAIL_SUBJECT","MISSING_ZONE_EMAIL_CONTENT","TOTAL_LABEL","REMOVE_TITLE","editForm","UPDATE_LABEL","PropertyBuildingHeadingEnum","Floor","ExistingSize","AddedSize","BuildingNameNumber","RecipientService","CreateApplicationProfessionalBodiesBpamsConstants","forkJoin","CreateApplicationProfessionalBodiesBpamsComponent","recipientService","architectRecipientComponent","engineerRecipientComponent","contractorRecipientComponent","professionalBodiesForm","professionalBodiesFormControlName","PROFESSIONAL_BODY_FORM_CONTROL_NAME","markArchitectAsRequiredLabel","MARK_ARCHITECT_AS_REQUIRED_LABEL","markArchitectAsRequiredFormControlName","MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME","copyApplicantDetailsToArchitectLabel","COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL","copyApplicantDetailsToArchitectFormControlName","COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME","markEngineerAsRequiredLabel","MARK_ENGINEER_REQUIRED_LABEL","markEngineerAsRequiredFormControlName","MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME","copyApplicantDetailsToElectricalContractorLabel","COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL","copyApplicantDetailsToElectricalContractorFormControlName","COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME","markElectricalContractorAsRequiredLabel","MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL","markElectricalContractorAsRequiredFormControlName","MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME","copyApplicantDetailsToEngineerLabel","COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL","copyApplicantDetailsToEngineerFormControlName","COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME","architectFormControlName","ARCHITECT_FORM_CONTROL_NAME","engineerFormControlName","ENGINEER_FORM_CONTROL_NAME","contractorFormControlName","ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME","showArchitect","showEngineer","showElectricalContractor","showSACAPOptions","showArchitectRequiredCheckbox","architectDisableFilterBy","architectDisableEditing","architectShowFields","architectGroups","architectLabel","ARCHITECT_LABEL","architectShowGroupsDropdown","architectIsRequiredChecked","engineerDisableFilterBy","engineerDisableAdd","engineerDisableEditing","engineerShowFields","engineerIsInternal","engineerGroups","engineerLabel","ENGINEER_LABEL","engineerShowGroupsDropdown","engineerIsRequiredChecked","contractorDisableFilterBy","contractorDisableAdd","contractorDisableEditing","contractorShowFields","contractorIsInternal","contractorGroups","contractorLabel","ELECTRICAL_CONTRACTOR_LABEL","contractorShowGroupsDropdown","contractorIsRequiredChecked","savedArchitect","savedEngineer","savedContractor","authUserDetails","getApplicantData","initialiseDefaultValues","getAuthUserInformation","architectGroup","engineerGroup","electricalContractorGroup","enableSACAPLookup","configureProfBodiesForSACAP","onMarkArchitectAsRequired","architectIsRequired","onMarkEngineerAsRequired","engineerIsRequired","onMarkElectricalContractorAsRequired","contractorIsRequired","onCopyApplicantToArchitect","copyApplicantDataChecked","applicantData","architect","onCopyApplicantToEngineer","engineer","onCopyApplicantToElectricalContractor","electricalContractor","markFormControlsAsTouched","sacapno","sacapRegistrationNumber","sacapverified","sacapRegistrationNumberVerified","syncProfBodiesIsRequiredCheckBoxes","syncArchitectIsRequiredCheckBoxes","syncEngineerIsRequiredCheckBoxes","syncElectricalConstructorIsRequiredCheckBoxes","markAsDirty","architectNotApplicable","architectNa","engineerIsNotApplicable","engineerNa","electricalContractorIsNotApplicable","electricalContractorNa","populateProfessionalBodiesForms","populateArchitect","populateEngineer","populateElectricalContractor","architectControl","group","requiredFields","engineerControl","electricalContractorControl","getProfBodiesData","architectID","architectId","engineerID","engineerId","contractorID","electricalContractorId","getProfessionalBodiesId","getArchitectDataFromUserSettings","architectAgentParams","engineerParams","contractorParams","getRecipientsObservable","professionalBodies","showProfBodiesBasedOnCurrentFormStatus","applicantID","getApplicantByApplicantId","recipients","$authenticatedUser","authUSer","authUserId","getApplicantDataFromUserSettings","userSettingList","userSettingData","recipientData","err","copyControl","CreateBurialDetailsCmConstants","ViewDeceasedDetailsCmConstant","CreateBurialDetailsCmComponent","burialTypeControl","BURIAL_TYPE_CONTROL","burialTypeLabel","BURIAL_TYPE_LABEL","burialDateControl","BURIAL_DATE_CONTROL","burialDateLabel","BURIAL_DATE_LABEL","burialTypePlaceHolder","BURIAL_TYPE_PH","burialDescriptionControl","DESCRIPTION_CONTROL","burialDescriptionLabel","dropdownPlaceHolder","burialTypes","selectedApplicationCmSubscription","getLookupsObservableSubscripiton","loadLookup","populateForm","appId","markAsTouched","burialDate","dateString","DATE_CONST","lookupValues","lp","checkBurialDate","selectedDate","numberOfDays","burialDateWarning","warningDate","getBusinessDates","setErrors","currentDate","dayOfWeek","getDay","setDate","getDate","burialType","CreateDeceasedDetailsCmConstant","CreateDeceasedDetailsCmComponent","deceasedFormGroupName","DECEASED_FORM_GROUP_NAME","nameControl","NAME_CONTROL","surnameControl","SURNAME_CONTROL","startDateControl","START_DATE_CONTROL","nameLabel","NAME_LABEL","surnameLabel","SURNAME_LABEL","startDateLabel","START_DATE_LABEL","sexLabel","SEX_LABEL","nationalityLabel","NATIONALITY_LABEL","maidenNameLabel","MAIDEN_NAME_LABEL","placeOfBirthLabel","PALCE_OF_BIRTH_LABEL","placeOfDeathLabel","PLACE_OF_DEATH_LABEL","provinceOfDeathLabel","PROVINCE_OF_DEATH_LABEL","identificationTypeLabel","IDENTITY_TYPE_LABEL","idNumberLabel","ID_PASSPORT_NUMBER_LABEL","dateOfDeathLabel","DATE_OF_DEATH_LABEL","dateOfBirthLabel","DATE_OF_BIRTH_LABEL","burialOrderNumberLabel","BURIAL_ORDER_LABEL","serialNumenerLabel","SERIAL_NUMBER_LABEL","verticalPositionLabel","VERTICAL_POSITION_LABEL","undertakerLabel","NAME_OF_THE_UNDERTAKER_LABEL","sexControl","SEX_CONTROL","nationalityControl","NATIONALITY_CONTROL","maidenNameControl","MAIDEN_NAME_CONTROL","placeOfBirthControl","PALCE_OF_BIRTH_CONTROL","placeOfDeathControl","PLACE_OF_DEATH_CONTROL","provinceOfDeathControl","PROVINCE_OF_DEATH_CONTROL","identificationTypeControl","IDENTITY_TYPE_CONTROL","idNumberControl","ID_PASSPORT_NUMBER_CONTROL","dateOfDeathControl","DATE_OF_DEATH_CONTROL","dateOfBirthControl","DATE_OF_BIRTH_CONTROL","burialOrderNumberControl","BURIAL_ORDER_CONTROL","serialNumberControl","SERIAL_NUMBER_CONTROL","verticalPositionControl","VERTICAL_POSITION_CONTROL","undertakerControl","NAME_OF_THE_UNDERTAKER_CONTROL","DECEASED_DETAILS_TITLE","sexPh","SEX_PH","nationalityPh","NATIONALITY_PH","provinceOfDeathPh","PROVINCE_OF_DEATH_PH","identityTypePh","IDENTITY_TYPE_PH","verticalPositionPh","VERTICAL_POSITION_PH","deceasedForm","nationalityLookup","COUNTRIES","provinceLookup","PROVINCE","dateofBirth","identificationTypeLookup","sexLookup","verticalPositionLookup","deceasedNameList","deceasedNamesControl","lookupConst","IdentificationType","Sex","VerticalPosition","nationalityControlRequired","identificationTypeControlRequired","idNumberControlRequired","dateOfBirthControlRequired","placeOfBirthControlRequired","sexControlRequired","burialOrderNumberControlRequired","verticalPositionControlRequired","selectedApplicationCreateCmSubscription","getApplicationsSubscription","deceasedNameListSubscription","deceasedNameListObservable","loadLookups","checkSave","onCleanFormEvent","editnamesEvent","addnamesEvent","startDate","deceased","sex","nationality","maidenName","placeOfBirth","placeOfDeath","provinceOfDeath","idType","idNumber","dateOfBirth","dateOfDeath","burialOrderNumber","serialNo","verticalPosition","undertaker","deceasedNames","intDataSource","enableDropdowns","app","getApplicationDeceasedDetails","idTypeChanged","pattern","updateDateOfBirth","dateValue","savedApplication","getApplicationsQuery","updatedApplication","resp","sch","el","surname","TABLE_LABEL","ACTION_LABEL","DELETE_ITEM_TITLE","DELETE_DECEASED_NAME_CONFIRM","SHORT_DATE_CONST","ADD_DECEASED_NAME_LBEL","EDIT_DECEASED_NAME_LBEL","REMOVE_DECEASED_NAME_LBEL","identificationType","wrong","DeceasedNamesTableHeaderEnum","DeceasedNamesTableHeaderLookup","StartDate","CreateFamillyMemberConstant","FAMILY_CONTROL","FAMILY_LABEL","COPY_APPLICANT_TO_FAMILY_LABEL","DUPLICATE_APPLICANT_ERROR_MESSAGE","RecipientUtils","CreateFamilyMemberDetCmComponent","familyMemberForm","familyMemberGroups","familyMemberShowGroupsDropdown","familyMemberDisableAdd","familyMemberDisableFilterBy","familyMemberDisableEditing","familyMemberListLabel","familyMemberListControl","copyApplicantToFamilyLabel","applicants","family","selectedApplicationCreateFamilyMemberSubscription","familyGroup","onBtnCopyApplicantToFamilyClicked","groupName","GroupName","groupType","GroupType","setRecipients","f","getApplicant","refreshTableIndexes","CreateFuneralParlourConstants","CreateFuneralParlourCmComponent","appService","recipientFilterService","parlourForm","parlourFormGroupName","FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME","parlourLabel","NOTICE_LABEL","parlourControl","PARLOUR_CONTROL","parlourSelectControl","PARLOUR_SELECT_CONTROL","parlourPh","PLACE_HOLDER","parlourSelectLabel","PARLOUR_SELECT_LABEL","TITLE","markFpMotApplicableLabel","MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL","funeralParlourIsNullFormControlName","FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME","parlourGroups","parlours","parlourMetadata","disableEditing","funeralParlourNotApplicableChecked","getRecipientsByGroupSubscription","getFuneralParlours","funeralParlourGroup","onSelectParlour","selectedParlour","p","patchValue","onFuneralParlourNotApplicable","funeralParlourIsNullable","funeralParlourNaChecked","funeralParlourNANotChecked","recipientSelect","ggroup","getRecipientsByGroup","checkCurrentApplicationForSavedFuneralParlours","syncNotApplicableCheckBox","funeralParlour","funeralParlourControl","funeralParlourSelectControl","funeralParlourId","updateNotApplicableCheckBox","funeralParlourNa","funeralParlourNotApplicable","parlourRecipientSelect","DeceasedDtailsCustomValidators","CompareDateToToday","dateOfBirthToDate","isWrong","compareAnyDateToTday","CompareDateToDateOfDeath","dateOfdeath","birthToDeathIsWrong","compareDateOfBirthToDateOfDeath","deathToTodayIsWrong","today","CreateApplicationDetailsDmConstants","CreateApplicationDetailsDmComponent","applicationTypeCtrl","TYPE_CTRL","applicationTypeLbl","TYPE_LBL","descriptionCtrl","DESCRIPTION_CTRL","descriptionLbl","DESCRIPTION_LBL","applicationTypePlaceHolder","APPLICATION_PLACE_HOLDER","selectedApplicationDmSubscription","CreateLocationDMConstants","Polygon","CreateLocationDmComponent","recipientListService","cadastralDescriptionControl","CADASTRAL_DESCRIPTION_CONTROL","rateNumberControl","RATE_NUMBER_CONTROL","existingUseControl","EXISTING_USE_CONTROL","worthyOfPreservationControl","WORTHY_OF_PRESERVATION_CONTROL","reasonControl","REASON_CONTROL","over60Control","OVER_60_CONTROL","amafaPermissionControl","AMAFA_PERMISSION_CONTROL","cadastralDescriptionTextPlaceHolder","CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER","rateNumberTextPlaceHolder","RATE_NUMBER_TEXT_PLACEHOLDER","existingUseTextPlaceHolder","EXISTING_USE_TEXT_PLACEHOLDER","worthyOfPreservationTextPlaceHolder","WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER","reasonTextPlaceHolder","REASON_TEXT_PLACEHOLDER","over60TextPlaceHolder","OVER_60_TEXT_PLACEHOLDER","amafaPermissionTextPlaceHolder","AMAFA_PERMISSION_TEXT_PLACEHOLDER","dmApplication","yes","Yes","selectedApplicationLocationDmSubscription","propertyData","checkStepMetaRecipientGroups","selectYesOrNo","syncMapExistingGeometries","applicationId","cadastralDescription","rateNumber","existingUse","worthyOfPreservation","reason","over60","amafaPermission","getPropertyOwners","ownerLayerObj","ownerLayer","ownerQuery","ownerFeatureSet","ownersControl","newOwner","Name","Surname","telephone","Telephone","email","Email","defaultCommunicationMethod","DefaultCommunicationMethod","postalAddress","PostalAddress","designation","Designation","organisation","Organisation","clientVatNumber","ClientVatNumber","streetAddress","StreetAddress","homePhone","Homephone","IDNumber","organisationRegistrationNumber","OrganisationRegistrationNumber","representative","Representative","fax","Fax","cellphone","Cellphone","streetSuburb","StreetSuburb","streetCity","StreetCity","streetProvince","StreetProvince","streetCode","StreetCode","postalSuburb","PostalSuburb","postalCity","PostalCity","postalProvince","PostalProvince","postalCode","PostalCode","postalCountry","PostalCountry","streetCountry","StreetCountry","professionalBody","ProfessionalBody","professionalBodyRegNum","ProfessionalBodyRegistrationNumber","pa","prop","singleFg","propertyFoemGroup","NO_APPLICANT_AVAILABLE","PROPERTY_LAYER_NAME","CreateApplicationDetailsEcConstants","CreateApplicationDetailsEcComponent","whoIsApplyingLabel","WHO_IS_APPLYING_LABEL","descriptionOfProposedWorkLabel","DESCRIPTION_OF_PROPOSED_WORK_LABEL","descriptionOfProposedWorkNote","DESCRIPTION_OF_PROPOSED_WORK_NOTE","phaseLabel","PHASE_LABEL","conventionalPrepaidLabel","CONVENTIONAL_PREPAID_LABEL","estimatedCapacityLabel","ESTIMATED_CAPACITY_LABEL","applicantTypeFormControlName","APPLICANT_TYPE_FORM_CONTROL_NAME","descriptionOfProposedWorkFormControlName","DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME","phaseFormControlName","PHASE_FORM_CONTROL_NAME","paymentTypeControlName","PAYMENT_TYPE_CONTROL_NAME","estimatedCapacityControlName","ESTIMATED_CAPACITY_FORM_CONTROL_NAME","applicantTypes","phases","conventionalPrepaidOptions","selectedApplicationEcSubscription","applicantType","phase","paymentType","descriptionOfProposedWork","estimatedCapacity","APPLICANT_TYPE_LOOKUP_NAME","PHASE_LOOKUP_NAME","CONVENTIONAL_PREPAID_LOOKUP_NAME","conventionalPrepaid","CreateApplicationLocationEcConstants","CreateApplicationLocationEcComponent","buildingNameControl","BUILDING_NAME_CONTROL","floorControl","FLOOR_CONTROL","OWNER_LIST_LABEL","buildingNamePlaceHolder","BUILDING_NAME_LABEL","floorPlaceholder","ecApplication","selectedApplicationLocationEcSubscription","previousActiveIndex","buildingName","CreateApplicationProfessionalBodiesEcConstants","CreateApplicationProfessionalBodiesEcComponent","CreateApplicationDetailsItamsConstants","InformalTradeService","CreateApplicationDetailsItamsComponent","informalTradeService","tradingGoodsLabel","TRADING_GOODS_LABEL","tradingGoodsDescriptionLabel","TRADING_GOODS_DESCRIPTION_LABEL","previousApplicationReferenceNumberLabel","PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL","verifyReferenceNumberLabel","VERIFY_REFERENCE_NUMBER_LABEL","referenceNumberVerifiedLabel","REFERENCE_VERIFIED_LABEL","unverifiedReferenceNumberLabel","REFERENCE_NOT_VERIFIED_LABEL","tradeGoodsFormArray","TRADING_GOODS_FORM_ARRAY_NAME","tradeGoodsFormControlName","TRADING_GOODS_CONTROL_NAME","tradingGoodsFormControlName","previousApplicationValidatedFormControlName","PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME","tradingGoodsDescriptionFormControlName","TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME","previousApplicationReferenceNumberFormControlName","PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME","tradersFormGroupName","TRADERS_FORM_GROUP_NAME","baysFormGroupName","BAYS_FORM_GROUP_NAME","baysFormControl","BAYS_FORM_CONTROL_NAME","tradersFormControlName","TRADERS_FORM_CONTROL_NAME","centroidFromControlName","CENTROID_FORM_CONTROL_NAME","deleteTradingGoodsLabel","REMOVE_TRADING_GOODS_LABEL","addTradingGoodsLabel","ADD_TRADING_GOODS_LABEL","tradingGoods","tradingGoodIsRequired","showPreviousApplicationReferenceNumberField","showReferenceNumberVerifiedLabel","showVerifyReferenceNumberButton","hideRemovalAndAddButton","showUnVerifiedReferenceNumberLabel","showTradingGoodsButtons","isReferenceNumberVerified","showVerifiedButton","lastSelectedTradingGood","selectedApplicationItamsSubscription","getInformalTradeApplicationObservableSubscription","previousApplicationReferenceNumber","onVerifyReferenceNumber","getApplicationByReferenceNumber","applicationTypeLookupsLoaded","tradingGoodsLookupsLoaded","TRADING_GOODS_LOOKUP_NAME","onTradingGoodsSelected","selectedTradingGood","getTradingGoods","tradingGoodsDescriptionFormControl","isDuplicateDescription","controlDescription","DUPLICATE_ERROR_DESCRIPTION","isDuplicate","DUPLICATE_ERROR_TRADE_GOODS","tradingGoodFormControl","previousApplicationReferenceNumberFormControl","resetTradingGoodsArray","onBtnAddTradingGoodsClicked","sortDropdowns","subscribeToClearApplicationVerificationSubject","previousReferenceNumber","ENTER_REFERENCE_NO","getInformalTradeApplicationObservable","handleApplicationFound","handleApplicationNotVerified","applicationStatus","workflowSection","applicationPercentageComplete","percentageComplete","previousApplicationReferenceNumberControl","referenceNumber","populateTradingGoodsFieldsFromPreviousApplication","populateBaysFieldsFromPreviousApplication","populateTradersFromPreviousApplication","savedTradingGoods","tradeGoods","tradeGood","tradingGoodFormGroup","tradingGoodsDescription","enableTradingGoodsFields","resetTradingGoodsFields","resetBays","resetTraders","tradersFormGroup","tradersFormControl","traders","savedApplicationBays","bays","applicationBaysFormGroup","savedApplicationBaysFormControl","applicationBay","bay","bayNumber","baySize","setTrueCentroid","newBayFormGroup","baysFormArray","$clearApplicationVerificationSubject","clearApplicationVerificationData","onBtnRemoveTradingGoods","tradingGoodsControl","tradingGoodsGroup","tradingGoodsFormArray","savedTradeGood","tradeGoodLookupOption","tradingGroupForm","CreateApplicationLocationItamsConstants","CreateApplicationLocationItamsComponent","baysForm","previousApplicationValidated","baysFormControlName","BAYS_FORM_CONTROL","bayNumberControl","BAY_NUMBER_CONTROL","baySizeControl","BAY_SIZE_CONTROL","bayNumberPlaceHolder","BAY_NUMBER_PLACEHOLDER","baySizeTextPlaceHolder","BAY_SIZE_TEXT_PLACEHOLDER","removeBayLabel","REMOVE_BAY_LABEL","selectedBaySubscription","selectedApplicationLocationItamsSubscription","getBays","isPreviousApplicationValidated","actionBayEnabled","onBtnRemoveSelectedBayClicked","bayIndex","subscribeToSelectedBaysOnTheMap","CLEARED_VALIDATION_MESSAGE","$selectedBay","selectedMapFeature","setBayData","bayObject","applicationValidated","newBay","bayControl","savedApplicationBaysFormArray","bayFormArray","BAY_REQUIRED","CreateApplicationStakeholdersItamsConstants","CreateApplicationStakeholdersItamsComponent","tradersForm","disableTraderRecipientFilter","traderConfigurableLabel","traderDisableAddButton","traderRecipientGroups","traderDisableEditButton","traderDisableDeleteButton","TRADERS_CONTROL_NAME","traderLabel","TRADER_LABEL","traderFormControlName","TRADER_FORM_ARRAY_NAME","subscribeToSelectedModuleName","getTraders","traderGroup","getTradersControl","STAKEHOLDERS_HEADER","recipientArray","onGetTradersCompleted","tradersControl","TRADERS_LOOKUP_NAME","CreateApplicationDetailsPlamsConstants","PropertyAndLeaseService","CreateApplicationDetailsPlamsComponent","propertyAndLeaseService","leaseLabel","LEASE_LABEL","drawPolyonLabel","DRAW_POLYGON_LABEL","polygonDrawnLabel","POLYGON_DRAWN_LABEL","leaseTypeLabel","LEASE_TYPE_LABEL","leaseReasonTypeLabel","LEASE_REASON_LABEL","leaseUseLabel","LEASE_USE_LABEL","leaseRentalAgreementLabel","LEASE_RENTAL_AGREEMENT_LABEL","leaseStartDateLabel","LEASE_START_DATE_LABEL","leaseEndDateLabel","LEASE_END_DATE_FORM_LABEL","lesseeTypeTypeLabel","LESSEE_TYPE_LABEL","lesseeLabel","LESSEE_LABEL","alienationLabel","ALIENATION_LABEL","saleAmountLabel","SALE_AMOUNT_LABEL","dateofDeedTransferLabel","DATE_OF_DEED_TRANSFER_LABEL","evaluationAmountLabel","EVALUATION_AMOUNT_LABEL","acquisitionLabel","ACQUISITION_LABEL","buyerLabel","BUYER_LABEL","sellerLabel","SELLER_LABEL","referenceNumberLabel","REFERENCE_NUMBER_LABEL","leaseTypeFormControlName","LEASE_TYPE_FORM_CONTROL_NAME","leaseReasonFormControlName","LEASE_REASON_FORM_CONTROL_NAME","leaseUseFormControlName","LEASE_USE_FORM_CONTROL_NAME","leaseRentalAgreementFormControlName","LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME","leaseStartDateFormControlName","LEASE_START_DATE_FORM_CONTROL_NAME","leaseEndDateFormControlName","LEASE_END_DATE_FORM_CONTROL_NAME","lesseeTypeFormControlName","LESSEE_TYPE_FORM_CONTROL_NAME","lesseeFormControlName","LESSEE_FORM_CONTROL_NAME","saleAmountAlienationFormControlName","SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME","dateofDeedAlienationTransferFormControlName","DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME","evaluationAmountAlienationFormControlName","EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME","buyerFormControlName","BUYER_FORM_CONTROL_NAME","saleAmountFormControlName","SALE_AMOUNT_FORM_CONTROL_NAME","dateofDeedTransferFormControlName","DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME","evaluationAmountFormControlName","EVALUATION_AMOUNT_FORM_CONTROL_NAME","sellerFormControlName","SELLER_FORM_CONTROL_NAME","referenceNumberControlName","REFERENCE_NUMBER_FORM_CONTROL_NAME","copyApplicantToLesseeLabel","COPY_APPLICANT_TO_LESSEE_LABEL","copyApplicantToBuyerLabel","COPY_APPLICANT_TO_BUYER_LABEL","copyApplicantToSellerLabel","COPY_APPLICANT_TO_SELLER_LABEL","leaseAreaDrawn","leaseTypes","lesseeTypes","lesseeDisableFilterBy","lesseeDisableAdd","lesseeDisableEditing","lesseeShowGroupsDropdown","lesseeGroups","lesseeListLabel","buyerDisableFilterBy","buyerDisableAdd","buyerDisableEditing","buyerShowGroupsDropdown","buyerGroups","buyerListLabel","sellerDisableFilterBy","sellerDisableAdd","sellerDisableEditing","sellerShowGroupsDropdown","sellerGroups","sellerListLabel","showRefNumber","requiredClass","CLASS_REQUIRED_TEXT","requiredText","REQUIRED_TEXT_INDICATOR","descriptionPlaceholder","inputID","CLASS_DESCRIPTION_TEXT","selectedApplicationRcSubscription","selectedApplicationAppSubscription","getApplicants","lesseeGroup","buyerGroup","sellerGroup","saleAmount","evaluationAmount","dateOfDeedTransfer","getBuyers","leaseType","leaseReason","leaseUse","leaseRentalAgreementAmount","leaseEndDate","leaseLesseeType","leaseAreas","getLessees","getSellers","getLesseesObservable","onGetLesseesCompleted","lesseeControl","getSellersObservable","onGetSellersCompleted","sellerControl","getBuyersObservable","onGetBuyersCompleted","buyerControl","TRANSFERRING_ATTORNEY_LABEL","TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME","leaseStartDate","lesseeType","dateofDeedTransfer","CreateApplicationLocationPlamsConstants","GeometryUtils","geometryEngine","CreateApplicationLocationPlamsComponent","descriptionLabel5","DESCRIPTION_LABEL_5","applicationControl","APPLICATION_TYPE_CONTROL","zoningControl","ZONING_CONTROL","streetNumberControl","STREET_NO_CONTROL","streetNameControl","STREET_NAME_CONTROL","townControl","TOWN_CONTROL","applicationSelectLabel","APPLICATION_TYPE_PLACEHOLDER","dropdownApplicationPlaceholder","zoningControlTextPlaceHolder","ZONING_TEXT_PLACEHOLDER","streetNumberTextPlaceHolder","STREET_NO_TEXT_PLACEHOLDER","streetNameTextPlaceHolder","STREET_NAME_TEXT_PLACEHOLDER","townTextPlaceHolder","TOWN_TEXT_PLACEHOLDER","appTypes","existingApplication","sketch","leaseGraphic","hasLoadedLookups","hasSavedLeaseArea","selectedApplicationDetailsRcSubscription","$applicationSavedSubject","hasLoadedLookupsAsObservable","$removeAllMapToolGraphics","mapToolGraphicsRemoved","showPopups","propertyGeom","union","within","LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE","NO_PROPERTIES_SELECTED_MESSAGE","LEASE_AREA_EXISTS_MESSAGE","mapGeometryToDTO","numProps","streetNumber","streetName","town","applicationTypeChanged","collapseWidget","cancel","leaseGeom","PROPERTY_ID_CONTROL","CreateApplicationDetailsRcConstants","CreateApplicationDetailsRcComponent","reasonForApplicationLabel","REASON_FOR_APPLICATION","typeOfTransferLabel","TYPE_OF_TRANSFER_LABEL","propertyTypeLabel","PROPERTY_TYPE_LABEL","ratesAccountNumberLabel","RATES_ACCOUNT_NUMBER_LABEL","electronicReferenceLabel","ELECTRONIC_REFERENCE_LABEL","attorneyReferenceLabel","ATTORNEY_REFERENCE_LABEL","councilReferenceLabel","COUNCIL_REFERENCE_LABEL","reasonForApplicationFormControlName","REASON_FOR_APPLICATION_CONTROL_NAME","typeOfTransferFormControlName","TYPE_OF_TRANSFER_CONTROL_NAME","propertyTypeFormControlName","PROPERTY_TYPE_CONTROL_NAME","ratesAccountNumberFormControlName","RATES_ACCOUNT_NUMBER_CONTROL_NAME","electronicReferenceFormControlName","ELECTRONIC_REFERENCE_CONTROL_NAME","attorneyReferenceFormControlName","ATTORNEY_REFERENCE_CONTROL_NAME","councilReferenceFormControlName","COUNCIL_REFERENCE_CONTROL_NAME","typeOfTransferLookupOptions","populateApplicationDetailsData","typeOfTransfer","reasonForApplication","propertyType","ratesAccountNumber","electronicReference","attorneyReference","councilReference","CreateApplicationLocationRcConstants","CreateApplicationLocationRcComponent","recipientSelectService","sectionalTitleSchemeNameControl","SECTIONAL_TITLE_SCHEME_NAME_CONTROL","sectionalTitleSchemeNumberControl","SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL","sectionalTitleSchemeUnitControl","SECTIONAL_TITLE_SCHEME_UNIT_CONTROL","extentControl","EXTENT_CONTROL","purchasePriceControl","PURCHASE_PRICE_CONTROL","dateOfSaleControl","DATE_OF_SALE_CONTROL","electricityAccountNumberControl","ELECTRICITY_ACCOUNT_NUMBER_CONTROL","waterAccountNumberControl","WATER_ACCOUNT_NUMBER_CONTROL","refuseAccountNumberControl","REFUSE_ACCOUNT_NUMBER_CONTROL","managingAgentControl","MANAGING_AGENT_CONTROL","titleDeedNumberLabel","TITLE_DEED_NUMBER_LABEL","zoningLabel","ZONING_LABEL","sectionalTitleSchemeNameLabel","SECTIONAL_TITLE_SCHEME_NAME_LABEL","sectionalTitleSchemeNumberLabel","SECTIONAL_TITLE_SCHEME_NUMBER_LABEL","sectionalTitleSchemeUnitLabel","SECTIONAL_TITLE_SCHEME_UNIT_LABEL","extentLabel","EXTENT_LABEL","purchasePriceLabel","PURCHASE_PRICE_LABEL","dateOfSaleLabel","DATE_OF_SALE_LABEL","electricityAccountNumberLabel","ELECTRICITY_ACCOUNT_NUMBER_LABEL","waterAccountNumberLabel","WATER_ACCOUNT_NUMBER_LABEL","refuseAccountNumberLabel","REFUSE_ACCOUNT_NUMBER_LABEL","MODAL_OPTION","managingAgentDisableFilterBy","managingAgentDisableEditing","managingAgentGroups","managingAgentLabel","managingAgentGroup","sectionalTitleSchemeName","sectionalTitleSchemeNumber","sectionalTitleSchemeUnit","extent","purchasePrice","dateOfSale","electricityAccountNumber","waterAccountNumber","refuseAccountNumber","managingAgent","setPropertyZoning","propertiesArray","featureControl","featureFormGroup","createPropertyFormGroup","MANAGING_AGENT_LABEL","MODAL_SIZE","extraLarge","CreateApplicationDetailsSnConstants","CreateApplicationDetailsSnComponent","DESCRIPTION_FORM_LABEL","APPLICATION_TYPE_FORM_LABEL","applicationTypeLookoutName","APPLICATION_TYPE_LOOKOUT_NAME","CreateApplicationLocationSnConstants","CreateApplicationLocationSnComponent","locationForm","NO_OPTION_SELECTED","showPrivateStreetAreaOrEstateNameField","showCurrentNameField","showFeatureTypeField","showRequiredAsteriskForTheAreaEstateNameField","showRequiredAsteriskForTheCurrentNameField","streetOrFeatureLookUps","STREET_OR_FEATURE_LOOKUPS","publicOrPrivateLookUps","PUBLIC_OR_PRIVATE_LOOKUPS","isNewDevelopmentLookUps","IS_NEW_DEVELOPMENT_LOOKUPS","haveExistingNameLookUps","HAVE_EXISTING_NAME_LOOKUPS","streetOrFeatureLabel","STREET_OR_FEATURE_LABEL","removeFeatureLabel","REMOVE_FEATURE_LABEL","publicOrPrivateLabel","PUBLIC_OR_PRIVATE_LABEL","privateStreetAreaOrEstateNameLabel","PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL","isNewDevelopmentLabel","IS_NEW_DEVELOPMENT_NAME_LABEL","haveExistingNameLabel","HAVE_EXISTING_NAME_LABEL","currentNameLabel","CURRENT_NAME_LABEL","locationDescriptionLabel","LOCATION_DESCRIPTION_LABEL","wardLabel","WARD_LABEL","proposedNameLabel","PROPOSED_NAME_LABEL","proposedNameLanguageLabel","PROPOSED_NAME_LANGUAGE_LABEL","proposedNameMeaningLabel","PROPOSED_NAME_MEANING_LABEL","proposedNameOriginLabel","PROPOSED_NAME_ORIGIN_LABEL","proposedAlternativeNameLabel","PROPOSED_ALTERNATIVE_NAME_LABEL","languageOfTheAlternativeNameLabel","LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL","meaningAlternativeNameLabel","MEANING_OF_THE_ALTERNATIVE_NAME_LABEL","featureTypeLabel","FEATURE_TYPE_LABEL","reasonForChangeLabel","REASON_FOR_CHANGE_LABEL","featuresFormArrayName","FEATURES_FORM_ARRAY_NAME","locationFormGroupName","LOCATION_FORM_GROUP_NAME","streetOrFeatureFormControlName","STREET_OR_FEATURE_FORM_CONTROL_NAME","publicOrPrivateFormControlName","PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME","privateStreetAreaOrEstateNameFormControlName","PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME","isNewDevelopmentFormControlName","IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME","haveExistingNameFormControlName","HAVE_EXISTING_NAME_FORM_CONTROL_NAME","currentNameFormControlName","CURRENT_NAME_FORM_CONTROL_NAME","locationDescriptionFormControlName","LOCATION_DESCRIPTION_FORM_CONTROL_NAME","wardFormControlName","WARD_FORM_CONTROL_NAME","proposedNameFormControlName","PROPOSED_NAME_FORM_CONTROL_NAME","proposedNameLanguageFormControlName","PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME","proposedNameMeaningFormControlName","PROPOSED_NAME_MEANING_FORM_CONTROL_NAME","proposedAlternativeNameFormArrayName","PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME","proposedNameOriginFormControlName","PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME","featureTypeFormControlName","FEATURE_TYPE_FORM_CONTROL_NAME","reasonForChangeFormControlName","REASON_FOR_CHANGE_FORM_CONTROL_NAME","selectedPOISubjectSubscription","getApplicationsQuerySubscription","selectedStreetSubjectSubscription","getFeatures","subscribeToSelectedPOI","subscribeToSelectedStreet","actionPOIEnabled","actionStreetEnabled","hasControlValidator","validator","onBtnAddAlternativeNameClicked","alternativeNameGroup","language","meaning","alternativeNamesFromArray","getAlternativeNameFormControls","onBtnRemoveAlternativeNameClicked","alternativeDetailsIndex","resetAlternativeNames","onStreetOrFeatureSelected","streetOrFeatureSelected","configureStreetSelected","configureFeatureSelected","onPublicOrPrivateSelected","publicOrPrivateSelected","handlePublicValue","handlePrivate","hidePrivateAreaOrEstateNameFieldIfNoExistingName","onHaveExistingNameSelected","haveExistingNameSelected","handlePropertyOrFeatureHasExistingName","handlePropertyOrFeatureHasNoExistingName","dirty","setApplication","setPOIData","poiAttributes","newPOIFormGroup","setNewPOIFormGroup","createNewPOIFormGroup","configureInitialFeatureForm","setFeatureTrueCentroidData","$selectedPOISubject","poi","checkIfSelectedFeatureHasAlreadyBeenAdded","showStreetFields","hideAreaEstateField","addFeatureTypeField","removeRequiredValidatorPrivateStreetAreaOrEstateNameField","displayPrivateStreetAreaOrEstateNameField","hideFeatureTypeField","addRequiredValidatorOnTheAreaEstateNameField","streetOrFeatureValue","areaEstateNameControl","featureTypeControl","hidePrivateStreetAreaOrEstateNameField","addRequiredValidatorOnTheCurrentNameField","currentNameControl","removeRequiredValidatorOnTheCurrentNameField","setStreetData","streetAttributes","newStreetFormGroup","setNewStreetsFormGroup","createNewStreetsFormGroup","$selectedStreetSubject","street","currentName","streetOrFeature","publicOrPrivate","areaEstateName","isNewDevelopment","haveExistingName","locationDescription","ward","proposedName","proposedNameLanguage","proposedNameMeaning","proposedNameOrigin","alternativeNames","featureType","reasonForChange","poiObject","featuresArray","configureFormsForSelectedStreet","configureFormsForSelectedFeature","showOrHideCurrentNameField","clearValidationOfStreetSpecificFields","hideStreetSpecificFields","clearFeatureTypeValidators","hideFeatureSpecificFields","showStreetSpecificFields","addStreetSpecificFieldsValidators","clearValidationOfFeatureSpecificFields","currentNameValue","getApplicationLocationDetails","location","line","clearBusyRequestCounter","createFeatureFormGroup","alternativeNamesControl","alternativeNameDetails","alternativeGroup","featureFormArray","selectedFeatureFormGroup","LINE_SKETCH_TOOLS_OPTIONS","CreateApplicationDetailsTmamsConstants","CreateApplicationDetailsTmamsComponent","selectedApplicationDetailsTmamsSubscription","CreateLocationTmConstants","CreateApplicationLocationTmamsComponent","tmApplication","selectedApplicationDetailsTpamsSubscription","CreateApplicationDetailsTpamsComponent_1","CreateApplicationDetailsTpamsConstants","CreateApplicationDetailsTpamsComponent","detailsFormControlName","DETAILS_FORM_CONTROL_NAME","REFERENCE_NUMBER_CONTROL_NAME","amendmentSchemeNumberFormControlName","AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME","applicationTypesFormControlName","APPLICATION_TYPES_FORM_CONTROL_NAME","zonesFormControlName","ZONES_FORM_CONTROL_NAME","zoneFormControlName","ZONE_FORM_CONTROL_NAME","rezoneConfirmationControlName","REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME","addApplicationTypeLabel","ADD_APPLICATION_TYPE_LABEL","amendmentSchemeNumberLabel","AMENDMENT_SCHEME_NUMBER_LABEL","applicationTypeLookupName","zoningLookupName","ZONING_LOOKUP_NAME","rezoneConfirmationLabel","REZONING_APPLICATION_CONFIRMATION_LABEL","rezoneKeywordRezone","REZONING_KEYWORD_REZONE","rezoneKeywordRezoning","REZONING_KEYWORD_REZONING","isRezoning","rezoningChecked","applicationTypesControl","appZones","removeControlsByIndex","setControlValue","controlName","disableControl","getApplicationTypeAndZoningLookups","onBtnRemoveApplicationTypeClicked","onBtnAddApplicationTypeClicked","typeGroup","filterString","sortZoneDropDownAlphabetically","sortApplicationTypesAlphabetically","amendmentSchemeNumber","setTypes","applicationZonings","setZones","typesControl","applicationZoning","selectedText","selectedIndex","onRezoningChecked","FILE_NUMBER_LABEL","FILE_NUMBER_FORM_CONTROL_NAME","CreateApplicationLocationTpamsConstants","CreateApplicationLocationTpamsComponent","showPropertyForm","buildingUseControl","BUILDING_USE_CONTROL","buildingFloorAreaControl","BUILDING_FLOOR_AREA_CONTROL","buildingUseTextPlaceHolder","BUILDING_USE_TEXT_PLACEHOLDER","buildingFloorAreaTextPlaceHolder","BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER","selectedApplicatioLocationTpamsSubscription","lookupResponse","sortZones","setPropertyAttributes","propertyAttributes","duplicateFound","checkIfPropertyIsADuplicate","createNewPropertyFormGroup","queryZoningLayer","handleResponseAfterQueryingPropertyZoningFeatures","setPropertyTabs","clearPropertyData","getUpdatedPropertyFormGroup","updateZoneDropdown","buildingFloorArea","CreateApplicationDetailsWamsConstants","CompareDatesUtil","CreateApplicationDetailsWamsComponent","clientReferenceNumberFormControlName","CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME","applicantTelecommunicationLicenseNumberFormControlName","APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME","scopeOfWorkFormControlName","SCOPE_OF_WORK_FORM_CONTROL_NAME","estimatedConstructionCostFormControlName","ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME","applicationFeeFormControlName","APPLICATION_FEE_FORM_CONTROL_NAME","constructionPeriodInWeeksFormControlName","CONSTRUCTION_PERIOD_FORM_CONTROL_NAME","proposedStartDateFormControlName","PROPOSED_START_DATE_FORM_CONTROL_NAME","proposedEndDateFormControlName","PROPOSED_END_DATE_FORM_CONTROL_NAME","laneClosureIsRequiredFormControlName","LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME","laneClosureExtentFormControlName","LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME","electricalServicesFormControlName","ELECTRICAL_SERVICES_FORM_CONTROL_NAME","clientReferenceNumberLabel","CLIENT_REFERENCE_NUMBER_LABEL","applicantTelecommunicationLicenseNumberLabel","APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL","scopeOfWorkFormLabel","SCOPE_OF_WORK_LABEL","estimatedConstructionCostLabel","ESTIMATED_CONSTRUCTION_COST_LABEL","applicationFeeLabel","APPLICATION_FEE_LABEL","constructionPeriodInWeeksLabel","CONSTRUCTION_PERIOD_LABEL","proposedStartDateLabel","PROPOSED_START_DATE_LABEL","proposedEndDateLabel","PROPOSED_END_DATE_LABEL","laneClosureIsRequiredLabel","LANE_CLOSURE_IS_REQUIRED_LABEL","laneClosureExtentLabel","LANE_CLOSURE_EXTENT_LABEL","electricalServicesLabel","ELECTRICAL_SERVICES_LABEL","laneClosureExtentOptions","electricalServicesOptions","dateValidationError","DATE_VALIDATION_ERROR","selectedApplicationDetailsWamsSubscription","verifyProposedDates","formControlName","scopeOfWork","clientReferenceNumber","licenceNumber","applicationFee","estimatedCost","proposedStartDate","proposedEndDate","laneClosureRequired","laneClosureExtent","constructionPeriod","electricalServices","applicantTelecommunicationLicenseNumber","estimatedConstructionCost","laneClosureIsRequired","constructionPeriodInWeeks","CreateApplicationLocationWamsConstants","CreateApplicationLocationWamsComponent","selectedApplicationLocationWamsSubscription","applicationLines","applicationPolygons","setMapData","centroidGeometryArc","showPoint","polygonGeometryArc","polylineGeometryArc","CreateApplicationProfessionalBodiesWamsConstants","CreateApplicationProfessionalBodiesWamsComponent","markImplementingAgentAsRequiredLabel","MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL","markImplementingAgentAsRequiredFormControlName","MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME","copyApplicantDetailsToImplementingAgentLabel","COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL","copyApplicantDetailsToImplementingAgentFormControlName","COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME","copyApplicantDetailsToContractorFormControlName","COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME","implementingAgentFormControlName","IMPLEMENTING_AGENT_FORM_CONTROL_NAME","showImplementingAgent","implementingAgentDisableFilterBy","implementingAgentDisableEditing","implementingAgentShowFields","implementingAgentGroups","implementingAgentLabel","IMPLEMENTING_AGENT_LABEL","implementingAgentShowGroupsDropdown","implementingAgentIsRequiredChecked","savedImplementingAgent","getProBodiesData","implementingAgentConsultantGroup","responsibleContractorGroup","onMarkImplementingAgentAsNotApplicableChecked","implementingAgentIsRequired","onCopyApplicantToImplementingAgent","implementingAgent","syncImplementingAgentIsRequiredCheckBoxes","syncConstructorIsRequiredCheckBoxes","implementingAgentNotRequired","implementingAgentNa","engineerIsNotRequired","contractorIsNotRequired","contractorNa","populateImplementingAgent","implementingAgentControl","contractorControl","contractor","implementingAgentID","implementingAgentId","contractorId","implementingAgentParams","CreateApplicationDetailsZcConstants","CreateApplicationDetailsZcamsComponent","selectedApplicationDetailsZcamsSubscription","CreateApplicationLocationZcConstants","CreateApplicationLocationZcamsComponent","selectedApplicationLocationZcamsSubscription","zcApplication","ApplicationCreateService_1","RouterParamsService","ApiStepMetaConstants","ApiLookupConstants","TrueCentroidResultsModel","ApiAttachmentConstants","routeParamsService","propertySubject","propertyObservable","startMetadataSubject","$startMetadata","selectedModuleName","selectGoToStep","selectGoToStepAsObservable","$fullApplicationCheckRequired","routeParamsSubscription","$markStepFormGroupAsTouchedSubject","checkIfChanged","newValue","oldValue","savePropertyData","start","_this","_ref","_asyncToGenerator","handleRouteParamChange","_x","apply","arguments","getStepMeta","_this2","FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL","metadata","setFullApplicationCheckRequired","FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL","setModuleName","moduleName","stepIndex","uploadDocumentObservable","FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL","FUNCTION_GET_ATTACHMENT_CONTENT","responseType","FUNCTION_DELETE_MULTIPLE_ATTACHMENTS","deserialize","FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS","_this3","moduleid","markStepFormGroupAsTouched","currentFormName","$resetFormValidityObservable","incompleteJobIdSubscription","selectedApplicationSubscription","isApplicationLoadedFromSearchPageSubscription","startMetadataSubscription","$incompleteJobId","isApplicationLoadedFromSearchPage","SAVE_BUTTON_PLACEHOLDER","SAVE_LABEL","CONTINUE_BUTTON_PLACEHOLDER","CONTINUE_STEP_TEXT","BACK_BUTTON_PLACEHOLDER","BACK_STEP_TEXT","CREATE_BUTTON_PLACEHOLDER","CLEAR_BUTTON_PLACEHOLDER","CLEAR_LABEL","SUBMIT_BUTTON_PLACEHOLDER","SUBMIT_LABEL","CLOSE_BUTTON_PLACEHOLDER","CLOSE_LABEL","CONTENT_PAGE_HEADING","NAME_INPUT_LABEL","SURNAME_INPUT_LABEL","CREATE_APPLICATION_LABEL","ERF_INPUT_LABEL","ADDRESS_INPUT_LABEL","WELCOME_HEADING","WELCOME_HEADING_APPLICATION","VIEW_DOCUMENTS_LINK_TEXT","APPLICATIONS","PLEASE_CLICK_TEXT","MORE_INFO_TEXT","DETAILS_HEADING","LOCATION_HEADING","PROFESSIONAL_BODIES_HEADING","DECEASED_HEADING","FAMILY_HEADING","APPLICANT_HEADING","APPLICANT_AGENT_HEADING","STATUS_HEADING","WELCOME_MESSAGE","STATUS_MESSAGE","AddDocumentDialogConstants","DOCUMENT_TYPE_LABEL","FILE_LABEL","SELECT_FILE_LABEL","CANCEL_BTN_PLACEHOLDER","DOCUMENT_TYPE_FORM_CONTROL","DESCRIPTION_FORM_CONTROL","FILE_NAME_FORM_CONTROL","SAVE_BTN_LABEL","DOCUMENT_TYPE_ERR_MSG","DESCRIPTION_ERR_MSG","NO_FILE_UPLOADED_ERR_MSG","UPLOADED_FILE_TOO_BIG_ERR_MSG","UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG","SaLongDatePipe","saLongDatePipe","addDocumentForm","documentTypeLabel","fileLabel","selectFileLabel","documentTypeFormControlName","fileNameFormControlName","saveBtnPlaceholder","uploadedFiles","documentTypeErrMsg","descriptionErrMsg","noFileUploadedErrMsg","uploadedFileTooBigErrMsg","filetypeNotAllowedErrMsg","fileDetails","maxFileSize","allowedFileTypes","documentUploadedBy","uploadDocumentObservableSubscription","maximumSize","agsSupportedAttachmentFileTypes","split","userInfo","lastName","firstName","onFileSelected","file","files","uploadedFileSize","fileExtension","pop","fileTypeAllowed","allowedFileType","onCancelBtnClicked","onSaveBtnClicked","uploadAttachment","deleteAttachment","stopPropagation","documentType","reader","FileReader","fileString","readAsDataURL","onloadend","readyState","DONE","bytes","substring","AppId","ModuleId","FileName","Data","Description","AttachmentType","ComponentType","AFLAPortalObjectId","UploadedBy","DELETE_LABEL","EditDocumentsDialogConstants","editDocumentForm","cancelBtnLabel","saveBtnLabel","fileBlob","deleteUploadDocumentsObservableSubscription","getAttachmentFileContent","setFormValues","markAllControlsAsTouched","editedDoc","deletedParams","Add","Update","CreateApplicationUtilsConstants","duplicatePropertyErrorMessage","savedProperties","propertyFormGroups","propertyFormGroup","selectedPropertySgCode","setTrueCentroidOnNewProperty","Collection","Extent","BookmarkComponent","addBookmarks","bookmarksCollection","bookmarks","bookmark","add","viewpoint","targetGeometry","thumbnail","reactiveUtils","DrawBufferCheckboxComponent","toggleBufferEvent","bufferLabel","toggleBuffer","bufferTool","removeAttribute","setAttribute","addBufferCheckbox","mapView","checkBoxBuffer","getElementsByTagName","when","ready","panel","querySelectorAll","geometryEngineAsync","Graphic","DrawBufferToolbarComponent","activeDrawTool","buffValue","buffType","addBufferWindow","bufferWindow","widget","watch","activeTool","switchTollTip","tipText","toolTip","addBuffer","gLayer","buffEnabled","simpleFillSymbol","color","outline","style","toolGeo","geodesicBuffer","buffer","bufferGraphic","symbol","DrawToolRemoveComponent","addRemoveAllButton","graphicsLayer","bufferLayer","btnRemoveAll","findLayerById","container","appendChild","section","ExtentComponent","addExtentTool","textContainer","textExtent","textSpatialRef","textCenter","textZoom","updateExtent","stationary","xmin","xmax","ymin","ymax","spatialReference","wkid","center","y","zoom","LayerListComponent","layerActions","actionsSections","className","layerActionTrigger","selectedLayer","action","opacity","MapService_1","MapView","esriConfig","GraphicsLayer","MapImageLayer","SpatialReference","urlUtils","FeatureLayer","TileLayer","ApiModuleMapConstants","identify","rxjsOperators","ImageryLayer","ImageryTileLayer","VectorTileLayer","WMTSLayer","WMSLayer","Location","LOD","LayerSearchSource","MapDefaults","baseMap","actionPropertyOwnerEnabled","actionGraveEnabled","layersLoadedSubject","$layersLoaded","removeAllMapToolGraphicsSubject","layerTokens","isSysAdmin","mapFilter","_mapDefaults","_mapView","selectionLayers","layersLoading","selectedPropertySubject","selectedPropertyOwnerSubject","$selectedOwnerProperty","selectedGraveSubject","$selectedGrave","selectedBaySubject","selectedPOISubject","selectedStreetSubject","proceedMapLoading","$proceedMapLoading","authUserInformation","applicationLayer","httpGetSubscription","drawGraphic","addGraphicsLayer","layers","listMode","removeGraphicsLayer","getStartApplicationRoute","setProceedMapLoading","mapViewEl","mapDefaults","getMapView","nativeElement","removeAllMapToolGraphics","fetchModuleData","showOnlyOrganisationMaps","showApplicationsAndBasemapLayers","$orderby","getOrganisationId","FUNCTION_GET_MODULE_FOR_AFLA_PORTAL","urls","loadedIds","mapOrder","addProxyRule","addedLayer","addLayer","defaultVisibility","foundAppLayer","APPLICATION_LAYER","paramsIndex","paramsDomain","mapIndex","printServiceURL","mapDomain","tokenRequestParams","getTokenRequestParams","getLayerTokenHeaders","MapServiceId","Authorization","authorization","apiUrl","api","server","getLayerToken","URL_LAYER_TOKEN","token","layerToken","l","auth","checkIfMapsAreLoaded","setProxySettings","urlPrefix","urlInterceptor","addGeometriesAsGraphics","clearBeforeAdd","addGraphics","transformGeometryToGraphic","externalEsriLoader","assetsPath","prepareExternalUrl","executeIdentifyTask","canShowPopups","mapPoint","mapExtent","feature","fields","fieldName","popupTemplate","fieldInfos","showPopup","executeQueryTask","popupEnabled","canShowPropertyAction","canShowPropertyOwnerAction","canShowGraveAction","canShowBayAction","canShowPOIAction","canShowStreetAction","query","distance","getBufferByModule","units","alias","field","actions","propertyAction","image","bayAction","propertyOwnerAction","poiAction","streetAction","graveAction","addActions","filterApplicationsByAuthUser","authUser","subLayers","sublayers","sublayer","definitionExpression","visible","isProcessing","popup","selectedFeature","setTimeout","checkForSysAdmin","fetched","isSysadminAdmin","addExtent","domain","AFLA_PORTAL_APPLICATION_LAYER","layerAdded","PROPERTY_LAYER","legendEnabled","dockOptions","breakpoint","buttonEnabled","position","querySelector","shadowRoot","graphics","selectedGeometrySymbols","mesh","goTo","expand","createMapView","mapProperties","basemap","mapViewProperties","levelOfDetails","lodIndex","defaultMapScales","scale","lod","level","levelValue","constraints","lods","ui","move","defaultExtent","addDraw","addSearch","addBasemaps","addMeasure","addLegend","addLayerList","addBookmark","addHome","interceptors","before","startsWith","identityToken","$authenticationToken","tokenChange","requestOptions","webMapObj","Web_Map_as_JSON","updatedWebMapObj","operationalLayers","legendLayer","layoutOptions","legendOptions","lt","after","getElementsByClassName","link","defaultPrevented","endPointUrl","subscribeToMapsLoaded","addMapsInSearchComponent","searchWidget","isSelectionLayer","loadedMapLayer","source","prepareSearchSource","sources","forbiddenFields","suggestionTemplate","searchFields","exactMatch","withinViewEnabled","suggestionsEnabled","maxSuggestions","minSuggestCharacters","userMap","defaultQueryBuffer","isStreetNamingModule","BasemapGallery","Expand","Sketch","Measurement","Legend","LayerList","Search","Bookmarks","MeasureComponent","CoordinateConversion","SearchComponent","Home","drawRemoveAll","bufferCheckbox","measureTool","extentTool","layerList","expandableWidgets","basemapGallery","view","portal","useVectorBasemaps","addToolExpand","defaultCreateOptions","mode","createElement","Measure","linearUnit","areaUnit","initializeMeasureTool","btnMeasure","legend","listItemCreatedFunction","editingEnabled","getCustomSources","allPlaceholder","includeDefaultSources","searchMultipleResults","homeBtn","tool","icon","expandTooltip","expandIcon","t","collapse","btnArea","btnLocation","btnDistance","btnRemove","switchToArea","switchToDistance","switchToLocation","removeMeasurements","classList","PopupTemplate","customGeolocators","geoLocator","addLocatorSource","memoryCollection","markerSymbol","createMarkerSymbol","pointGraphics","determineCoordinate","longitude","latitude","createPointGraphic","geometryType","Postal","locatorSearchSource","searchSources","countryCode","PropertySearchOption","ApiPropertyAndLeaseConstants","ApiTownPlanningConstants","ApiBuildingPlansConstants","ApiCemeteryConstants","ApiWayleaveConstants","ApiElectricalConnectionConstants","ApiDemolitionManagementConstants","ApiInformalTradeConstants","ApiAdvertisingConstants","ApiBusinessLicenceConstants","mapLocation","mapLocationAsObservable","isApplicationLoadedFromSearchPageSubject$","propertyUrl","addMapLocatorLinks","setMapLink","link2","eLodgementComplete","setViewApplicationLink","setCreateApplicationLink","OPEN_APPLICATION_TEXT","clickAction","getApplicationSelected","getURLForModule","systemPrefix","FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS","FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS","FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS","FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS","getParamsForModule","selectedMapLocator","VIEW_ON_MAP_TEXT","changeMapLocation","clearURLList","setURL","searchType","Property","findApplication","getSelectedApplicationGeometry","returnValue","setGeometry","searchApplicationGeometry","cemeteryApplication","applicationGeometry","propertiesGeometry","graves","grave","wayleaveApplication","applicationPolygon","applicationLine","advertisingApplication","isErrorState","isSubmitted","submitted","esriBugExceptions","messagesToIgnore","handleError","rejection","GLOBAL_ERROR_MESSAGE","minLengthArray","c","libphonenumber","invalidErrorObj","phoneUtil","PhoneNumberUtil","getInstance","validString","checkAgainstStrings","number","parseAndKeepRawInput","validNumber","isValidNumber","setError","acceptableCharacters","validCharacter","_window","animate","transition","trigger","AlertComponent","alerts","removeAlert","cssClass","Info","animations","ContentMenuComponent","pageHeading","menuItems","relativeLinks","selectedModule","selectedOrganisationName","getModuleInformation","checkState","routeToMenuItem","menuItem","relativeTo","DocumentTreeViewComponent","nodes","displayField","descriptionField","downloadField","columns","useVirtualScroll","nodeHeight","isExpandedField","HelpModalComponent","helpMessage","closeBtnPlaceholder","onCloseBtnClicked","InputComponent","placeHolder","parentFormGroup","requiredErrorText","setFormControlName","addToFormGroup","defaultPlaceHolder","random","hasRequiredError","getFormControl","hasErrors","getFirstErrorAvailable","addControl","getValidators","validatorsList","PageHeadingComponent","routerParamsService","heading","subheading","moduleHeading","organisationHeading","currentModule","currentOrganisation","onlyValidParamsSubscription","systemModulesSubscription","listenForRouteParamChanges","setModuleHeadings","onlyValidParams","param","organisationid","$systemModules","PrimaryButtonComponent","MatBottomSheetRef","PwaInstallBottomSheetComponent","bottomSheetRef","install","dismiss","forwardRef","AddRecipientModalComponent","FormBuilder","NG_VALIDATORS","NG_VALUE_ACCESSOR","RecipientListConstant","RecipientsHeadingLookup","EditRecipientModalComponent","ConfirmDeleteModalComponent","RecipientListComponent","formBuilder","stepMetaRecipientGroups","showRecipientsGroupsDropdown","disableAddRecipientButton","disableEditRecipientButton","disableDeleteRecipientButton","hideFilter","configurableLabel","hideAddButton","hideEditButton","hideDeleteButton","showAllFormFields","formName","tableSelection","recipientListForm","groupsOptions","showDefaultCommunicationMethods","metadataPropertyNotSetErrMsg","newRecipients","recipient","buildRecipientGroupsArray","onChange","onTouched","registerOnTouched","fn","registerOnChange","initialiseForm","configureComponentOnInit","writeValue","setDisabledState","validate","groupsFromMetadata","showDefaultCommunicationMethod","newRecipient","recipientsAlreadyInTheTable","generateTempId","originalRecipient","selectedRecipientGroups","groupsStringArray","recipientToEdit","showRecipientGroupsDropdown","editedRecipient","ItemIndex","deleteRecipients","recipientsToBeDeleted","len","loadRecipient","overrideGroup","appendToList","onRecipientTypeChanged","selectedRecipient","radioButtonValue","emailField","loadAllRecipients","stepMetaPropertyNotSetErrMessage","propertyName","recipientGroups","groupNameString","getGroupsFromMetadata","showOrHideAddRecipientButton","showOrHideEditRecipientButton","showOrHideDeleteRecipientButton","checkOrganisationSettings","standardizeRecipientGroupsObject","uuidValue","k","randomValue","organisationSettings","getOrganisationSettings","setDefaultCommunicationSettings","disableCommunicationMethods","organisationInformation","getOrganisationInformation","isSMSEnabledFromOrganisationSettings","enableSms","hasSMSProvider","smsProvider","useExisting","RecipientHeadingEnum","RecipientSelectConstants","DefaultRequiredFields","UcFirstPipe","upperFirst","isGroupsComingFromMetadata","showGroupsDropdown","disableFilter","recipientForm","Validator","recipientFormLabelHeading","provinceOptions","countryOptions","maritalStatusOptions","MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS","employmentStatusOptions","EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS","selectOptionText","sameAsResidentialChecked","onChangeSubscription","defaultRequiredFields","recipientGroupSettings","verifiedSACAPNumber","showNameField","showSurnameField","showHomeTelephoneField","showWorkTelephoneField","showCellphoneField","showEmailField","showOrganisationField","showDesignationField","showProfessionalBodyField","showProfessionalBodyRegNumField","showStreetAddressField","showStreetSuburbField","showStreetCityField","showStreetProvinceField","showStreetCountryField","showStreetCodeField","showPostalAddressField","showPostalSuburbField","showPostalCityField","showPostalProvinceField","showPostalCountryField","showPostalCodeField","showClientVatNumberField","showIdNumberField","showMaritalStatusField","showRelativesFullNameField","showRelativesContactNumberField","showRelativesAddressField","showEmploymentStatusField","showEmployersNameField","showEmployersContactNumberField","showEmployersAddressField","homePhoneTelephoneLabel","homeTelePhoneLabel","workTelephoneLabel","cellphoneLabel","defaultCommunicationMethodLabel","emailRadioButtonLabel","smsRadioButtonLabel","emailLabel","organisationLabel","clientVatNumberLabel","designationLabel","professionalBodyHeader","professionalBodyLabel","relativeDetailsBodyLabel","employersDetailsHeader","employerDetailsHeader","maritalStatusLabel","relativesFullNameLabel","relativesContactNumberLabel","relativesAddressLabel","employmentStatusLabel","employersNameLabel","employersContactNumberLabel","employersAddressLabel","professionalBodyRegNoLabel","streetAddressHeader","streetAddressLabel","streetSuburbLabel","streetCityLabel","streetProvinceLabel","streetCountryLabel","streetCodeLabel","postalDetailsHeader","postalAddressLabel","postalSuburbLabel","postalCityLabel","postalProvinceLabel","postalCountryLabel","postalCodeLabel","sameAsStreetAddressLabel","groupsHeader","groupsLabel","defaultComponentName","validationMessage","SACAPRegistrationLabel","sacapRegistrationHeader","sacapRegistrationNumberLabel","sacapRegistrationLabel","sacapVerificationLabel","sacapVerificationButtonLabel","idFormControlName","jobIdFormControlName","moduleIdFormControlName","nameFormControlName","nameFormControl","surnameFormControlName","surnameFormControl","homePhoneFormControlName","homeTelePhoneFormControl","workTelephoneFormControlName","workTelephoneFormControl","cellphoneFormControlName","defaultCommunicationMethodFormControlName","emailFormControlName","organisationFormControlName","clientVatNumberFormControlName","designationFormControlName","professionalBodyFormControlName","professionalBodyRegNoFormControlName","maritalStatusFormControlName","idNumberFormControlName","relativesFullNameFormControlName","relativesContactNumberFormControlName","relativesAddressFormControlName","employmentStatusFormControlName","employersNameFormControlName","employersContactNumberFormControlName","employersAddressFormControlName","streetAddressFormControlName","streetSuburbFormControlName","streetCityFormControlName","streetProvinceFormControlName","streetCountryFormControlName","streetCodeFormControlName","postalAddressFormControlName","postalSuburbFormControlName","postalCityFormControlName","postalProvinceFormControlName","postalCountryFormControlName","postalCodeFormControlName","groupsFormControlName","groupsStringArrayFormControlName","sacapRegistrationNumberFormControlName","sacapRegistrationNumberFormControl","sacapRegistrationVerifiedFormControlName","sacapRegistrationNumberVerifiedFormControl","selectOptionTextOption","maximunLengthForThentyWord","maximunLengthForFiftyWord","maximunLengthForHundredWord","maximunLengthForTwoFiftyWord","maximunLengthFiveHundredWord","requiredFieldsPlaceHolder","requireFieldKey","getRecipientGroupSettingsSubscription","listenToClearRecipientSubscription","verifySACAPRegistrationSubscription","maritalStatus","relativesFullName","relativesContactNumber","relativesAddress","employmentStatus","employersName","employersContactNumber","employersAddress","setRecipientGroupsFromTheGroupsStringArray","checkIfPostalDetailsIsTheSameAsResidentialDetails","loadRecipientGroupSettings","resetFormControls","subscribeToFormChanges","subscribeToClearForm","unsubscribe","onResidentialInputEntered","inputValue","postalFormControl","onSameAsResidentialChecked","checkBoxStatus","copyStreetDetailsDataToPostalDetailsFields","clearPostalDetailsValidators","enablePostalDetails","restorePostalDetailsValidators","enablePostalSelects","disablePostalSelects","markControlAsTouched","updateModel","currentGroupStringArray","groupStringValue","onRadioButtonChanged","selectedMethodOfCommunication","preferredMethodOfCommunication","emailFormControl","cellphoneFormControl","recipientGroup","isCellPhoneRequiredFromMetaData","isCellphoneFormFieldRequiredInTheMetadata","isEmailRequiredFromMetadata","isEmailFormFieldRequiredInTheMetadata","setEmailFormFieldAsRequired","setCellphoneFormFieldAsRequired","clearCellphoneFormFieldRequiredValidation","onVerifySacapDetails","constituentId","verifySACAPRegistration","professionalNumber","setVerifiedSACAPNumber","setSACAPRecipientData","setSACAPRecipientVerification","clearSACAPRecipientVerification","checkSACAPOptions","populateVerifiedSACAPNumber","hasValidator","minLength","getRecipientGroupSettings","setRequiredFields","groupNameFromStringArray","groupFromMetadata","DEFAULT_COUNTRY","populateGroupsDropdown","getRecipientGroupsSettings","groupSettings","populateRecipientGroups","groupLookup","postalDetailsMatchResidentialDetails","checkAddressDetails","disablePostalDetails","setGroupsFromMetadata","setDisableEditing","setConfigurableLabel","setJobId","showOrHideGroupsDropdown","configuration","loadRequiredFields","listenToClearRecipient","isCleaned","formatObjectKey","showOrHideControl","wordArr","word","charAt","keyToChange","formattedString","isCellphoneRequired","getPropertyThatMatchesDataCase","isEsmailRequired","clearEmailFormFieldRequiredValidation","memberData","firstname","lastname","sacapControl","selectGroupsLabel","maxlength","MAX_LENGTH_INPUT_CONTROL_VALIDATION","RecipientFormConstants","newRecipientForm","emailRequired","smsRequired","newRecipientFormLabelHeading","showSave","checkRequiredFields","checkCommunicationMethods","setFormDefaults","activeModalService","deleteConfirmationText","deleteBtnPlaceholder","onBtnDeleteClicked","editRecipientForm","groupsOptionsObservable","selectedGroupsOptionsSubject","getGroupsStringArray","RecipientFilterConstants","RecipientFilterComponent","disableAddRecipientBtn","isUsedInRecipientSelect","loadAllRecipientsEventEmitted","loadRecipientEventEmitted","stepMetaGroups","displayGroupsLabel","selectAllFromGroupBtnLabel","selectedGroupsFromDropdown","selectedGroupOptions","selectedRecipientFromDropdown","selectedRecipientOptions","displayFilterGroups","showSelectRecipientBtn","recipientsFromDb","showSelectAllRecipientsBtn","AddOrSelectRecipientLabel","displayAddButton","displayGroupsChecked","addRecipientBtnLabel","recipientGroupsFromMetadata","getRecipients","showOrRemoveFilterButtons","onDisplayGroupsChangedChecked","consolidatedGroup","onSelectGroupsChanged","groupSelected","filterRecipients","onSelectRecipientBtnClicked","loadRecipients","onSelectedRecipientChanged","onSelectAllFromGroupBtnClicked","onAddRecipientBtnClicked","fullName","createConsolidatedGroups","generateFilterObject","populateGroupsDropDown","populateRecipientsDropDown","configureFilterComponent","configureForRecipientSelect","configureForRecipientList","addOrSelectText","textLabel","sortGroupsAlphabetically","ApiRecipientConstants","ApiUserSettingsConstants","ApiRecipientVerificationConstants","ApiRecipientGroupSettingsConstants","clearRecipientEvent","FUNCTION_GET_PORTAL_RECIPIENT","FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP","getRecipientGroupsLookupObservable","$orderBy","mapStepMetaRecipientGroups","clearRecipientTrigger","isCleared","userId","isInternal","FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS","SecondaryButtonComponent","ViewApplicationStepperComponent","API_V2","FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT","FUNCTION_SET_PROPERTIES","FUNCTION_RESET_APPLICATION_VALUES","FUNCTION_GET_GENERATE_INVOICE","FUNCTION_GET_APPLICATION_TYPE","FUNCTION_CREATE_PARTIAL_APPLICATION","FUNCTION_GET_GENERATE_REQUIRED_DOCUMENTS_CHECKLIST","ApiApplicationSearchConstants","FUNCTION_GET_USERS_FOR_MODULE","FUNCTION_GET_TOWNPLANNERS","FUNCTION_GET_APPLICATIONS_BY_USER","FUNCTION_GET_TP_APPLICATIONS_BY_USER","FUNCTION_GET_EH_APPLICATIONS_BY_USER","FUNCTION_GET_BP_APPLICATIONS_BY_USER","FUNCTION_GET_PL_APPLICATIONS_BY_USER","FUNCTION_GET_CM_APPLICATIONS_BY_USER","FUNCTION_GET_W_APPLICATIONS_BY_USER","FUNCTION_GET_DM_APPLICATIONS_BY_USER","FUNCTION_GET_RC_APPLICATIONS_BY_USER","FUNCTION_GET_EC_APPLICATIONS_BY_USER","FUNCTION_GET_TM_APPLICATION_BY_USER","FUNCTION_GET_CM_APPLICATIONS_WITH_FAMILIES","FUNCTION_GET_CM_APPLICATIONS_WITH_GRAVE","FUNCTION_GET_PL_APPLICATIONS_WITH_GROUPS","FUNCTION_UPLOAD_ATTACHMENT","FUNCTION_SET_PROFESSIONAL_BODIES","FUNCTION_GET_FAMILY","FUNCTION_SET_FAMILY","FUNCTION_SET_DETAILS","FUNCTION_SET_DECEASED","ApiCommunicationConstants","FUNCTION_GET_COMMUNICATION_BY_JOBID","FUNCTION_GENERATE_EMAIL","FUNCTION_SET_TRADERS","FUNCTION_DELETE_MULTIPLE_LOOKUPS","FUNCTION_GET_LOOKUP_ATTACHMENT","FUNCTION_UPLOAD_LOOKUP_ATTACHMENT","FUNCTION_DELETE_ALL_LOOKUPS","FUNCTION_DELETE_MULTIPLE_MODULE_MAPS","FUNCTION_DELETE_ALL_MODULE_MAPS","ApiModuleSettingConstants","FUNCTION_GET_AFLA_PORTAL_SETTINGS","FUNCTION_REJECT_APPLICATION","FUNCTION_ACCEPT_APPLICATION","FUNCTION_GET_APPLICATIONS","FUNCTION_REINSTATE_ORGANISATION","FUNCTION_SUSPEND_ORGANISATION","FUNCTION_UNSUSPEND_USER_FROM_ORGANISATION","FUNCTION_SUSPEND_USER_FROM_ORGANISATION","FUNCTION_REMOVE_USERS_FROM_ORGANISATION","FUNCTION_REMOVE_USER_FROM_ORGANISATION","FUNCTION_GET_USERS","FUNCTION_APPLY_TO_ORGANISATION","FUNCTION_GET_LESSEES","FUNCTION_GET_BUYERS","FUNCTION_GET_SELLERS","URL_POST","FUNCTION_CHECK_SECURE_URL","QUERY_PREFIX","PARAMETER_PREFIX","ApiRatesCertificateConstants","FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS","FUNCTION_DELETE_MULTIPLE_RECIPIENTS","FUNCTION_DELETE_GROUPS","FUNCTION_ADD_GROUPS","FUNCTION_GET_RECIPIENT_FROM_TABLE_AND_FIELD","FUNCTION_GET_RECIPIENTS_BY_GROUP","FUNCTION_GET_STEP_META_CONFIGURATION","FUNCTION_VALIDATE_STEP_META_JSON_SCHEMA","ApiStreetNamingConstants","FUNCTION_SET_ZONES","FUNCTION_SET_APPLICATION_TYPES","FUNCTION_GET_DISTINCT_APPLICATION_TYPES","ApiTrainingConstants","FUNCTION_DELINK_MODULE_ROLE","FUNCTION_DELINK_SYSTEM_ROLE","FUNCTION_LINK_MODULE_ROLE","FUNCTION_LINK_SYSTEM_ROLE","RETRIEVE_MY_PORTAL_APPLICATIONS_URL","HAS_OPEN_PORTAL_APPLICATIONS","SAVE_DEFAULT_APPLICANT_AGENT","RETRIEVE_DEFAULT_APPLICANT_AGENT","FUNCTION_GET_WAYLEAVE_APPLICATIONS_BY_USER","FUNCTION_SET_LOCATION","ApiWorkflowConstants","FUNCTION_SAVE","FUNCTION_CONTINUE","FUNCTION_AD_HOC_MOVE_TO_WORKFLOW_STEP","FUNCTION_WITHDRAW_APPLICATION","FUNCTION_GET_WORKFLOW_CLOSED_STATES","FUNCTION_GET_WORKFLOW_STEP_NAMES","FUNCTION_GET_STEP_META","FUNCTION_JOB_CURRENT_STEPS","FUNCTION_GET_ALL_MOVABLE_STEP_TYPES","FUNCTION_MOVE_TO_WORKFLOW_STEP","FUNCTION_GET_JOB_TRACKER_DATA","FUNCTION_GET_JOB_WORKFLOW_IMAGE","FUNCTION_FLUSH_CACHES","FUNCTION_GET_ALL_STEP_TYPES","FUNCTION_SAVE_START","FUNCTION_CONTINUE_START","FUNCTION_SAVE_CREATE_INVOICE","FUNCTION_CONTINUE_CREATE_INVOICE","FUNCTION_SAVE_END","FUNCTION_CONTINUE_END","FUNCTION_SAVE_GEN_ASSIGN_RECIPIENT","FUNCTION_CONTINUE_GEN_ASSIGN_RECIPIENT","FUNCTION_SAVE_GEN_AWAIT","FUNCTION_CONTINUE_GEN_AWAIT","FUNCTION_SAVE_GEN_CAPTURE_ASSESSMENT","FUNCTION_CONTINUE_GEN_CAPTURE_ASSESSMENT","FUNCTION_SAVE_GEN_CAPTURE_PROOF_OF_PAYMENT","FUNCTION_CONTINUE_GEN_CAPTURE_PROOF_OF_PAYMENT","FUNCTION_SAVE_GEN_CAPTURE_RESULT","FUNCTION_CONTINUE_GEN_CAPTURE_RESULT","FUNCTION_SAVE_GEN_PLACEHOLDER","FUNCTION_CONTINUE_GEN_PLACEHOLDER","FUNCTION_SAVE_GEN_QUESTION","FUNCTION_CONTINUE_GEN_QUESTION","FUNCTION_SAVE_GEN_RECIEVE_COMMS","FUNCTION_CONTINUE_GEN_RECIEVE_COMMS","FUNCTION_SAVE_GEN_REPORT","FUNCTION_CONTINUE_GEN_REPORT","FUNCTION_SAVE_GEN_REQUEST_SURVEY_123","FUNCTION_CONTINUE_GEN_REQUEST_SURVEY_123","FUNCTION_SAVE_GEN_SEND_COMMS","FUNCTION_CONTINUE_GEN_SEND_COMMS","FUNCTION_SAVE_GEN_SET_CONDITIONS","FUNCTION_CONTINUE_GEN_SET_CONDITIONS","FUNCTION_SAVE_GEN_SET_FIELDS","FUNCTION_CONTINUE_GEN_SET_FIELDS","FUNCTION_SAVE_GEN_SET_GRAVE","FUNCTION_CONTINUE_GEN_SET_GRAVE","FUNCTION_SAVE_GEN_START_TIMEOUT","FUNCTION_CONTINUE_GEN_START_TIMEOUT","FUNCTION_SAVE_GEN_STOP_TIMEOUT","FUNCTION_CONTINUE_GEN_STOP_TIMEOUT","FUNCTION_SAVE_GEN_UPDATE_CHECKLIST","FUNCTION_CONTINUE_GEN_UPDATE_CHECKLIST","FUNCTION_SAVE_VERIFY_INVOICE","FUNCTION_CONTINUE_VERIFY_INVOICE","ApiZoningCertificateConstants","FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS","TEMPLATE_TYPES","YES_NO","APPLICATION_DURATION_LOOKUPS_A","MODULE_ID_FILTER_STRING","EDIT_TITLE","ADD_TITLE","NAME_FORM_CONTROL","TYPE_FORM_CONTROL","URL_FORM_CONTROL","IS_AUTHENTICATED_CONTROL","AUTH_TYPE_CONTROL","CLIENT_ID_CONTROL","SECRET_CONTROL","USERNAME_CONTROL","PASSWORD_CONTROL","MAP_ORDER_CONTROL","SELECTION_LAYER_CONTROL","DEFAULT_VISIBILITY_CONTROL","SHOW_POPUPS_CONTROL","NAME_FORM_TEXT","TYPE_FORM_TEXT","URL_FORM_TEXT","IS_AUTHENTICATED_TEXT","AUTH_TYPE_TEXT","CLIENT_ID_TEXT","SECRET_TEXT","MAP_ORDER_TEXT","SELECTION_LAYER_TEXT","DEFAULT_VISIBILITY_TEXT","SHOW_POPUPS_TEXT","NAME_FORM_PLACEHOLDER","TYPE_FORM_PLACEHOLDER","URL_FORM_PLACEHOLDER","AUTH_TYPE_FORM_PLACEHOLDER","CLIENT_ID_FORM_PLACEHOLDER","SECRET_FORM_PLACEHOLDER","USERNAME_FORM_PLACEHOLDER","PASSWORD_FORM_PLACEHOLDER","MAP_SERVICE_TEXT","INVALID_ESRI_URL","INVALID_ESRI_AUTH","DUPLICATE_NAME_MESSAGE","DUPLICATE_URL_MESSAGE","PROPERTY_OWNER_LAYER","CEMETERY_LAYER","GRAVE_LAYER","SERVICE_NAME_MAX_LENGTH","APPLICATION_LAYER_ID_COLUMN","maxLength","authType","secret","SUSPEND_LABEL","REINSTATE_LABEL","SELECT_LABEL","SEND_LABEL","REFRESH_LABEL","HELP_INFO_TEXT","FILE_CONTROL_DEFAULT","PHONE_NUMBER_VALIDATION_MESSAGE","EMAIL_VALIDATION_MESSAGE","NUMERIC_INPUT_CONTROL_VALIDATION","DATE_INPUT_CONTROL_VALIDATION","DECIMAL_INPUT_CONTROL_VALIDATION","INVALID_INPUT_CONTROL_VALIDATION","MINIMUM_NUMERIC_INPUT_CONTROL_VALIDATION","UNIQUE_INPUT_CONTROL_VALIDATION","USED_VALUE_INPUT_CONTROL_VALIDATION","EMAIL_NOT_SENT","CONTINUE_CREATE_APPLICATION","FORM_DATA_CLEARED","FORM_DATA_SAVED","BOOKMARK_SAVED","PHONE_VALIDATOR_PATTERN","URL_VALIDATOR_PATTERN","DECIMAL_VALIDATOR_PATERN","REASSIGN_TITLE","SUSPEND_MESSAGE","UNSUSPEND_MESSAGE","REASSIGN_MESSAGE","ADD_SUCCESS","ADD_FAILED","UPDATE_SUCCESS","UPLOAD_SUCCESS","UPDATE_FAILED","ADD_DOCUMENT_FAIL","REMOVE_SUCCESS","REMOVE_FAILED","SUSPEND_SUCCESS","SUSPEND_FAILED","REINSTATE_SUCCESS","ITEM_NOT_SUSPENDED_LABEL","ITEM_ALREADY_SUSPENDED_LABEL","ITEM_SUSPENDED","SUBMIT_SUCCESS","APPLICATION_CREATED_PART1","APPLICATION_CREATED_PART2","CLIPBOARD_MESSAGE","CLIPBOARD_NO_DATA","BAD_REQUEST_MESSAGE","EXPORT_NO_DATA_MESSAGE","UNKNOWN_MODULE_ERROR_MESSAGE","NO_SEARCH_TEXT_ENTERED_MESSAGE","NO_SEARCH_SELECTED_MESSAGE","INSUFFICIENT_PERMISSIONS","MISSING_METADATA","STEP_CONTINUE_FALSE","DASHBOARD_FILTERS","LatestApplications","OverdueApplications","ApplicationStatus","OPTION_CHECKBOX_ID","ATTACHMENT_TYPE","SEARCH_BY_DEFAULT","MAP_TEXT","ENLARGE_MAP_TEXT","SHRINK_MAP_TEXT","ADVANCED_SEARCH_TEXT","NEXT_STEP_TEXT","SAVE_STEP_TEXT","VIEW_APPLICATION_TEXT","NEXT_STEPS_LABEL_TEXT","UNKNOWN_ORGANISATION","PROPERTY_SEARCH_STATUS","APPLICATION_SEARCH_STATUS","ARCGIS_COLUMN_ID","INPUT_TYPE_TEXT","INPUT_TYPE_TEXTAREA","CURRENCY_SYMBOL","DECIMAL_PLACES","NO_APPLICATION_LAYER","EXPORT_LABEL","EXPORT_FILENAME_PLACEHOLDER_TEXT","large","small","ROLES_ENUM","Admin","Login","User","No","SYSTEM_ROLES_ENUM","SuperAdmin","OrganisationAdmin","FIELD_TYPE","NumberType","StringType","DateType","DecimalType","DropdownType","SERVER_MESSAGE_LISTENER_EVENT","SEND_SERVER_MESSAGE_ACTION","SERVER_HUB_CONNECTION_ERROR_MESSAGE","PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR","NO_NOTIFICATION_BROWSER_SUPPORT_ERROR","DAYS_LIMIT","ADD_NOTE_PLACEHOLDER","NOTE_CHARACTER_LIMIT","CREATED_USER_LABEL","CREATED_DATE_LABEL","LAST_EDITED_USER_LABEL","LAST_EDITED_DATE_LABEL","OBJECT_ID","GLOBAL_ID","MODULE_ID","JOB_ID","SYSTEM_FIELD_LIST","RECIPIENT_FIELDLIST","ADDRESS_JOINED","INVOICE_DETAILS_LABEL","NOT_BUSY_INDICATOR","GET_MY_PORTAL_INFORMATION_URL","SIGNAL_R_HUB_SUFFIX","original","prototype","ElementRef","HostBinding","HostListener","DragDropDirective","background","uponFileDropped","onDragOver","onDragLeave","ondrop","dataTransfer","$iAuthenticated","handleActivation","canActivateChild","childRoute","init","ProfessionalBodyRegNum","TrueCentroidResultErrorObject","details","messages","ModuleConfig","memo","AppViewShortDatePipe","HighlightPipe","SaShortDatePipe","SafeHtmlPipe","UtcDatePipe","AStrategyService_1","ApplicationSearchService","OdataQueryService","HttpParams","ODataAction","ViewApplicationDocumentationComponent","ViewApplicationDetailsAComponent","ViewApplicationLocationAComponent","ApplicationSearchConstants","ApplicationHeadingEnum","applicationHeadingLookup","ReferenceNumber","Applicant","ApplicationType","CreatedDate","DaysLeft","LastEditedBy","LastEditedOn","ApplicationSummaryColumnsEnum","applicationSummaryColumnsLookup","Phase","AExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_A","CreateApplicationMenuHeadings","HeaderConfigurableTextTypes","PageConfigurableTextTypes","CreateAppHeadingConfigurableTextType","Welcome","Details","Documentation","CreateAppPageConfigurableTextType","ViewApplicationMenuHeadings","ViewAppHeadingConfigurableTextType","Status","Summary","Communication","AStrategyService","saShortDatePipe","applicationSearchService","oDataQueryService","createApplicationMenuHeadings","viewApplicationComponentLookup","Advertising","defaultSearchColumns","applicationEndpoint","createApplicationComponentLookup","viewApplicationMenuHeadings","applicationSummaryColumnsMap","applicationServiceUrl","moduleUsers","expandListForApplicationPartial","createApplicationSteps","viewApplicationSteps","isFormValidSubject","isFormValidAsObservable","createAppHeadingConfigurableTextType","viewAppHeadingConfigurableTextType","createAppPageConfigurableTextType","postApplicationSubscription","getRecipientFullName","getRecipientName","getFirstRecipient","buildExpand","buildListFilter","buildFilterFromArray","initializeApplicationSummaryColumnsMap","defaultSearchModel","createdDate","daysLeft","daysUntilExpired","lastEditedBy","getLastEditedByUser","lastEditedUser","lastEditedOn","lastEditedDate","getUserName","user","getUserNameFromId","userName","mapFromApplicationEntityToApplicationSearchModel","initializeViewApplicationComponents","initializeCreateApplicationComponents","buildApplicationSearchBaseRequest","buildModuleIDFilter","createApplication","buildApplication","postApplicationService","successMessage","resetForm","saveApplicationStep","step","continueAfterSave","stepTitle","buildApplicantStep","buildDetailsStep","setAdvertisementsGeometry","buildDocumentationStep","applicationRequestDto","aApplication","moveApplicationToNextStepAfterSave","createPartialApplicationObservable","eLodgementStep","Saving","setIsFormValidSubject","getCurrentFormName","withdrawApplication","getWorkflowClosedStates","getSelectedApplicationSummaryExpand","getSearchUrlForModule","selectedSearchOption","initialiseCreateApplicationSteps","stepId","stepSubtitle","stepType","stepContent","initialiseViewApplicationSteps","getCreateApplicationStepsLookup","v","applicationHasGeometry","resetFormForStep","queryConfigurableTextLookup","propertyArray","selectedPropertyFormGroup","cleanPropertyOwners","setApplicationPointData","setApplicationPolygonData","points","geometryJSON","ConvertArcGISJsonToWkt","pointShape","selectedPropertyControl","polygonShape","permanentApplicationDuration","groundSign","flag","sandwichBoard","pylon","wallSign","billboard","buildingAttachment","projectingWallSign","wallPainted","roofSign","skySign","veranda","aerialSign","windowSign","schoolSign","combinationSign","underAwningSign","flagSign","canopy","balcony","electronicSign","developmentBoard","otherFiveYear","personResponsibleId","personResponsibleValue","removeInvalidRecipientProperties","applicantFormValue","advertisements","applicantRecipient","TpamsStrategyService","BpamsStrategyService","CemeteryStrategyService","WamsStrategyService","PlamsStrategyService","DamsStrategyService","TmamsStrategyService","EcStrategyService","ItamsStrategyService","RcStrategyService","ZcamsStrategyService","SnStrategyService","BlStrategyService","aflaModuleStrategyServiceFactory","tpamsStrategyService","bpamsStrategyService","cemeteryStrategyService","plamsStrategyService","wamsStrategyService","damsStrategyService","tmamsStrategyService","itamsStrategyService","ecStrategyService","snStrategyService","rcStrategyService","aStrategyService","blStrategyService","zcamsStrategyService","currentSelectedModuleConfigName","getCurrentlySelectedModuleConfigName","buildJobIDFilter","getConfigurationTextLookup","configurableTextFilter","odataCollection","contents","vl","BlStrategyService_1","ObjectUtils","ViewApplicationDetailsBlComponent","ViewApplicationLocationBlComponent","Agent","ErfNumber","blExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_BL","BusinessLicence","agent","applicantAgent","erfNumbers","getCommaSeparatedValuesFromListForKey","buildApplicantAgentStep","buildLocationStep","blApplication","$select","isDummy","updateGeometry","businessOwnerFormValue","notes","applicantAgentIsNullValue","applicantAgentFormValue","applicantAgentNa","applicantAgentForm","applicantAgentRecipient","applicantAgentIsNull","BpamsStrategyService_1","ViewApplicationDetailsBpamsComponent","ViewApplicationLocationBpamsComponent","ViewApplicationProfessionalBodiesBpamsComponent","BPExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_BP","CreateApplicationBpamsMenuHeadings","ProfessionalBodies","BuildingPlans","buildColumnFilter","DEFAULT_SEARCH","buildProfessionalBodiesStep","bpApplication","architectRecipient","engineerRecipients","electricalContractorRecipient","markArchitectAsRequired","markEngineerAsRequired","markElectricalContractorAsRequired","copyApplicantToArchitect","copyApplicantToEngineer","copyApplicantToContractor","decision","owner","mainBuildingsArray","mainBuilding","outBuildingsArray","outBuilding","propertyZonesArray","missingZone","getEntityColumn","searchColumn","electricalContractorIsRequired","professionalBodiesArchitectFormValue","professionalBodiesEngineerFormValue","professionalBodiesSelectElectricalContractorFormValue","CemeteryStrategyService_1","ViewFuneralParlourCmComponent","ViewFamilyMemberCmComponent","ViewDeceasedDetailsCmComponent","ViewBurialDetailsCmComponent","BurialDate","DateOfBirth","BurialOrderNumber","SerialNo","CMExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_CM","CreateApplicationCemeteryMenuHeadings","BurialDetails","DeceasedDetails","FamilyMemberDetails","FuneralParlour","ViewApplicationMenuConfigurableTextType","Cemetery","statusColumn","buildBurialDetailsStep","buildDeceasedStep","buildFamilyMemberStep","buildFuneralParlourStep","cmApplication","clearDeceasedNamesTableSubject$","burialForm","funeralParlourForm","parlourRecipient","parlourSelector","funeralParlourIsNull","burialFormValue","deceasedFormValue","familyMemberFormValue","deletedMembers","funeralParlourIsNullValue","funeralParlourIDValue","DamsStrategyService_1","ViewApplicationDetailsDmComponent","ViewLocationDmComponent","DMExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_DM","CreateApplicationDemolitionMenuHeadings","DemolitionManagement","useCompleteListForSearch","buildDemolitionDetailsStep","demolitionDetailsForm","EcStrategyService_1","ViewApplicationDetailsEcComponent","ViewApplicationProfessionalBodiesEcComponent","ViewApplicationLocationEcComponent","ECExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_EC","CreateApplicationECMenuHeadings","ElectricalConnection","buildEConnectionDetailsStep","electricalEngineerRecipients","markElectricalEngineerAsRequired","copyApplicantToElectricalEngineer","electricalEngineerNa","centroidControl","ItamsStrategyService_1","ViewApplicationDetailsItamsComponent","ViewApplicationLocationItamsComponent","ViewApplicationStakeholdersItamsComponent","ItExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_IT","Traders","mapServices","InformalTrade","buildStakeholderStep","itApplication","baysArray","tradeGoodsControl","trader","PlamsStrategyService_1","ViewApplicationDetailsPlamsComponent","ViewApplicationLocationPlamsComponent","LeaseStartDate","LeaseEndDate","LeaseApplicationStatus","LeaseType","DateOfDeedTransfer","SaleAmount","EvaluationAmount","PExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_PL","PropertyAndLease","leaseApplicationStatus","plApplication","lesseeRecipient","buyerRecipient","leaseContractNumber","leaseAccountNumber","leaseContractEscalation","leasePeriod","leaseNoticePeriod","sellerRecipient","saleAmountAlienation","dateOfDeedTransferAlienation","evaluationAmountAlienation","transferringAttorneyRecipient","leaseArea","leaseAreaId","geomLease","leaseAreaGeometryJSON","lessees","lessee","sellers","seller","buyers","buyer","RcStrategyService_1","ViewApplicationDetailsRcComponent","ViewApplicationLocationRcComponent","ViewApplicationPeopleOfInterestComponent","RCExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_RC","CreateApplicationRcMenuHeadings","PeopleOfInterest","RatesCertificate","buildRcDetailsStep","buildPeopleOfInterestStep","rcApplication","copyApplicantToTransferee","extentStringValue","purchasePriceStringValue","extentDecimalValue","purchasePriceDecimalValue","transfereeFormControlValue","transferorFormControlValue","conveyancerFormControlValue","SnStrategyService_1","ViewApplicationDetailsSnComponent","ViewApplicationLocationSnComponent","SNExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_SN","StreetNaming","snApplication","elodgementStep","elodgementComplete","locationArray","setLocationDetails","setApplicationPolygon","setApplicationLine","selectedLocationItem","selectedLocationFormGroup","lineShape","TmamsStrategyService_1","ViewApplicationDetailsTmamsComponent","ViewApplicationLocationTmamsComponent","APP_SEARCH_EXPAND_FULL_LIST_TM","CreateApplicationTrainingMenuHeadings","TrainingModule","buildTrainingDetailsStep","TrainingDetailsForm","TpamsStrategyService_1","ViewApplicationDetailsTpamsComponent","ViewApplicationLocationTpamsComponent","TPExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_TP","TownPlanning","tpApplication","typesArray","zonesArray","WamsStrategyService_1","ViewApplicationDetailsWamsComponent","ViewApplicationLocationWamsComponent","ViewApplicationProfessionalBodiesWamsComponent","WExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_W","Wayleaves","createApplicationWamsSubscription","wApplication","polylineDto","polygonDto","actualStartDate","actualEndDate","markImplementingAgentAsRequired","implementingAgentRecipient","responsibleContractorRecipient","copyApplicantToImplementingAgent","implementingAgentFormValue","engineerFormValue","contractorFormValue","ZcamsStrategyService_1","ViewApplicationDetailsZcamsComponent","ViewApplicationLocationZcamsComponent","ZCExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_ZC","CreateApplicationZcMenuHeadings","ZoningCertificate","buildZcDetailsStep","OAuthService","JwksValidationHandler","oauthService","$isNotAuthenticated","authenticationTokenSubject","isAuthenticatedSubject","setupListeners","listenForSecurityTokenServiceEvents","authConfig","useSilentRefresh","configure","loadDiscoveryDocument","setupAutomaticSilentRefresh","tokenValidationHandler","call","loadDiscoveryDocumentAndLogin","handleLoginAttempt","unAuthenticate","revokeTokenAndLogout","logOut","publishTokenValidityChange","hasValidAccessToken","handleTokenValid","localLogout","isTokenValid","hasValidIdToken","publishToken","accessToken","IsUserAuthenticated","getAccessToken","LoginService_1","MatDialog","MatDialogConfig","dialog","loginDialogues","getLoginDialogConfig","dialogConfig","disableClose","autoFocus","openLoginDialog","returnURL","loginSuccessEvent","handleDialogClosed","closeAllDialogues","afterClosed","checkReturnURL","navigateReturnURL","_moduleConfigNameLookup","addModuleConfigName","configName","removeModuleConfigName","delete","getModuleConfigName","checkModuleName","isPropertyValuationModule","PropertyValuation","isTownPlanningModule","isBuildingPlanModule","isWayleaveModule","isPropertyAndLeaseModule","isTrainingModule","isInformalTradeModule","isAdvertisingModule","isBusinessLicenceModule","getApplicationSaveDetailsObservable","getApplicationSavePropertiesObservable","OdataOperator","OdataQueryService_1","isStringCheck","expandList","filters","Filter","And","buildOperation","firstOperand","secondOperand","Contains","buildFilterWithCollectionSubQuery","filterList","buildFilterWithSubQuery","buildExpandWithFilter","In","itemCount","filterListKey","busyRequests","countBusyRequests","requestBusySubject","Set","clearRequestsOnRouteChange","updateSomeRequestBusy","change","RouterParamsService_1","paramsSnapshot","_paramsSubject","initializeParamData","listenForRouterEvents","checkIfUrlChanged","checkParamsAreDifferent","currentParams","nextParams","currentKeys","nextKeys","getParams","root","mergeParamsFromSnapshot","children","endsWith","SelectedApplicationService_1","childRefreshedSubject","applicationRefreshed","refreshUrl","selectedApplicationSubject","incompleteJobId","startNewApplication","$startNewApplication","copyOwner","$copyOwner","buildGetSingleRequest","getExpandList","setStartNewApplication","copied","fetchSelectedApplicationFromJobID","jobID","getSingleApplication","applicationList","ServerNotificationService_1","HubConnectionBuilder","LogLevel","connectionEstablished","_connectionIsEstablished","_hubConnection","_authenticationToken","buildHubUrl","getLogLevel","Debug","None","sendMessage","invoke","setupConnection","authToken","createConnection","registerServerEvents","startConnection","listenForAuthenticationTokenChanges","closeCurrentConnection","withUrl","accessTokenFactory","logger","build","handleConnectionEstablished","isConnectionActive","stop","ServerInterceptor_1","HttpErrorResponse","HttpResponse","throwError","catchError","tap","CONTENT_TYPE","authenticationToken","checkForUnAuthenticated","httpResponse","UnAuthorized","configureUrl","isRequestValidForProgressUpdate","showProgressHeader","intercept","req","handleNonApiRequest","handleApiRequest","handleUnAuthenticated","showBusySpinnerForRequest","executePipelineActions","checkIfBusyIndicatorMustShow","serverRequest","setHeaders","oldRequest","handle","handleResponse","handleHttpError","removeBusySpinnerForRequest","showResponseContent","body","clone","withCredentials","Accept","StorageBase","STORAGE_ERROR","storage","storageType","getItem","getStorage","removeItem","determineIfString","setItem","serialized","toBeDetermined","String","httpClient","systemModuleSettingsSubject","$systemModuleSettings","_configName","setupSystemModuleSettingsFetched","listenForAuthenticationChanges","getSystemModuleSettingsRequest","moduleSettings","setModuleConfigs","getSystemModuleSettings","systemModuleSetting","systemModuleSettings","ANONYMOUS_USER","organisationApplications","matDialog","systemModulesLoaded$","systemOrganisationsSubject","$systemOrganisations","systemModulesSubject","userInformationFetchedSubject","authenticatedUserSubject","setUpListeners","userInformationFetchedValue","getUserInformation","getUserInformationRequest","userInformation","handleUserInformation","foundModule","getSystemModules","OrganisationId","foundOrganisation","getOrganisations","publishAuthUserValue","publishSystemModules","publishSystemOrganisations","showDisclaimer","setupAuthenticationListener","_permissionGranted","requestPermission","createNewNotification","getPermissionRequest","permissionResponse","handlePermissionResponse","Notification","permission","removePermission","MatSelectModule","TitleCasePipe","MatTableModule","MatPaginatorModule","QuillModule","MatDividerModule","MatTooltipModule","ViewApplicationHostDirective","startDateFormControlName","endDateFormControlName","sourceFormControl","endDate","saveAs","ALLOWED_MIME_TYPES","abs","ai","aif","aifc","aiff","aim","art","asf","asx","au","avi","avx","bcpio","bin","bmp","cdf","cer","class","cpio","csh","css","dib","dtd","dv","dvi","eot","eps","etx","exe","gif","gtar","gz","hdf","hqx","htc","htm","html","ief","jad","jar","java","jnlp","jpe","jpeg","jpg","js","jsf","json","jspf","kar","latex","m3u","mac","man","mathml","me","mid","midi","mif","mov","movie","mp1","mp2","mp3","mp4","mpa","mpe","mpeg","mpega","mpg","mpv2","ms","nc","oda","odb","odc","odf","odg","odi","odm","odp","ods","odt","otg","oth","otp","ots","ott","ogx","ogv","oga","ogg","otf","spx","flac","anx","axa","axv","xspf","pbm","pct","pdf","pgm","pic","pict","pls","png","pnm","pnt","ppm","ppt","pps","ps","psd","qt","qti","qtif","ras","rdf","rgb","rm","roff","rtf","rtx","sfnt","sh","shar","sit","snd","src","sv4cpio","sv4crc","svg","svgz","swf","tar","tcl","tex","texi","texinfo","tif","tiff","tr","tsv","ttf","txt","ulw","ustar","vxml","xbm","xht","xhtml","xls","xml","xpm","xsl","xslt","xul","xwd","vsd","wav","wbmp","wml","wmlc","wmls","wmlscriptc","wmv","woff","woff2","wrl","wspolicy","z","zip","lastIndexOf","mime","newAttachementContent","Blob","fileURL","createObjectURL","cache","hasM","hasZ","isSelfIntersecting","rings","commaSeparated","isString","groupObj","setRecipient","makeDeepCopies","removeId","recipientDeepCopy","sameAsResidential","streetAddressValue","postalAddressValue","streetSuburbValue","postalSuburbValue","streetCityValue","postalCityValue","streetProvinceValue","postalProvinceValue","streetCountryValue","postalCountryValue","streetCodeValue","postalCodeValue","recipientFormGroup","standardizedRecipientGroups","recipientControl","propertyItem","WKT","ArcGIS","wkt","wkidSpatialReference","geojson","ConvertWktToGeoJson","parseOptions","sr","arcgisGeometry","ConvertGeoJsonToArcGis","convert","arcgisJson","ConvertArcGisToGeoJson","ConvertGeoJsonToWkt","testPerformanceLoop","startTime","endTime","timeDiffms","timeDiffSec","ViewApplicationBaseComponent","ApplicationViewService","ViewApplicationDetailsAConstants","applicationViewService","personResponsibleDisableAdd","personResponsibleIsInternal","selectedApplicationIASubscription","listenForRouteParamChange","handleRouteChange","configureFormsForPermanentApplication","configureFormsForTemporaryApplication","setMainPermanentFields","getPersonResponsibleByApplicantId","set1yearPermanentApplicationFields","set5yearPermanentApplicationFields","setTemporaryAdvertisementFields","savedPersonResponsible","ViewApplicationLocationAConstants","selectedApplicationStatus","applicationLoaded","listenForSelectedApplication","advertisingFormGroup","configureInitialAdvertisingForm","configureFormsForTemporaryAdvertisingForm","configureFormsForPermanentAdvertisingForm","ViewApplicationDetailsItamsConstants","ViewApplicationDetailsBlConstants","getBusinessOwnerByApplicantId","businessOwnerId","savedBusinessOwner","ViewApplicationLocationBlConstants","CENTROID_CONTROL","geometryControl","GEOMETRY_CONTROL","setApplicationData","createFormGroup","disablePropertyControls","ViewApplicationDetailsBpamsConstants","propertiesControl","PROPERTIES_CONTROL","ownerDisableDelete","totalLabel","getZoningLookups","setZonesControls","zoningLookups","onGetZoningLookupsCompleted","zoneObject","_form","outbuildings","ViewApplicationProfessionalBodiesBpamsConstants","ViewApplicationConstants","markArchitectAsNotApplicableLabel","MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL","markArchitectAsNotApplicableFormControlName","MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","markEngineerAsNotApplicableLabel","MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL","markEngineerAsNotApplicableFormControlName","MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","markElectricalContractorAsNotApplicableLabel","MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL","markElectricalContractorAsNotApplicableFormControlName","MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","selectedModuleNameAsObservableSubscription","ViewBurialDetailsCmConstants","saShortdatePipe","serialNumenerControl","tableHeader","tableLabel","statDate","ViewFamilyMemberCmConstants","markFuneralParlourAsNotApplicableLabel","funeralParlourNotApplicableCheckboxDisabled","selectedApplicationFPSubscription","selectedFuneralParlour","disableFields","syncFuneralParlourNotApplicableCheckbox","ViewApplicationDetailsDmConstants","selectedApplicationPFSubscription","ViewLocationDmConstants","selectedApplicationDMSubscription","ViewApplicationDetailsEcConstants","ViewApplicationLocationEcConstants","selectedApplicationECSubscription","ViewApplicationProfessionalBodiesEcConstants","referenceNumberFormControlName","setSelectedApplicationType","ViewApplicationLocationItamsConstants","baysControl","BAYS_CONTROL","savedBay","disableBayControls","ViewApplicationStakeholdersItamsConstants","getRecipientsObservableSubscription","ViewApplicationDetailsPlamsConstants","leaseContractNumberLabel","LEASE_CONTRACT_NUMBER_LabeL","leaseAccountNumberLabel","LEASE_ACCOUNT_NUMBER_LabeL","leaseContractEscalationLabel","LEASE_CONTRACT_ESCALLATION_LabeL","leasePeriodLabel","LEASE_PERIOD_LabeL","leaseNoticePeriodLabel","LEASE_NOTICE_PERIOD_DATE_LabeL","leaseContractNumberFormControlName","LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME","leaseAccountNumberFormControlName","LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME","leaseContractEscalationFormControlName","LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME","leasePeriodFormControlName","LEASE_PERIOD_FORM_CONTROL_NAME","leaseNoticePeriodFormControlName","LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME","lesseeDisableDelete","buyerDisableDelete","sellerDisableDelete","getLesseesObservableSubscription","getSellersObservableSubscription","propertyAndLeaseServiceSubscription","LEASE_COMMENTS_LabeL","LEASE_STATUS_ACCORDING_TO_COUNCIL_LabeL","LEASE_COMMENTS_FORM_CONTROL_NAME","LEASE_STATUS_ACCORDING_TO_COUNCIL_FORM_CONTROL_NAME","ViewApplicationLocationPlamsConstants","ownerMetaData","ViewApplicationDetailsRcConstants","selectedApplicationRCSubscription","disableForm","ViewApplicationLocationRcConstants","managingAgentDisableAdd","propertiesFormGroup","mangingAgentControl","ViewApplicationDetailsSnConstants","ViewApplicationLocationSnConstant","REASON_FOR_CHANGE_NAME_LOOKUPS","ViewApplicationDetailsTmamsConstants","selectedApplicationTMAMSSubscription","ViewLocationTmConstants","_isMapLoaded","ViewApplicationDetailsTpamsConstants","typeControls","ViewApplicationLocationTpamsConstants","ViewApplicationDetailsWamsConstants","shortDatePipe","isAppLoaded","selectedApplicationWAMSSubscription","ViewApplicationProfessionalBodiesWamsConstants","professionalBodiesFormControl","PROFESSIONAL_BODIES_FORM_CONTROL","markImplementingAgentAsNotApplicableLabel","MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL","markContractorAsNotApplicableLabel","MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL","RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME","showContractor","implementingAgentDetailsHeader","IMPLEMENTING_AGENT_DETAILS_HEADER","engineerDetailsHeader","ENGINEER_DETAILS_HEADER","RESPONSIBLE_CONTRACTOR_LABEL","contractorDetailsHeader","CONTRACTOR_DETAILS_HEADER","ViewApplicationDetailsZcConstants","ViewApplicationLocationZcConstants","selectedApplicationCMSubscription","FORM_CONTROLS","contactNameLabel","contactSurnameLabel","assignedToLabel","townplannerLabel","transferAttorneyLabel","fromDateLabel","toDateLabel","beforeDateLabel","afterDateLabel","percentCompleteLabel","statusLabel","erfNoLabel","farmNoLabel","allotmentLabel","sgCodeLabel","timeoutStatusLabel","daysUntilExpiredLabel","dateLabel","datePlaceholder","endDateLabel","searchText","assignedToUsersForm","idNumberFormControl","organisationFormControl","erfNoFormControl","farmNoFormControl","allotmentFormControl","sgCodeFormControl","assignedToUsersFormControl","createdDateFormControl","toCreatedDateFormControl","fromCreatedDateFormControl","dateOfDeathFormControl","statusFormControl","daysUntilExpiredFormControl","applicationTypeFormControl","townPlannerFormControl","groupNameFormControl","deedTransferBeforeDateFormControl","deedTransferAfterDateFormControl","deedTransferDateFormControl","leaseContractDateFormControl","leaseEndDateFormControl","leaseStartDateFormControl","APPLICATION_AGENT","FAMILY","ORGANISATION","APPLICANT","STATUS","NAME","SURNAME","USER_ID","USER","LAST_NAME","FIRST_NAME","CREATED_DATE","PERCENT_COMPLETE","APPLICATION_JOB_LINK","WORKFLOW_SECTION","DAYS_UNTIL_EXPIRED","TIMEOUT_STATUS","APPLICATION_TYPES","APPLICATION_TYPE","OWNERS","PROPERTIES","PROPERTY_BUILDINGS","PROPERTY_ZONINGS","ZONINGS","BUILDINGS","TOWNPLANNER_ID","DECEASED","DECEASED_NAMES","BURIAL_ORDER_NUMBER","ID_NUMBER","DATE_OF_BIRTH","DATE_OF_DEATH","OPTION_SELECT_GRAVE","GRAVES","ERF_NUMBER","FARM_NUMBER","ALLOTMENT","SG_CODE","SEARCH_BY_SHAPE","TRANSFER_ATTORNEY","BUYERS","SELLERS","LESSEES","DATE_DEED_TRANSFER","LEASE_START_DATE","LEASE_END_DATE","WITH_GRAVE","ApplicationSearchService_1","utcDate","sortApplicationList","sortColumn","ascendingSort","aKey","ApplicationViewService_1","getApplicationRecipients","getCommunications","authenticatedUserSubscription","onerror","uploadDocumentObservableSubscripition","ViewApplicationBaseComponent_1","selectedApplicationVABSubscription","routerParamsSubscription","ViewContainerRef","viewContainerRef","COMMUNICATION_HEADING","ViewApplicationDocumentationConstants","disableComponent","sessionDocumentCantBeDeletedMsg","SESSION_DOCUMENTS_CANT_BE_DELETED_MESSAGE","sessionDocumentCantBeEditedMsg","SESSION_DOCUMENTS_CANT_BE_EDITED_MESSAGE","addDocumentDialogTitle","editDocumentDialogTitle","deleteDocumentDialogTitle","DELETE_DOCUMENTS_DIALOG_TITLE","datePipeDateFormat","documentFormControl","documentsFormControl","savedDocumentsIds","getAttachmentsSubscription","getApplicationTypesSubscription","checkIfDocumentCanBeAltered","preventDocumentEdit","docsThatCantBeAltered","selectedDocument","captureIdsOfDocuments","ViewApplicationPeopleOfInterestConstants","transferorShowFields","transfereeShowFields","conveyancerShowFields","populatePeopleOfInterestForms","JOB_ID_ROUTE_PARAMETER","VIEW_APPLICATION_HEADING_TEXT","APPLICATION_CONTENT_ROUTE","APPLICATION_STATUS_ROUTE","COMMUNICATION","enableProdMode","platformBrowserDynamic","defineCustomElements","bootstrapModule","CalciteButtonComponent","btnRef","appearance","setBtnText","CalciteCardComponent","cardTitle","CalciteCheckboxComponent","CalciteComboboxComponent","comboboxItemsObservable","setItemsAsSelectedObservable","allowCustomValues","disableComboBox","comboBoxPlaceholder","comboBoxScale","maxItems","overlayPositioning","setSelectedItems","onComboBoxChange","comboBoxOptions","setSubscribers","detail","selectedItems","setComboBoxItems","comboBoxItem","elementId","comboBoxElement","comboBoxItemHTMLElement","setItemsAsSelected","comboBoxListItemNodes","childNodes","calciteNodeItem","itemValue","selectedItem","comboBoxItems","CalciteDatePickerComponent","CalciteDropdownComponent","UntypedFormBuilder","CalciteFormMultiselectComponent","subscriptions","groupsControl","onSelectionChanged","CalciteInputComponent","addClearInputBtn","groupSeparator","inputLabelText","val","inputForm","calciteFormControl","onTouch","Renderer2","RequiredClassDirective","renderer","elmRef","addClass","CalciteLinkComponent","CalciteListComponent","CalciteSelectComponent","selectForm","selectOptions","calciteSelectFormControl","CalciteStepperService","CalciteStepperComponent","calciteStepperService","calciteStepper","onStepClicked","numbered","stepperHtmlElement","stepOptionsAsObservableSubscription","setStepOptions","totalSteps","stepOptionsAsObservable","setItemValues","option","innerText","onClick","stepOptions","stepIndexAsObservable","setStepIndex","steps","getStepOptions","updateStep","updatedStep","getStepByStepID","currentStep","getStepByStepIndex"],"sourceRoot":""}