{"version":3,"file":"main.77045a6ab725dd73.js","mappings":"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GAAsB,EACtBvD,yGAAoB,EACpBE,qHAAwB,EACxBC,qHAAwB,EACxB2B,6HAA0B,EAC1BI,6IAA+B,EAC/BH,qHAAwB,EACxBsB,yGAAoB,EACpBD,yGAAoB,EACpBQ,mHAAuB,EACvBZ,+GAAsB,CACzB;EACDhoL,OAAO,EAAE,CACLogB,gEAAmB,EACnB7gB,0DAAY,CACf;EACDU,OAAO,EAAE,CACL2kL,+GAAsB,EACtB2C,4GAAqB,EACrBgB,+GAAsB,EACtBvD,yGAAoB,EACpBE,qHAAwB,EACxBC,qHAAwB,EACxB+B,6IAA+B,EAC/BJ,6HAA0B,EAC1BC,qHAAwB,EACxBsB,yGAAoB,EACpBD,yGAAoB,EACpBQ,mHAAuB;AAE/B,CAAC,CAAC,CACL,EAAE3pL,0BAA0B,CAAC;;;;;;;;;;ACxD9B;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,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;ACpSA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,mFAAwE;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,mFAAwE;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,mFAAwE;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,mFAAwE;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,mFAAwE;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,mFAAwE;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,6EAAkE;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,mFAAwE;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACVA;AACA,+CAA+C,mBAAO,CAAC,mFAAwE;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,mFAAwE;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,mFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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;;AAEA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;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;;AAEA;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;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;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,CAAC;AACD;AACA;;;;;;;;;;;AC7dA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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,mFAAwE;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,mFAAwE;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,CAAC;AACD;AACA;;;;;;;;;;;AC/FA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,4FAAiF;AACxI,kCAAkC,mBAAO,CAAC,mFAAwE;AAClH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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;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;;;;;;;;;;;AC9KA;AACA,+CAA+C,mBAAO,CAAC,4FAAiF;AACxI,kCAAkC,mBAAO,CAAC,mFAAwE;AAClH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,mFAAwE;AAC/H,kCAAkC,mBAAO,CAAC,0EAA+D;AACzG;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACzBA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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,sFAA2E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,sFAA2E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,CAAC;AACD;AACA;;;;;;;;;;;AChHA;AACA,+CAA+C,mBAAO,CAAC,+FAAoF;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,CAAC;AACD;AACA;;;;;;;;;;;ACtJA;AACA,+CAA+C,mBAAO,CAAC,+FAAoF;AAC3I,kCAAkC,mBAAO,CAAC,sFAA2E;AACrH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,+FAAoF;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,CAAC;AACD;AACA;;;;;;;;;;;AC5JA;AACA,+CAA+C,mBAAO,CAAC,4FAAiF;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,sFAA2E;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,sFAA2E;AAClI,kCAAkC,mBAAO,CAAC,6EAAkE;AAC5G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACVA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,CAAC;AACD;AACA;;;;;;;;;;;ACpCA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACTA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,yFAA8E;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,yFAA8E;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,yFAA8E;AACrI,kCAAkC,mBAAO,CAAC,gFAAqE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;ACbA;AACA,+CAA+C,mBAAO,CAAC,yFAA8E;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,mFAAwE;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,CAAC;AACD;AACA;;;;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/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/components/subscriber/subscriber.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-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/create-application-location-bl/create-application-location-bl.component.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/map-service.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/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/subscriber/subscriber.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-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-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-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/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/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/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-location-bl/view-application-location-bl.component.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-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/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/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { __decorate } from \"tslib\";\nimport { Component } from '@angular/core';\nexport let 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);\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\";\nexport let 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);\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\";\nexport let CommonDropDownComponent = class CommonDropDownComponent {\n changeDetectorRef;\n options = [];\n valueSelected = new EventEmitter();\n stateReset = new EventEmitter();\n preSelected = \"\";\n placeholder = \"\";\n doNotSort = false;\n selected = \"\";\n constructor(changeDetectorRef) {\n this.changeDetectorRef = changeDetectorRef;\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 ];\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);\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\";\nexport let CommonFilterByComponent = class CommonFilterByComponent {\n changeDetectorRef;\n filterByOptions = [];\n filterByChanged = new EventEmitter();\n filterTextChanged = new EventEmitter();\n errorMessageDisplay = new EventEmitter();\n pageName = \"\";\n initialFilterText = \"\";\n initialFilterColumn = \"\";\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) {\n this.changeDetectorRef = changeDetectorRef;\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 ];\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);\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 { SubscriberComponent } from \"../subscriber/subscriber.component\";\nimport { SharedConstants } from \"../../constants/shared-constants\";\nexport let CommonPopUpComponent = class CommonPopUpComponent extends SubscriberComponent {\n activeModal;\n title = \"\";\n contentMessage = \"\";\n data;\n updateBtnPlaceholder = SharedConstants.YES_LABEL;\n cancelBtnPlaceholder = SharedConstants.NO_LABEL;\n constructor(activeModal) {\n super();\n this.activeModal = activeModal;\n }\n onBtnOkClick() {\n this.activeModal.close(this.data);\n }\n onBtnCancel() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\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 // tslint:disable-next-line:component-selector\n selector: \"lib-pop-up.component\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], 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\";\nexport let CommonPrimaryButtonComponent = class CommonPrimaryButtonComponent {\n displayText = \"\";\n clickCallBack = new EventEmitter();\n disabled = false;\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};\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);\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\";\nexport let CommonSecondaryButtonComponent = class CommonSecondaryButtonComponent {\n displayText = \"\";\n clickCallBack = new EventEmitter();\n disabled = false;\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};\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);\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 { SubscriberComponent } from \"../subscriber/subscriber.component\";\nimport { CommonTableSortHeaderDirective } from \"../../directives/common-table-sort-header.directive\";\nimport { compare } from \"../../models/sort.model\";\n// import {IRecipient} from \"../../../../../afla-v2/src/app/shared/models/application/generic/recipient.models\";\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\";\nlet elId = 0;\nexport let CommonTableComponent = class CommonTableComponent extends SubscriberComponent {\n static { CommonTableComponent_1 = this; }\n changeDetectorRef;\n route;\n router;\n headers;\n tableItems = [];\n columnToItemPropertyMap;\n tdTemplate;\n tdTemplate2;\n thTemplate;\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 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) {\n super();\n this.changeDetectorRef = changeDetectorRef;\n this.route = route;\n this.router = router;\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 ngOnDestroy() {\n super.ngOnDestroy();\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 ];\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 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 // tslint:disable-next-line:component-selector\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);\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nexport let SubscriberComponent = class SubscriberComponent {\n ngUnsubscribe = new Subject();\n ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n cleanupAfterDestroy(observable) {\n return observable.pipe(takeUntil(this.ngUnsubscribe));\n }\n};\nSubscriberComponent = __decorate([\n Component({\n template: \"\",\n host: { 'SubscriberComponent': 'common-application' },\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n], SubscriberComponent);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let AppControllerService = class AppControllerService {\n router;\n sessionStorage;\n selectedApplicationID;\n selectedJobID;\n organisationsSubject = new BehaviorSubject([]);\n $organisationsSubject = this.organisationsSubject.asObservable();\n modules;\n organisations;\n applicationRefreshedSubject = new BehaviorSubject(false);\n alertSubject = new Subject();\n keepAfterRouteChange = false;\n config;\n selectedOrgIdSubject = new BehaviorSubject(null);\n $selectedOrgIdSubject = this.selectedOrgIdSubject.asObservable();\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 selectedApplicationM = new BehaviorSubject(1);\n selectedApplicationM$ = this.selectedApplicationM.asObservable();\n constructor(router, sessionStorage) {\n this.router = router;\n this.sessionStorage = sessionStorage;\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 selectApplication(data) {\n this.selectedApplicationM.next(data);\n }\n configLoadedComplete(complete) {\n this.configLoadedSubject.next(complete);\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 default: {\n throw new Error(`${SharedConstants.UNKNOWN_ERROR_MESSAGE} ${operation} the ${objectName.toLocaleLowerCase()}: ` + httpErrorResponse.message);\n }\n }\n }\n static ctorParameters = () => [\n { type: Router },\n { type: SessionStorageService }\n ];\n};\nAppControllerService = __decorate([\n Injectable()\n], 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 }];\nexport let 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);\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 { 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 { PwaInstallBottomSheetComponent } from \"./shared/components/pwa-install-bottom-sheet/pwa-install-bottom-sheet.component\";\nimport { take, takeUntil } from \"rxjs/operators\";\nimport { SubscriberComponent } from \"./shared/components/subscriber/subscriber.component\";\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\";\nexport let AppComponent = class AppComponent extends SubscriberComponent {\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 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 constructor(appController, authService, loginService, sessionStorageService, windowReference, bottomSheet, landingPageService, userInformationService, appConfig, requestStatusService, systemModuleSettingsService, serverMessageService, webNotificationService, router, localStorage) {\n super();\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.$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 });\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 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 });\n }\n handleUserLoggedIn() {\n this.listenForServerMessages();\n }\n listenForServerMessages() {\n this.cleanupAfterDestroy(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 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 ];\n};\nAppComponent = __decorate([\n Component({\n selector: \"app-root\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], 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\";\nexport let 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);\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, HttpClientModule } 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\";\nexport let AppInjector;\nexport let 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({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [\n AppComponent,\n LoginComponent,\n RefreshViewApplicationComponent,\n LandingPageComponent,\n LogoutComponent\n ],\n imports: [\n 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 HttpClientModule,\n DashboardModule,\n SharedModule,\n MatBottomSheetModule,\n NavModule,\n OAuthModule.forRoot(),\n NgbModule,\n TreeModule\n ],\n 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 ],\n bootstrap: [AppComponent],\n exports: []\n })\n], 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];\nexport let DashboardRoutingModule = class DashboardRoutingModule {\n};\nDashboardRoutingModule = __decorate([\n NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n })\n], 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 { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\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\";\nexport let DashboardComponent = class DashboardComponent extends SubscriberComponent {\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 = DashboardConstants.AFLA_PORTAL;\n aflaPortalText = \"\";\n $authenticated;\n isAuthenticated;\n applicationsCount = 0;\n applicationInProgressCount = 0;\n applicationUncompletedCount = 0;\n constructor(authService, changeDetector, router, appControllerService, userInformationService, localStorage) {\n super();\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.cleanupAfterDestroy(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 return this.userInformationService.retrieveMyPortalApplications();\n }\n else\n return of(null);\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);\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 = \"Afla 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\";\nexport let 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);\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 { SubscriberComponent } from \"../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let DisclaimerDialogBodyComponent = class DisclaimerDialogBodyComponent extends SubscriberComponent {\n dialogRef;\n router;\n http;\n requestStatusService;\n disclaimerTitle = \"\";\n disclaimerContent = \"\";\n acceptDisclaimerURL = DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_URL;\n acceptButtonLabel = DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT;\n constructor(dialogRef, router, http, requestStatusService) {\n super();\n this.dialogRef = dialogRef;\n this.router = router;\n this.http = http;\n this.requestStatusService = requestStatusService;\n }\n ngOnInit() {\n this.disclaimerTitle = AppConfig.settings.disclaimer.title;\n this.disclaimerContent = AppConfig.settings.disclaimer.content;\n }\n acceptDisclaimer($event) {\n this.requestStatusService.showBusySpinner(\"Accept disclaimer\");\n this.cleanupAfterDestroy(this.http.post(this.acceptDisclaimerURL, {}))\n .subscribe(response => {\n this.closeDisclaimer();\n this.requestStatusService.removeBusySpinner(\"Accept disclaimer\");\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);\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 { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\nimport { AppConfig } from \"../../app.config\";\nimport { LandingPageService } from \"./shared/services/landing-page.service\";\nexport let LandingPageComponent = class LandingPageComponent extends SubscriberComponent {\n landingPageService;\n // header on the top left side of the page\n logoImageUrl;\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 super();\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.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);\n","export class LandingPageConstants {\n static LOGIN_TEXT = \"Login\";\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nexport let 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);\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 { AuthService } from \"../../shared/services/auth/auth.service\";\nimport { AppConfig } from \"../../app.config\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\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\";\nexport let LoginComponent = class LoginComponent extends SubscriberComponent {\n dialogRef;\n authService;\n appController;\n loginErrorStateMatcher;\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, authService, appController, loginErrorStateMatcher) {\n super();\n this.dialogRef = dialogRef;\n this.authService = authService;\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 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: AuthService },\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);\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';\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { map } from \"rxjs\";\nimport { ApiOrganisationConstants } from \"../../../shared/constants/api-constants/api-organisation.constants\";\nimport { ApiModuleConstants } from \"../../../shared/constants/api-constants/api-module.constants\";\nexport let NavPanService = class NavPanService {\n http;\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);\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 { SubscriberComponent } from \"../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let NavPaneContentComponent = class NavPaneContentComponent extends SubscriberComponent {\n userInformationService;\n appControllerService;\n authService;\n router;\n applicationCreateService;\n sessionStorageService;\n changeDetectorRef;\n selectedApplicationService;\n systemModuleSettingsService;\n navService;\n modalService;\n modulesLink = AppRoutingConstants.ROUTE_SEPERATOR;\n homeLinkText = NavConstants.HOME_LINK_TEXT;\n logoutLinkText = NavConstants.LOGOUT_LINK_TEXT;\n settingLinks;\n addOrganisationLink;\n toolsMapLinks = new Array();\n organisationId;\n activeId = \"\";\n selectedModuleID;\n isAuthenticated = false;\n isSystemModuleSettingsFetched = false;\n selectMunicipalityText = NavConstants.SELECT_MUNICIPALITY_CITY;\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 settingView = \"Setting\";\n municipalitiesView = \"municipalities\";\n defaultApplicantAgent = NavConstants.DEFAULT_APPLICANT_AGENT_TEXT;\n selectAnOptionText = NavConstants.PLEASE_SELECT_AN_OPTION;\n menuMode = this.municipalitiesView;\n logo = \"\";\n selectStatus;\n switchToStatusModule = false;\n displaySelectedModule;\n loadedApplicationTypesMap = new Map();\n systemModuleLinks;\n displayOrgSettings = false;\n dialogTitle = NavConstants.INCOMPLETE_APPLICATIONS_TITLE;\n dialogMessage = NavConstants.INCOMPLETE_APPLICATIONS_MESSAGE;\n modalBodyOptions = {\n size: \"lg\",\n centered: true,\n backdrop: \"static\"\n };\n constructor(userInformationService, appControllerService, authService, router, applicationCreateService, sessionStorageService, changeDetectorRef, selectedApplicationService, systemModuleSettingsService, navService, modalService) {\n super();\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.listenForSystemModules();\n }\n ngOnInit() {\n this.subscribeToConfigSubject();\n this.loadMunicipalities();\n this.listenForAuthentication();\n this.listenForModuleFetch();\n this.buildSettingLinksList();\n this.mapToolsLinksList();\n this.buildAddLinks();\n this.getAuthUserName();\n this.showDefaultModule();\n this.listenForRefresh();\n this.selectApplication();\n }\n logout() {\n this.authService.logOutRedirect();\n //this.authService.unAuthenticate();\n }\n goBackToModules() {\n this.menuMode = this.municipalitiesView;\n this.displayOrgSettings = false;\n }\n onSearchApplicationClicked() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE)\n ]);\n }\n selectApplication() {\n this.appControllerService.selectedApplicationM$.subscribe(select => {\n this.displaySelectedModule = select;\n this.switchToStatusModule = !this.switchToStatusModule;\n this.changeDetectorRef.detectChanges();\n });\n }\n onCreateApplicationClicked() {\n this.appControllerService.setSelectedModule(this.selectedModuleID);\n this.checkIncompleteApplications(false);\n }\n checkIncompleteApplications(eLodgementComplete) {\n this.cleanupAfterDestroy(this.userInformationService.hasOpenPortalApplications(Number(this.appControllerService.selectedModuleID))).subscribe(result => {\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 listenForSystemModules() {\n this.systemModuleLinks = new Array();\n }\n buildSettingLinksList() {\n this.settingLinks = new Array();\n this.settingLinks.sort((a, b) => 0 - (a.address.toLowerCase() > b.address.toLowerCase() ? -1 : 1));\n }\n mapToolsLinksList() {\n this.toolsMapLinks = new Array();\n }\n buildAddLinks() {\n this.addOrganisationLink = {\n text: NavConstants.ADD_ORGANISATION_LINK_TEXT,\n address: AppRoutingConstants\n .createRouteToViewWithPrefixRouteSeparator(AppRoutingConstants.ADD_ORGANISATION_ROUTE)\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.cleanupAfterDestroy(this.authService.$isAuthenticated).subscribe(result => {\n this.isAuthenticated = result;\n this.changeDetectorRef.detectChanges();\n });\n }\n getAuthUserName() {\n // shows link to test site for component should be removed post testing\n this.cleanupAfterDestroy(this.userInformationService.$authenticatedUser).subscribe(user => {\n this.changeDetectorRef.detectChanges();\n });\n }\n loadMunicipalities() {\n this.cleanupAfterDestroy(this.authService.$isAuthenticated).subscribe(connected => {\n if (connected)\n this.cleanupAfterDestroy(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.getApplicationTypes(this.selectedMunicipality.id);\n this.appControllerService.selectedOrganisationID(this.municipalities[0].id);\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.cleanupAfterDestroy(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 listenForRefresh() {\n this.appControllerService.applicationRefreshedSubject.subscribe((applicationRefreshed) => {\n if (applicationRefreshed) {\n }\n });\n }\n subscribeToConfigSubject() {\n this.appControllerService.$configLoadedSubject.subscribe((configLoaded) => {\n if (configLoaded) {\n this.logo = AppConfig.settings.logoUrl;\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n listenForModuleFetch() {\n this.cleanupAfterDestroy(this.systemModuleSettingsService.$systemModuleSettingsFetched).subscribe(result => {\n this.isSystemModuleSettingsFetched = result;\n this.changeDetectorRef.detectChanges();\n });\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 ];\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], 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\";\nexport let NavToolbarContentComponent = class NavToolbarContentComponent {\n static { NavToolbarContentComponent_1 = this; }\n authService;\n router;\n appControllerService;\n changeDetectorRef;\n moduleConfigService;\n sideNavToggle = new EventEmitter();\n appTitle = NavConstants.APP_TITLE;\n $authenticated;\n headingLinks;\n showHeadings;\n notificationIsOn = false;\n activeRoute;\n headingRoutes;\n propertyLayersForModules;\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 }\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], 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\";\nexport let 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);\n","export class NavConstants {\n static ADD_ORGANISATION_LINK_TEXT = \"Add organisation\";\n static LOGOUT_LINK_TEXT = \"Logout\";\n static APP_TITLE = \"AFLA Portal (ArcGIS For Local Authorities)\";\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_CITY = \"To view the documentation or to create an application, please select the municipality and type of application below\";\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}\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 { NgbAccordionModule } from \"@ng-bootstrap/ng-bootstrap\";\nexport let 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 NgbAccordionModule,\n ]\n })\n], 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\";\nexport let 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);\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, ComponentFactoryResolver } 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\";\nexport let CreateApplicationDocumentationComponent = class CreateApplicationDocumentationComponent extends CreateApplicationViewBaseComponent {\n aflaModuleStrategyService;\n componentFactoryResolver;\n applicationCreateService;\n selectedApplicationService;\n modalService;\n datePipe;\n changeDetectorRef;\n appController;\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 constructor(aflaModuleStrategyService, componentFactoryResolver, applicationCreateService, selectedApplicationService, modalService, datePipe, changeDetectorRef, appController) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.componentFactoryResolver = componentFactoryResolver;\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.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.cleanupAfterDestroy(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() {\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.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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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: ComponentFactoryResolver },\n { type: ApplicationCreateService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: AppControllerService }\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);\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","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 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 STAKEHOLDERS_ROUTE = \"stakeholders\";\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 } 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 { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { phoneNumberValidator } from \"../../../../shared/classes/phone-number-validator\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { DatePipe } from \"@angular/common\";\nexport let CreateApplicationDetailsAComponent = class CreateApplicationDetailsAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n modalService;\n datePipe;\n appControllerService;\n changeDetectorRef;\n detailsForm;\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 descriptionFormControlName = CreateApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n advertisementsFormControlName = CreateApplicationDetailsAConstants.ADVERTISEMENTS_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = CreateApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicationDurationFormControlName = CreateApplicationDetailsAConstants.APPLICATION_DURATION_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 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 isAdvertisementPermanentOrTemporaryFormLabel = CreateApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n typeLabel = CreateApplicationDetailsAConstants.APPLICATION_TYPE_LABEL;\n applicationDurationFormLabel = CreateApplicationDetailsAConstants.APPLICATION_DURATION_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 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 permanentOrTemporaryLookupOptions = LookupConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n signTypeLookups = [];\n applicationDurationLookupOptions = LookupConstants.APPLICATION_DURATION_LOOKUPS_A;\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 showApplicationDurationField = 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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, modalService, datePipe, appControllerService, changeDetectorRef) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.datePipe = datePipe;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n this.setForms();\n if (this.aflaModuleStrategyService.lookups.has(this.signTypeControlName)) {\n this.signTypeLookups = this.aflaModuleStrategyService.lookups.get(this.signTypeControlName);\n this.checkIfFormWasPreviouslyCompleted();\n }\n else {\n this.getLookups();\n }\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 onShowApplicationOptionsByDuration($event) {\n const applicationDuration = $event.target.value;\n this.showPermanentAdvertisementFields();\n if (applicationDuration.toLowerCase() === \"5 years application\") {\n this.show5YearPermanentApplicationOptionalFields = true;\n this.reset5YearPermanentApplicationFields();\n this.add5YearApplicationFieldsValidators();\n this.clear1yearPermanentApplicationFieldsValidators();\n this.reset1yearPermanentApplicationFields();\n this.show1YearPermanentApplicationOptionalFields = false;\n }\n if (applicationDuration.toLowerCase() === \"1 year application\") {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.reset1yearPermanentApplicationFields();\n this.reset5YearPermanentApplicationFields();\n this.show5YearPermanentApplicationOptionalFields = false;\n }\n this.addValidatorsToMainPermanentFields();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.cleanupAfterDestroy(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 this.subscribeToSelectedApplication();\n this.changeDetectorRef.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe((application) => {\n if (application) {\n application.isAdvetisingPermanentOrTemporary === \"permanent\" ? this.configureFormsForPermanentApplication(application) : this.configureFormsForTemporaryApplication(application);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\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 this.clearTemporaryAdvertisementFieldsValidators();\n this.resetTemporaryAdvertisementFields();\n this.hideTemporaryAdvertisementFields();\n this.showApplicationDurationFields();\n }\n showPermanentAdvertisementFields() {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n }\n showApplicationDurationFields() {\n this.showApplicationDurationField = true;\n }\n hidePermanentAdvertisementTypeFields() {\n this.showPermanentApplicationFields = false;\n this.showApplicationDurationField = 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 addValidatorsToMainPermanentFields() {\n // adds validators to fields that are common to 5 year and 1 year permanent fields\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).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.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 clear1yearPermanentApplicationFieldsValidators() {\n this.detailsForm.get(this.forSaleControlName).clearValidators();\n this.detailsForm.get(this.onShowControlName).clearValidators();\n this.detailsForm.get(this.toLetControlName).clearValidators();\n this.detailsForm.get(this.soldControlName).clearValidators();\n this.detailsForm.get(this.constructionBoardSignControlName).clearValidators();\n this.detailsForm.get(this.OtherControlName).clearValidators();\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).reset();\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 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.detailsForm.dirty && this.detailsForm.touched) {\n const advertisementTypeValue = this.detailsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n const advertisingDuration = this.detailsForm.get(this.applicationDurationFormControlName).value;\n if (advertisementTypeValue === \"permanent\") {\n this.hideTemporaryAdvertisementFields();\n this.showApplicationDurationFields();\n this.showPermanentAdvertisementFields();\n if (advertisingDuration === \"1 year application\") {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n }\n }\n if (advertisementTypeValue === \"temporary\") {\n this.hidePermanentAdvertisementTypeFields();\n this.showTemporaryApplicationTypeFields();\n if (advertisingDuration === \"5 years application\") {\n this.show5YearPermanentApplicationOptionalFields = true;\n this.show1YearPermanentApplicationOptionalFields = false;\n }\n }\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementTypeValue);\n this.changeDetectorRef.detectChanges();\n }\n }\n resetLocationDetails() {\n const propertiesFormArray = this.aflaModuleStrategyService.form.get(\"propertiesForm\").get(\"properties\");\n propertiesFormArray.clear();\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 confirmChangeFromUser(advertisementType, isAdvertisementControl) {\n const dialogRef = this.modalService.open(PopUpComponent, CreateApplicationDetailsAConstants.MODAL_OPTIONS);\n dialogRef.componentInstance.title = CreateApplicationDetailsAConstants.MODAL_DIALOG_TITLE;\n dialogRef.componentInstance.contentMessage = CreateApplicationDetailsAConstants.MODAL_DIALOG_MESSAGE;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((canContinueMakingChanges) => {\n if (canContinueMakingChanges) {\n this.resetLocationDetails();\n this.handleAdvertisementTypeValueChanged(advertisementType);\n }\n else {\n advertisementType.toLowerCase() === \"temporary\" ? isAdvertisementControl.setValue(\"permanent\") : isAdvertisementControl.setValue(\"temporary\");\n }\n });\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 configureFormsForPermanentApplication(application) {\n this.showApplicationDurationField = true;\n this.setMainPermanentFields(application);\n if (application.permanentApplicationDuration === \"1 year application\") {\n this.detailsForm.get(this.applicationDurationFormControlName).setValue(application.permanentApplicationDuration);\n this.set1yearPermanentApplicationFields(application);\n }\n if (application.permanentApplicationDuration === \"5 years application\") {\n this.set5yearPermanentApplicationFields(application);\n }\n this.showPermanentApplicationFields = false;\n this.showTemporaryApplicationFields = false;\n }\n setMainPermanentFields(application) {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n this.addValidatorsToMainPermanentFields();\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.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.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.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.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.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.otherFiveYearControlName).setValue(application.otherFiveYear);\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.updateValueAndValidity();\n }\n configureFormsForTemporaryApplication(application) {\n this.showApplicationDurationField = false;\n this.setTemporaryAdvertisementFields(application);\n // if (application.permanentApplicationDuration === \"1 year application\") {\n // this.detailsForm.get(this.applicationDurationFormControlName).setValue(application.permanentApplicationDuration);\n // this.set1yearPermanentApplicationFields(application);\n // }\n // if (application.permanentApplicationDuration === \"5 years application\") {\n // this.set5yearPermanentApplicationFields(application);\n // }\n }\n setTemporaryAdvertisementFields(application) {\n this.showTemporaryApplicationFields = true;\n this.showPermanentApplicationFields = false;\n this.addValidatorsToTemporaryFields();\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.updateValueAndValidity();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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 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 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 \"./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\";\nexport let CreateApplicationLocationAComponent = class CreateApplicationLocationAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n modalService;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n showMap = 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 selectedApplicationStatus;\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 applicationTypesLookups = [];\n isMapLoaded = false;\n sketchTool;\n selectedGraphic = null;\n mapComponent;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appControllerService, modalService, mapService, requestStatusService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.getLookups();\n this.setupSubscribers();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.initializeSketchTools();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n super.ngOnDestroy();\n }\n loadMetadata() {\n }\n onPermanentOrTemporaryAdvertisementSelected($event) {\n const advertisementType = $event.target.value;\n const advertisementFormArray = this.getAdvertisements();\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 }\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.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.showFieldsAccordingToChosenApplicationStatus(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.cleanupAfterDestroy(this.mapService.$selectedProperty).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 showFieldsAccordingToChosenApplicationStatus(newAdvertisingFormGroup) {\n if (this.selectedApplicationStatus?.toLowerCase() === \"temporary\") {\n this.addTemporaryAdvertisementFieldsValidators(newAdvertisingFormGroup);\n this.handleTemporaryApplicationSelected();\n }\n if (this.selectedApplicationStatus?.toLowerCase() === \"permanent\") {\n this.addPermanentAdvertisementFieldsValidators(newAdvertisingFormGroup);\n this.handlePermanentApplicationSelected();\n }\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 if (this.selectedApplicationStatus.toLowerCase() === \"temporary\") {\n this.showMapToolsForTemporaryAdvertisement();\n }\n if (this.selectedApplicationStatus.toLowerCase() === \"permanent\") {\n this.showMapToolsForPermanentAdvertisement();\n }\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 showMapToolsForTemporaryAdvertisement() {\n this.sketchTool.create(\"polygon\");\n this.sketchTool.visibleElements = CreateApplicationLocationAConstants.POLYGON_SKETCH_TOOLS_OPTIONS;\n }\n showMapToolsForPermanentAdvertisement() {\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 // if (this.selectedApplication && this.selectedApplication.id > 0) {\n // this.clearApplicationValues(this.selectedApplication.id);\n // }\n }\n else {\n advertisementType.toLowerCase() === \"temporary\" ? this.selectedApplicationStatus = \"permanent\" : this.selectedApplicationStatus = \"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.selectedApplicationStatus = advertisementType;\n if (this.showMap) {\n if (advertisementType?.toLowerCase() === \"temporary\") {\n this.showMapToolsForTemporaryAdvertisement();\n }\n if (advertisementType?.toLowerCase() === \"permanent\") {\n this.showMapToolsForPermanentAdvertisement();\n }\n }\n else {\n this.showMapFields();\n }\n }\n showMapFields() {\n this.showMap = true;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'applicationType' and deleted eq false`,\n };\n this.cleanupAfterDestroy(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.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 setupSubscribers() {\n this.subscribeToAdvertisement();\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n 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.showMap = false;\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n this.showMap = true;\n this.selectedApplicationStatus = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n // const advertisementControl = this.getAdvertisements();\n // let point: IAPoint;\n // let polygon: IAPolygon;\n // const isAdvertisingPermanentOrTemporaryValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n // this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).setValue(isAdvertisingPermanentOrTemporaryValue)\n //\n // if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n // point = this.selectedApplication.point;\n // }\n //\n // if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n // polygon = this.selectedApplication.polygon;\n // }\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(this.selectedApplication, geom);\n // this.advertisementsForm.markAllAsTouched();\n // this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n // next: (trueCentroidResponse) => {\n // CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, updatedAdvertisementFormGroup);\n // advertisementControl.push(updatedAdvertisementFormGroup);\n // this.activeTabIndex = advertisementControl.length - 1;\n // this.syncMapGeometries();\n // if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n // this.showPermanentApplicationsFields = true;\n // this.showTemporaryApplicationsFields = false;\n // }\n //\n // if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n // this.showTemporaryApplicationsFields = true;\n // this.showPermanentApplicationsFields = false;\n // }\n // this.changeDetectorRefs.detectChanges();\n // }, error: (error) => {\n // this.appControllerService.handleServerErrorMessage(CreateApplicationLocationAConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n // }\n // })\n //\n // if (this.isMapLoaded) {\n // this.syncMapGeometries();\n // }\n this.changeDetectorRefs.detectChanges();\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 ];\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], 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 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 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 { Component } from \"@angular/core\";\nexport let CreateApplicationDetailsBlComponent = class CreateApplicationDetailsBlComponent {\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);\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 { Component } from \"@angular/core\";\nexport let CreateApplicationLocationBlComponent = class CreateApplicationLocationBlComponent {\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], CreateApplicationLocationBlComponent);\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\";\nexport let CreateApplicationDetailsBpamsComponent = class CreateApplicationDetailsBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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 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 yesNoOptions = [];\n sectorOptions = [];\n buildingUseOptions = [];\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\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.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 }\n loadMetadata(stepMeta) {\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.applicationCreateService.moduleID} and (name eq 'BuildingUse' or name eq 'BuildingSector')`,\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 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 });\n }\n this.yesNoOptions = [];\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.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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 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 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 };\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 { SubscriberComponent } from \"../../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let AddBuildingComponent = class AddBuildingComponent extends SubscriberComponent {\n activeModal;\n appController;\n modalTitle;\n type;\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 floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n constructor(activeModal, appController) {\n super();\n this.activeModal = activeModal;\n this.appController = appController;\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 });\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 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);\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 { MapServiceConstants } from \"../../../../map/map-service.constants\";\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 } 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\";\nexport let CreateApplicationLocationBpamsComponent = class CreateApplicationLocationBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n modalService;\n active;\n propertiesForm;\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 totalValueControl = CreateApplicationLocationBpamsConstants.TOTAL_VALUE_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 totalValueTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_VALUE_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 copyApplicantToOwnerZoneLabel = CreateApplicationLocationBpamsConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationBpamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = CreateApplicationLocationBpamsConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n fullApplicationCheckRequired = false;\n showOnlyPropertyAndZoningLayers = false;\n // Application Type\n typeTextPlaceHolder = CreateApplicationLocationBpamsConstants.TYPE_LABEL;\n typeControl = CreateApplicationLocationBpamsConstants.TYPE_CONTROL;\n titleDeedRestrictionsTextPlaceHolder = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n shortDescriptionTextPlaceHolder = CreateApplicationLocationBpamsConstants.SHORT_DESCRIPTION_LABEL;\n shortDescriptionControl = CreateApplicationLocationBpamsConstants.SHORT_DESCRIPTION_CONTROL;\n estimatedCostTextPlaceHolder = CreateApplicationLocationBpamsConstants.ESTIMATED_COST_LABEL;\n estimatedCostControl = CreateApplicationLocationBpamsConstants.ESTIMATED_COST_CONTROL;\n estimatedByTextPlaceHolder = CreateApplicationLocationBpamsConstants.ESTIMATED_BY_LABEL;\n estimatedByControl = CreateApplicationLocationBpamsConstants.ESTIMATED_BY_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 typeOptions = [];\n estimatedByOptions = [];\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 mapComponent;\n isMapLoaded = false;\n formValidators = Validators.required;\n hasLoadedApplicationProperties = false;\n missingZoneTuple;\n missingZoneList = new Map();\n modalOptions = {\n size: \"lg\", centered: true, keyboard: false, backdrop: \"static\"\n };\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, modalService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.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.subscribeToSelectedApplication();\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones(propertyIndex) {\n return this.getProperties.controls[propertyIndex].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(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 this.getProperties.removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveMainClicked($event, propertyIndex) {\n let mainTableSelection = this.getProperties.controls[propertyIndex].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[propertyIndex].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 // let index = 0;\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[propertyIndex].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditMainClicked($event, propertyIndex) {\n const mainTableSelection = this.getProperties.controls[propertyIndex].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[propertyIndex].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[propertyIndex].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddMainClicked($event, propertyIndex) {\n let mainTableSelection = this.getProperties.controls[propertyIndex].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[propertyIndex].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[propertyIndex].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnRemoveOutClicked($event, propertyIndex) {\n let outTableSelection = this.getProperties.controls[propertyIndex].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[propertyIndex].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[propertyIndex].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditOutClicked($event, propertyIndex) {\n const outTableSelection = this.getProperties.controls[propertyIndex].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[propertyIndex].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[propertyIndex].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddOutClicked($event, propertyIndex) {\n let outTableSelection = this.getProperties.controls[propertyIndex].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[propertyIndex].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[propertyIndex].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, 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 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 });\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 });\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 (property.get(\"coveredExisting\").value && property.get(\"coveredAdded\").value && property.get(\"openExisting\").value && property.get(\"openAdded\").value) {\n const patioCoverageExisting = property.get(\"coveredExisting\").value;\n const patioCoverageAdded = property.get(\"coveredAdded\").value;\n const patioOpenExisting = property.get(\"openExisting\").value;\n const patioOpenAdded = property.get(\"openAdded\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n property.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\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, property) {\n const mainTableDataSource = PropertyFormGroup.get(\"mainTableDataSource\").value;\n const mb = new Array();\n property.buildings.forEach(item => {\n if (item.type == \"Main Building\") {\n mb.push(item);\n }\n });\n mainTableDataSource.next(mb);\n }\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads\n syncOutBuildingsOnGet(PropertyFormGroup, property) {\n const mainTableDataSource = PropertyFormGroup.get(\"outTableDataSource\").value;\n const ad = new Array();\n property.buildings.forEach(item => {\n if (item.type == \"Additional Building\") {\n ad.push(item);\n }\n });\n mainTableDataSource.next(ad);\n }\n subscribeToClearMapGraphics() {\n 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.cleanupAfterDestroy(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(\"propertiesForm\");\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 types = [];\n const estimatedBys = [];\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 === \"ApplicationType\") {\n types.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyEstimatedBy\") {\n estimatedBys.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.sortZones();\n this.aflaModuleStrategyService.lookups.set(\"typeOptions\", types);\n this.typeOptions = types;\n this.aflaModuleStrategyService.lookups.set(\"estimatedByOptions\", estimatedBys);\n this.estimatedByOptions = estimatedBys;\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.subscribeToSelectedApplication();\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.changeDetectorRefs.detectChanges();\n const propertiesFormArray = this.propertiesForm.get(\"properties\");\n propertiesFormArray.updateValueAndValidity();\n propertiesFormArray.controls?.sort((a, b) => {\n return a?.get(\"tempId\").value > b?.get(\"tempId\").value ? 1 : -1;\n })?.forEach(control => {\n const check = control.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\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 tempId: new FormControl(this.getProperties.length, Validators.required),\n type: new FormControl(null, [Validators.required]),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfNumber\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\")),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n shortDescription: 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 totalValue: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"TotalValue\", \"totalValue\"), [Validators.required]),\n titleDeed: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"TitleDeed\"), [Validators.required]),\n estimatedBy: new FormControl(null, [Validators.required]),\n estimatedCost: new FormControl(null, [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([]),\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.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.active = propertyControl.length - 1;\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.active = propertyControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n this.updatePropertyRequiredFields(newProperty);\n this.sortZones();\n }\n else {\n this.updatePropertyRequiredFields(newProperty);\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\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 }\n onGetSelectedApplication() {\n if (+this.jobId > 0 && this.selectedApplication) {\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n const propertyControl = this.getProperties;\n propertyControl.clear();\n let index = 0;\n const missingLookupsForZones = [];\n this.selectedApplication.properties.sort((a, b) => (a?.id - b?.id));\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 sgCode: new FormControl(property.sgCode, [Validators.required]),\n address: new FormControl(property.address, [Validators.required]),\n erfSize: new FormControl(property.erfSize, [Validators.required]),\n totalValue: new FormControl(property.totalValue, [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]),\n owners: new FormControl(property.owners, [Validators.required]),\n shortDescription: new FormControl(property.applicationDescription, [Validators.required]),\n titleDeedRestrictions: new FormControl(property.applicationRestrictions, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n estimatedBy: new FormControl(null, [Validators.required]),\n estimatedCost: new FormControl(property.applicationEstimatedCost, [Validators.required]),\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(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([]), 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 this.updatePropertyRequiredFields(newProperty);\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), applicationPropertyId: new FormControl(zone.applicationPropertyId), zone: new FormControl(zoneOption, [Validators.required]), 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(index, this.missingZoneTuple);\n }\n const mainTableDataSource = newProperty.get(\"mainTableDataSource\").value;\n const outTableDataSource = newProperty.get(\"outTableDataSource\").value;\n const mainItems = [];\n const outItems = [];\n mainTableDataSource.next(mainItems);\n outTableDataSource.next(outItems);\n let applicationType = null;\n this.typeOptions.forEach(item => {\n if (item.value === property.applicationType) {\n applicationType = item;\n }\n });\n let applicationEstimatedBy = null;\n this.estimatedByOptions.forEach(item => {\n if (item.value === property.applicationEstimatedBy) {\n applicationEstimatedBy = item;\n }\n });\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(\"type\").setValue(applicationType);\n newProperty.get(\"estimatedBy\").setValue(applicationEstimatedBy);\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, property);\n this.syncOutBuildingsOnGet(newProperty, property);\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.applicationCreateService.getTrueCentroid(url, formData).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.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 index++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\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.cleanupAfterDestroy(this.mapService.$selectedProperty).subscribe(property => {\n if (property !== null) {\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.cleanupAfterDestroy(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.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\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 sortZones() {\n // sort zones dropdown alphabetically\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.zoneOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\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\") as FormArray;\n // const outBuildings = PropertyFormGroup.get(\"outBuildings\") as FormArray;\n const mainTableDataSource = PropertyFormGroup.get(\"mainTableDataSource\").value;\n const mainBuildings = mainTableDataSource.value;\n const outTableDataSource = PropertyFormGroup.get(\"outTableDataSource\").value;\n const outBuildings = outTableDataSource.value;\n mainBuildings.forEach(building => {\n console.log(building);\n totalExistingCalculated += building.existingSize;\n totalAddedCalculated += building.addedSize;\n if (+building.floor === 0) {\n totalGroundFloorCalculated += building.existingSize;\n totalGroundFloorCalculated += building.addedSize;\n }\n });\n outBuildings.forEach(building => {\n totalExistingCalculated += building.existingSize;\n totalAddedCalculated += building.addedSize;\n if (+building.floor === 0) {\n totalGroundFloorCalculated += building.existingSize;\n totalGroundFloorCalculated += building.addedSize;\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.hasLoadedApplicationProperties = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n if (this.aflaModuleStrategyService.lookups.has(\"typeOptions\")) {\n this.estimatedByOptions = this.aflaModuleStrategyService.lookups.get(\"estimatedByOptions\");\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.typeOptions = this.aflaModuleStrategyService.lookups.get(\"typeOptions\");\n this.zoneOptions = this.aflaModuleStrategyService.lookups.get(\"zoneOptions\");\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n this.subscribeToSelectedApplication();\n }\n else {\n this.getLookups();\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 ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-bpams\", template: __NG_CLI_RESOURCE__0, changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationLocationBpamsComponent);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationBpamsConstants {\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_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 TOTAL_VALUE_CONTROL = \"totalValue\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static SHORT_DESCRIPTION_CONTROL = \"shortDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"titleDeedRestrictions\";\n static TYPE_CONTROL = \"type\"; //Application Type\n static ESTIMATED_BY_CONTROL = \"estimatedBy\";\n static ESTIMATED_COST_CONTROL = \"estimatedCost\";\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 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 TOTAL_VALUE_TEXT_PLACEHOLDER = \"Total value (R)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static SHORT_DESCRIPTION_LABEL = \"Short description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static TYPE_LABEL = \"Type\";\n static ESTIMATED_BY_LABEL = \"Estimated by\";\n static ESTIMATED_COST_LABEL = \"Estimated cost (R)\";\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 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 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 totalValue: {\n required: `Total value ${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 shortDescription: {\n required: `Short description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeedRestrictions: {\n required: `Title deed restrictions ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedBy: {\n required: `Estimated by ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedCost: {\n required: `Estimated cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n externalWalls: {\n required: `Estimated by ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internalWalls: {\n required: `External walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n roofing: {\n required: `Internal 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 { SubscriberComponent } from \"../../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let EditBuildingComponent = class EditBuildingComponent extends SubscriberComponent {\n activeModal;\n appController;\n modalTitle;\n building;\n editedIndex;\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 floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n constructor(activeModal, appController) {\n super();\n this.activeModal = activeModal;\n this.appController = appController;\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 });\n }\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.activeModal.close([this.editedIndex, this.building]);\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 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);\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"]\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 } 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\";\nexport let CreateApplicationProfessionalBodiesBpamsComponent = class CreateApplicationProfessionalBodiesBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n userInformationService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRef;\n appController;\n changeDetectorRefs;\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 constructor(applicationCreateService, recipientService, userInformationService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRef, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.getApplicantData();\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.initialiseDefaultValues();\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 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([\n this.recipientService.getRecipientsObservable(architectAgentParams),\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.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 },\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.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 ];\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);\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\";\nexport let CreateBurialDetailsCmComponent = class CreateBurialDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n datePipe;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, datePipe) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 const date = application.burialDate ? application.burialDate : new Date();\n const dateString = this.datePipe.transform(date, ViewDeceasedDetailsCmConstant.DATE_CONST);\n this.detailsForm.get(this.burialDateControl).setValue(dateString);\n }\n loadLookup() {\n this.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: DatePipe }\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);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateBurialDetailsCmConstants {\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 \"./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\";\nexport let CreateDeceasedDetailsCmComponent = class CreateDeceasedDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n appController;\n changeDetectorRefs;\n aflaModuleStrategyService;\n datePipe;\n selectedApplicationService;\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 = SharedConstants.COUNTRIES;\n provinceLookup = SharedConstants.PROVINCE;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList = [];\n deceasedNamesControl = \"deceasedNames\";\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\"\n };\n constructor(applicationCreateService, appController, changeDetectorRefs, aflaModuleStrategyService, datePipe, selectedApplicationService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.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 }\n loadMetadata(stepMeta) {\n }\n editnamesEvent(deceasedNameList) {\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(\"deceasedNames\").setValue(this.deceasedNameList);\n }\n populateForm(application) {\n if (application)\n this.deceasedForm.markAsTouched();\n else\n return;\n Object.keys(this.deceasedForm.controls).forEach((key) => {\n if (!application.deceased)\n return;\n Object.keys(application.deceased).forEach((inKey) => {\n if (key === inKey) {\n if (!application.deceased[inKey])\n return;\n if (inKey.indexOf(\"date\") !== -1) {\n const date = new Date(application.deceased[inKey]);\n const dateString = this.datePipe.transform(date, CreateDeceasedDetailsCmConstant.DATE_CONST);\n this.deceasedForm.get(key).setValue(dateString);\n }\n else {\n this.deceasedForm.get(key).setValue(application.deceased[inKey]);\n }\n }\n });\n });\n this.deceasedNameList = application.deceased.deceasedNames;\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n this.deceasedForm.enable();\n this.enableDropdowns();\n }\n loadLookups() {\n this.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n checkSave() {\n this.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n this.populateForm(app);\n this.changeDetectorRefs.detectChanges();\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 static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AflaModuleStrategyService },\n { type: DatePipe },\n { type: SelectedApplicationService }\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);\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 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\";\nexport let CreateFamilyMemberDetCmComponent = class CreateFamilyMemberDetCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\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.cleanupAfterDestroy(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 ];\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);\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\";\nexport let CreateFuneralParlourCmComponent = class CreateFuneralParlourCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n recipientService;\n selectedApplicationService;\n appControllerService;\n appService;\n changeDetectorRefs;\n recipientFilterService;\n parlourForm = new FormGroup({});\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 constructor(applicationCreateService, aflaModuleStrategyService, recipientService, selectedApplicationService, appControllerService, appService, changeDetectorRefs, recipientFilterService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.getFuneralParlours();\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.cleanupAfterDestroy(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 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 ];\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);\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 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\";\nexport let CreateApplicationDetailsDmComponent = class CreateApplicationDetailsDmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsDmConstants {\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\";\nexport let CreateLocationDmComponent = class CreateLocationDmComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n active;\n propertiesForm;\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 copyApplicantToOwnerLabel = CreateLocationDMConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = CreateLocationDMConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n dmApplication;\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) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\n this.dmApplication = app;\n if (this.dmApplication)\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = 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() !== \"\") ||\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.clearAsyncValidators();\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 onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n const applicant = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (!applicant)\n return;\n this.appController.showMessage(CreateLocationDMConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(applicant, true, ownersFormControl, true);\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 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(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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [Validators.required]),\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, [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.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(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 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, \"Demolition management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.cleanupAfterDestroy(this.mapService.$selectedProperty).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(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n 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 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).reset();\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 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.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(CreateLocationDMConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\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 ];\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], 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_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 \"./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\";\nexport let CreateApplicationDetailsEcComponent = class CreateApplicationDetailsEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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 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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.loadLookups();\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 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 static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsEcConstants {\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 \"./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\";\nexport let CreateApplicationLocationEcComponent = class CreateApplicationLocationEcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n mapTools;\n selectedApplicationService;\n requestStatusService;\n changeDetectorRefs;\n // controls\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 copyApplicantToOwnerLabel = CreateApplicationLocationEcConstants.COPY_APPLICANT_TO_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 ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n ecApplication;\n propertiesForm;\n active;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, mapTools, selectedApplicationService, requestStatusService, changeDetectorRefs) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.changeDetectorRefs.detectChanges();\n }\n checkSave() {\n this.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\n this.ecApplication = app;\n if (this.ecApplication)\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\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() !== \"\") ||\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 onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n const applicant = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (!applicant)\n return;\n this.appController.showMessage(CreateApplicationLocationEcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(applicant, true, ownersFormControl, true);\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 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(CreateApplicationLocationEcConstants.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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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\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.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(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, \"Celectrical connection graphics\", true);\n }\n }\n subscribeToClearMapGraphics() {\n this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Celectrical connection graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToProperty() {\n this.cleanupAfterDestroy(this.mapService.$selectedProperty).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\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.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(CreateApplicationLocationEcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\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 ];\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], CreateApplicationLocationEcComponent);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationEcConstants {\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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 \"./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\";\nexport let CreateApplicationProfessionalBodiesEcComponent = class CreateApplicationProfessionalBodiesEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\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.electricalEngineerGroup;\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 ];\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);\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 { 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 { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nexport let CreateApplicationDetailsItamsComponent = class CreateApplicationDetailsItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\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 // Form controls\n descriptionFormControlName = CreateApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n tradingGoodsDescriptionFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME;\n previousApplicationReferenceNumberFormControlName = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n onTradingGoodsSelected($event) {\n const selectedTradingGoods = $event.target?.value;\n const tradingGoodsDescriptionFormControl = this.detailsForm.get(this.tradingGoodsDescriptionFormControlName);\n if (selectedTradingGoods && selectedTradingGoods.trim().toLowerCase() === \"other\") {\n tradingGoodsDescriptionFormControl.addValidators(Validators.required);\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n this.tradingGoodIsRequired = true;\n }\n else {\n tradingGoodsDescriptionFormControl.clearValidators();\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\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 }\n else {\n previousApplicationReferenceNumberFormControl.clearValidators();\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = false;\n }\n this.changeDetectorRef.detectChanges();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n this.detailsForm = form;\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\n .getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\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.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}`, tradingGoods);\n this.applicationTypes = applicationTypes;\n this.tradingGoods = tradingGoods;\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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 // Controls\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADING_GOODS_CONTROL_NAME = \"tradingGoods\";\n static TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME = \"tradingGoodsDescription\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME = \"previousReferenceNumber\";\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 \"./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 { 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\";\nexport let CreateApplicationLocationItamsComponent = class CreateApplicationLocationItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationItamsConstants.ERF_NO_CONTROL;\n propertiesFormGroupName = CreateApplicationLocationItamsConstants.PROPERTIES_FORM_GROUP_NAME;\n propertiesFormControlName = CreateApplicationLocationItamsConstants.PROPERTIES_FORM_CONTROL;\n subdivisionControl = CreateApplicationLocationItamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationItamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationItamsConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationItamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = CreateApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = CreateApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationItamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationItamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationItamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationItamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationItamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = CreateApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationItamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n baySizeTextPlaceHolder = CreateApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeBayLabel = CreateApplicationLocationItamsConstants.REMOVE_BAY_LABEL;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n layerReference = CreateApplicationLocationItamsConstants.LAYER_REF;\n hasLoadedApplicationProperties = false;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\n getBays() {\n return this.propertiesForm.get(this.propertiesFormControlName);\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToBayDetails();\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionBayEnabled = false;\n super.ngOnDestroy();\n }\n loadMetadata() {\n }\n onBtnRemoveSelectedBayClicked(propertyIndex) {\n this.getBays().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.getBays().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 initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\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.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getBays().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.getBays();\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.getUpdatedBaysFormGroup(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(CreateApplicationLocationItamsConstants.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 subscribeToBayDetails() {\n this.cleanupAfterDestroy(this.mapService.$selectedBay).subscribe(property => {\n if (property !== null) {\n this.setBayData(property.attributes, property.geometry);\n }\n });\n }\n setBayData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"SetBayData\");\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgCode\");\n const objectId = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"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(propertyObject, \"OBJECTID\", \"objectId\")),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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 bayNumber: new FormControl(null, [Validators.required]),\n baySize: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Size\", \"size\"), [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.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((trueCentroidResponse) => {\n newBay.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const propertyControl = this.getBays();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newBay);\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 }\n getUpdatedBaysFormGroup(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 property: new FormControl(savedProperty),\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 geometry: new FormControl(geom),\n bayNumber: new FormControl(savedProperty.bayNumber),\n baySize: new FormControl(savedProperty.baySize),\n centroid: new FormControl(null, [Validators.required])\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 ];\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], 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 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 BAY_REQUIRED = \"Please select a bay 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 BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\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 BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\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 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 }, 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\";\nexport let CreateApplicationStakeholdersItamsComponent = class CreateApplicationStakeholdersItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n recipientService;\n changeDetectorRefs;\n tradersForm;\n disableTraderRecipientFilter = true;\n traderConfigurableLabel = \"Trader\";\n traderDisableAddButton = false;\n traderRecipientGroups = [];\n traderDisableEditButton = 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) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.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 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 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 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 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 ];\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);\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\";\nexport let CreateApplicationDetailsPlamsComponent = class CreateApplicationDetailsPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n propertyAndLeaseService;\n datePipe;\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 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 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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, datePipe) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.getApplicants();\n this.initForm();\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.cleanupAfterDestroy(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 },\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.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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 if (application.leaseReason) {\n this.detailsForm.get(this.leaseReasonFormControlName).setValue(application.leaseReason);\n }\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.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.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.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.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 ];\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);\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 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 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 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 RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as geometryEngine from \"@arcgis/core/geometry/geometryEngine\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nexport let CreateApplicationLocationPlamsComponent = class CreateApplicationLocationPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\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 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 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 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 mapComponent;\n isMapLoaded = false;\n sketch;\n leaseGraphic = null;\n hasLoadedLookups = false;\n hasLoadedApplicationProperties = false;\n hasSavedLeaseArea = false;\n selectedApplicationType = null;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, requestStatusService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.initForm();\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.changeDetectorRefs.detectChanges();\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\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 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 (numProps > 1) {\n propertyIndex + 1 === numProps ? this.active = propertyIndex - 1 : this.active = propertyIndex;\n }\n this.changeDetectorRefs.detectChanges();\n }\n onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n if (!this.applicants)\n return;\n this.applicants.forEach(applicant => {\n applicant.id = 0;\n applicant.groups = this.ownerGroups;\n });\n const owners = this.getProperties().controls[propertyIndex].get(\"owners\").value;\n owners.push(...this.applicants);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(owners, true, ownersFormControl);\n this.changeDetectorRefs.detectChanges();\n }\n setSelectedProperty(propertyIndex) {\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 if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((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(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\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, [Validators.required]),\n subdivision: new FormControl(property.subdivision, [Validators.required]),\n allotment: new FormControl(property.allotment, [Validators.required]),\n farmNo: new FormControl(property.farmNumber, [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, [Validators.required])\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\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(geometryArc));\n this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((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(propertyControl.length - 1);\n this.changeDetectorRefs.detectChanges();\n }, (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\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.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.cleanupAfterDestroy(this.mapService.$selectedProperty).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n subscribeToClearGraphics() {\n 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.cleanupAfterDestroy(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 ];\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], 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 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 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 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 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 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 { CreateApplicationDetailsRcConstants } from './create-application-details-rc.constant';\nimport { CreateApplicationViewBaseComponent } from 'src/app/create-application/shared/create-application-view-base/create-application-view-base.component';\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 { AppControllerService } from 'src/app/app-controller.service';\nexport let CreateApplicationDetailsRcComponent = class CreateApplicationDetailsRcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n applicationTypeCtrl = CreateApplicationDetailsRcConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsRcConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsRcConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsRcConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationDetailsRcConstants {\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-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 { CreateApplicationLocationRcConstants } from './create-application-location-rc.constants';\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SharedConstants } from 'src/app/shared/constants/shared.constants';\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 { RecipientService } from 'src/app/shared/components/recipient-components/shared/shared-services/recipient.service';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { MapService } from 'src/app/map/shared/map.service';\nimport { SelectedApplicationService } from 'src/app/shared/services/selected-application/selected-application.service';\nimport { RequestStatusService } from 'src/app/shared/services/request-status/request-status.service';\nimport { MapTools } from 'src/app/map/shared/map.tools';\nimport { CreateApplicationViewBaseComponent } from 'src/app/create-application/shared/create-application-view-base/create-application-view-base.component';\nimport RecipientUtils from 'src/app/shared/utils/recipient-utils';\nimport { AlertType } from 'src/app/shared/models/alert';\nimport { ApiProxyConstants } from 'src/app/shared/constants/api-constants/api-proxy.constants';\nimport { AppConfig } from 'src/app/app.config';\nimport { AppRoutingConstants } from 'src/app/app-routing.constants';\nimport { UrlConstants } from 'src/app/shared/constants/url.constants';\nimport { CRUDOperation } from 'src/app/shared/models/crud-operation-enum.model';\nimport Query from '@arcgis/core/rest/support/Query';\nimport { WktConverterUtils } from 'src/app/shared/utils/wkt-converter-utils';\nimport Polygon from '@arcgis/core/geometry/Polygon';\nexport let CreateApplicationLocationRcComponent = class CreateApplicationLocationRcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n active;\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 ownerControl = CreateApplicationLocationRcConstants.OWNER_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 ownerLabel = CreateApplicationLocationRcConstants.OWNER_LABEL;\n copyApplicantToOwnerLabel = CreateApplicationLocationRcConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationRcConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableAdd = false;\n ownerDisableFilterBy = true;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n rcApplication;\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) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\n this.rcApplication = app;\n if (this.rcApplication)\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = 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() !== \"\") ||\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 onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n const applicant = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (!applicant)\n return;\n this.appController.showMessage(CreateApplicationLocationRcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(applicant, true, ownersFormControl, true);\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 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(CreateApplicationLocationRcConstants.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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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.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(CreateApplicationLocationRcConstants.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(CreateApplicationLocationRcConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n this.handleAddProperty(newProperty);\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(\"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.cleanupAfterDestroy(this.mapService.$selectedProperty).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.rcApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n 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.rcApplication.properties && this.rcApplication.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.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(CreateApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\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 ];\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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 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-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\";\nexport let CreateApplicationDetailsSnComponent = class CreateApplicationDetailsSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.initForm();\n if (this.aflaModuleStrategyService.lookups.has(this.applicationTypeLookoutName)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(this.applicationTypeLookoutName);\n }\n else {\n this.getLookups();\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.cleanupAfterDestroy(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 }\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.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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\";\nexport let CreateApplicationLocationSnComponent = class CreateApplicationLocationSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\n getFeatures() {\n return this.locationForm.get(this.featuresFormArrayName);\n }\n ngOnInit() {\n this.initForm();\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 super.ngOnDestroy();\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.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 }\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 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.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.cleanupAfterDestroy(this.mapService.$selectedPOISubject).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 }\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 }\n addRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n currentNameControl.updateValueAndValidity();\n }\n handlePropertyOrFeatureHasNoExistingName(featureIndex) {\n this.removeRequiredValidatorOnTheCurrentNameField(featureIndex);\n }\n removeRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.clearValidators();\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.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.cleanupAfterDestroy(this.mapService.$selectedStreetSubject).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 = false;\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.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 subscribeToClearGraphics() {\n 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 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 ];\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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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\";\nexport let CreateApplicationDetailsTmamsComponent = class CreateApplicationDetailsTmamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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\";\nexport let CreateApplicationLocationTmamsComponent = class CreateApplicationLocationTmamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n active;\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 copyApplicantToOwnerLabel = CreateLocationTmConstants.COPY_APPLICANT_TO_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 mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n tmApplication;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, mapTools, requestStatusService, changeDetectorRefs) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.cleanupAfterDestroy(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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = 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() !== \"\") ||\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 onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n const applicant = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (!applicant)\n return;\n this.appController.showMessage(CreateLocationTmConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(applicant, true, ownersFormControl, true);\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 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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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.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.cleanupAfterDestroy(this.mapService.$selectedProperty).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.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.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 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 ];\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], 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_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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","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\";\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\";\nexport let CreateApplicationDetailsTpamsComponent = class CreateApplicationDetailsTpamsComponent extends CreateApplicationViewBaseComponent {\n static { CreateApplicationDetailsTpamsComponent_1 = this; }\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\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 // 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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\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(stepMeta) {\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 const applicationTypesControl = this.getApplicationTypes();\n const typeGroup = new FormGroup({\n type: new FormControl(null, [Validators.required])\n });\n 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 }\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.cleanupAfterDestroy(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 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 static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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 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 { MapServiceConstants } from \"../../../../map/map-service.constants\";\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\";\nexport let CreateApplicationLocationTpamsComponent = class CreateApplicationLocationTpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n active;\n propertiesForm;\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 totalValueControl = CreateApplicationLocationTpamsConstants.TOTAL_VALUE_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 totalValueTextPlaceHolder = CreateApplicationLocationTpamsConstants.TOTAL_VALUE_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 copyApplicantToOwnerZoneLabel = CreateApplicationLocationTpamsConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationTpamsConstants.REMOVE_PROPERTY_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 subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n hasLoadedApplicationProperties = false;\n missingZoneTuple;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\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 this.getProperties.removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\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 }\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 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.cleanupAfterDestroy(this.mapService.$selectedProperty).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.cleanupAfterDestroy(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.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 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.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.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.cleanupAfterDestroy(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.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 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 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 ];\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], 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_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 TOTAL_VALUE_CONTROL = \"totalValue\";\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 TOTAL_VALUE_TEXT_PLACEHOLDER = \"Total value (R)\";\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 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 totalValue: {\n required: `Total value ${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\";\nexport let CreateApplicationDetailsWamsComponent = class CreateApplicationDetailsWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n datePipe;\n appControllerService;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, datePipe, appControllerService, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.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.cleanupAfterDestroy(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 ];\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);\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\";\nexport let CreateApplicationLocationWamsComponent = class CreateApplicationLocationWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((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 }, (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationWamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\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 ngOnDestroy() {\n super.ngOnDestroy();\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.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.cleanupAfterDestroy(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 ];\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], 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\";\nexport let CreateApplicationProfessionalBodiesWamsComponent = class CreateApplicationProfessionalBodiesWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\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.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 ];\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);\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';\nexport let CreateApplicationDetailsZcamsComponent = class CreateApplicationDetailsZcamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\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 constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.cleanupAfterDestroy(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.cleanupAfterDestroy(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.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef }\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);\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_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 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 'src/app/create-application/shared/create-application-view-base/create-application-view-base.component';\nimport { CreateApplicationLocationZcConstants } from './create-application-location-zc.constants';\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SharedConstants } from 'src/app/shared/constants/shared.constants';\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 { RecipientService } from 'src/app/shared/components/recipient-components/shared/shared-services/recipient.service';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { MapService } from 'src/app/map/shared/map.service';\nimport { SelectedApplicationService } from 'src/app/shared/services/selected-application/selected-application.service';\nimport { RequestStatusService } from 'src/app/shared/services/request-status/request-status.service';\nimport { MapTools } from 'src/app/map/shared/map.tools';\nimport { AlertType } from 'src/app/shared/models/alert';\nimport RecipientUtils from 'src/app/shared/utils/recipient-utils';\nimport { UrlConstants } from 'src/app/shared/constants/url.constants';\nimport { ApiProxyConstants } from 'src/app/shared/constants/api-constants/api-proxy.constants';\nimport { AppRoutingConstants } from 'src/app/app-routing.constants';\nimport { AppConfig } from 'src/app/app.config';\nimport Query from '@arcgis/core/rest/support/Query';\nimport { WktConverterUtils } from 'src/app/shared/utils/wkt-converter-utils';\nimport Polygon from '@arcgis/core/geometry/Polygon';\nimport { CRUDOperation } from 'src/app/shared/models/crud-operation-enum.model';\nexport let CreateApplicationLocationZcamsComponent = class CreateApplicationLocationZcamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\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 copyApplicantToOwnerLabel = CreateApplicationLocationZcConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationZcConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableAdd = false;\n ownerDisableFilterBy = true;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\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) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService);\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 }\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.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\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 super.ngOnDestroy();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = 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() !== \"\") ||\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 onBtnCopyApplicantToOwnerClicked(propertyIndex) {\n const applicant = this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (!applicant)\n return;\n this.appController.showMessage(CreateApplicationLocationZcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n const ownersFormControl = this.getProperties().controls[propertyIndex].get(\"owners\");\n RecipientUtils.setRecipients(applicant, true, ownersFormControl, true);\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 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(CreateApplicationLocationZcConstants.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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmNumber\"), [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.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(CreateApplicationLocationZcConstants.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(CreateApplicationLocationZcConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n this.handleAddProperty(newProperty);\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(\"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.cleanupAfterDestroy(this.mapService.$selectedProperty).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.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.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 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 ];\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], 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 { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\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\";\nexport let ApplicationCreateService = class ApplicationCreateService extends SubscriberComponent {\n static { ApplicationCreateService_1 = this; }\n http;\n routeParamsService;\n moduleID;\n propertyData; // {data: \"\"};\n propertySubject = new BehaviorSubject(undefined);\n propertyObservable = this.propertySubject.asObservable();\n $missingLookupsForZones = [];\n $clearLayerGraphicsSubject = 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 constructor(http, routeParamsService) {\n super();\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.cleanupAfterDestroy(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 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 static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService }\n ];\n};\nApplicationCreateService = ApplicationCreateService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ApplicationCreateService);\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { SubscriberComponent } from \"../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let CreateApplicationViewBaseComponent = class CreateApplicationViewBaseComponent extends SubscriberComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService) {\n super();\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.cleanupAfterDestroy(this.selectedApplicationService.$incompleteJobId).subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.cleanupAfterDestroy(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 ngOnInit() {\n }\n getMetadata() {\n this.cleanupAfterDestroy(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 ];\n};\nCreateApplicationViewBaseComponent = __decorate([\n Component({\n template: \"\",\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n], 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 details\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent details\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\n // TODO: replace with configurable text\n static WELCOME_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 { SubscriberComponent } from \"../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let AddDocumentsDialogComponent = class AddDocumentsDialogComponent extends SubscriberComponent {\n activeModal;\n requestStatusService;\n saLongDatePipe;\n userInformationService;\n applicationCreateService;\n appControllerService;\n addDocumentForm;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\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 constructor(activeModal, requestStatusService, saLongDatePipe, userInformationService, applicationCreateService, appControllerService) {\n super();\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 }\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 }\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.cleanupAfterDestroy(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 };\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], 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\";\nexport let DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\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 }\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);\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 { SubscriberComponent } from \"../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let EditDocumentsDialogComponent = class EditDocumentsDialogComponent extends SubscriberComponent {\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 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 constructor(activeModal, appControllerService, userInformationService, applicationCreateService, requestStatusService, saLongDatePipe) {\n super();\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 }\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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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], 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 { SubscriberComponent } from \"../../../shared/components/subscriber/subscriber.component\";\nimport { Router } from \"@angular/router\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"../../create-application-routing.constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nexport let RefreshComponent = class RefreshComponent extends SubscriberComponent {\n router;\n appControllerService;\n constructor(router, appControllerService) {\n super();\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);\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\", \"erfNumber\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Subdivision\", \"ptnNum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"FarmNo\", \"farmNumber\"), [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 totalValue: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"TotalValue\", \"totalValue\"), [Validators.required]),\n titleDeed: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"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 totalValue: new FormControl(savedProperty.totalValue, [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 { SharedConstants } from \"../shared/constants/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","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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nexport let 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);\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 { Router } from \"@angular/router\";\nimport { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\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 { MapServiceConstants } from \"../map-service.constants\";\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\";\nexport let MapService = class MapService extends SubscriberComponent {\n static { MapService_1 = this; }\n mapTools;\n http;\n router;\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 constructor(mapTools, http, router, authService, userInformationService, moduleConfigService, location, requestStatusService, appController) {\n super();\n this.mapTools = mapTools;\n this.http = http;\n this.router = router;\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.cleanupAfterDestroy(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 = [];\n if (response.results.length > 0) {\n response.results.forEach((result) => {\n if (result.feature.attributes.CreatedUserId === this.authUserInformation.id) {\n results.push(result);\n }\n });\n }\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,\n content: [{\n type: \"fields\",\n 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 return feature;\n });\n })\n .then(response => {\n if (response && layer.popupEnabled) {\n this.showPopup(event, response, mapView);\n this.addActions();\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 this._mapView?.popup.on(\"trigger-action\", (event) => {\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 });\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.open({\n features: response,\n location: event.mapPoint\n });\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 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 // 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 });\n }\n });\n }\n // This function builds and returns a LayerSearchSource for a given layer\n prepareSearchSource(loadedMapLayer) {\n const forbiddenFields = [\"objectid\", \"shape\", \"id\", \"shape_area\"].map(field => field.toLowerCase());\n const fields = loadedMapLayer.fields\n .filter((field) => !forbiddenFields.includes(field.name.toLowerCase().trim()))\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 outFields: [\"*\"],\n name: loadedMapLayer.title,\n withinViewEnabled: false,\n zoomScale: 50000,\n suggestionsEnabled: true,\n maxSuggestions: 50,\n minSuggestCharacters: 0,\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) {\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: Router },\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], 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\";\nexport let 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\", \"esri-icon-edit\");\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\", \"esri-icon-measure\");\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\", \"esri-icon-visible\");\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 maxResults: 6,\n maxSuggestions: 6,\n minSuggestCharacters: 0\n });\n search.on(\"search-complete\", (event) => {\n this.search.searchMultipleResults(event, mapView);\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 expandIconClass: 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);\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\";\nexport let 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);\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\";\nexport let SearchComponent = class SearchComponent {\n constructor() { }\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 let extMaxX = -180;\n let extMinX = 180;\n let extMaxY = -90;\n let extMinY = 90;\n let counter = 0;\n mapView.popup.clear();\n mapView.popup.close();\n const pointGraphics = [];\n try {\n event.results.forEach((entry) => {\n entry.results.forEach((res) => {\n let x;\n let y;\n if (res.feature.geometry.type === \"point\") {\n // @ts-ignore\n x = res.feature.geometry.longitude;\n // @ts-ignore\n y = res.feature.geometry.latitude;\n }\n else {\n // @ts-ignore\n x = res.feature.geometry.centroid.longitude;\n // @ts-ignore\n y = res.feature.geometry.centroid.latitude;\n }\n if (x > extMaxX && x !== 0 && x <= 180) {\n extMaxX = x;\n }\n if (y > extMaxY && y !== 0 && y <= 90) {\n extMaxY = y;\n }\n if (x < extMinX && x !== 0 && x >= -180) {\n extMinX = x;\n }\n if (y < extMinY && y !== 0 && y >= -90) {\n extMinY = y;\n }\n memoryCollection[counter] = [res.feature.attributes, res.feature.geometry, x, y, res.extent,\n res.feature.attributes.Loc_name, counter, res.name];\n counter++;\n });\n });\n }\n catch (e) {\n if (e)\n throw e;\n }\n const markerSymbol = {\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 for (let i = 0; i < counter; i++) {\n const point = {\n type: \"point\",\n longitude: memoryCollection[i][2],\n latitude: memoryCollection[i][3]\n };\n const template = new PopupTemplate({\n title: memoryCollection[i][7] + \"
Generate Report
\"\n });\n const pointGraphic = new Graphic({\n // @ts-ignore\n geometry: point,\n // @ts-ignore\n symbol: markerSymbol,\n popupTemplate: template\n });\n pointGraphics.push(pointGraphic);\n }\n // @ts-ignore\n mapView.center = [memoryCollection[0][2], memoryCollection[0][3]];\n mapView.zoom = 11;\n }\n addLocatorSource(locatorSearchSource, searchSources) {\n // const locator = new Locator({\n // url: locatorSearchSource.url\n // })\n searchSources.add({\n url: locatorSearchSource.url,\n name: locatorSearchSource.name,\n countryCode: locatorSearchSource.countryCode\n });\n }\n static ctorParameters = () => [];\n};\nSearchComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], 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","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nexport let 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);\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\";\nexport let GlobalErrorHandler = class GlobalErrorHandler {\n appControllerService;\n esriBugExceptions = [\"Cannot set property 'geometryType' of undefined\", \"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 \"Cannot set properties of undefined (setting 'stepIndex')\"\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 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. Issue currently being logged with Esri Inc\");\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);\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\nexport let WindowReference = class WindowReference {\n get nativeWindow() {\n return _window();\n }\n};\nWindowReference = __decorate([\n Injectable()\n], 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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let HelpModalComponent = class HelpModalComponent {\n activeModal;\n dialogTitle;\n helpMessage;\n closeBtnPlaceholder = \"Close\";\n constructor(activeModal) {\n this.activeModal = activeModal;\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);\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\";\nexport let 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);\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 { SubscriberComponent } from \"../subscriber/subscriber.component\";\nexport let PageHeadingComponent = class PageHeadingComponent extends SubscriberComponent {\n routerParamsService;\n appController;\n changeDetectorRef;\n userInformationService;\n title;\n heading;\n subheading;\n moduleHeading;\n organisationHeading;\n currentModule;\n currentOrganisation;\n constructor(routerParamsService, appController, changeDetectorRef, userInformationService) {\n super();\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.cleanupAfterDestroy(onlyValidParams).subscribe((params) => {\n if (params) {\n if (params.moduleid) {\n this.cleanupAfterDestroy(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], 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 { SubscriberComponent } from \"../subscriber/subscriber.component\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nexport let PopUpComponent = class PopUpComponent extends SubscriberComponent {\n activeModal;\n appController;\n title;\n contentMessage;\n data;\n updateBtnPlaceholder = SharedConstants.YES_LABEL;\n cancelBtnPlaceholder = SharedConstants.NO_LABEL;\n constructor(activeModal, appController) {\n super();\n this.activeModal = activeModal;\n this.appController = appController;\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);\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\";\nexport let 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);\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\";\nexport let PwaInstallBottomSheetComponent = class PwaInstallBottomSheetComponent {\n bottomSheetRef;\n constructor(bottomSheetRef) {\n this.bottomSheetRef = bottomSheetRef;\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);\n","var RecipientListComponent_1;\nimport { __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 { RecipientService } from \"../shared/shared-services/recipient.service\";\nimport { AddRecipientModalComponent } from \"../shared/modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { SubscriberComponent } from \"../../subscriber/subscriber.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 { CRUDOperation } from \"../../../models/crud-operation-enum.model\";\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\";\nexport let RecipientListComponent = class RecipientListComponent extends SubscriberComponent {\n static { RecipientListComponent_1 = this; }\n recipientService;\n recipientFilterService;\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 edit 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(recipientService, recipientFilterService, appControllerService, formBuilder, userInformationService, changeDetectorRef, modalService) {\n super();\n this.recipientService = recipientService;\n this.recipientFilterService = recipientFilterService;\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 ngOnDestroy() {\n super.ngOnDestroy();\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 getRecipientGroupsFromLookups() {\n // Fetch groups from the recipientGroups lookup\n this.cleanupAfterDestroy(this.recipientService.getRecipientGroupsLookupObservable(this.moduleId)).subscribe((groupsLookups) => {\n if (groupsLookups && groupsLookups.length > 0) {\n this.onGetRecipientGroupsCompleted(groupsLookups);\n }\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n });\n }\n onGetRecipientGroupsCompleted(groupsLookups) {\n groupsLookups.forEach(groupLookup => {\n const lookup = JSON.parse(groupLookup.content);\n this.groupsOptions.push(lookup.value);\n });\n this.groupsOptions.sort((a, b) => a?.localeCompare(b));\n this.changeDetectorRef.detectChanges();\n if (this.stepMetaRecipientGroups.length > 0) {\n const recipientGroups = RecipientUtils.standardizeRecipientGroupsObject(this.stepMetaRecipientGroups);\n this.recipientListForm.get(\"groups\").setValue(recipientGroups);\n }\n }\n setLabelSettings(label) {\n this.configurableLabel = label;\n if (label === null || label === undefined) {\n this.stepMetaPropertyNotSetErrMessage(\"label\");\n }\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: RecipientService },\n { type: RecipientService },\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 = RecipientListComponent_1 = __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_1),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RecipientListComponent_1),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], 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","var RecipientSelectComponent_1;\nimport { __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 { RecipientSelectConstants } from \"./recipient-select.constants\";\nimport { FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from \"@angular/forms\";\nimport { SubscriberComponent } from \"../../subscriber/subscriber.component\";\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 { AlertType } from \"../../../../shared/models/alert\";\nexport let RecipientSelectComponent = class RecipientSelectComponent extends SubscriberComponent {\n static { RecipientSelectComponent_1 = this; }\n recipientService;\n appControllerService;\n userInformationService;\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 = SharedConstants.PROVINCE;\n countryOptions = SharedConstants.COUNTRIES;\n selectOptionText = SharedConstants.DEFAULT_COUNTRY;\n sameAsResidentialChecked = false;\n // moduleId;\n groupsFromMetadata;\n onChangeSubscription;\n defaultRequiredFields = DefaultRequiredFields;\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 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 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 constructor(recipientService, appControllerService, userInformationService, changeDetectorRef) {\n super();\n this.recipientService = recipientService;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.changeDetectorRef = changeDetectorRef;\n // this.moduleId = this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null;\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.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.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.configureComponentOnInit();\n }\n }\n checkSACAPOptions() {\n if (this.showSACAPOptions) {\n // add sacap controls\n this.recipientForm.addControl(this.sacapRegistrationNumberFormControlName, new FormControl(null, Validators.required));\n this.recipientForm.addControl(this.sacapRegistrationVerifiedFormControlName, new FormControl(null, Validators.required));\n this.recipientForm.updateValueAndValidity();\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 }\n ngOnDestroy() {\n this.onChangeSubscription.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 }\n else {\n this.clearEmailFormFieldRequiredValidation(emailFormControl);\n }\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 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.getRecipientGroupsFromLookups();\n }\n }\n getRecipientGroupsFromLookups() {\n // Fetch groups from the recipientGroups lookup\n this.cleanupAfterDestroy(this.recipientService.getRecipientGroupsLookupObservable(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null)).subscribe({\n next: (groupsLookups) => {\n if (groupsLookups && groupsLookups.length > 0) {\n this.populateRecipientGroups(groupsLookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n populateRecipientGroups(groupsLookups) {\n // populates the dropdown with groups from the lookups\n groupsLookups.forEach(groupLookup => {\n const lookup = JSON.parse(groupLookup.content);\n this.groupsOptions.push(lookup.value);\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.setRequiredFields();\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 if (this.stepMetaRecipientGroups[0].hasOwnProperty(\"requiredFields\") && Object.keys(this.stepMetaRecipientGroups[0].requiredFields)?.length > 0) {\n this.loadRequiredFields(this.stepMetaRecipientGroups[0].requiredFields);\n }\n else {\n this.stepMetaRecipientGroups[0].requiredFields = this.defaultRequiredFields;\n this.loadRequiredFields(this.stepMetaRecipientGroups[0].requiredFields);\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 if (this.recipientFormLabelHeading === null || this.recipientFormLabelHeading === undefined) {\n this.stepMetaPropertyNotSetErrMessage(\"label\");\n }\n }\n subscribeToClearForm() {\n this.cleanupAfterDestroy(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 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 }\n setJobId() {\n if (this.jobId && +this.jobId >= 0) {\n this.recipientForm.get(this.jobIdFormControlName).patchValue(+this.jobId);\n }\n }\n loadRequiredFields(requiredFields) {\n for (const [fieldName, isRequired] of Object.entries(requiredFields)) {\n if (isRequired) {\n RecipientUtils.checkRequiredFields(this.stepMetaRecipientGroups, this.recipientForm);\n }\n }\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 onVerifySacapDetails() {\n const constituentId = this.recipientForm.get(this.sacapRegistrationNumberFormControlName).value;\n this.cleanupAfterDestroy(this.recipientService.verifySACAPRegistration(constituentId)).subscribe({\n next: (response) => {\n this.setSACAPRecipientData(response);\n this.setSACAPRecipientVerification();\n this.appControllerService.showMessage(\"membership validated\", AlertType.Success);\n },\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 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 ngAfterViewInit() {\n if (this.showSACAPOptions) {\n this.checkSACAPOptions();\n this.changeDetectorRef.detectChanges();\n }\n }\n setSACAPRecipientVerification() {\n this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName).setValue(true);\n }\n clearSACAPRecipientVerification() {\n this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName).reset();\n }\n static ctorParameters = () => [\n { type: RecipientService },\n { type: AppControllerService },\n { type: UserInformationService },\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 = RecipientSelectComponent_1 = __decorate([\n Component({\n selector: \"app-recipient-select\",\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RecipientSelectComponent_1), multi: true\n }, {\n provide: NG_VALIDATORS, useExisting: forwardRef(() => RecipientSelectComponent_1), multi: true\n }],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], 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 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 = \"Verfiy 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 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 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\";\nexport let 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 newRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n provinceOptions = SharedConstants.PROVINCE;\n countryOptions = SharedConstants.COUNTRIES;\n defaultRequiredFields = DefaultRequiredFields;\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 professionalBodyLabel = RecipientFormConstants.professionalBodyLabel;\n professionalBodyRegNoLabel = RecipientFormConstants.professionalBodyRegNoLabel;\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 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 constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n }\n ngOnInit() {\n this.initForm();\n this.checkRequiredFields();\n this.populateRecipientGroups();\n this.showOrHideGroupsDropdown();\n this.setConfigurableLabel();\n this.changeDetectorRef.markForCheck();\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 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 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 }\n else {\n this.clearEmailFormFieldRequiredValidation(emailFormControl);\n }\n }\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 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 if (this.groupsFromMetadata[0].hasOwnProperty(\"requiredFields\") && Object.keys(this.groupsFromMetadata[0].requiredFields)?.length > 0) {\n this.loadRequiredFields(this.groupsFromMetadata[0].requiredFields);\n this.newRecipientForm.updateValueAndValidity();\n }\n else {\n this.groupsFromMetadata[0].requiredFields = this.defaultRequiredFields;\n this.loadRequiredFields(this.groupsFromMetadata[0].requiredFields);\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(requiredFields) {\n for (const [fieldName, isRequired] of Object.entries(requiredFields)) {\n if (isRequired) {\n RecipientUtils.checkRequiredFields(this.groupsFromMetadata, this.newRecipientForm);\n }\n }\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 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 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);\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\";\nexport let ConfirmDeleteModalComponent = class ConfirmDeleteModalComponent {\n activeModalService;\n label;\n dialogTitle;\n deleteConfirmationText;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n deleteBtnPlaceholder = SharedConstants.DELETE_LABEL;\n constructor(activeModalService) {\n this.activeModalService = activeModalService;\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);\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 } 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 { SubscriberComponent } from \"../../../../subscriber/subscriber.component\";\nimport { phoneNumberValidator } from \"../../../../../classes/phone-number-validator\";\nimport { RecipientSelectConstants } from \"../../../recipient-select/recipient-select.constants\";\nexport let EditRecipientModalComponent = class EditRecipientModalComponent extends SubscriberComponent {\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 editRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n provinceOptions = SharedConstants.PROVINCE;\n countryOptions = SharedConstants.COUNTRIES;\n groupsOptionsObservable = new Subject();\n selectedGroupsOptionsSubject = new Subject();\n defaultRequiredFields = DefaultRequiredFields;\n requiredFieldsPlaceHolder = RecipientFormConstants.requireFieldKey;\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 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 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 constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n super();\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\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 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.checkRequiredFields();\n }\n ngAfterViewInit() {\n this.populateRecipientGroups();\n this.checkIfPostalDetailsIsTheSameAsResidentialDetails(this.recipientToEdit);\n }\n ngOnDestroy() {\n super.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 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 }\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 if (this.groupsFromMetadata[0].hasOwnProperty(\"requiredFields\") && Object.keys(this.groupsFromMetadata[0].requiredFields)?.length > 0) {\n this.loadRequiredFields(this.groupsFromMetadata[0].requiredFields);\n this.editRecipientForm.updateValueAndValidity();\n }\n else {\n this.groupsFromMetadata[0].requiredFields = this.defaultRequiredFields;\n this.loadRequiredFields(this.groupsFromMetadata[0].requiredFields);\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(requiredFields) {\n for (const [fieldName, isRequired] of Object.entries(requiredFields)) {\n if (isRequired) {\n RecipientUtils.checkRequiredFields(this.groupsFromMetadata, this.editRecipientForm);\n }\n }\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 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);\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 { SubscriberComponent } from \"../../../subscriber/subscriber.component\";\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\";\nexport let RecipientFilterComponent = class RecipientFilterComponent extends SubscriberComponent {\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 constructor(appControllerService, recipientFilterService, modalService, changeDetectorRef) {\n super();\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.cleanupAfterDestroy(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], 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 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\";\nexport let 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 static ctorParameters = () => [\n { type: AppControllerService },\n { type: HttpClient }\n ];\n};\nRecipientService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], 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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nexport let SubscriberComponent = class SubscriberComponent {\n ngUnsubscribe = new Subject();\n ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n cleanupAfterDestroy(observable) {\n return observable.pipe(takeUntil(this.ngUnsubscribe));\n }\n};\nSubscriberComponent = __decorate([\n Component({\n template: \"\",\n host: { 'SubscriberComponent': 'aflaportal-application' },\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n], SubscriberComponent);\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';\nexport let 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);\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_INFORMAL_TRADING_APPLICATIONS = \"GetBlApplicationsByUser\";\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 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 = \"SetInformalTradingProperties\";\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 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 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 INVOICE_TYPES = [\"Invoice\", \"Quote\", \"Deposit\"];\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: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A = [\n { code: \"Double Sided\", value: \"Double Sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static NON_ILLUMINATED_GANTRY_A = [\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static DIGITAL_GANTRY_A = [\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}\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 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 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 // 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\" /* CalciteInputTypeEnum.text */;\n static INPUT_TYPE_TEXTAREA = \"textarea\" /* CalciteInputTypeEnum.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 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 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 Decimal: \"Decimal\",\n Dropdown: \"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}\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","import { __decorate } from \"tslib\";\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from \"@angular/core\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AuthService } from \"../../services/auth/auth.service\";\nexport let 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);\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","export class TrueCentroidResultsModel {\n results;\n messages;\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 = {}));\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\";\nexport let 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);\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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport memo from \"memo-decorator\";\nimport { DatePipe } from \"@angular/common\";\nexport let 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);\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\";\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[\"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.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[\"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 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[\"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[\"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[\"Summary\"] = \"Application summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Advertising details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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 agent: AStrategyService_1.getRecipientName(AStrategyService_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, ViewApplicationDetailsAComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationAComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsAComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationAComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\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.cleanupAfterDestroy(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.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.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,\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: \"point, polygon\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.cleanupAfterDestroy(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.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 }\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 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 = \"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 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_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.Summary ? \"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.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(\"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(\"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 = `MULTIPOINT (${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 const date = new Date();\n const dateString = this.datePipe.transform(date, \"yyyy-MM-dd\");\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.displayStartDate = this.form.get(\"detailsForm\").get(\"displayStartDate\").value === null ? dateString : this.form.get(\"detailsForm\").get(\"displayStartDate\").value;\n application.displayEndDate = this.form.get(\"detailsForm\").get(\"displayEndDate\").value === null ? dateString : 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 === null ? dateString : 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 : this.form.get(\"detailsForm\").get(\"dimensionsH\").value;\n application.dimensionsW = this.form.get(\"detailsForm\").get(\"dimensionsW\").value === null ? 0 : this.form.get(\"detailsForm\").get(\"dimensionsW\").value;\n application.dimensionsD = this.form.get(\"detailsForm\").get(\"dimensionsD\").value === null ? 0 : 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 : this.form.get(\"detailsForm\").get(\"frontalArea\").value;\n application.totalArea = this.form.get(\"detailsForm\").get(\"totalArea\").value === null ? 0 : 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 === null ? 0 : this.form.get(\"detailsForm\").get(\"weight\").value;\n application.wattage = this.form.get(\"detailsForm\").get(\"wattage\").value === null ? 0 : 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.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 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 advertisementsForm: new FormGroup({\n advertisements: new FormArray([], [minLengthArray(1), Validators.required]),\n isAdvetisingPermanentOrTemporary: new FormControl(null, Validators.required),\n type: new FormControl(null)\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n permanentApplicationDuration: new FormControl(null),\n displayStartDate: new FormControl(null),\n displayEndDate: new FormControl(null),\n displayRemovalDate: new FormControl(null),\n numberOfPosters: new FormControl(null),\n applicationDuration: new FormControl(null),\n nameOfBusiness: new FormControl(null),\n notifySignageRemovalPeriod: new FormControl(null),\n positionOfDisplay: new FormControl(null),\n dimensionsH: new FormControl(0),\n dimensionsW: new FormControl(0),\n dimensionsD: new FormControl(0),\n material: new FormControl(null),\n colours: new FormControl(null),\n frontalArea: new FormControl(0),\n totalArea: new FormControl(0),\n signType: new FormControl(null),\n weight: new FormControl(0),\n wattage: new FormControl(0),\n contractorName: new FormControl(null),\n contractorAddress: new FormControl(null),\n contractorTelephone: new FormControl(null, phoneNumberValidator),\n forSale: new FormControl(false),\n onShow: new FormControl(false),\n toLet: new FormControl(false),\n sold: new FormControl(false),\n constructionBoardSign: new FormControl(false),\n otherOneYear: new FormControl(null),\n groundSign: new FormControl(false),\n flag: new FormControl(false),\n sandwichBoard: new FormControl(false),\n pylon: new FormControl(false),\n wallSign: new FormControl(false),\n buildingAttachment: new FormControl(false),\n projectingWallSign: new FormControl(false),\n wallPainted: new FormControl(false),\n roofSign: new FormControl(false),\n skySign: new FormControl(false),\n veranda: new FormControl(false),\n aerialSign: new FormControl(false),\n windowSign: new FormControl(false),\n schoolSign: new FormControl(false),\n combinationSign: new FormControl(false),\n underAwningSign: new FormControl(false),\n flagSign: new FormControl(false),\n canopy: new FormControl(false),\n balcony: new FormControl(false),\n electronicSign: new FormControl(false),\n developmentBoard: new FormControl(false),\n otherFiveYear: new FormControl(null),\n nonIlluminatedBillboard: new FormControl(null),\n digitalBillboard: new FormControl(null),\n nonIlluminatedGantry: new FormControl(null),\n digitalGantry: new FormControl(null),\n internallyIlluminatedBillboard: new FormControl(null),\n internallyIlluminatedGantry: new FormControl(null),\n municipalConsumerAccountNumber: new FormControl(null),\n personResponsibleId: new FormControl(null),\n personResponsible: new FormControl([]),\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 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], 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\";\nimport { SubscriberComponent } from \"../../components/subscriber/subscriber.component\";\n// This serves as the strategy interface , since javascript has no comprehension of interfaces for providers\nexport class AflaModuleStrategyService extends SubscriberComponent {\n onCleanFormEvent = new EventEmitter();\n constructor() {\n super();\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 { CreateApplicationLocationItamsConstants } from \"../../../create-application/modules/it/create-application-location-itams/create-application-location-itams.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\";\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\"] = \"Bay 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[\"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[\"Summary\"] = \"Application summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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_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, 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.cleanupAfterDestroy(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 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);\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($expand=owners($expand=groups))\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.cleanupAfterDestroy(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.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 }\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 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 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.Summary ? \"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(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 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(\"tradingGoods\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").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) {\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 erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n subdivision: item.get(\"subdivision\").value,\n allotment: item.get(\"allotment\").value,\n sgCode: item.get(\"sgCode\").value,\n address: item.get(\"address\").value,\n isDummy: false,\n shape: geometryJSON,\n updateGeometry: false,\n wkid: 102100,\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 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 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 type: this.form.get(\"detailsForm\").get(\"type\").value\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 applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n applicantAgentRecipient: new FormControl(null),\n copyApplicantDetails: new FormControl(null),\n markApplicantAgentAsNotApplicable: new FormControl(null)\n }),\n noteForm: new FormGroup({\n newNote: new FormControl(null),\n notes: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n applicationType: new FormControl(),\n referenceNumber: new FormControl(),\n tradeName: new FormControl(),\n businessOwner: new FormControl(null)\n }),\n propertiesForm: new FormGroup({\n properties: new FormArray([], [minLengthArray(1), Validators.required]),\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], 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\";\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[\"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[\"Summary\"] = \"Application summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"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.cleanupAfterDestroy(this.postApplicationService(application)).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(\"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.cleanupAfterDestroy(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.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 }\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 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(\"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 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.Summary ? \"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 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 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 totalValue: item.get(\"totalValue\").value,\n updateGeometry: false,\n wkid: 102100,\n applicationDescription: item.get(\"shortDescription\").value,\n applicationRestrictions: item.get(\"titleDeedRestrictions\").value,\n applicationType: item.get(\"type\").value?.value,\n applicationEstimatedBy: item.get(\"estimatedBy\").value?.value,\n applicationEstimatedCost: item.get(\"estimatedCost\").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 };\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 };\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 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 };\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], 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\";\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[\"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.Agent, \"agent\"], [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[\"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[\"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.Agent, \"agent\"], [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[\"Agent\"] = \"Agent\";\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[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"FuneralParlour\"] = \"Funeral parlour help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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.Agent, HeaderConfigurableTextTypes.Agent)\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[\"Summary\"] = \"Summary\";\n ViewApplicationMenuHeadings[\"BurialDetails\"] = \"Burial\";\n ViewApplicationMenuHeadings[\"DeceasedDetails\"] = \"Deceased\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"FamilyMemberDetails\"] = \"Family member\";\n ViewApplicationMenuHeadings[\"FuneralParlour\"] = \"Funeral parlour\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewApplicationMenuConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.FuneralParlour, HeaderConfigurableTextTypes.FuneralParlour)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport let 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 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 agent: CemeteryStrategyService_1.getRecipientName(CemeteryStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate),\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([[ViewApplicationMenuHeadings.BurialDetails, ViewBurialDetailsCmComponent], [ViewApplicationMenuHeadings.DeceasedDetails, ViewDeceasedDetailsCmComponent], [ViewApplicationMenuHeadings.FamilyMemberDetails, ViewFamilyMemberCmComponent], [ViewApplicationMenuHeadings.FuneralParlour, ViewFuneralParlourCmComponent],]);\n }\n // TODO: setup correct component for each step\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([[CreateApplicationCemeteryMenuHeadings.BurialDetails, CreateBurialDetailsCmComponent,], [CreateApplicationCemeteryMenuHeadings.DeceasedDetails, CreateDeceasedDetailsCmComponent], [CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails, CreateFamilyMemberDetCmComponent], [CreateApplicationCemeteryMenuHeadings.FuneralParlour, CreateFuneralParlourCmComponent],]);\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.cleanupAfterDestroy(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.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(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.cleanupAfterDestroy(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.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 }\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.Agent.toLocaleLowerCase():\n this.requestStatusService.removeBusySpinner(\"CreateCMApplication\");\n formName = \"applicantAgentForm\";\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.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").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 // TODO: Remove unecessary fileds\n getSelectedApplicationSummaryExpand() {\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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationCemeteryMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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 }), 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 }), 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 }), funeralParlourForm: new FormGroup({\n parlourRecipient: new FormControl(null, [Validators.required]),\n parlourSelector: new FormControl(null, [Validators.required]),\n funeralParlourIsNull: new FormControl(null),\n }), documentForm: new FormGroup({\n documents: new FormArray([]),\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 applicantAgent: [],\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.dateOfDeath)\n existingApplication.deceased.dateOfDeath = null;\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < existingApplication.deceased.deceasedNames.length; index++) {\n if (existingApplication.deceased.deceasedNames[index].id < 0)\n existingApplication.deceased.deceasedNames[index].id = 0;\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 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 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], 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\";\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\"] = \"Properties 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\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Demolition details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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[\"Summary\"] = \"Summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationDemolitionMenuHeadings.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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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.cleanupAfterDestroy(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 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),\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 ;\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.cleanupAfterDestroy(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.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 }\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) {\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([], [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 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], 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\";\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\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Electrical connection details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"ProfessionalBodies\"] = \"ProfessionalBodies body help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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[\"Summary\"] = \"Summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Properties 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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationECMenuHeadings.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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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.cleanupAfterDestroy(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 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),\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) {\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.cleanupAfterDestroy(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.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 }\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) {\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 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 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 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], 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 { ObjectUtils } from \"../../utils/object-utils\";\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\";\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([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.Agent, \"agent\"], [ApplicationSummaryColumnsEnum.ErfNumber, \"erfNumbers\"], [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],]);\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[\"StakeHolders\"] = \"Stakeholders\";\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[\"Stakeholders\"] = \"Stakeholders help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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.StakeHolders, HeaderConfigurableTextTypes.Stakeholders)\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[\"Summary\"] = \"Application summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Bay details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Stakeholders\"] = \"Stakeholders\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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.Stakeholders, HeaderConfigurableTextTypes.Stakeholders)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport let 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 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 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, ViewApplicationDetailsItamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationItamsComponent],\n [ViewApplicationMenuHeadings.Stakeholders, ViewApplicationStakeholdersItamsComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsItamsComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationItamsComponent],\n [CreateApplicationMenuHeadings.StakeHolders, 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.cleanupAfterDestroy(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.StakeHolders.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 property owners\n const params = {\n $select: \"properties\",\n $expand: \"properties\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.cleanupAfterDestroy(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.appController.showMessage(ItamsStrategyService_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.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 }\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 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.StakeHolders.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(\"propertiesForm\").get(\"properties\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiInformalTradeConstants.URL, params);\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.Summary ? \"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(\"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(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 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(\"tradingGoods\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").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 }\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 id: item.get(\"id\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n subdivision: item.get(\"subdivision\").value,\n allotment: item.get(\"allotment\").value,\n sgCode: item.get(\"sgCode\").value,\n address: item.get(\"address\").value,\n bayNumber: item.get(\"bayNumber\").value,\n baySize: item.get(\"baySize\").value,\n isDummy: false,\n shape: geometryJSON,\n updateGeometry: false,\n wkid: 102100\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.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.tradingGoods = this.form.get(\"detailsForm\").get(\"tradingGoods\").value;\n application.tradingGoodsDescription = this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").value;\n application.previousReferenceNumber = this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value;\n application.validFromDate = this.form.get(\"detailsForm\").get(\"validFromDate\").value;\n application.validToDate = this.form.get(\"detailsForm\").get(\"validToDate\").value;\n application.approvedUserId = this.form.get(\"detailsForm\").get(\"approvedUserId\").value;\n application.approvedDate = this.form.get(\"detailsForm\").get(\"approvedDate\").value;\n application.comments = this.form.get(\"detailsForm\").get(\"comments\").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 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 validFromDate: this.form.get(\"detailsForm\").get(\"validFromDate\").value,\n validToDate: this.form.get(\"detailsForm\").get(\"validToDate\").value,\n approvedUserId: this.form.get(\"detailsForm\").get(\"approvedUserId\").value,\n approvedDate: this.form.get(\"detailsForm\").get(\"approvedDate\").value,\n comments: this.form.get(\"detailsForm\").get(\"comments\").value,\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 validFromDate: \"\",\n validToDate: \"\",\n approvedUserId: null,\n approvedDate: \"\",\n comments: \"\",\n traders: [],\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 }\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 tradingGoods: new FormControl(null, [Validators.required]),\n tradingGoodsDescription: new FormControl(null),\n referenceNumber: new FormControl(null),\n previousReferenceNumber: new FormControl(null),\n validFromDate: new FormControl(null),\n validToDate: new FormControl(null),\n approvedUserId: new FormControl(null),\n approvedDate: new FormControl(null),\n comments: new FormControl(null)\n }),\n tradersForm: new FormGroup({\n traders: new FormControl({ recipients: [] }, Validators.required),\n }),\n propertiesForm: new FormGroup({\n properties: 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], 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\";\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[\"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[\"Summary\"] = \"Application summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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.cleanupAfterDestroy(this.postApplicationService(application)).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.cleanupAfterDestroy(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 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 },\n complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\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 }\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 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 // 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}`,\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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"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 = `${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 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 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([], [Validators.minLength(1), Validators.required]),\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 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.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], 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\";\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[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationRcMenuHeadings || (CreateApplicationRcMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Training details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationRcMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Summary\"] = \"Summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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 ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationRcMenuHeadings.Details, CreateApplicationDetailsRcComponent],\n [CreateApplicationRcMenuHeadings.Location, CreateApplicationLocationRcComponent],\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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationRcMenuHeadings.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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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.cleanupAfterDestroy(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 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),\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 ;\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.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,properties($expand=owners), attachments\"\n };\n this.cleanupAfterDestroy(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.appControllerService.showMessage(RcStrategyService_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.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 }\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.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.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 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 buildRcDetailsStep(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};\nRcStrategyService = RcStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], 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\";\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[\"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[\"Summary\"] = \"Application summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.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 }\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 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 = \"locationForm\";\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 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.Summary ? \"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], 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\";\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\"] = \"Details\";\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[\"Details\"] = \"Training details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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[\"Summary\"] = \"Summary\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Details\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Properties\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationTrainingMenuHeadings.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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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.cleanupAfterDestroy(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 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),\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.cleanupAfterDestroy(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.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 }\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], 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\";\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[\"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[\"Summary\"] = \"Application summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.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 }\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 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 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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"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 = `${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 totalValue: item.get(\"totalValue\").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], 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\";\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[\"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[\"Summary\"] = \"Application summary\";\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 || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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),\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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.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 }\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 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 // 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}`,\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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"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 = `${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], 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\";\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\"] = \"Properties\";\n CreateApplicationZcMenuHeadings[\"Details\"] = \"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\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Training details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation 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[\"Summary\"] = \"Summary\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Properties\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Summary, 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);\nexport let 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 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}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationZcMenuHeadings.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 // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Summary ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\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.cleanupAfterDestroy(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 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),\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.cleanupAfterDestroy(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.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 }\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], 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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { of } from \"rxjs\";\nexport let 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);\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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NavigationStart, Router } from \"@angular/router\";\nexport let 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 this.updateSomeRequestBusy();\n if (!this.busyRequests.has(key)) {\n this.busyRequests.add(key);\n }\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 static ctorParameters = () => [\n { type: Router }\n ];\n};\nRequestStatusService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], 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\";\nexport let 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);\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\";\nexport let 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 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 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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\";\nexport let 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);\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};\nexport let 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nexport let 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);\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 { SubscriberComponent } from \"./components/subscriber/subscriber.component\";\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\";\nexport let SharedModule = class SharedModule {\n};\nSharedModule = __decorate([\n NgModule({\n declarations: [\n HighlightPipe,\n HighlightWithColumnPipe,\n SubscriberComponent,\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 ],\n providers: [\n SaShortDatePipe,\n AppViewShortDatePipe,\n UcFirstPipe,\n SaLongDatePipe,\n UtcDatePipe,\n DatePipe,\n TitleCasePipe,\n SafeHtmlPipe,\n ]\n })\n], 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 }\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.length > 0 && groupsFromMetadata[0].hasOwnProperty(\"requiredFields\") && Object.keys(groupsFromMetadata[0].requiredFields)?.length > 0) {\n for (const [fieldName, isRequired] of Object.entries(groupsFromMetadata[0].requiredFields)) {\n const field = this.formatObjectKey(fieldName);\n if (isRequired) {\n this.setRequiredFields(newRecipientForm, field);\n }\n }\n newRecipientForm.updateValueAndValidity();\n }\n }\n static formatObjectKey(key) {\n let keyToChange = key;\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).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\";\nexport let ViewApplicationDetailsAComponent = class ViewApplicationDetailsAComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n datePipe;\n changeDetectorRef;\n recipientService;\n routerParamsService;\n detailsForm;\n advertisementFormGroup;\n advertisementsFormGroupName = ViewApplicationDetailsAConstants.ADVERTISEMENTS_FORM_GROUP_NAME;\n validationMessages = ViewApplicationDetailsAConstants.VALIDATION_MESSAGES;\n applicationDetailsFormGroupName = ViewApplicationDetailsAConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n // FormControls\n descriptionFormControlName = ViewApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n advertisementsFormControlName = ViewApplicationDetailsAConstants.ADVERTISEMENTS_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = ViewApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicationDurationFormControlName = ViewApplicationDetailsAConstants.APPLICATION_DURATION_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 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 applicationDurationFormLabel = ViewApplicationDetailsAConstants.APPLICATION_DURATION_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 applicationTypesLookups = [];\n permanentOrTemporaryLookupOptions = LookupConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n signTypeLookups = [];\n applicationDurationLookupOptions = LookupConstants.APPLICATION_DURATION_LOOKUPS_A;\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 showApplicationDurationField = 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.showApplicationDurationField = true;\n this.setMainPermanentFields(application);\n this.getPersonResponsibleByApplicantId(application.personResponsibleId);\n if (application.permanentApplicationDuration === \"1 year application\") {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n this.detailsForm.get(this.applicationDurationFormControlName).setValue(application.permanentApplicationDuration);\n this.set1yearPermanentApplicationFields(application);\n }\n if (application.permanentApplicationDuration === \"5 years application\") {\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.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.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.showApplicationDurationField = false;\n this.setTemporaryAdvertisementFields(application);\n this.showPermanentApplicationFields = false;\n // if (application.permanentApplicationDuration === \"1 year application\") {\n // this.detailsForm.get(this.applicationDurationFormControlName).setValue(application.permanentApplicationDuration);\n // this.set1yearPermanentApplicationFields(application);\n // }\n // if (application.permanentApplicationDuration === \"1 year application\") {\n // this.set5yearPermanentApplicationFields(application);\n // }\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 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);\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 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 { first } from \"rxjs\";\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\";\nexport let 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 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 this.mapService.actionPropertyEnabled = false;\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(first()).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.cleanupAfterDestroy(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.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({ value: application?.isAdvetisingPermanentOrTemporary, disabled: true }),\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 name eq 'applicationType' and deleted eq false`,\n };\n this.cleanupAfterDestroy(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], 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 { Component } from \"@angular/core\";\nexport let ViewApplicationDetailsBlComponent = class ViewApplicationDetailsBlComponent {\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);\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 { Component } from \"@angular/core\";\nexport let ViewApplicationLocationBlComponent = class ViewApplicationLocationBlComponent {\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], ViewApplicationLocationBlComponent);\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\";\nexport let 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 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 application;\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.cleanupAfterDestroy(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 }\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);\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 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}\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"]\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\";\nexport let 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 totalValueControl = ViewApplicationLocationBpamsConstants.TOTAL_VALUE_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 totalValueTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_VALUE_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationBpamsConstants.ZONE_LABEL;\n addZoneLabel = ViewApplicationLocationBpamsConstants.ADD_ZONE_LABEL;\n copyApplicantToOwnerZoneLabel = ViewApplicationLocationBpamsConstants.COPY_APPLICANT_TO_OWNER_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 typeTextPlaceHolder = ViewApplicationLocationBpamsConstants.TYPE_LABEL;\n typeControl = ViewApplicationLocationBpamsConstants.APPLICATION_TYPE_CONTROL;\n shortDescriptionTextPlaceHolder = ViewApplicationLocationBpamsConstants.SHORT_DESCRIPTION_LABEL;\n shortDescriptionControl = ViewApplicationLocationBpamsConstants.SHORT_DESCRIPTION_CONTROL;\n titleDeedRestrictionsTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n estimatedCostTextPlaceHolder = ViewApplicationLocationBpamsConstants.ESTIMATED_COST_LABEL;\n estimatedCostControl = ViewApplicationLocationBpamsConstants.ESTIMATED_COST_CONTROL;\n estimatedByTextPlaceHolder = ViewApplicationLocationBpamsConstants.ESTIMATED_BY_LABEL;\n estimatedByControl = ViewApplicationLocationBpamsConstants.ESTIMATED_BY_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 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 super.ngOnDestroy();\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.totalValueControl).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.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 });\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 });\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.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.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 totalValue: new FormControl({ value: property.totalValue, disabled: true }),\n shortDescription: new FormControl({ value: property.applicationDescription, disabled: true }),\n applicationType: new FormControl({ value: property.applicationType, disabled: true }),\n applicationRestrictions: new FormControl({ value: property.applicationRestrictions, disabled: true }),\n applicationEstimatedCost: new FormControl({ value: property.applicationEstimatedCost, 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 applicationEstimatedBy: new FormControl({ value: property.applicationEstimatedBy, 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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 TOTAL_VALUE_CONTROL = \"totalValue\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static SHORT_DESCRIPTION_CONTROL = \"shortDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"applicationRestrictions\";\n static TYPE_CONTROL = \"type\"; // Application Type\n static APPLICATION_TYPE_CONTROL = \"applicationType\"; // Application Type\n static ESTIMATED_BY_CONTROL = \"applicationEstimatedBy\";\n static ESTIMATED_COST_CONTROL = \"applicationEstimatedCost\";\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 TOTAL_VALUE_TEXT_PLACEHOLDER = \"Total value (R)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static SHORT_DESCRIPTION_LABEL = \"Short description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static TYPE_LABEL = \"Type\";\n static ESTIMATED_BY_LABEL = \"Estimated by\";\n static ESTIMATED_COST_LABEL = \"Estimated cost (R)\";\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 totalValue: {\n required: `Total value ${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 { 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 { 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\";\nexport let ViewApplicationProfessionalBodiesBpamsComponent = class ViewApplicationProfessionalBodiesBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n recipientService;\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 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(\"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 }\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.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 }\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.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 }\n }\n });\n }\n subscribeToSelectedModuleName() {\n 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};\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);\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\";\nexport let 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 detailsForm;\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.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"burialForm\");\n }\n populateForm(application) {\n this.detailsForm.get(this.burialTypeControl).setValue(application.type);\n this.detailsForm.get(this.burialDescriptionControl).setValue(application.description);\n this.detailsForm.get(this.burialDescriptionControl).disable();\n this.detailsForm.get(this.burialTypeControl).disable();\n const date = application.burialDate ? application.burialDate : new Date();\n const dateString = this.saShortdatePipe.transform(date);\n this.detailsForm.get(this.burialDateControl).setValue(dateString);\n this.detailsForm.get(this.burialDateControl).disable();\n }\n loadLookup() {\n this.cleanupAfterDestroy(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);\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 { SharedConstants } from \"../../../../shared/constants/shared.constants\";\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\";\nexport let 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 = SharedConstants.COUNTRIES;\n tableLabel = ViewDeceasedDetailsCmConstant.TABLE_LABEL;\n provinceLookup = SharedConstants.PROVINCE;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList;\n deceasedNameListObservable;\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\",\n };\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 editnamesEvent(deceasedNameList) {\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(\"deceasedNames\").setValue(this.deceasedNameList);\n }\n populateForm(application) {\n Object.keys(this.deceasedForm.controls).forEach((key) => {\n this.deceasedForm.get(key).disable();\n ;\n Object.keys(application.deceased).forEach((inKey) => {\n if (key === inKey) {\n if (inKey.indexOf(\"date\") !== -1) {\n const date = new Date(application.deceased[inKey]);\n const dateString = this.datePipe.transform(date, ViewDeceasedDetailsCmConstant.DATE_CONST);\n this.deceasedForm.get(key).setValue(dateString);\n }\n else\n this.deceasedForm.get(key).setValue(application.deceased[inKey]);\n }\n });\n });\n this.deceasedNameList = application.deceased.deceasedNames;\n this.intDataSource();\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n }\n loadLookups() {\n this.cleanupAfterDestroy(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 })).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.populateForm(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 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);\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\";\nexport let 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 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.cleanupAfterDestroy(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);\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\";\nexport let 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 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.cleanupAfterDestroy(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 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 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);\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\";\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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);\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\";\nexport let 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 copyApplicantToOwnerLabel = ViewLocationDmConstants.COPY_APPLICANT_TO_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 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.cleanupAfterDestroy(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, [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.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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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\";\nexport let 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 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.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);\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\";\nexport let 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 copyApplicantToOwnerLabel = ViewApplicationLocationEcConstants.COPY_APPLICANT_TO_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 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.cleanupAfterDestroy(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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 \"src/app/view-application/shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationProfessionalBodiesEcConstants } from \"./view-application-professional-bodies-ec.constants\";\nimport { ApplicationViewService } from \"src/app/view-application/shared/application-view.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 { AppControllerService } from \"src/app/app-controller.service\";\nimport { MapService } from \"src/app/map/shared/map.service\";\nimport { RequestStatusService } from \"src/app/shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"src/app/shared/services/route-params.service\";\nimport { AlertType } from \"src/app/shared/models/alert\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport let ViewApplicationProfessionalBodiesEcComponent = class ViewApplicationProfessionalBodiesEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\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 architectFormControlName = ViewApplicationProfessionalBodiesEcConstants.ARCHITECT_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesEcConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesEcConstants.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 = ViewApplicationProfessionalBodiesEcConstants.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 = ViewApplicationProfessionalBodiesEcConstants.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 = ViewApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\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 }\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.electricalEngineerGroup;\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 populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n handleRouteChange() {\n throw new Error(\"Method not implemented.\");\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 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: MapService },\n { type: RequestStatusService },\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);\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 { 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\";\nexport let 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 descriptionFormControlName = ViewApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsFormControlName = ViewApplicationDetailsItamsConstants.TRADING_GOODS_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 // 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 tradingGoodIsRequired = false;\n showPreviousApplicationReferenceNumberField = false;\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 onApplicationTypeSelected($event) {\n const selectedApplicationType = $event.target?.value;\n this.setSelectedApplicationType(selectedApplicationType);\n }\n onTradingGoodsSelected($event) {\n const selectedTradingGoods = $event.target?.value;\n this.setTradingGoods(selectedTradingGoods);\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.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.cleanupAfterDestroy(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 this.setTradingGoods(application.tradingGoods);\n this.detailsForm.get(this.tradingGoodsFormControlName).setValue(application.tradingGoods);\n this.detailsForm.get(this.tradingGoodsFormControlName).disable();\n if (this.showPreviousApplicationReferenceNumberField) {\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n }\n this.detailsForm.get(this.tradingGoodsDescriptionFormControlName).setValue(application.tradingGoodsDescription);\n this.detailsForm.get(this.tradingGoodsDescriptionFormControlName).disable();\n this.detailsForm.get(this.referenceNumberFormControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberFormControlName).disable();\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 this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).disable();\n }\n setTradingGoods(selectedTradingGoods) {\n const tradingGoodsDescriptionFormControl = this.detailsForm.get(this.tradingGoodsDescriptionFormControlName);\n if (selectedTradingGoods && selectedTradingGoods.trim().toLowerCase() === \"other\") {\n tradingGoodsDescriptionFormControl.addValidators(Validators.required);\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n this.tradingGoodIsRequired = true;\n }\n else {\n tradingGoodsDescriptionFormControl.clearValidators();\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n this.tradingGoodIsRequired = false;\n }\n this.changeDetectorRef.detectChanges();\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 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], 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 DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADING_GOODS_CONTROL_NAME = \"tradingGoods\";\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 // 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 { first } from \"rxjs\";\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\";\nexport let ViewApplicationLocationItamsComponent = class ViewApplicationLocationItamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n validationMessages = ViewApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewApplicationLocationItamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationItamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationItamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationItamsConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationItamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = ViewApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = ViewApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n geometryControl = ViewApplicationLocationItamsConstants.GEOMETRY_CONTROL;\n propertiesFormGroupName = ViewApplicationLocationItamsConstants.PROPERTIES_FORM_GROUP_NAME;\n centroidFromControlName = ViewApplicationLocationItamsConstants.CENTROID_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationItamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationItamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationItamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationItamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationItamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = ViewApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationItamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n baySizeTextPlaceHolder = ViewApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removePropertyLabel = ViewApplicationLocationItamsConstants.REMOVE_PROPERTY_LABEL;\n propertiesControl = ViewApplicationLocationItamsConstants.PROPERTIES_CONTROL;\n erfSizeControl = ViewApplicationLocationItamsConstants.ERF_SIZE_CONTROL;\n applicationLoaded = false;\n application;\n mapComponent;\n isMapLoaded = false;\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 getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n this.propertiesForm = form;\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(first()).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.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 index++;\n });\n }\n }\n }\n createFormGroup(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 property: new FormControl(savedProperty),\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 geometry: new FormControl(geom),\n bayNumber: new FormControl(savedProperty.bayNumber),\n baySize: new FormControl(savedProperty.baySize),\n centroid: new FormControl(null, [Validators.required])\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.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(ViewApplicationLocationItamsConstants.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.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.farmNoControl).disable();\n propertyControl.get(this.bayNumberControl).disable();\n propertyControl.get(this.baySizeControl).disable();\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, 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], ViewApplicationLocationItamsComponent);\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationItamsConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static LAYER_REF = \"ITAMS graphics\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_CONTROL = \"erfNo\";\n static ERF_SIZE_CONTROL = \"erfSize\";\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 BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\n static GEOMETRY_CONTROL = \"geometry\";\n static CENTROID_CONTROL = \"centroid\";\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 BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static BAY_SIZE_TEXT_PLACEHOLDER = \"Bay size\";\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 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 \"./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\";\nexport let 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 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.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.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);\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\";\nexport let ViewApplicationDetailsPlamsComponent = class ViewApplicationDetailsPlamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\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 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 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 constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, saShortDatePipe, 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.propertyAndLeaseService = propertyAndLeaseService;\n this.saShortDatePipe = saShortDatePipe;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.initForm();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n this.lesseeGroups = stepMeta.lesseeGroup;\n this.buyerGroups = stepMeta.buyerGroup;\n this.sellerGroups = stepMeta.sellerGroup;\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.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n },\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.cleanupAfterDestroy(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.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.propertyAndLeaseService\n .getLesseesObservable(jobId)\n .subscribe((response) => this.onGetLesseesCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.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, true, 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(ViewApplicationDetailsPlamsConstants.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, true, 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(ViewApplicationDetailsPlamsConstants.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, true, buyerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\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);\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 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 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\";\nexport let 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 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 sgCodeTextPlaceHolder = ViewApplicationLocationPlamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationPlamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n copyApplicantToOwnerZoneLabel = ViewApplicationLocationPlamsConstants.COPY_APPLICANT_TO_OWNER_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 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 }\n ngOnInit() {\n this.getLookups();\n this.initForm();\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 super.ngOnDestroy();\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.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.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.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 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.applicationViewService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationPlamsConstants.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.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], ViewApplicationLocationPlamsComponent);\n","export class ViewApplicationLocationPlamsConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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 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 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 { ViewApplicationDetailsRcConstants } from './view-application-details-rc.constant';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { MapService } from 'src/app/map/shared/map.service';\nimport { AflaModuleStrategyService } from 'src/app/shared/services/afla-module-strategy/afla-module-strategy.service';\nimport { RequestStatusService } from 'src/app/shared/services/request-status/request-status.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 { RouterParamsService } from 'src/app/shared/services/route-params.service';\nexport let ViewApplicationDetailsRcComponent = class ViewApplicationDetailsRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsRcConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsRcConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsRcConstants.DESCRIPTION_LBL;\n applicationTypePlaceHolder = ViewApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\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.cleanupAfterDestroy(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.cleanupAfterDestroy(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};\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);\n","export class ViewApplicationDetailsRcConstants {\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-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 RecipientUtils from 'src/app/shared/utils/recipient-utils';\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport Polygon from '@arcgis/core/geometry/Polygon';\nimport { WktConverterUtils } from 'src/app/shared/utils/wkt-converter-utils';\nimport { SharedConstants } from 'src/app/shared/constants/shared.constants';\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 { RouterParamsService } from 'src/app/shared/services/route-params.service';\nimport { ViewApplicationLocationRcConstants } from './view-application-location-rc.constants';\nexport let ViewApplicationLocationRcComponent = class ViewApplicationLocationRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRefs;\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 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 ownerControl = ViewApplicationLocationRcConstants.OWNER_CONTROL;\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 ownerLabel = ViewApplicationLocationRcConstants.OWNER_LABEL;\n copyApplicantToOwnerLabel = ViewApplicationLocationRcConstants.COPY_APPLICANT_TO_OWNER_LABEL;\n removePropertyLabel = ViewApplicationLocationRcConstants.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 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 const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\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 while (pa.controls.length > 0) {\n pa.removeAt(0);\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, \"Rates 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};\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], ViewApplicationLocationRcComponent);\n","export class ViewApplicationLocationRcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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-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\";\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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);\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 { first } from \"rxjs\";\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\";\nexport let 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 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 super.ngOnDestroy();\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(first()).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.cleanupAfterDestroy(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.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({ value: application.location.publicOrPrivate, disabled: true }, Validators.required),\n areaEstateName: new FormControl({ value: application.location.areaEstateName, disabled: true }),\n isNewDevelopment: new FormControl({ value: application.location.isNewDevelopment, disabled: true }, Validators.required),\n haveExistingName: new FormControl({ value: application.location.haveExistingName, disabled: true }, Validators.required),\n locationDescription: new FormControl({ value: application.location.locationDescription, disabled: true }, 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({ value: application.location.proposedNameLanguage, disabled: true }, Validators.required),\n proposedNameMeaning: new FormControl({ value: application.location.proposedNameMeaning, disabled: true }, Validators.required),\n proposedNameOrigin: new FormControl({ value: application.location.proposedNameOrigin, disabled: true }, Validators.required),\n featureType: new FormControl({ value: application.location.featureType, disabled: true }, Validators.required),\n reasonForChange: new FormControl({ value: application.location.reasonForChange, disabled: true }, 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], 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 readonly REMOVE_POI_LABEL = \"Remove POI\";\n static COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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\";\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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);\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\";\nexport let 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 copyApplicantToOwnerLabel = ViewLocationTmConstants.COPY_APPLICANT_TO_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 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.cleanupAfterDestroy(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], 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 COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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\";\nexport let 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 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.cleanupAfterDestroy(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 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);\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}\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 { first } from \"rxjs\";\nexport let 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 totalValueControl = ViewApplicationLocationTpamsConstants.TOTAL_VALUE_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 totalValueTextPlaceHolder = ViewApplicationLocationTpamsConstants.TOTAL_VALUE_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 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 super.ngOnDestroy();\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.totalValueControl).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.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.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(first()).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.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 index++;\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 totalValue: new FormControl({ value: property.totalValue, 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], 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 TOTAL_VALUE_CONTROL = \"totalValue\";\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 TOTAL_VALUE_TEXT_PLACEHOLDER = \"Total value (R)\";\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\";\nexport let 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 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.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.cleanupAfterDestroy(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);\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\";\nexport let 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 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.cleanupAfterDestroy(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], 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\";\nexport let 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 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.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.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], 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';\nexport let 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 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.cleanupAfterDestroy(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.cleanupAfterDestroy(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);\n","export class ViewApplicationLocationZcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_APPLICANT_TO_OWNER_LABEL = \"Copy applicant to owner\";\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';\nexport let 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 copyApplicantToOwnerLabel = ViewApplicationLocationZcConstants.COPY_APPLICANT_TO_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 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 const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.cleanupAfterDestroy(this.selectedApplicationService.$selectedApplication).subscribe(app => {\n ;\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 while (pa.controls.length > 0) {\n pa.removeAt(0);\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], 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,attachments,applicantAgent\";\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($expand=owners($expand=groups)\";\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,properties($expand=owners($expand=groups))\";\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,applicantAgent,properties($expand=owners), 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\";\nexport let 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);\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 { SubscriberComponent } from \"../../shared/components/subscriber/subscriber.component\";\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\";\nexport let ApplicationViewService = class ApplicationViewService extends SubscriberComponent {\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 constructor(http, routeParamsService) {\n super();\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.cleanupAfterDestroy(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 static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService }\n ];\n};\nApplicationViewService = ApplicationViewService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], 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 { SubscriberComponent } from \"../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let AddDocumentsDialogComponent = class AddDocumentsDialogComponent extends SubscriberComponent {\n activeModal;\n saLongDatePipe;\n userInformationService;\n applicationViewService;\n requestStatusService;\n appControllerService;\n addDocumentForm;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\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 constructor(activeModal, saLongDatePipe, userInformationService, applicationViewService, requestStatusService, appControllerService) {\n super();\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 }\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 }\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);\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 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.cleanupAfterDestroy(this.applicationViewService.uploadDocumentObservable(params)).subscribe((response) => {\n newDocument.id = response.id;\n this.activeModal.close(newDocument);\n });\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 };\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], 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\";\nexport let DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\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 }\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);\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 { SubscriberComponent } from \"../../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let EditDocumentsDialogComponent = class EditDocumentsDialogComponent extends SubscriberComponent {\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 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 constructor(activeModal, appControllerService, userInformationService, requestStatusService, applicationViewService, saLongDatePipe) {\n super();\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 }\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(\"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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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], EditDocumentsDialogComponent);\n","var ViewApplicationBaseComponent_1;\nimport { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { SubscriberComponent } from \"../../../shared/components/subscriber/subscriber.component\";\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\";\nexport let ViewApplicationBaseComponent = class ViewApplicationBaseComponent extends SubscriberComponent {\n static { ViewApplicationBaseComponent_1 = this; }\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n super();\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n this.cleanupAfterDestroy(this.selectedApplicationService.$incompleteJobId).subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.cleanupAfterDestroy(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 ngOnInit() {\n }\n getMetadata() {\n this.cleanupAfterDestroy(this.applicationViewService.$startMetadata).subscribe(stepMeta => {\n if (stepMeta != null) {\n this.stepMeta = stepMeta;\n this.loadMetadata(this.stepMeta);\n }\n });\n }\n listenForRouteParamChange() {\n this.cleanupAfterDestroy(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], ViewApplicationBaseComponent);\n","import { __decorate } from \"tslib\";\nimport { Directive, ViewContainerRef } from \"@angular/core\";\nexport let 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);\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 details\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent details\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\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\";\nexport let 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 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.cleanupAfterDestroy(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() {\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.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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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.cleanupAfterDestroy(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);\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 { 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_SUMMARY_ROUTE = AppRoutingConstants.createRouteToView(\"summary\");\n static REQUIRED_DOCS = AppRoutingConstants.createRouteToView(\"documentation\");\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 STAKEHOLDERS_ROUTE = AppRoutingConstants.createRouteToView(\"stakeholders\");\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';\nexport let 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);\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';\nexport let 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);\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';\nexport let 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);\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\";\nexport let 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);\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';\nexport let 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);\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';\nexport let 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);\n","var CalciteFormMultiselectComponent_1;\nimport { __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\";\nexport let CalciteFormMultiselectComponent = class CalciteFormMultiselectComponent {\n static { CalciteFormMultiselectComponent_1 = this; }\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 = CalciteFormMultiselectComponent_1 = __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_1),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CalciteFormMultiselectComponent_1),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteFormMultiselectComponent);\n","var CalciteInputComponent_1;\nimport { __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\";\nexport let CalciteInputComponent = class CalciteInputComponent {\n static { CalciteInputComponent_1 = this; }\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 = CalciteInputComponent_1 = __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_1),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteInputComponent);\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectorRef, Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nexport let 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);\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';\nexport let 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);\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';\nexport let 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);\n","var CalciteSelectComponent_1;\nimport { __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\";\nexport let CalciteSelectComponent = class CalciteSelectComponent {\n static { CalciteSelectComponent_1 = this; }\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 = CalciteSelectComponent_1 = __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_1),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], 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\";\nexport let 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 constructor(calciteStepperService, changeDetectorRef) {\n this.calciteStepperService = calciteStepperService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.stepperHtmlElement = document.getElementById(\"calciteStepper\");\n this.calciteStepperService.setStepOptions(this.options);\n this.calciteStepperService.totalSteps = this.options.length;\n 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);\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nexport let 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);\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\";\nexport let 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 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 CalciteStepperComponent\n ],\n })\n], 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 = 67435;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./calcite-accordion_2.entry.js\": [\n\t\t94997,\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\t53688,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_CalciteExpandToggle-677f2f8b_js\",\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\t83174,\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\t79525,\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\t71397,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_CalciteExpandToggle-677f2f8b_js\",\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\t12128,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action_entry_js\"\n\t],\n\t\"./calcite-alert.entry.js\": [\n\t\t90907,\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\t27252,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-f24e866c_js-node_modules_esri_calci-e4ae8b\",\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\t71675,\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\t28904,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-button_entry_js\"\n\t],\n\t\"./calcite-card.entry.js\": [\n\t\t9777,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-card_entry_js\"\n\t],\n\t\"./calcite-checkbox.entry.js\": [\n\t\t83324,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-checkbox_entry_js\"\n\t],\n\t\"./calcite-chip.entry.js\": [\n\t\t80542,\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\t2264,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-f24e866c_js-node_modules_esri_calci-e4ae8b\",\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\t81195,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-dc4b45cf_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-48d8fb84_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\t59688,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-bece7a88_js\",\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\t97275,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-dc4b45cf_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\t86723,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-fab_entry_js\"\n\t],\n\t\"./calcite-filter.entry.js\": [\n\t\t93508,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-48d8fb84_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\t8246,\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\t68529,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\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\t61311,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-handle_entry_js\"\n\t],\n\t\"./calcite-icon.entry.js\": [\n\t\t94494,\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\t99276,\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\t32194,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-dc4b45cf_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-bece7a88_js\",\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\t25476,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-message_entry_js\"\n\t],\n\t\"./calcite-input-time-picker_2.entry.js\": [\n\t\t48147,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\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\t44356,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\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\t45241,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-label_entry_js\"\n\t],\n\t\"./calcite-link.entry.js\": [\n\t\t56550,\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\t40549,\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\t54657,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-loader_entry_js\"\n\t],\n\t\"./calcite-modal.entry.js\": [\n\t\t30341,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-modal_entry_js\"\n\t],\n\t\"./calcite-notice.entry.js\": [\n\t\t71159,\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\t43072,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\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\t96833,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-pagination_entry_js\"\n\t],\n\t\"./calcite-panel.entry.js\": [\n\t\t3295,\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\t95002,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-16a2a25a_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\t61566,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-dc4b45cf_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\t12653,\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\t15824,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-button-group_entry_js\"\n\t],\n\t\"./calcite-radio-group_2.entry.js\": [\n\t\t39732,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-group_2_entry_js\"\n\t],\n\t\"./calcite-radio_2.entry.js\": [\n\t\t37025,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio_2_entry_js\"\n\t],\n\t\"./calcite-rating.entry.js\": [\n\t\t92514,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-rating_entry_js\"\n\t],\n\t\"./calcite-scrim.entry.js\": [\n\t\t55788,\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\t17434,\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\t35168,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_observers-8f0bc419_js-node_modules_esri-fb6031\",\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\t98290,\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\t68197,\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\t29158,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-160b0fb5_js-node_modules_esri_calc-585c60\",\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\t1659,\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\t70846,\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\t99618,\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\t14901,\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\t8517,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-dc4b45cf_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\t31360,\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\t67090,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-79648d42_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_observers-8f0bc419_js-node_modules_esri-fb6031\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-16a2a25a_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 = 18014;\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: #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: #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: #055C8D;\n background: #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: #055C8D;\n border: 1px solid #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 #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: #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: #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: #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: #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: #00619b;\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: #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: #055C8D;\n border: solid;\n border-radius: 10px;\n 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: #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: #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: #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: #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: #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: #055C8D solid 1px;\n background: #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: #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: #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: #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: #055C8D;\n}\n\n.Comment {\n 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: #055C8D;\n}\n\n.tab__link:hover {\n text-decoration: none;\n cursor: pointer;\n 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: #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: #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: #055C8D;\n background-color: transparent;\n border: 1px solid #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: #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: 14px !important;\n padding-left: 2px;\n font-style: normal;\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: 1px;\n color: #fff;\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: 1px;\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 border-top: #fff;\n border-style: solid;\n border-width: 1px;\n color: #055C8D;\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 justify-content: space-between;\n padding-right: 0.3vw;\n padding-left: 0.3vw;\n max-height: 32px;\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 margin-left: 10px;\n}\n\n.logout-link {\n text-decoration: none;\n text-align: center;\n color: #055C8D;\n cursor: pointer;\n font-size: 13px;\n background-color: #fff;\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 3px;\n padding-left: 5.5vw;\n padding-right: 6.6vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\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: #055C8D;\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 3px;\n padding-left: 5.5vw;\n padding-right: 6.6vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n}\n\n.settings-link {\n text-decoration: none;\n text-align: left;\n 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: #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: #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, `.toolbar-spacer {\n 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: #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: #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: #055C8D;\n}\n\n.link:hover {\n cursor: pointer;\n color: #053551;\n}\n\n.mat-icon {\n 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: #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: #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: #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// 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, ``, \"\"]);\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, `.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, `.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: #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: #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: #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: #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-application-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// 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// 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: #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: #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// 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: 50vh;\n margin-bottom: 10px;\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: #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-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-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// 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: #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: 50vh;\n max-width: 99% !important;\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: #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-details-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 #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: #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 #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: #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___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://js.arcgis.com/4.18/esri/css/main.css);\"]);\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: #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: #055C8D;\n font-weight: 600;\n}\n.base-tree-container .secondary {\n font-size: 14px;\n color: #055C8D;\n}\n.base-tree-container .tree-wrapper {\n flex: 1;\n max-height: calc(80vh - 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 #8DE7E3;\n 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: #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: #053551;\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: #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// 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: #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// 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: #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// 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: #055C8D !important;\n border: 1px solid #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: #053551;\n border: 1px solid #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: #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, ``, \"\"]);\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, `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: #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: #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-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}\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// 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, ``, \"\"]);\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: #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: #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: #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: #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, ``, \"\"]);\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: #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: #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-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: #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: #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: #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 #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: #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 #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: #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: #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// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 83274,\n\t\"./af.js\": 83274,\n\t\"./ar\": 22097,\n\t\"./ar-dz\": 61867,\n\t\"./ar-dz.js\": 61867,\n\t\"./ar-kw\": 17078,\n\t\"./ar-kw.js\": 17078,\n\t\"./ar-ly\": 77776,\n\t\"./ar-ly.js\": 77776,\n\t\"./ar-ma\": 56789,\n\t\"./ar-ma.js\": 56789,\n\t\"./ar-sa\": 6897,\n\t\"./ar-sa.js\": 6897,\n\t\"./ar-tn\": 71585,\n\t\"./ar-tn.js\": 71585,\n\t\"./ar.js\": 22097,\n\t\"./az\": 15611,\n\t\"./az.js\": 15611,\n\t\"./be\": 62459,\n\t\"./be.js\": 62459,\n\t\"./bg\": 91825,\n\t\"./bg.js\": 91825,\n\t\"./bm\": 75918,\n\t\"./bm.js\": 75918,\n\t\"./bn\": 34065,\n\t\"./bn-bd\": 49683,\n\t\"./bn-bd.js\": 49683,\n\t\"./bn.js\": 34065,\n\t\"./bo\": 11034,\n\t\"./bo.js\": 11034,\n\t\"./br\": 27671,\n\t\"./br.js\": 27671,\n\t\"./bs\": 38153,\n\t\"./bs.js\": 38153,\n\t\"./ca\": 54287,\n\t\"./ca.js\": 54287,\n\t\"./cs\": 72616,\n\t\"./cs.js\": 72616,\n\t\"./cv\": 70765,\n\t\"./cv.js\": 70765,\n\t\"./cy\": 99172,\n\t\"./cy.js\": 99172,\n\t\"./da\": 20605,\n\t\"./da.js\": 20605,\n\t\"./de\": 94013,\n\t\"./de-at\": 93395,\n\t\"./de-at.js\": 93395,\n\t\"./de-ch\": 99835,\n\t\"./de-ch.js\": 99835,\n\t\"./de.js\": 94013,\n\t\"./dv\": 14570,\n\t\"./dv.js\": 14570,\n\t\"./el\": 31859,\n\t\"./el.js\": 31859,\n\t\"./en-au\": 55785,\n\t\"./en-au.js\": 55785,\n\t\"./en-ca\": 83792,\n\t\"./en-ca.js\": 83792,\n\t\"./en-gb\": 57651,\n\t\"./en-gb.js\": 57651,\n\t\"./en-ie\": 81929,\n\t\"./en-ie.js\": 81929,\n\t\"./en-il\": 19818,\n\t\"./en-il.js\": 19818,\n\t\"./en-in\": 6612,\n\t\"./en-in.js\": 6612,\n\t\"./en-nz\": 24900,\n\t\"./en-nz.js\": 24900,\n\t\"./en-sg\": 72721,\n\t\"./en-sg.js\": 72721,\n\t\"./eo\": 95159,\n\t\"./eo.js\": 95159,\n\t\"./es\": 21954,\n\t\"./es-do\": 11780,\n\t\"./es-do.js\": 11780,\n\t\"./es-mx\": 23468,\n\t\"./es-mx.js\": 23468,\n\t\"./es-us\": 44938,\n\t\"./es-us.js\": 44938,\n\t\"./es.js\": 21954,\n\t\"./et\": 11453,\n\t\"./et.js\": 11453,\n\t\"./eu\": 44697,\n\t\"./eu.js\": 44697,\n\t\"./fa\": 52900,\n\t\"./fa.js\": 52900,\n\t\"./fi\": 49775,\n\t\"./fi.js\": 49775,\n\t\"./fil\": 64282,\n\t\"./fil.js\": 64282,\n\t\"./fo\": 84236,\n\t\"./fo.js\": 84236,\n\t\"./fr\": 89361,\n\t\"./fr-ca\": 92830,\n\t\"./fr-ca.js\": 92830,\n\t\"./fr-ch\": 21412,\n\t\"./fr-ch.js\": 21412,\n\t\"./fr.js\": 89361,\n\t\"./fy\": 66984,\n\t\"./fy.js\": 66984,\n\t\"./ga\": 93961,\n\t\"./ga.js\": 93961,\n\t\"./gd\": 78849,\n\t\"./gd.js\": 78849,\n\t\"./gl\": 34273,\n\t\"./gl.js\": 34273,\n\t\"./gom-deva\": 40623,\n\t\"./gom-deva.js\": 40623,\n\t\"./gom-latn\": 62696,\n\t\"./gom-latn.js\": 62696,\n\t\"./gu\": 66928,\n\t\"./gu.js\": 66928,\n\t\"./he\": 24804,\n\t\"./he.js\": 24804,\n\t\"./hi\": 23015,\n\t\"./hi.js\": 23015,\n\t\"./hr\": 17134,\n\t\"./hr.js\": 17134,\n\t\"./hu\": 50670,\n\t\"./hu.js\": 50670,\n\t\"./hy-am\": 4523,\n\t\"./hy-am.js\": 4523,\n\t\"./id\": 99233,\n\t\"./id.js\": 99233,\n\t\"./is\": 94693,\n\t\"./is.js\": 94693,\n\t\"./it\": 63936,\n\t\"./it-ch\": 78118,\n\t\"./it-ch.js\": 78118,\n\t\"./it.js\": 63936,\n\t\"./ja\": 86871,\n\t\"./ja.js\": 86871,\n\t\"./jv\": 68710,\n\t\"./jv.js\": 68710,\n\t\"./ka\": 17125,\n\t\"./ka.js\": 17125,\n\t\"./kk\": 82461,\n\t\"./kk.js\": 82461,\n\t\"./km\": 77399,\n\t\"./km.js\": 77399,\n\t\"./kn\": 38720,\n\t\"./kn.js\": 38720,\n\t\"./ko\": 85306,\n\t\"./ko.js\": 85306,\n\t\"./ku\": 82995,\n\t\"./ku.js\": 82995,\n\t\"./ky\": 8779,\n\t\"./ky.js\": 8779,\n\t\"./lb\": 62057,\n\t\"./lb.js\": 62057,\n\t\"./lo\": 17192,\n\t\"./lo.js\": 17192,\n\t\"./lt\": 15430,\n\t\"./lt.js\": 15430,\n\t\"./lv\": 53363,\n\t\"./lv.js\": 53363,\n\t\"./me\": 72939,\n\t\"./me.js\": 72939,\n\t\"./mi\": 38212,\n\t\"./mi.js\": 38212,\n\t\"./mk\": 69718,\n\t\"./mk.js\": 69718,\n\t\"./ml\": 50561,\n\t\"./ml.js\": 50561,\n\t\"./mn\": 68929,\n\t\"./mn.js\": 68929,\n\t\"./mr\": 84880,\n\t\"./mr.js\": 84880,\n\t\"./ms\": 63193,\n\t\"./ms-my\": 42074,\n\t\"./ms-my.js\": 42074,\n\t\"./ms.js\": 63193,\n\t\"./mt\": 54082,\n\t\"./mt.js\": 54082,\n\t\"./my\": 82261,\n\t\"./my.js\": 82261,\n\t\"./nb\": 15273,\n\t\"./nb.js\": 15273,\n\t\"./ne\": 19874,\n\t\"./ne.js\": 19874,\n\t\"./nl\": 51667,\n\t\"./nl-be\": 81484,\n\t\"./nl-be.js\": 81484,\n\t\"./nl.js\": 51667,\n\t\"./nn\": 17262,\n\t\"./nn.js\": 17262,\n\t\"./oc-lnc\": 19679,\n\t\"./oc-lnc.js\": 19679,\n\t\"./pa-in\": 96830,\n\t\"./pa-in.js\": 96830,\n\t\"./pl\": 93616,\n\t\"./pl.js\": 93616,\n\t\"./pt\": 55138,\n\t\"./pt-br\": 32751,\n\t\"./pt-br.js\": 32751,\n\t\"./pt.js\": 55138,\n\t\"./ro\": 17968,\n\t\"./ro.js\": 17968,\n\t\"./ru\": 81828,\n\t\"./ru.js\": 81828,\n\t\"./sd\": 62188,\n\t\"./sd.js\": 62188,\n\t\"./se\": 6562,\n\t\"./se.js\": 6562,\n\t\"./si\": 87172,\n\t\"./si.js\": 87172,\n\t\"./sk\": 99966,\n\t\"./sk.js\": 99966,\n\t\"./sl\": 4287,\n\t\"./sl.js\": 4287,\n\t\"./sq\": 15291,\n\t\"./sq.js\": 15291,\n\t\"./sr\": 80450,\n\t\"./sr-cyrl\": 37603,\n\t\"./sr-cyrl.js\": 37603,\n\t\"./sr.js\": 80450,\n\t\"./ss\": 30383,\n\t\"./ss.js\": 30383,\n\t\"./sv\": 37221,\n\t\"./sv.js\": 37221,\n\t\"./sw\": 51743,\n\t\"./sw.js\": 51743,\n\t\"./ta\": 6351,\n\t\"./ta.js\": 6351,\n\t\"./te\": 98118,\n\t\"./te.js\": 98118,\n\t\"./tet\": 26278,\n\t\"./tet.js\": 26278,\n\t\"./tg\": 36987,\n\t\"./tg.js\": 36987,\n\t\"./th\": 39325,\n\t\"./th.js\": 39325,\n\t\"./tk\": 43485,\n\t\"./tk.js\": 43485,\n\t\"./tl-ph\": 68148,\n\t\"./tl-ph.js\": 68148,\n\t\"./tlh\": 59616,\n\t\"./tlh.js\": 59616,\n\t\"./tr\": 24040,\n\t\"./tr.js\": 24040,\n\t\"./tzl\": 594,\n\t\"./tzl.js\": 594,\n\t\"./tzm\": 80673,\n\t\"./tzm-latn\": 23226,\n\t\"./tzm-latn.js\": 23226,\n\t\"./tzm.js\": 80673,\n\t\"./ug-cn\": 69580,\n\t\"./ug-cn.js\": 69580,\n\t\"./uk\": 87270,\n\t\"./uk.js\": 87270,\n\t\"./ur\": 11656,\n\t\"./ur.js\": 11656,\n\t\"./uz\": 68364,\n\t\"./uz-latn\": 18744,\n\t\"./uz-latn.js\": 18744,\n\t\"./uz.js\": 68364,\n\t\"./vi\": 75049,\n\t\"./vi.js\": 75049,\n\t\"./x-pseudo\": 15106,\n\t\"./x-pseudo.js\": 15106,\n\t\"./yo\": 6199,\n\t\"./yo.js\": 6199,\n\t\"./zh-cn\": 27280,\n\t\"./zh-cn.js\": 27280,\n\t\"./zh-hk\": 36860,\n\t\"./zh-hk.js\": 36860,\n\t\"./zh-mo\": 78364,\n\t\"./zh-mo.js\": 78364,\n\t\"./zh-tw\": 482,\n\t\"./zh-tw.js\": 482\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 = 46700;"],"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","__NG_CLI_RESOURCE__0","__NG_CLI_RESOURCE__1","ChangeDetectionStrategy","ChangeDetectorRef","EventEmitter","Input","Output","SharedConstants","changeDetectorRef","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","SubscriberComponent","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","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","ngOnDestroy","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","Subject","takeUntil","ngUnsubscribe","next","complete","cleanupAfterDestroy","observable","pipe","host","SEARCH_PREFIX","FILTER_DEFAULT","SEARCH_NOT_BLANK","REQUIRED_INPUT_CONTROL_VALIDATION","Directive","rotate","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","Alert","AlertType","Injectable","isDevMode","NavigationStart","SessionStorageService","SessionStorageEnum","HttpStatusCodeEnum","AppControllerService","sessionStorage","selectedApplicationID","selectedJobID","organisationsSubject","$organisationsSubject","asObservable","modules","organisations","applicationRefreshedSubject","alertSubject","keepAfterRouteChange","config","selectedOrgIdSubject","$selectedOrgIdSubject","selectedOrgSubject","$selectedOrgSubject","baseRequestObject","authenticatedUser","moduleID","appID","_selectedOrganisationID","configLoadedSubject","$configLoadedSubject","selectedApplicationM","selectedApplicationM$","events","_selectedModuleID","selectedModuleID","doubleQuoteRe","SelectedModuleID","selectedOrganisationId","selectedOrganisationID","organisationId","org","selectApplication","configLoadedComplete","getRequest","includeAppID","includeModuleID","request","JSON","parse","stringify","AppID","getAlert","alertId","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","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","PwaInstallBottomSheetComponent","take","UserInformationService","AppConfig","RequestStatusService","SystemModuleSettingsService","ServerNotificationService","WebNotificationService","LocalStorageEnum","LocalStorageService","LandingPageService","AppComponent","appController","authService","loginService","sessionStorageService","windowReference","bottomSheet","landingPageService","userInformationService","appConfig","requestStatusService","systemModuleSettingsService","serverMessageService","webNotificationService","localStorage","mapCenter","basemapType","mapZoomLevel","$isAuthenticated","$userInformationFetched","showBusyIndicator","showLandingPage","deferredPromptEvent","ON_SAME_RELOAD_STRATEGY","saveUrl","listenForLandingPageLogin","startAuthenticationProcess","setupPwaInstall","listenForBusySpinnerChanges","setRouterReloadStrategy","Url","url","loadAppConfig","localStorageIsAuthenticated","Nonce","unAuthenticateFrontChannel","checkIfLoggedIn","configureAuth","authenticate","appConfigLoadedAction","load","handleUserLoggedIn","nativeWindow","addEventListener","preventDefault","bottomSheetRef","open","afterDismissed","promptInstallPWA","prompt","$requestBusy","listenForServerMessages","messageReceived","showNotification","onSameUrlNavigation","loginButtonClicked","isLoginButtonClicked","AppConfig_1","HttpClient","http","settings","uniqueParam","getTime","jsonFile","Promise","resolve","reject","toPromise","response","catch","providedIn","BrowserModule","ErrorHandler","Injector","BrowserAnimationsModule","ServiceWorkerModule","environment","ServerInterceptor","HTTP_INTERCEPTORS","HttpClientModule","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","register","enabled","production","provide","useClass","multi","useFactory","s","getBaseHrefFromDOM","deps","bootstrap","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","AFLA_PORTAL","aflaPortalText","$authenticated","isAuthenticated","applicationsCount","applicationInProgressCount","applicationUncompletedCount","loadDashboarInformaton","dashboard","retrieveMyPortalApplications","myApp","ap","onSearchApplicationClicked","FILTERED_SEARCH_APPLICATIONS_ROUTE","PHASES_HEADING","DEFAULT_COLUMN","MODULES_SEARCH_PLACEHOLDER_TEXT","MatGridListModule","DisclaimerDialogBodyComponent","MatDialogRef","DisclaimerDialogBodyConstants","dialogRef","disclaimerTitle","disclaimerContent","acceptDisclaimerURL","ACCEPT_DISCLAIMER_URL","acceptButtonLabel","ACCEPT_DISCLAIMER_TEXT","disclaimer","content","acceptDisclaimer","showBusySpinner","post","closeDisclaimer","removeBusySpinner","ApiUserConstants","URL","FUNCTION_ACCEPT_DISCLAIMER","LandingPageConstants","logoImageUrl","loginButtonLabel","LOGIN_TEXT","mainBannerBackgroundImageUrl","mainBannerHeading","bannerSubHeading","bannerContent","aboutSectionHeading","aboutSectionDescription","modulesAndToolsHeading","modulesAndToolsSubHeading","screenshotSectionMainHeader","screenshotSectionSubHeader","screenshots","copyrightText","loadConfigData","onLoginClicked","landingPageData","show","screenshot","FormControl","FormGroup","Validators","LoginConstants","FormErrorStateMatcher","loginErrorStateMatcher","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","ngAfterContentInit","testing","setValue","login","loginDisabled","valid","hasUsernameRequiredError","hasError","REQUIRED_ERROR_CODE","hasPasswordRequiredError","handleAuthenticationResult","userResult","resultStatus","success","Success","loginSuccessful","valueChanges","ApiOrganisationConstants","ApiModuleConstants","NavPanService","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","settingLinks","addOrganisationLink","toolsMapLinks","activeId","isSystemModuleSettingsFetched","selectMunicipalityText","SELECT_MUNICIPALITY_CITY","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","settingView","municipalitiesView","defaultApplicantAgent","DEFAULT_APPLICANT_AGENT_TEXT","selectAnOptionText","PLEASE_SELECT_AN_OPTION","menuMode","logo","selectStatus","switchToStatusModule","displaySelectedModule","loadedApplicationTypesMap","Map","systemModuleLinks","displayOrgSettings","INCOMPLETE_APPLICATIONS_TITLE","dialogMessage","INCOMPLETE_APPLICATIONS_MESSAGE","modalBodyOptions","centered","backdrop","listenForSystemModules","subscribeToConfigSubject","loadMunicipalities","listenForAuthentication","listenForModuleFetch","buildSettingLinksList","mapToolsLinksList","buildAddLinks","getAuthUserName","showDefaultModule","listenForRefresh","logout","logOutRedirect","goBackToModules","select","onCreateApplicationClicked","checkIncompleteApplications","eLodgementComplete","hasOpenPortalApplications","openIncompleteApplicationsDialog","proceedToCreateApplications","onViewDocumentationClicked","selectMunicipality","input","find","m","selectApplicationType","setSelectedApplication","remove","SelectedJobID","setIncompleteJobId","setSelectGoToStep","navigateByUrl","skipLocationChange","componentInstance","OK_LABEL","CANCEL_LABEL","proceed","address","ADD_ORGANISATION_LINK_TEXT","activePanel","$authenticatedUser","user","connected","mun","municipalityId","has","appType","applicationRefreshed","configLoaded","logoUrl","$systemModuleSettingsFetched","NavToolbarContentComponent_1","NavigationEnd","Link","ModuleConfigService","NavToolbarContentComponent","moduleConfigService","sideNavToggle","appTitle","APP_TITLE","headingLinks","showHeadings","notificationIsOn","activeRoute","headingRoutes","propertyLayersForModules","getLink","headingText","selectedSystemModuleID","initializeHeadingLinks","addHeadingLinks","populateHeadingRoutes","setActivatedRoute","listenForRouteChanges","checkMapServicePropertyLayer","isShowDiv","linkText","PROPERTIES_HEADING_TEXT","isCemeteryModule","LOCATION_HEADING_TEXT","checkPropertyLayer","layerName","found","layer","moduleId","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","NgbAccordionModule","r","RequiredDocumentsHeadingEnum","ComponentFactoryResolver","AflaModuleStrategyService","CRUDOperation","CreateApplicationConstants","DeleteDocumentsConfirmationDialogComponent","AddDocumentsDialogComponent","DatePipe","EditDocumentsDialogComponent","CreateApplicationViewBaseComponent","CreateApplicationDocumentationConstants","FileUtils","CreateApplicationDocumentationComponent","aflaModuleStrategyService","componentFactoryResolver","datePipe","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","uploadFile","initForm","initializeColumnToObjectMapping","setupSubscribers","loadMetadata","stepMeta","arrayReturned","documents","onDeleteBtnClicked","NO_ITEM_SELECTED","modalRef","documentsToDelete","deletedDocuments","idsOfDocumentsToBeDeleted","deleteUploadDocumentsObservable","deleteSelectedDocsFromTable","updateDocumentChecklist","updateFormControl","Delete","onAddBtnClicked","getDocumentTypes","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","applicationType","category","appendRequiredDocuments","removeDuplicateDocuments","documentsAlreadyOnTheTable","docsInTable","resetDocumentsChecklist","newDocuments","deleteDocument","documentIdOfDeletedDocument","subscribeToSelectedApplication","$selectedApplication","application","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","LOCATION_ROUTE","DETAILS_ROUTE","APPLICANT_ROUTE","AGENT_ROUTE","WELCOME_ROUTE","PROFESSIONAL_BODIES_ROUTE","BURIAL_ROUTE","DECEASED_ROUTE","FAMILY_ROUTE","REQUIRED_DOCS","FUNERAL_PARLOUR","STAKEHOLDERS_ROUTE","CreateApplicationDetailsAConstants","LookupConstants","phoneNumberValidator","PopUpComponent","CreateApplicationDetailsAComponent","detailsForm","advertisementFormGroup","advertisementsFormGroupName","ADVERTISEMENTS_FORM_GROUP_NAME","validationMessages","VALIDATION_MESSAGES","applicationDetailsFormGroupName","APPLICATION_DETAILS_FORM_GROUP_NAME","descriptionFormControlName","DESCRIPTION_FORM_CONTROL_NAME","advertisementsFormControlName","ADVERTISEMENTS_FORM_CONTROL_NAME","isAdvertisementPermanentOrTemporaryFormControlName","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME","applicationTypeFormControlName","APPLICATION_TYPE_FORM_CONTROL_NAME","applicationDurationFormControlName","APPLICATION_DURATION_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","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","isAdvertisementPermanentOrTemporaryFormLabel","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL","typeLabel","APPLICATION_TYPE_LABEL","applicationDurationFormLabel","APPLICATION_DURATION_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","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","permanentOrTemporaryLookupOptions","PERMANENT_OR_TEMPORARY_LOOKUPS_A","signTypeLookups","applicationDurationLookupOptions","APPLICATION_DURATION_LOOKUPS_A","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","showTemporaryApplicationFields","showPermanentApplicationFields","showApplicationDurationField","show5YearPermanentApplicationOptionalFields","show1YearPermanentApplicationOptionalFields","personResponsibleDisableAdd","personResponsibleDisableEditing","personResponsibleDisableFilterBy","personResponsibleIsInternal","personResponsibleGroups","personResponsibleShowFields","temporaryApplicationType","permanentApplicationType","getLookups","getMetadata","setForms","checkIfFormWasPreviouslyCompleted","personResponsibleGroup","INVALID_METADATA","advertisementType","handleAdvertisementTypeValueChanged","onShowApplicationOptionsByDuration","applicationDuration","showPermanentAdvertisementFields","reset5YearPermanentApplicationFields","add5YearApplicationFieldsValidators","clear1yearPermanentApplicationFieldsValidators","reset1yearPermanentApplicationFields","addValidatorsToMainPermanentFields","getLookupCompleted","STEP_TITLE","lookUp","lookUpContent","isAdvetisingPermanentOrTemporary","configureFormsForPermanentApplication","configureFormsForTemporaryApplication","handleTemporaryAdvertisementSelected","hidePermanentAdvertisementTypeFields","showTemporaryApplicationTypeFields","handlePermanentAdvertisementSelected","clearTemporaryAdvertisementFieldsValidators","resetTemporaryAdvertisementFields","hideTemporaryAdvertisementFields","showApplicationDurationFields","reset","removeValidatorsToMainPermanentFields","resetMainPermanentFields","filterApplicationTypeAccordingToSelectedAdvertisementType","dirty","touched","advertisementTypeValue","advertisingDuration","resetLocationDetails","propertiesFormArray","clear","addValidatorsToTemporaryFields","confirmChangeFromUser","isAdvertisementControl","MODAL_OPTIONS","MODAL_DIALOG_TITLE","MODAL_DIALOG_MESSAGE","canContinueMakingChanges","setMainPermanentFields","permanentApplicationDuration","set1yearPermanentApplicationFields","set5yearPermanentApplicationFields","nameOfBusiness","notifySignageRemovalPeriod","positionOfDisplay","dimensionsH","dimensionsW","dimensionsD","material","colours","frontalArea","totalArea","signType","weight","wattage","contractorTelephone","municipalConsumerAccountNumber","forSale","onShow","toLet","sold","constructionBoardSign","otherOneYear","groundSign","flag","sandwichBoard","pylon","wallSign","buildingAttachment","projectingWallSign","wallPainted","roofSign","skySign","veranda","aerialSign","windowSign","schoolSign","combinationSign","underAwningSign","flagSign","canopy","balcony","electronicSign","developmentBoard","otherFiveYear","nonIlluminatedBillboard","digitalBillboard","nonIlluminatedGantry","digitalGantry","internallyIlluminatedBillboard","internallyIlluminatedGantry","setTemporaryAdvertisementFields","displayStartDate","displayEndDate","displayRemovalDate","numberOfPosters","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME","keyboard","isAdvertisingPermanentOrTemporary","whoIsApplying","positionOfTheDisplay","height","width","depth","signContractor","signContractorAddress","signContractorTelephone","CreateApplicationLocationAConstants","MapTools","MapService","ApiProxyConstants","UrlConstants","CreateApplicationLocationAComponent","mapTools","mapService","changeDetectorRefs","showMap","activeTabIndex","advertisementsForm","descriptionLabel1","DESCRIPTION_LABEL_1","descriptionLabel2","DESCRIPTION_LABEL_2","descriptionLabel3","DESCRIPTION_LABEL_3","ADVERTISEMENT_FORM_GROUP_NAME","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","selectedApplicationStatus","areaOfDisplayLookups","AREA_OF_DISPLAY_LOOKUPS_A","showPermanentApplicationsFields","showTemporaryApplicationsFields","isMapLoaded","sketchTool","selectedGraphic","mapComponent","actionPropertyEnabled","mapLoaded","syncMapGeometries","initializeSketchTools","onPermanentOrTemporaryAdvertisementSelected","advertisementFormArray","getAdvertisements","onBtnRemovePropertyClicked","propertyIndex","removeAt","onBtnRemoveFeature","featureIndex","setAdvertisementData","propertyObject","geometry","newAdvertisingFormGroup","setAdvertisingFormGroup","createAdvertisingFormGroup","getGPToolURL","formData","getGPToolFormData","getTrueCentroid","trueCentroidResponse","showFieldsAccordingToChosenApplicationStatus","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","addTemporaryAdvertisementFieldsValidators","handleTemporaryApplicationSelected","addPermanentAdvertisementFieldsValidators","handlePermanentApplicationSelected","getMapTool","expandWidget","showMapToolsForTemporaryAdvertisement","showMapToolsForPermanentAdvertisement","on","state","handleSketchComplete","sketchGraphicsLayer","removeAll","graphic","create","visibleElements","POLYGON_SKETCH_TOOLS_OPTIONS","POINT_SKETCH_TOOLS_OPTIONS","removeGraphicsFromMap","showMapFields","onGetLookupsCompleted","subscribeToClearGraphics","$clearLayerGraphicsSubject","clearGraphics","selectedApplication","updateComponentData","static","FEATURE_REQUIRED","DETAILS_FORM_GROUP_NAME","FARM_NO_TEXT_PLACEHOLDER","TRUE_CENTROID","INVALID_OWNER_ATTRIBUTE","subdivision","farmNo","addressOrStreet","code","createTools","point","circle","polyline","rectangle","selectionTools","polygon","CreateApplicationDetailsBlComponent","CreateApplicationLocationBlComponent","CreateApplicationDetailsBpamsConstants","CreateApplicationDetailsBpamsComponent","isMinorBuildingWorkLabel","IS_MINOR_BUILDING_WORK_LABEL","sectorLabel","SECTOR_LABEL","isRDPLabel","IS_RDP_LABEL","buildingUseLabel","BUILDING_USE_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","yesNoOptions","sectorOptions","buildingUseOptions","yesnoenumKey","YES_NO_ENUM","buildingUse","sector","setApplicationDetails","isMinorBuildingWork","isRdp","isRDP","CreateApplicationLocationBpamsConstants","AddBuildingComponent","modalTitle","addForm","cancelLabel","createLabel","CREATE_LABEL","floorLabel","FLOOR_LABEL","existingSizeLabel","EXISTING_SIZE_LABEL","addedSizeLabel","ADDED_SIZE_LABEL","floorControlName","FLOOR_CONTROL_NAME","existingSizeControlName","EXISTING_SIZE_CONTROL_NAME","addedSizeControlName","ADDED_SIZE_CONTROL_NAME","floor","existingSize","addedSize","onBtnSaveClicked","FORM_NOT_VALID","onBtnCancelClicked","FormArray","Query","MapServiceConstants","JsonUtils","PropertyBuildingHeadingEnumHeadingLookup","EditBuildingComponent","WktConverterUtils","CreateApplicationUtils","ViewApplicationLocationBpamsConstants","CreateApplicationLocationBpamsComponent","active","propertiesForm","descriptionLabel4","DESCRIPTION_LABEL_4","propertyApplicationDetailsLabel","PROPERTY_APPLICATION_DETAILS_LABEL","erfNoControl","ERF_NO_CONTROL","subdivisionControl","SUBDIVISION_CONTROL","allotmentControl","ALLOTMENT_CONTROL","farmNoControl","FARM_NO_CONTROL","sgCodeControl","SG_CODE_CONTROL","addressControl","ADDRESS_CONTROL","erfSizeControl","ERF_SIZE_CONTROL","totalValueControl","TOTAL_VALUE_CONTROL","titleDeedControl","TITLE_DEED_CONTROL","zoneControl","ZONE_CONTROL","ownerControl","OWNER_CONTROL","erfNoTextPlaceHolder","ERF_NO_TEXT_PLACEHOLDER","subdivisionTextPlaceHolder","SUBDIVISION_TEXT_PLACEHOLDER","allotmentTextPlaceHolder","ALLOTMENT_TEXT_PLACEHOLDER","farmNoTextPlaceHolder","sgCodeTextPlaceHolder","SG_CODE_TEXT_PLACEHOLDER","addressTextPlaceHolder","ADDRESS_TEXT_PLACEHOLDER","erfSizeTextPlaceHolder","ERF_SIZE_TEXT_PLACEHOLDER","totalValueTextPlaceHolder","TOTAL_VALUE_TEXT_PLACEHOLDER","titleDeedTextPlaceHolder","TITLE_DEED_TEXT_PLACEHOLDER","zoneLabel","ZONE_LABEL","addZoneLabel","ADD_ZONE_LABEL","copyApplicantToOwnerZoneLabel","COPY_APPLICANT_TO_OWNER_LABEL","removePropertyLabel","REMOVE_PROPERTY_LABEL","ownerLabel","OWNER_LABEL","ownerDisableFilterBy","ownerDisableAdd","ownerDisableEditing","ownerShowGroupsDropdown","ownerGroups","ownerListLabel","zones","fullApplicationCheckRequired","showOnlyPropertyAndZoningLayers","typeTextPlaceHolder","TYPE_LABEL","typeControl","TYPE_CONTROL","titleDeedRestrictionsTextPlaceHolder","TITLE_DEED_RESTRICTION_LABEL","titleDeedRestrictionsControl","TITLE_DEED_RESTRICTION_CONTROL","shortDescriptionTextPlaceHolder","SHORT_DESCRIPTION_LABEL","shortDescriptionControl","SHORT_DESCRIPTION_CONTROL","estimatedCostTextPlaceHolder","ESTIMATED_COST_LABEL","estimatedCostControl","ESTIMATED_COST_CONTROL","estimatedByTextPlaceHolder","ESTIMATED_BY_LABEL","estimatedByControl","ESTIMATED_BY_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","typeOptions","estimatedByOptions","externalWallsOptions","internalWallsOptions","roofingOptions","mainTableMapper","outTableMapper","subdivisionControlRequired","farmNoControlRequired","erfNoControlRequired","formValidators","hasLoadedApplicationProperties","missingZoneTuple","missingZoneList","modalOptions","getProperties","checkAndInitialiseLookups","subscribeToProperty","destroyMap","ownerGroup","getZones","updatePropertyRequiredFields","newProperty","setValidators","disable","markAsUntouched","enable","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","count","MISSING_ZONE_LABEL","MISSING_ZONE_LABEL_EMAIL","mainArrayReturned","array","outArrayReturned","formItems","newItem","calculateTotals","properties","totalExistingPatioCalculated","totalAddedPatioCalculated","totalExistingCalculated","totalAddedCalculated","totalFloorCalculated","totalGroundFloorCalculated","patioCoverageExisting","patioCoverageAdded","patioOpenExisting","patioOpenAdded","mainBuildings","outBuildings","totalCoveredPatio","totalCoveredArea","totalFloorArea","covered","bulkCalculation","Math","round","setNumberToDecimal","formControl","decimalValue","parseFloat","toFixed","syncMainBuildingsOnGet","PropertyFormGroup","mb","buildings","syncOutBuildingsOnGet","ad","subscribeToClearMapGraphics","onGetSelectedApplication","updatePropertyIds","estimatedBys","externalWalls","internalWalls","roofings","sortZones","setHasLoadedLookups","propertyDataAlternateColumnName","loadExistingProperty","setPropertyData","sgCode","control","tempId","erfNo","allotment","shortDescription","titleDeedRestrictions","erfSize","totalValue","titleDeed","estimatedBy","estimatedCost","min","roofing","numberOfHousesUnits","totalExisting","totalAdded","coveredExisting","coveredAdded","openExisting","openAdded","totalExistingPatio","totalAddedPatio","pool","boundaryWallHeight","boundaryWallRunning","coverage","owners","zoningLayerObj","userMaps","selectionLayerType","PROPERTY_ZONING_LAYER","zoningLayer","zoningQuery","where","returnGeometry","outFields","queryFeatures","zoneFeatureSet","features","foundZone","zoneItem","ZONING_NOT_FOUND","INVALID_ZONING_ATTRIBUTE","propertyControl","zoningError","$missingLookupsForZones","missingLookupsForZones","geometryArc","ConvertWktToArcGisJson","shape","fromJSON","erfNumber","farmNumber","applicationDescription","applicationRestrictions","applicationEstimatedCost","numberOfHouses","patioCoveredExisting","patioCoveredAdded","zonings","zoneOption","zoning","applicationPropertyId","deleted","mainItems","outItems","applicationEstimatedBy","calculateTotalsOnGet","MISSING_LOOKUP_EMAIL_REQUEST_URL","lookupType","lookupList","sendMissingLookupsEmail","MISSING_ZONE_LABEL_EMAIL_FAILED","Selecting","PROPERTY_REQUIRED","MISSING_ZONE_EMAIL_SUBJECT","MISSING_ZONE_EMAIL_CONTENT","TOTAL_LABEL","REMOVE_TITLE","editForm","UPDATE_LABEL","PropertyBuildingHeadingEnum","Floor","ExistingSize","AddedSize","RecipientService","CreateApplicationProfessionalBodiesBpamsConstants","forkJoin","CreateApplicationProfessionalBodiesBpamsComponent","recipientService","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","applicant","savedArchitect","savedEngineer","savedContractor","authUserDetails","getApplicantData","initialiseDefaultValues","getAuthUserInformation","architectGroup","engineerGroup","electricalContractorGroup","enableSACAPLookup","configureProfBodiesForSACAP","onMarkArchitectAsRequired","architectIsRequired","onMarkEngineerAsRequired","engineerIsRequired","onMarkElectricalContractorAsRequired","contractorIsRequired","onCopyApplicantToArchitect","copyApplicantDataChecked","applicantData","architect","groups","onCopyApplicantToEngineer","engineer","onCopyApplicantToElectricalContractor","electricalContractor","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","pristine","showProfBodiesBasedOnCurrentFormStatus","applicantID","applicantId","getApplicantByApplicantId","recipients","savedApplicant","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","loadLookup","populateForm","appId","markAsTouched","burialDate","dateString","DATE_CONST","lookupValues","lp","burialType","CreateDeceasedDetailsCmConstant","CreateDeceasedDetailsCmComponent","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","identificationTypeLookup","sexLookup","verticalPositionLookup","deceasedNameList","deceasedNamesControl","lookupConst","IdentificationType","Sex","VerticalPosition","loadLookups","checkSave","onCleanFormEvent","editnamesEvent","deceased","inKey","deceasedNames","enableDropdowns","app","idTypeChanged","idType","pattern","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","sex","nationality","identificationType","maidenName","placeOfBirth","placeOfDeath","provinceOfDeath","idNumber","wrong","dateOfBirth","dateOfDeath","burialOrderNumber","serialNo","verticalPosition","surname","startDate","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","familyGroup","onBtnCopyApplicantToFamilyClicked","groupName","GroupName","groupType","GroupType","setRecipients","f","getApplicant","refreshTableIndexes","CreateFuneralParlourConstants","CreateFuneralParlourCmComponent","appService","recipientFilterService","parlourForm","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","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","setErrors","today","CreateApplicationDetailsDmConstants","CreateApplicationDetailsDmComponent","applicationTypeCtrl","TYPE_CTRL","applicationTypeLbl","TYPE_LBL","descriptionCtrl","DESCRIPTION_CTRL","descriptionLbl","DESCRIPTION_LBL","applicationTypePlaceHolder","APPLICATION_PLACE_HOLDER","CreateLocationDMConstants","Polygon","CreateLocationDmComponent","createApplicationService","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","copyApplicantToOwnerLabel","dmApplication","yes","Yes","propertyData","syncMapExistingGeometries","checkStepMetaRecipientGroups","updateRequiredFields","clearAsyncValidators","onBtnCopyApplicantToOwnerClicked","ownersFormControl","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","selectYesOrNo","propertyFoemGroup","NO_APPLICANT_AVAILABLE","PROPERTY_LAYER_NAME","CreateApplicationDetailsEcConstants","CreateApplicationDetailsEcComponent","applicationTypeLabel","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","applicantType","phase","paymentType","descriptionOfProposedWork","estimatedCapacity","APPLICATION_TYPE_LOOKUP_NAME","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","buildingName","CreateApplicationProfessionalBodiesEcConstants","CreateApplicationProfessionalBodiesEcComponent","electricalEngineerGroup","CreateApplicationDetailsItamsConstants","CreateApplicationDetailsItamsComponent","tradingGoodsLabel","TRADING_GOODS_LABEL","tradingGoodsDescriptionLabel","TRADING_GOODS_DESCRIPTION_LABEL","previousApplicationReferenceNumberLabel","PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL","tradingGoodsFormControlName","TRADING_GOODS_CONTROL_NAME","tradingGoodsDescriptionFormControlName","TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME","previousApplicationReferenceNumberFormControlName","PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME","tradingGoods","tradingGoodIsRequired","showPreviousApplicationReferenceNumberField","onTradingGoodsSelected","selectedTradingGoods","tradingGoodsDescriptionFormControl","onApplicationTypeSelected","previousApplicationReferenceNumberFormControl","TRADING_GOODS_LOOKUP_NAME","tradingGoodsDescription","CreateApplicationLocationItamsConstants","CreateApplicationLocationItamsComponent","propertiesFormGroupName","PROPERTIES_FORM_GROUP_NAME","propertiesFormControlName","PROPERTIES_FORM_CONTROL","bayNumberControl","BAY_NUMBER_CONTROL","baySizeControl","BAY_SIZE_CONTROL","bayNumberPlaceHolder","BAY_NUMBER_PLACEHOLDER","baySizeTextPlaceHolder","BAY_SIZE_TEXT_PLACEHOLDER","removeBayLabel","REMOVE_BAY_LABEL","LAYER_REF","getBays","subscribeToBayDetails","actionBayEnabled","onBtnRemoveSelectedBayClicked","tabIndex","savedProperty","newPropertyFormGroup","getUpdatedBaysFormGroup","getPropertyCentroidObservable","handleTrueCentroidResponse","$selectedBay","setBayData","newBay","bayNumber","baySize","BAY_REQUIRED","CreateApplicationStakeholdersItamsConstants","CreateApplicationStakeholdersItamsComponent","tradersForm","disableTraderRecipientFilter","traderConfigurableLabel","traderDisableAddButton","traderRecipientGroups","traderDisableEditButton","tradersFormControlName","TRADERS_CONTROL_NAME","traderLabel","TRADER_LABEL","traderFormControlName","TRADER_FORM_ARRAY_NAME","subscribeToSelectedModuleName","getTraders","traderGroup","getTradersControl","STAKEHOLDERS_HEADER","TRADERS_FORM_GROUP_NAME","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","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","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","getApplicants","lesseeGroup","buyerGroup","sellerGroup","referenceNumber","saleAmount","evaluationAmount","dateOfDeedTransfer","getBuyers","leaseType","leaseReason","leaseLesseeType","leaseAreas","getLessees","getSellers","getLesseesObservable","onGetLesseesCompleted","lesseeControl","getSellersObservable","onGetSellersCompleted","sellerControl","getBuyersObservable","onGetBuyersCompleted","buyerControl","TRANSFERRING_ATTORNEY_LABEL","TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME","lesseeType","dateofDeedTransfer","CreateApplicationLocationPlamsConstants","GeometryUtils","geometryEngine","CreateApplicationLocationPlamsComponent","descriptionLabel5","DESCRIPTION_LABEL_5","applicationControl","APPLICATION_TYPE_CONTROL","applicationSelectLabel","APPLICATION_TYPE_PLACEHOLDER","dropdownApplicationPlaceholder","appTypes","existingApplication","sketch","leaseGraphic","hasLoadedLookups","hasSavedLeaseArea","$applicationSavedSubject","hasLoadedLookupsAsObservable","$removeAllMapToolGraphics","mapToolGraphicsRemoved","showPopups","propertyGeom","union","within","LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE","NO_PROPERTIES_SELECTED_MESSAGE","LEASE_AREA_EXISTS_MESSAGE","mapGeometryToDTO","numProps","setSelectedProperty","applicationTypeChanged","collapseWidget","cancel","leaseGeom","PROPERTY_ID_CONTROL","CreateApplicationDetailsRcConstants","CreateApplicationDetailsRcComponent","CreateApplicationLocationRcConstants","CreateApplicationLocationRcComponent","rcApplication","handleAddProperty","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","getFeatures","subscribeToSelectedPOI","subscribeToSelectedStreet","actionPOIEnabled","actionStreetEnabled","hasControlValidator","validator","onBtnAddAlternativeNameClicked","alternativeNameGroup","language","meaning","alternativeNamesFromArray","getAlternativeNameFormControls","onBtnRemoveAlternativeNameClicked","alternativeDetailsIndex","resetAlternativeNames","onStreetOrFeatureSelected","streetOrFeatureSelected","configureStreetSelected","configureFeatureSelected","onPublicOrPrivateSelected","publicOrPrivateSelected","handlePublicValue","handlePrivate","onHaveExistingNameSelected","haveExistingNameSelected","handlePropertyOrFeatureHasExistingName","handlePropertyOrFeatureHasNoExistingName","setPOIData","poiAttributes","newPOIFormGroup","setNewPOIFormGroup","createNewPOIFormGroup","configureInitialFeatureForm","setFeatureTrueCentroidData","featureControl","$selectedPOISubject","poi","checkIfSelectedFeatureHasAlreadyBeenAdded","showStreetFields","hideAreaEstateField","addFeatureTypeField","removeRequiredValidatorPrivateStreetAreaOrEstateNameField","hidePrivateStreetAreaOrEstateNameField","hideFeatureTypeField","addRequiredValidatorOnTheAreaEstateNameField","displayPrivateStreetAreaOrEstateNameField","streetOrFeatureValue","areaEstateNameControl","featureTypeControl","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","formGroup","configureFormsForSelectedStreet","configureFormsForSelectedFeature","showOrHideCurrentNameField","clearValidationOfStreetSpecificFields","hideStreetSpecificFields","clearFeatureTypeValidators","hideFeatureSpecificFields","showStreetSpecificFields","addStreetSpecificFieldsValidators","clearValidationOfFeatureSpecificFields","currentNameValue","LINE_SKETCH_TOOLS_OPTIONS","CreateApplicationDetailsTmamsConstants","CreateApplicationDetailsTmamsComponent","CreateLocationTmConstants","CreateApplicationLocationTmamsComponent","tmApplication","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","addApplicationTypeLabel","ADD_APPLICATION_TYPE_LABEL","amendmentSchemeNumberLabel","AMENDMENT_SCHEME_NUMBER_LABEL","applicationTypeLookupName","zoningLookupName","ZONING_LOOKUP_NAME","removeControlsByIndex","setControlValue","controlName","disableControl","getApplicationTypeAndZoningLookups","onBtnRemoveApplicationTypeClicked","onBtnAddApplicationTypeClicked","applicationTypesControl","typeGroup","filterString","sortZoneDropDownAlphabetically","sortApplicationTypesAlphabetically","amendmentSchemeNumber","setTypes","applicationZonings","appZones","setZones","typesControl","applicationZoning","FILE_NUMBER_LABEL","FILE_NUMBER_FORM_CONTROL_NAME","CreateApplicationLocationTpamsConstants","CreateApplicationLocationTpamsComponent","buildingUseControl","BUILDING_USE_CONTROL","buildingFloorAreaControl","BUILDING_FLOOR_AREA_CONTROL","buildingUseTextPlaceHolder","BUILDING_USE_TEXT_PLACEHOLDER","buildingFloorAreaTextPlaceHolder","BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER","lookupResponse","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","verifyProposedDates","formControlName","scopeOfWork","clientReferenceNumber","licenceNumber","applicationFee","proposedStartDate","proposedEndDate","laneClosureRequired","laneClosureExtent","constructionPeriod","electricalServices","applicantTelecommunicationLicenseNumber","estimatedConstructionCost","laneClosureIsRequired","constructionPeriodInWeeks","CreateApplicationLocationWamsConstants","CreateApplicationLocationWamsComponent","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","CreateApplicationLocationZcConstants","CreateApplicationLocationZcamsComponent","zcApplication","ApplicationCreateService_1","RouterParamsService","ApiStepMetaConstants","ApiLookupConstants","TrueCentroidResultsModel","ApiAttachmentConstants","routeParamsService","propertySubject","propertyObservable","startMetadataSubject","$startMetadata","selectedModuleName","selectGoToStep","selectGoToStepAsObservable","$fullApplicationCheckRequired","checkIfChanged","newValue","oldValue","savePropertyData","loaded","start","_this","_ref","_asyncToGenerator","handleRouteParamChange","_x","apply","arguments","getStepMeta","_this2","FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL","metadata","setFullApplicationCheckRequired","setModuleName","moduleName","stepIndex","FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL","uploadDocumentObservable","FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL","FUNCTION_GET_ATTACHMENT_CONTENT","responseType","FUNCTION_DELETE_MULTIPLE_ATTACHMENTS","deserialize","FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS","_this3","moduleid","$incompleteJobId","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","WELCOME_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","maximumSize","agsSupportedAttachmentFileTypes","split","userInfo","lastName","firstName","onFileSelected","clearBusyRequestCounter","file","files","uploadedFileSize","fileExtension","pop","fileTypeAllowed","allowedFileType","onCancelBtnClicked","onSaveBtnClicked","uploadAttachment","invalid","deleteAttachment","stopPropagation","documentType","reader","FileReader","fileString","readAsDataURL","onloadend","evt","readyState","DONE","bytes","substring","AppId","ModuleId","FileName","Data","Description","AttachmentType","ComponentType","AFLAPortalObjectId","UploadedBy","DELETE_LABEL","EditDocumentsDialogConstants","editDocumentForm","cancelBtnLabel","saveBtnLabel","fileBlob","getAttachmentFileContent","setFormValues","markAllControlsAsTouched","editedDoc","deletedParams","Add","Update","CreateApplicationUtilsConstants","duplicatePropertyErrorMessage","savedProperties","propertyFormGroups","propertyFormGroup","selectedPropertySgCode","setTrueCentroidOnNewProperty","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_LAYER","PROPERTY_OWNER_LAYER","CEMETERY_LAYER","GRAVE_LAYER","SERVICE_NAME_MAX_LENGTH","APPLICATION_LAYER","AFLA_PORTAL_APPLICATION_LAYER","APPLICATION_LAYER_ID_COLUMN","validationMessage","maxLength","MAX_LENGTH_INPUT_CONTROL_VALIDATION","authType","secret","mapOrder","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","innerHTML","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","extent","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","location","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","drawGraphic","addGraphicsLayer","layers","listMode","removeGraphicsLayer","getStartApplicationRoute","setProceedMapLoading","displayMap","mapViewEl","mapDefaults","getMapView","nativeElement","removeAllMapToolGraphics","fetchModuleData","showOnlyOrganisationMaps","showApplicationsAndBasemapLayers","$orderby","getOrganisationId","FUNCTION_GET_MODULE_FOR_AFLA_PORTAL","urls","loadedIds","addProxyRule","addedLayer","addLayer","defaultVisibility","foundAppLayer","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","CreatedUserId","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","popup","selectedFeature","checkForSysAdmin","fetched","isSysadminAdmin","addExtent","domain","layerAdded","legendEnabled","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","zoomScale","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","maxResults","searchMultipleResults","homeBtn","tool","position","Title","icon","expandTooltip","expandIconClass","t","collapse","btnArea","btnLocation","btnDistance","btnRemove","switchToArea","switchToDistance","switchToLocation","removeMeasurements","classList","PopupTemplate","customGeolocators","geoLocator","addLocatorSource","memoryCollection","extMaxX","extMinX","extMaxY","extMinY","counter","pointGraphics","entry","longitude","latitude","Loc_name","markerSymbol","Postal","pointGraphic","locatorSearchSource","searchSources","countryCode","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","setTimeout","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","listenForRouteParamChanges","setModuleHeadings","onlyValidParams","param","organisationid","$systemModules","PrimaryButtonComponent","MatBottomSheetRef","install","dismiss","RecipientListComponent_1","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","assign","selectedRecipientGroups","groupsStringArray","recipientToEdit","showRecipientGroupsDropdown","editedRecipient","ItemIndex","deleteRecipients","recipientsToBeDeleted","len","loadRecipient","overrideGroup","appendToList","onRecipientTypeChanged","selectedRecipient","radioButtonValue","emailField","loadAllRecipients","getRecipientGroupsFromLookups","getRecipientGroupsLookupObservable","groupsLookups","onGetRecipientGroupsCompleted","groupLookup","recipientGroups","standardizeRecipientGroupsObject","setLabelSettings","stepMetaPropertyNotSetErrMessage","propertyName","groupNameString","getGroupsFromMetadata","showOrHideAddRecipientButton","showOrHideEditRecipientButton","showOrHideDeleteRecipientButton","checkOrganisationSettings","uuidValue","k","randomValue","organisationSettings","getOrganisationSettings","setDefaultCommunicationSettings","disableCommunicationMethods","organisationInformation","getOrganisationInformation","isSMSEnabledFromOrganisationSettings","enableSms","hasSMSProvider","smsProvider","useExisting","RecipientHeadingEnum","RecipientSelectComponent_1","RecipientSelectConstants","DefaultRequiredFields","RecipientSelectComponent","isGroupsComingFromMetadata","showGroupsDropdown","disableFilter","recipientForm","Validator","recipientFormLabelHeading","provinceOptions","countryOptions","selectOptionText","DEFAULT_COUNTRY","sameAsResidentialChecked","onChangeSubscription","defaultRequiredFields","homePhoneTelephoneLabel","homeTelePhoneLabel","workTelephoneLabel","cellphoneLabel","defaultCommunicationMethodLabel","emailRadioButtonLabel","smsRadioButtonLabel","emailLabel","organisationLabel","clientVatNumberLabel","designationLabel","professionalBodyHeader","professionalBodyLabel","professionalBodyRegNoLabel","streetAddressHeader","streetAddressLabel","streetSuburbLabel","streetCityLabel","streetProvinceLabel","streetCountryLabel","streetCodeLabel","postalDetailsHeader","postalAddressLabel","postalSuburbLabel","postalCityLabel","postalProvinceLabel","postalCountryLabel","postalCodeLabel","sameAsStreetAddressLabel","groupsHeader","groupsLabel","defaultComponentName","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","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","setRecipientGroupsFromTheGroupsStringArray","checkIfPostalDetailsIsTheSameAsResidentialDetails","checkSACAPOptions","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","clearEmailFormFieldRequiredValidation","groupNameFromStringArray","groupFromMetadata","sacapRegistrationNumber","populateGroupsDropdown","populateRecipientGroups","postalDetailsMatchResidentialDetails","checkAddressDetails","disablePostalDetails","setRequiredFields","setGroupsFromMetadata","setDisableEditing","setConfigurableLabel","setJobId","showOrHideGroupsDropdown","loadRequiredFields","listenToClearRecipient","isCleaned","isRequired","checkRequiredFields","isCellphoneRequired","getPropertyThatMatchesDataCase","isEsmailRequired","onVerifySacapDetails","constituentId","verifySACAPRegistration","setSACAPRecipientData","setSACAPRecipientVerification","clearSACAPRecipientVerification","memberData","firstname","lastname","professionalNumber","selectGroupsLabel","maxlength","RecipientFormConstants","newRecipientForm","newRecipientFormLabelHeading","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","clearRecipientEvent","FUNCTION_GET_PORTAL_RECIPIENT","FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP","$orderBy","mapStepMetaRecipientGroups","clearRecipientTrigger","isCleared","userId","SecondaryButtonComponent","ViewApplicationStepperComponent","ApiAdvertisingConstants","API_V2","FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT","FUNCTION_SET_PROPERTIES","FUNCTION_RESET_APPLICATION_VALUES","FUNCTION_GET_GENERATE_INVOICE","FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS","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","ApiBuildingPlansConstants","FUNCTION_SET_PROFESSIONAL_BODIES","FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS","ApiBusinessLicenceConstants","FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS","ApiCemeteryConstants","FUNCTION_GET_FAMILY","FUNCTION_SET_FAMILY","FUNCTION_SET_DETAILS","FUNCTION_SET_DECEASED","FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS","ApiDemolitionManagementConstants","FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS","ApiElectricalConnectionConstants","FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS","ApiInformalTradeConstants","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","ApiPropertyAndLeaseConstants","FUNCTION_GET_LESSEES","FUNCTION_GET_BUYERS","FUNCTION_GET_SELLERS","FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS","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","ApiTownPlanningConstants","FUNCTION_SET_ZONES","FUNCTION_SET_APPLICATION_TYPES","FUNCTION_GET_DISTINCT_APPLICATION_TYPES","FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS","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","ApiWayleaveConstants","FUNCTION_GET_WAYLEAVE_APPLICATIONS_BY_USER","FUNCTION_SET_LOCATION","FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS","ApiZoningCertificateConstants","FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS","TEMPLATE_TYPES","YES_NO","INVOICE_TYPES","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","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","VIEW_ON_MAP_TEXT","OPEN_APPLICATION_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","MODAL_SIZE","large","small","extraLarge","ROLES_ENUM","Admin","Login","User","No","SYSTEM_ROLES_ENUM","SuperAdmin","OrganisationAdmin","FIELD_TYPE","NumberType","StringType","DateType","Decimal","Dropdown","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","ElementRef","HostBinding","HostListener","DragDropDirective","el","background","uponFileDropped","onDragOver","querySelector","onDragLeave","ondrop","dataTransfer","$iAuthenticated","handleActivation","canActivateChild","childRoute","init","ProfessionalBodyRegNum","messages","clickAction","ModuleConfig","memo","AppViewShortDatePipe","prototype","HighlightPipe","SaShortDatePipe","SafeHtmlPipe","UtcDatePipe","AStrategyService_1","ApplicationSearchService","OdataQueryService","HttpParams","ODataAction","ViewApplicationDocumentationComponent","ViewApplicationDetailsAComponent","ViewApplicationLocationAComponent","ApplicationSearchConstants","ApplicationHeadingEnum","applicationHeadingLookup","ReferenceNumber","Applicant","Agent","ApplicationType","CreatedDate","DaysLeft","LastEditedBy","LastEditedOn","ApplicationSummaryColumnsEnum","applicationSummaryColumnsLookup","Phase","AExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_A","CreateApplicationMenuHeadings","HeaderConfigurableTextTypes","PageConfigurableTextTypes","CreateAppHeadingConfigurableTextType","Welcome","Details","Documentation","CreateAppPageConfigurableTextType","ViewApplicationMenuHeadings","ViewAppHeadingConfigurableTextType","Summary","AStrategyService","saShortDatePipe","applicationSearchService","oDataQueryService","createApplicationMenuHeadings","viewApplicationComponentLookup","Advertising","defaultSearchColumns","applicationEndpoint","createApplicationComponentLookup","viewApplicationMenuHeadings","applicationSummaryColumnsMap","applicationServiceUrl","moduleUsers","expandListForApplicationPartial","createApplicationSteps","viewApplicationSteps","isFormValidSubject","isFormValidAsObservable","createAppHeadingConfigurableTextType","viewAppHeadingConfigurableTextType","createAppPageConfigurableTextType","savedApplication","getRecipientFullName","getRecipientName","getFirstRecipient","buildExpand","buildListFilter","buildFilterFromArray","initializeApplicationSummaryColumnsMap","defaultSearchModel","agent","applicantAgent","createdDate","workflowSection","daysLeft","daysUntilExpired","lastEditedBy","getLastEditedByUser","lastEditedUser","lastEditedOn","lastEditedDate","getUserName","getUserNameFromId","userName","mapFromApplicationEntityToApplicationSearchModel","initializeViewApplicationComponents","initializeCreateApplicationComponents","getApplicationsQuery","buildApplicationSearchBaseRequest","buildModuleIDFilter","createApplication","buildApplication","postApplicationService","successMessage","resetForm","saveApplicationStep","step","continueAfterSave","stepTitle","buildApplicantStep","buildApplicantAgentStep","buildDetailsStep","setAdvertisementsGeometry","buildDocumentationStep","applicationRequestDto","aApplication","moveApplicationToNextStepAfterSave","createPartialApplicationObservable","eLodgementStep","Saving","setIsFormValidSubject","getCurrentFormName","getSelectedApplicationSummaryExpand","getSearchUrlForModule","selectedSearchOption","initialiseCreateApplicationSteps","stepId","stepSubtitle","stepType","stepContent","initialiseViewApplicationSteps","getCreateApplicationStepsLookup","v","applicationHasGeometry","resetFormForStep","queryConfigurableTextLookup","propertyArray","selectedPropertyFormGroup","applicationTypeValue","isAdvertisingPermanentOrTemporaryValue","cleanPropertyOwners","setApplicationPointData","setApplicationPolygonData","points","geometryJSON","ConvertArcGISJsonToWkt","pointShape","selectedPropertyControl","polygonShape","contractorName","contractorAddress","personResponsibleId","personResponsibleValue","personResponsible","removeInvalidRecipientProperties","applicantFormValue","applicantAgentIsNullValue","applicantAgentFormValue","applicantAgentNa","advertisements","applicantForm","applicantRecipient","applicantAgentForm","applicantAgentRecipient","applicantAgentIsNull","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","ErfNumber","blExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_BL","BusinessLicence","erfNumbers","getCommaSeparatedValuesFromListForKey","buildLocationStep","blApplication","$select","propertiesArray","owner","isDummy","updateGeometry","notes","copyApplicantDetails","markApplicantAgentAsNotApplicable","noteForm","newNote","tradeName","businessOwner","BpamsStrategyService_1","ViewApplicationDetailsBpamsComponent","ViewApplicationLocationBpamsComponent","ViewApplicationProfessionalBodiesBpamsComponent","BPExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_BP","CreateApplicationBpamsMenuHeadings","ProfessionalBodies","BuildingPlans","buildColumnFilter","DEFAULT_SEARCH","buildProfessionalBodiesStep","bpApplication","minLength","architectRecipient","engineerRecipients","electricalContractorRecipient","markArchitectAsRequired","markEngineerAsRequired","markElectricalContractorAsRequired","copyApplicantToArchitect","copyApplicantToEngineer","copyApplicantToContractor","decision","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","undertaker","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","ItamsStrategyService_1","ViewApplicationDetailsItamsComponent","ViewApplicationLocationItamsComponent","ViewApplicationStakeholdersItamsComponent","ItExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_IT","StakeHolders","Stakeholders","mapServices","InformalTrade","buildStakeholderStep","itApplication","previousReferenceNumber","validFromDate","validToDate","approvedUserId","approvedDate","comments","traders","trader","PlamsStrategyService_1","ViewApplicationDetailsPlamsComponent","ViewApplicationLocationPlamsComponent","LeaseStartDate","LeaseEndDate","LeaseApplicationStatus","LeaseType","DateOfDeedTransfer","SaleAmount","EvaluationAmount","PExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_PL","PropertyAndLease","leaseStartDate","leaseEndDate","leaseApplicationStatus","plApplication","lesseeRecipient","buyerRecipient","sellerRecipient","saleAmountAlienation","dateOfDeedTransferAlienation","evaluationAmountAlienation","transferringAttorneyRecipient","leaseArea","leaseAreaId","geomLease","leaseAreaGeometryJSON","lessees","lessee","sellers","seller","buyers","buyer","RcStrategyService_1","ViewApplicationDetailsRcComponent","ViewApplicationLocationRcComponent","RCExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_RC","CreateApplicationRcMenuHeadings","RatesCertificate","buildRcDetailsStep","SnStrategyService_1","ViewApplicationDetailsSnComponent","ViewApplicationLocationSnComponent","SNExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_SN","StreetNaming","snApplication","line","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","wApplication","polylineDto","polygonDto","actualStartDate","actualEndDate","markImplementingAgentAsRequired","implementingAgentRecipient","responsibleContractorRecipient","copyApplicantToImplementingAgent","applicationPolygon","applicationLine","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","refreshUrl","selectedApplicationSubject","incompleteJobId","startNewApplication","$startNewApplication","buildGetSingleRequest","getExpandList","setStartNewApplication","fetchSelectedApplicationFromJobID","jobID","getSingleApplication","applicationList","getSelectedApplicationGeometry","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","UcFirstPipe","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","formatObjectKey","keyToChange","formattedString","charAt","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","listenForRouteParamChange","handleRouteChange","getPersonResponsibleByApplicantId","savedPersonResponsible","first","ViewApplicationLocationAConstants","applicationLoaded","listenForSelectedApplication","getApplicationLocationDetails","onGetApplicationDataCompleted","advertisingFormGroup","configureInitialAdvertisingForm","setTrueCentroid","configureFormsForTemporaryAdvertisingForm","configureFormsForPermanentAdvertisingForm","featureFormGroup","ViewApplicationDetailsBpamsConstants","propertiesControl","PROPERTIES_CONTROL","ownerDisableDelete","totalLabel","getZoningLookups","disablePropertyControls","setZonesControls","zoningLookups","onGetZoningLookupsCompleted","zoneObject","setApplicationData","createFormGroup","_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","ViewBurialDetailsCmConstants","saShortdatePipe","serialNumenerControl","tableHeader","tableLabel","deceasedNameListObservable","intDataSource","resp","sch","statDate","ViewFamilyMemberCmConstants","markFuneralParlourAsNotApplicableLabel","funeralParlourNotApplicableCheckboxDisabled","selectedFuneralParlour","syncFuneralParlourNotApplicableCheckbox","ViewApplicationDetailsDmConstants","ViewLocationDmConstants","ViewApplicationDetailsEcConstants","ViewApplicationLocationEcConstants","ViewApplicationProfessionalBodiesEcConstants","ViewApplicationDetailsItamsConstants","referenceNumberFormControlName","setSelectedApplicationType","setTradingGoods","ViewApplicationLocationItamsConstants","geometryControl","GEOMETRY_CONTROL","centroidFromControlName","CENTROID_CONTROL","ViewApplicationStakeholdersItamsConstants","traderDisableDeleteButton","ViewApplicationDetailsPlamsConstants","lesseeDisableDelete","buyerDisableDelete","sellerDisableDelete","ViewApplicationLocationPlamsConstants","ownerMetaData","ViewApplicationDetailsRcConstants","ViewApplicationLocationRcConstants","ViewApplicationDetailsSnConstants","ViewApplicationLocationSnConstant","createFeatureFormGroup","alternativeNamesControl","alternativeNameDetails","alternativeGroup","REASON_FOR_CHANGE_NAME_LOOKUPS","ViewApplicationDetailsTmamsConstants","ViewLocationTmConstants","_isMapLoaded","ViewApplicationDetailsTpamsConstants","ViewApplicationLocationTpamsConstants","ViewApplicationDetailsWamsConstants","shortDatePipe","isAppLoaded","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","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","ViewApplicationBaseComponent_1","ViewContainerRef","viewContainerRef","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","checkIfDocumentCanBeAltered","preventDocumentEdit","docsThatCantBeAltered","selectedDocument","captureIdsOfDocuments","JOB_ID_ROUTE_PARAMETER","VIEW_APPLICATION_HEADING_TEXT","APPLICATION_CONTENT_ROUTE","APPLICATION_SUMMARY_ROUTE","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","CalciteFormMultiselectComponent_1","UntypedFormBuilder","CalciteFormMultiselectComponent","subscriptions","groupsControl","onSelectionChanged","CalciteInputComponent_1","CalciteInputComponent","addClearInputBtn","groupSeparator","inputLabelText","val","inputForm","calciteFormControl","onTouch","Renderer2","RequiredClassDirective","renderer","elmRef","addClass","CalciteLinkComponent","CalciteListComponent","CalciteSelectComponent_1","CalciteSelectComponent","selectForm","selectOptions","calciteSelectFormControl","CalciteStepperService","CalciteStepperComponent","calciteStepperService","calciteStepper","onStepClicked","numbered","stepperHtmlElement","setStepOptions","totalSteps","stepOptionsAsObservable","setItemValues","option","innerText","onClick","stepOptions","stepIndexAsObservable","setStepIndex","steps","getStepOptions","updateStep","updatedStep","getStepByStepID","currentStep","getStepByStepIndex"],"sourceRoot":""}