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

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

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

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

\";\n }\n ngOnInit() {\n }\n acceptDisclaimer($event) {\n this.requestStatusService.showBusySpinner(DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT);\n this.httpSubscription = this.http.post(this.acceptDisclaimerURL, {})\n .subscribe(response => {\n this.closeDisclaimer();\n this.requestStatusService.removeBusySpinner(DisclaimerDialogBodyConstants.ACCEPT_DISCLAIMER_TEXT);\n });\n }\n closeDisclaimer() {\n this.dialogRef.close(true);\n }\n static ctorParameters = () => [\n { type: MatDialogRef },\n { type: Router },\n { type: HttpClient },\n { type: RequestStatusService }\n ];\n};\nDisclaimerDialogBodyComponent = __decorate([\n Component({\n selector: \"app-dialog-body\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DisclaimerDialogBodyComponent);\nexport { DisclaimerDialogBodyComponent };\n","import { ApiUserConstants } from \"../../../shared/constants/api-constants/api-user.constants\";\nexport class DisclaimerDialogBodyConstants {\n static ACCEPT_DISCLAIMER_URL = ApiUserConstants.URL + \"/\" + ApiUserConstants.FUNCTION_ACCEPT_DISCLAIMER;\n static ACCEPT_DISCLAIMER_TEXT = \"Accept disclaimer\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./landing-page.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./landing-page.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { LandingPageConstants } from \"./landing-page.constants\";\nimport { AppConfig } from \"../../app.config\";\nimport { LandingPageService } from \"./shared/services/landing-page.service\";\nlet LandingPageComponent = class LandingPageComponent {\n landingPageService;\n // header on the top left side of the page\n logoImageUrl;\n // header on the top left side of the page\n logoImageAlt;\n // login button\n loginButtonLabel = LandingPageConstants.LOGIN_TEXT;\n // Main banner background image url\n mainBannerBackgroundImageUrl;\n // Main banner heading\n mainBannerHeading;\n // Banner sub heading\n bannerSubHeading;\n // Banner content\n bannerContent;\n // about section heading\n aboutSectionHeading;\n // about section description\n aboutSectionDescription;\n // modules and tools main heading\n modulesAndToolsHeading;\n // modules and tools main sub-heading\n modulesAndToolsSubHeading;\n // list of module data\n modules = [];\n moduleRows = [];\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 moduleRowCount = 0;\n halfLastRow = false;\n constructor(landingPageService) {\n this.landingPageService = landingPageService;\n }\n ngOnInit() {\n this.loadConfigData();\n }\n onLoginClicked() {\n this.landingPageService.loginButtonClicked.next(true);\n }\n loadConfigData() {\n const config = AppConfig.settings.landingPageData;\n this.logoImageUrl = config.logoImageUrl;\n this.logoImageAlt = config.logoImageAlt;\n this.mainBannerBackgroundImageUrl = config.mainBannerBackgroundImageUrl;\n this.mainBannerHeading = config.mainBannerHeading;\n this.bannerSubHeading = config.bannerSubHeading;\n this.bannerContent = config.bannerContent;\n this.aboutSectionHeading = config.aboutSectionHeading;\n this.aboutSectionDescription = config.aboutSectionDescription;\n this.modulesAndToolsHeading = config.modulesAndToolsHeading;\n this.modulesAndToolsSubHeading = config.modulesAndToolsSubHeading;\n this.modules = [];\n let moduleRows = 0;\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 moduleRows++;\n }\n }\n this.moduleRowCount = Math.ceil(moduleRows / 2);\n this.halfLastRow = Math.ceil(moduleRows / 2) !== moduleRows / 2;\n for (let i = 0; i < this.moduleRowCount; i++) {\n this.moduleRows.push(i);\n }\n this.screenshotSectionMainHeader = config.screenshotSectionMainHeader;\n this.screenshotSectionSubHeader = config.screenshotSectionSubHeader;\n this.screenshots = [];\n // tslint:disable-next-line:forin\n for (const key in config.screenshots) {\n const screenshot = config.screenshots[key];\n if (screenshot.show.toString() === \"true\") {\n this.screenshots.push(screenshot);\n }\n }\n this.copyrightText = config.copyrightText;\n }\n static ctorParameters = () => [\n { type: LandingPageService }\n ];\n};\nLandingPageComponent = __decorate([\n Component({\n selector: \"app-landing-page\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LandingPageComponent);\nexport { LandingPageComponent };\n","export class LandingPageConstants {\n static LOGIN_TEXT = \"Login\";\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nlet LandingPageService = class LandingPageService {\n loginButtonClicked = new BehaviorSubject(null);\n constructor() {\n }\n static ctorParameters = () => [];\n};\nLandingPageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LandingPageService);\nexport { LandingPageService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./login.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./login.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AppConfig } from \"../../app.config\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { LoginConstants } from \"./login.constants\";\nimport { FormErrorStateMatcher } from \"../../shared/classes/error-state-matcher\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { Subject } from \"rxjs\";\nlet LoginComponent = class LoginComponent {\n dialogRef;\n appController;\n loginErrorStateMatcher;\n ngUnsubscribe = new Subject();\n usernamePlaceHolderText = LoginConstants.USERNAME_TEXT;\n passwordPlaceHolderText = LoginConstants.PASSWORD_TEXT;\n usernameRequiredErrorText = LoginConstants.USERNAME_REQUIRED_TEXT;\n passwordRequiredErrorText = LoginConstants.PASSWORD_REQUIRED_TEXT;\n dialogTitle = LoginConstants.LOGIN_DIALOGUE_TITLE;\n loginButtonText = LoginConstants.LOGIN_BUTTON_TEXT;\n loginErrorText = LoginConstants.LOGIN_ERROR_TEXT;\n spinnerDiameter = LoginConstants.LOGIN_SPINNER_DIAMETER;\n spinnerMode = LoginConstants.LOGIN_SPINNER_MODE;\n loginFormGroup;\n loginInProgress = false;\n loginErrorOccured = false;\n constructor(dialogRef, appController, loginErrorStateMatcher) {\n this.dialogRef = dialogRef;\n this.appController = appController;\n this.loginErrorStateMatcher = loginErrorStateMatcher;\n }\n get username() {\n return this.loginFormGroup.get(LoginConstants.USERNAME_FORM_CONTROL);\n }\n get password() {\n return this.loginFormGroup.get(LoginConstants.PASSWORD_FORM_CONTROL);\n }\n ngOnInit() {\n this.loginFormGroup = new FormGroup({\n username: new FormControl(\"\", [Validators.required]),\n password: new FormControl(\"\", [Validators.required])\n });\n this.trackChangesForLoginError();\n }\n ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n ngAfterContentInit() {\n if (AppConfig !== undefined && AppConfig !== null && AppConfig.settings.testing && AppConfig.settings.testing.enabled) {\n this.username.setValue(AppConfig.settings.testing.username);\n this.password.setValue(AppConfig.settings.testing.password);\n this.login();\n }\n }\n loginDisabled() {\n return !this.loginFormGroup.valid || this.loginInProgress;\n }\n hasUsernameRequiredError() {\n return this.username.hasError(LoginConstants.REQUIRED_ERROR_CODE);\n }\n hasPasswordRequiredError() {\n return this.password.hasError(LoginConstants.REQUIRED_ERROR_CODE);\n }\n login() {\n /* this.loginInProgress = true;\n this.authService.authenticate(this.username.value, this.password.value)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((userResult: IUserResult) => {\n this.handleAuthenticationResult(userResult);\n this.loginInProgress = false;\n }, error => {\n this.loginErrorOccured = true;\n this.loginInProgress = false;\n });*/\n }\n handleAuthenticationResult(userResult) {\n if (userResult.resultStatus.success) {\n this.appController.showMessage(\"Successfully logged in.\", AlertType.Success);\n this.close(true);\n }\n else {\n this.loginErrorOccured = true;\n this.loginInProgress = false;\n }\n }\n close(loginSuccessful) {\n this.dialogRef.close(loginSuccessful);\n }\n trackChangesForLoginError() {\n this.username.valueChanges\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(value => {\n if (this.loginErrorOccured) {\n this.loginErrorOccured = false;\n }\n });\n this.password.valueChanges\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(value => {\n if (this.loginErrorOccured) {\n this.loginErrorOccured = false;\n }\n });\n }\n static ctorParameters = () => [\n { type: MatDialogRef },\n { type: AppControllerService },\n { type: FormErrorStateMatcher }\n ];\n};\nLoginComponent = __decorate([\n Component({\n selector: \"app-login\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LoginComponent);\nexport { LoginComponent };\n","export class LoginConstants {\n static USERNAME_TEXT = \"Username\";\n static PASSWORD_TEXT = \"Password\";\n static USERNAME_REQUIRED_TEXT = \"Username is required\";\n static PASSWORD_REQUIRED_TEXT = \"Password is required\";\n static LOGIN_DIALOGUE_TITLE = \"Log in\";\n static LOGIN_BUTTON_TEXT = \"LOGIN\";\n static LOGIN_ERROR_TEXT = \"Error occurred while logging in\";\n static LOGIN_SPINNER_DIAMETER = 20;\n static LOGIN_SPINNER_MODE = \"indeterminate\";\n static REQUIRED_ERROR_CODE = \"required\";\n static USERNAME_FORM_CONTROL = \"username\";\n static PASSWORD_FORM_CONTROL = \"password\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./logout.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./logout.component.scss?ngResource\";\nimport { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { AppConfig } from 'src/app/app.config';\nimport { AuthService } from 'src/app/shared/services/auth/auth.service';\nlet LogoutComponent = class LogoutComponent {\n router;\n appController;\n authService;\n appConfig;\n constructor(router, appController, authService, appConfig) {\n this.router = router;\n this.appController = appController;\n this.authService = authService;\n this.appConfig = appConfig;\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService },\n { type: AuthService },\n { type: AppConfig }\n ];\n};\nLogoutComponent = __decorate([\n Component({\n selector: 'app-logout',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], LogoutComponent);\nexport { LogoutComponent };\n","import { __decorate } from \"tslib\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ApiOrganisationConstants } from \"../../../shared/constants/api-constants/api-organisation.constants\";\nimport { ApiModuleConstants } from \"../../../shared/constants/api-constants/api-module.constants\";\nlet NavPanService = class NavPanService {\n http;\n selectedApplication$ = new BehaviorSubject(null);\n constructor(http) {\n this.http = http;\n }\n getMunicipalities() {\n const params = { $filter: `Modules/any(m: m/enableAFLAPortal eq true) ` };\n return this.http.get(ApiOrganisationConstants.URL, { params }).pipe(map(result => {\n const newResult = result.value.sort((a, b) => 0 - (a.name.toLowerCase() > b.name.toLowerCase() ? -1 : 1));\n return newResult;\n }));\n }\n getMunicipalitiesByModuleId(moduleId) {\n const params = { $filter: `Modules/any(m: m/enableAFLAPortal eq true and m/id eq ${moduleId}) ` };\n return this.http.get(ApiOrganisationConstants.URL, { params }).pipe(map(result => {\n const newResult = result.value.sort((a, b) => 0 - (a.name.toLowerCase() > b.name.toLowerCase() ? -1 : 1));\n return newResult;\n }));\n }\n getApplicationTypes(organisationId) {\n const params = {\n organisationId\n };\n return this.http.get(ApiModuleConstants.URL + \"/\" + ApiModuleConstants.GET_PORTAL_MODULES, { params }).pipe(map(result => {\n const newResult = result.value.sort((a, b) => 0 - (a.name.toLowerCase() > b.name.toLowerCase() ? -1 : 1));\n return newResult;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nNavPanService = __decorate([\n Injectable({\n providedIn: \"root\",\n })\n], NavPanService);\nexport { NavPanService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav-pane-content.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav-pane-content.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { NavConstants } from \"../nav.constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { Router } from \"@angular/router\";\nimport { UserInformationService } from \"../../../shared/services/user/user-information.service\";\nimport { AuthService } from \"../../../shared/services/auth/auth.service\";\nimport { SystemModuleSettingsService } from \"../../../shared/services/system-module-settings.service\";\nimport { CreateApplicationRoutingConstants } from \"../../../create-application/create-application-routing.constants\";\nimport { SearchApplicationsRoutingConstants } from \"../../../search-applications/search-applications-routing.constants\";\nimport { CommonPopUpComponent } from \"../../../../../../afla-common/src/lib/components/common-pop-up/common-pop-up.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../shared/constants/shared.constants\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { NavPanService } from \"./nav-pan.service\";\nimport { DocumentsAndInformationRoutingConstants } from \"../../../documents-and-information/documents-and-information-routing.constants\";\nimport { SessionStorageService } from \"../../../shared/services/storage/session-storage.service\";\nimport { LocalStorageEnum } from \"../../../shared/services/storage/local-storage-constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppConfig } from \"../../../app.config\";\nimport { RequestStatusService } from \"../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"../../../shared/decorators/autounsub-portal.decorator\";\nimport { LocalStorageService } from \"../../../shared/services/storage/local-storage.service\";\nlet NavPaneContentComponent = class NavPaneContentComponent {\n userInformationService;\n appControllerService;\n authService;\n router;\n applicationCreateService;\n sessionStorageService;\n changeDetectorRef;\n selectedApplicationService;\n systemModuleSettingsService;\n navService;\n modalService;\n localStorage;\n requestStatusService;\n modulesLink = AppRoutingConstants.ROUTE_SEPERATOR;\n homeLinkText = NavConstants.HOME_LINK_TEXT;\n logoutLinkText = NavConstants.LOGOUT_LINK_TEXT;\n organisationId;\n activeId = \"\";\n selectedModuleID;\n isAuthenticated = false;\n isSystemModuleSettingsFetched = false;\n selectMunicipalityText = \"\";\n municipalities = [];\n selectedMunicipality;\n applicationTypes;\n selectedApplicationType;\n applications = [];\n selectMunicipalityLabel = NavConstants.SELECT_MUNICIPALITY_LABEL;\n selectApplicationLabel = NavConstants.SELECT_APPLICATION_LABEL;\n viewDocumentationText = NavConstants.VIEW_DOCUMENTATION_TEXT;\n createApplicationText = NavConstants.CREATE_APPLICATION_TEXT;\n searchMyApplicationText = NavConstants.SEARCH_MY_APPLICATION_TEXT;\n selectAnOptionText = NavConstants.PLEASE_SELECT_AN_OPTION;\n logo = \"\";\n loadedApplicationTypesMap = new Map();\n dialogTitle = NavConstants.INCOMPLETE_APPLICATIONS_TITLE;\n dialogMessage = NavConstants.INCOMPLETE_APPLICATIONS_MESSAGE;\n modalBodyOptions = NavConstants.MODAL_OPTIONS;\n selectedMunicipalityId = null;\n selectedApplicationTypeId = null;\n redirectUrl = \"\";\n userInformationServiceSubscription;\n isAuthenticatedSubscription;\n navServiceSubscription;\n systemModuleSettingsServiceSubscription;\n navServiceApplicationTypesSubscription;\n navServiceSelectedApplicationSubscription;\n constructor(userInformationService, appControllerService, authService, router, applicationCreateService, sessionStorageService, changeDetectorRef, selectedApplicationService, systemModuleSettingsService, navService, modalService, localStorage, requestStatusService) {\n this.userInformationService = userInformationService;\n this.appControllerService = appControllerService;\n this.authService = authService;\n this.router = router;\n this.applicationCreateService = applicationCreateService;\n this.sessionStorageService = sessionStorageService;\n this.changeDetectorRef = changeDetectorRef;\n this.selectedApplicationService = selectedApplicationService;\n this.systemModuleSettingsService = systemModuleSettingsService;\n this.navService = navService;\n this.modalService = modalService;\n this.localStorage = localStorage;\n this.requestStatusService = requestStatusService;\n }\n ngOnInit() {\n this.redirectToDefaultLink();\n this.subscribeToConfigSubject();\n this.loadMunicipalities();\n this.listenForAuthentication();\n this.listenForModuleFetch();\n this.showDefaultModule();\n this.subscribeToSelectedApplicationFromSearchPage();\n }\n redirectToDefaultLink() {\n this.authService.$isAuthenticated.subscribe(authenticated => {\n if (authenticated === true && this.localStorage.get(LocalStorageEnum.Url)) {\n let url = this.localStorage.get(LocalStorageEnum.Url).toString();\n this.localStorage.set(LocalStorageEnum.Url, null);\n this.localStorage.remove(LocalStorageEnum.Url);\n url = url.replace(/\"/g, \"\");\n url = url.replace(\"/aflaportal\", \"\");\n if (this.extractModulId(url))\n this.redirectUrl = url;\n // this.router.navigateByUrl(url);\n }\n });\n this.redirectUrl = \"\";\n }\n extractModulId(url) {\n const urlArray = url.split(\"/\");\n const moduleId = +urlArray[1];\n if (urlArray.length >= 4) {\n const jobId = +urlArray[3];\n this.appControllerService.selectedJobID = jobId;\n }\n if (moduleId) {\n this.appControllerService.setSelectedModule(moduleId);\n return true;\n }\n return false;\n }\n logout() {\n this.authService.logOutRedirect();\n // this.authService.unAuthenticate();\n }\n onSearchApplicationClicked() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(SearchApplicationsRoutingConstants.SEARCH_APPLICATIONS_ROUTE)\n ]).then(() => {\n // this.clearResetDropdowns();\n });\n }\n onCreateApplicationClicked() {\n this.appControllerService.setSelectedModule(this.selectedModuleID);\n this.appControllerService.setModuleAllowResubmission();\n this.checkIncompleteApplications();\n }\n checkIncompleteApplications() {\n this.requestStatusService.showBusySpinner(\"Searching incomplete applications\");\n this.userInformationServiceSubscription = this.userInformationService.hasOpenPortalApplications(Number(this.appControllerService.selectedModuleID)).subscribe(result => {\n this.requestStatusService.removeBusySpinner(\"Searching incomplete applications\");\n if (result.value === true) {\n this.openIncompleteApplicationsDialog();\n }\n else {\n this.proceedToCreateApplications();\n }\n });\n }\n onViewDocumentationClicked() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, DocumentsAndInformationRoutingConstants.VIEW_DOCUMENTS_AND_INFORMATION_ROUTE)\n ]);\n }\n selectMunicipality(event) {\n const input = event.target.value;\n this.selectedApplicationType = null;\n this.applicationTypes = null;\n if (!input) {\n return;\n }\n this.selectedMunicipality = this.municipalities.find(m => m.id === +input);\n if (!this.selectedMunicipality)\n return;\n this.appControllerService.selectedOrganisationID(this.selectedMunicipality.id);\n this.getApplicationTypes(this.selectedMunicipality.id);\n }\n selectApplicationType(event) {\n const input = event.target.value;\n this.selectedApplicationType = null;\n if (!input)\n return;\n this.selectedApplicationType = this.applicationTypes.find(m => m.id === +input);\n if (!this.selectedApplicationType)\n return;\n this.selectedModuleID = this.selectedApplicationType.id;\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n this.appControllerService.setModuleAllowResubmission();\n this.router.navigate([\"/\"]);\n }\n proceedToCreateApplications() {\n this.selectedApplicationService.setSelectedApplication(null);\n this.sessionStorageService.remove(LocalStorageEnum.SelectedJobID);\n this.sessionStorageService.set(LocalStorageEnum.SelectedModuleID, this.appControllerService.selectedModuleID);\n this.selectedApplicationService.setIncompleteJobId(0);\n this.applicationCreateService.setSelectGoToStep(0);\n this.router.navigateByUrl(\"/\", { skipLocationChange: true }).then(() => {\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE)]);\n });\n }\n openIncompleteApplicationsDialog() {\n const dialogRef = this.modalService.open(CommonPopUpComponent, this.modalBodyOptions);\n dialogRef.componentInstance.title = this.dialogTitle;\n dialogRef.componentInstance.contentMessage = this.dialogMessage;\n dialogRef.componentInstance.updateBtnPlaceholder = SharedConstants.OK_LABEL;\n dialogRef.componentInstance.cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((proceed) => {\n this.changeDetectorRef.markForCheck();\n if (proceed) {\n this.proceedToCreateApplications();\n }\n else {\n this.onSearchApplicationClicked();\n }\n });\n }\n showDefaultModule() {\n // function will show all modules by default if user has only 1 organisation assigned\n const activePanel = \"panel-0\";\n this.activeId = activePanel;\n }\n listenForAuthentication() {\n this.isAuthenticatedSubscription = this.authService.$isAuthenticated.subscribe(result => {\n if (this.isAuthenticated === false) {\n this.isAuthenticated = result;\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n loadMunicipalities() {\n this.isAuthenticatedSubscription = this.authService.$isAuthenticated.subscribe(connected => {\n if (connected) {\n this.navServiceSubscription = this.navService.getMunicipalities().subscribe(mun => {\n this.municipalities = mun;\n this.appControllerService.organisations = this.municipalities;\n if (this.municipalities.length === 1) {\n this.selectedMunicipality = this.municipalities[0];\n this.selectedMunicipalityId = this.selectedMunicipality.id;\n this.getApplicationTypes(this.selectedMunicipality.id);\n this.appControllerService.selectedOrganisationID(this.municipalities[0].id);\n }\n else if (this.redirectUrl !== \"\") {\n this.navServiceSubscription = this.navService.getMunicipalitiesByModuleId(+this.appControllerService.selectedModuleID).subscribe(moduleMunicipalities => {\n if (this.municipalities.length > 0 && moduleMunicipalities.length > 0) {\n const moduleMunicipality = this.municipalities.find(p => p.id === moduleMunicipalities[0].id);\n this.selectedMunicipality = moduleMunicipality;\n this.selectedMunicipalityId = moduleMunicipality.id;\n this.getApplicationTypes(moduleMunicipality.id);\n this.appControllerService.selectedOrganisationID(moduleMunicipality.id);\n }\n this.changeDetectorRef.markForCheck();\n });\n }\n this.changeDetectorRef.markForCheck();\n });\n }\n });\n }\n getApplicationTypes(municipalityId) {\n if (this.loadedApplicationTypesMap.has(municipalityId)) {\n this.applicationTypes = this.loadedApplicationTypesMap.get(municipalityId);\n if (this.applicationTypes.length === 1) {\n this.selectedApplicationType = this.applicationTypes[0];\n this.selectedApplicationTypeId = this.selectedApplicationType.id;\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n }\n else if (this.redirectUrl !== \"\") {\n this.selectedApplicationTypeId = +this.appControllerService.selectedModuleID;\n }\n this.appControllerService.setModuleAllowResubmission();\n if (this.redirectUrl !== \"\") {\n const url = this.redirectUrl;\n this.redirectUrl = \"\";\n this.router.navigateByUrl(url);\n }\n this.changeDetectorRef.detectChanges();\n }\n else {\n this.navServiceApplicationTypesSubscription = this.navService.getApplicationTypes(municipalityId).subscribe(appType => {\n this.applicationTypes = appType;\n this.appControllerService.modules = this.applicationTypes;\n if (this.applicationTypes.length === 1) {\n this.selectedApplicationType = this.applicationTypes[0];\n this.selectedApplicationTypeId = this.selectedApplicationType.id;\n this.appControllerService.setSelectedModule(this.selectedApplicationType.id);\n }\n else if (this.redirectUrl !== \"\") {\n this.selectedApplicationTypeId = +this.appControllerService.selectedModuleID;\n }\n this.appControllerService.setModuleAllowResubmission();\n this.loadedApplicationTypesMap.set(municipalityId, this.applicationTypes);\n if (this.redirectUrl !== \"\") {\n const url = this.redirectUrl;\n this.redirectUrl = \"\";\n this.router.navigateByUrl(url);\n }\n this.changeDetectorRef.detectChanges();\n });\n }\n }\n subscribeToConfigSubject() {\n this.appControllerService.$configLoadedSubject.subscribe((configLoaded) => {\n if (configLoaded) {\n this.logo = AppConfig.settings.logoUrl;\n this.selectMunicipalityText = AppConfig.settings.selectMunicipalityText.text;\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n listenForModuleFetch() {\n this.systemModuleSettingsServiceSubscription = this.systemModuleSettingsService.$systemModuleSettingsFetched.subscribe(result => {\n if (this.isSystemModuleSettingsFetched === false) {\n this.isSystemModuleSettingsFetched = result;\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n subscribeToSelectedApplicationFromSearchPage() {\n this.navServiceSelectedApplicationSubscription = this.navService.selectedApplication$.subscribe({\n next: (application) => {\n if (application) {\n this.setMunicipalityAndSelectedApplicationTypes(application);\n }\n }\n });\n }\n setMunicipalityAndSelectedApplicationTypes(application) {\n this.selectedMunicipality = this.municipalities.find(m => m.name === application.organisationName);\n this.selectedMunicipalityId = this.selectedMunicipality.id;\n this.navServiceApplicationTypesSubscription = this.navService.getApplicationTypes(this.selectedMunicipality.id).subscribe({\n next: (applicationTypes) => {\n if (applicationTypes.length > 0) {\n this.applicationTypes = applicationTypes;\n this.appControllerService.modules = this.applicationTypes;\n this.selectedApplicationType = this.applicationTypes.find(applicationType => applicationType.name === application.applicationType);\n this.selectedApplicationTypeId = this.selectedApplicationType.id;\n this.loadedApplicationTypesMap.set(application.moduleId, this.applicationTypes);\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n clearResetDropdowns() {\n this.selectedApplicationType = null;\n this.selectedApplicationTypeId = null;\n this.selectedMunicipality = null;\n this.selectedMunicipalityId = null;\n this.changeDetectorRef.detectChanges();\n }\n static ctorParameters = () => [\n { type: UserInformationService },\n { type: AppControllerService },\n { type: AuthService },\n { type: Router },\n { type: ApplicationCreateService },\n { type: SessionStorageService },\n { type: ChangeDetectorRef },\n { type: SelectedApplicationService },\n { type: SystemModuleSettingsService },\n { type: NavPanService },\n { type: NgbModal },\n { type: LocalStorageService },\n { type: RequestStatusService }\n ];\n};\nNavPaneContentComponent = __decorate([\n Component({\n selector: \"app-nav-pane-content\",\n providers: [],\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], NavPaneContentComponent);\nexport { NavPaneContentComponent };\n","var NavToolbarContentComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav-toolbar-content.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav-toolbar-content.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output } from \"@angular/core\";\nimport { AuthService } from \"../../../shared/services/auth/auth.service\";\nimport { NavConstants } from \"../nav.constants\";\nimport { NavigationEnd, NavigationStart, Router } from \"@angular/router\";\nimport { Link } from \"../../../shared/models/link.model\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { AppConfig } from \"../../../app.config\";\nimport { ModuleConfigService } from \"../../../shared/services/module-config/module-config.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet NavToolbarContentComponent = class NavToolbarContentComponent {\n static { NavToolbarContentComponent_1 = this; }\n authService;\n router;\n appControllerService;\n changeDetectorRef;\n moduleConfigService;\n sideNavToggle = new EventEmitter();\n appTitle;\n $authenticated;\n headingLinks;\n showHeadings;\n notificationIsOn = false;\n activeRoute;\n headingRoutes;\n propertyLayersForModules;\n appConfigLoadedSub;\n constructor(authService, router, appControllerService, changeDetectorRef, moduleConfigService) {\n this.authService = authService;\n this.router = router;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.moduleConfigService = moduleConfigService;\n this.$authenticated = this.authService.$isAuthenticated;\n }\n static getLink(headingText, address, selectedSystemModuleID) {\n return new Link(headingText, AppRoutingConstants.createRouteToViewWithPrefixRouteSeparator(selectedSystemModuleID, address));\n }\n ngOnInit() {\n this.initializeHeadingLinks();\n this.addHeadingLinks();\n this.populateHeadingRoutes();\n this.setActivatedRoute();\n this.listenForRouteChanges();\n this.checkMapServicePropertyLayer();\n var appConfigLoadedSub = this.appControllerService.$configLoadedSubject.subscribe((loaded) => {\n if (loaded) {\n this.appTitle = AppConfig.settings.projectSettings.projectName;\n }\n });\n }\n isShowDiv(linkText) {\n if (linkText === NavConstants.PROPERTIES_HEADING_TEXT) {\n return !this.moduleConfigService.isCemeteryModule();\n }\n else if (linkText === NavConstants.LOCATION_HEADING_TEXT) {\n return this.moduleConfigService.isCemeteryModule();\n }\n else\n return true;\n }\n checkPropertyLayer(layerName) {\n let found = false;\n if (this.propertyLayersForModules) {\n this.propertyLayersForModules.forEach((layer) => {\n if (layer.moduleId === Number(this.appControllerService.selectedModuleID)\n && layer.layerType === layerName) {\n found = true;\n }\n });\n }\n return found;\n }\n toggleSideNav() {\n console.log(\"lala\");\n this.sideNavToggle.emit();\n }\n routeToUpdateProfile() {\n console.log(\"check\");\n const url = `${AppConfig.settings.ids.issuer}/AccountManagement?url=${AppConfig.settings.ids.redirectUri}&appName=${AppConfig.settings.applicationAlias}&clientId=${AppConfig.settings.ids.clientId}`;\n window.open(url, \"_self\");\n }\n checkMapServicePropertyLayer() {\n }\n addHeadingLinks() {\n const selectedSystemModuleID = this.appControllerService.selectedModuleID;\n this.headingLinks.push(NavToolbarContentComponent_1\n .getLink(NavConstants.APPLICATIONS_HEADING_TEXT, \"\", selectedSystemModuleID), NavToolbarContentComponent_1\n .getLink(NavConstants.PROPERTIES_HEADING_TEXT, \"\", selectedSystemModuleID), NavToolbarContentComponent_1\n .getLink(NavConstants.LOCATION_HEADING_TEXT, \"\", selectedSystemModuleID));\n this.changeDetectorRef.markForCheck();\n }\n listenForRouteChanges() {\n }\n reactToRouteChanges(event) {\n if (event instanceof NavigationStart) {\n this.handleNavigationStart();\n }\n if (event instanceof NavigationEnd) {\n this.handleNavigationEnd(event);\n }\n }\n checkIfHeadingRoute(event) {\n return this.headingRoutes.some((headingRoute) => {\n return event.urlAfterRedirects.includes(headingRoute);\n });\n }\n clearHeadings() {\n this.headingLinks = new Array();\n }\n handleNavigationEnd(event) {\n this.activeRoute = event.urlAfterRedirects;\n this.showHeadings = this.checkIfHeadingRoute(event);\n if (this.showHeadings) {\n this.clearHeadings();\n this.addHeadingLinks();\n }\n }\n populateHeadingRoutes() {\n }\n setActivatedRoute() {\n this.activeRoute = this.router.routerState.snapshot.url;\n }\n initializeHeadingLinks() {\n this.showHeadings = false;\n this.headingLinks = new Array();\n }\n handleNavigationStart() {\n this.clearHeadings();\n }\n static ctorParameters = () => [\n { type: AuthService },\n { type: Router },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: ModuleConfigService }\n ];\n static propDecorators = {\n sideNavToggle: [{ type: Output }]\n };\n};\nNavToolbarContentComponent = NavToolbarContentComponent_1 = __decorate([\n Component({\n selector: \"app-nav-toolbar-content\",\n providers: [],\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], NavToolbarContentComponent);\nexport { NavToolbarContentComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./nav.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./nav.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, ViewChild } from \"@angular/core\";\nimport { AuthService } from \"../../shared/services/auth/auth.service\";\nlet NavComponent = class NavComponent {\n authService;\n sidenav;\n $authenticated;\n constructor(authService) {\n this.authService = authService;\n this.$authenticated = this.authService.$isAuthenticated;\n }\n ngOnInit() {\n }\n toggleSideNav() {\n this.sidenav.toggle();\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n static propDecorators = {\n sidenav: [{ type: ViewChild, args: [\"sidenav\",] }]\n };\n};\nNavComponent = __decorate([\n Component({\n selector: \"app-nav\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], NavComponent);\nexport { NavComponent };\n","export class NavConstants {\n static ADD_ORGANISATION_LINK_TEXT = \"Add organisation\";\n static LOGOUT_LINK_TEXT = \"Logout\";\n //static readonly APP_TITLE = \"Default Project Title\";\n static HOME_LINK_TEXT = \"Home\";\n static APPLICATIONS_HEADING_TEXT = \"Applications\";\n static PROPERTIES_HEADING_TEXT = \"Properties\";\n static LOCATION_HEADING_TEXT = \"Cemeteries/Graves\";\n static SELECT_MUNICIPALITY_LABEL = \"Select municipality\";\n static SELECT_APPLICATION_LABEL = \"Select application\";\n static VIEW_DOCUMENTATION_TEXT = \"View documentation\";\n static CREATE_APPLICATION_TEXT = \"Create application\";\n static SEARCH_MY_APPLICATION_TEXT = \"Search my applications\";\n static DEFAULT_APPLICANT_AGENT_TEXT = \"Default Applicant Agent\";\n static INCOMPLETE_APPLICATIONS_TITLE = \"Incomplete applications\";\n static INCOMPLETE_APPLICATIONS_MESSAGE = \"The selected module contains incomplete applications. \\n\\nClick 'OK' to create a new application or click 'Cancel' to open the list of saved / incomplete applications and select the application that you would like to complete.\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n static MODAL_OPTIONS = {\n size: \"lg\",\n centered: true,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NavPaneContentComponent } from \"./nav-pane-content/nav-pane-content.component\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { NavComponent } from \"./nav.component\";\nimport { RouterModule } from \"@angular/router\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { NavToolbarContentComponent } from \"./nav-toolbar-content/nav-toolbar-content.component\";\nimport { FormsModule } from \"@angular/forms\";\nlet NavModule = class NavModule {\n};\nNavModule = __decorate([\n NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [NavComponent,\n NavPaneContentComponent,\n NavToolbarContentComponent,\n ],\n exports: [NavComponent],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n MatButtonModule,\n MatSidenavModule,\n MatToolbarModule,\n FormsModule\n ]\n })\n], NavModule);\nexport { NavModule };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./refresh-view-application.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./refresh-view-application.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nlet RefreshViewApplicationComponent = class RefreshViewApplicationComponent {\n router;\n appController;\n constructor(router, appController) {\n this.router = router;\n this.appController = appController;\n }\n ngOnInit() {\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, this.appController.selectedJobID + \"\")]).then((r) => {\n });\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRefreshViewApplicationComponent = __decorate([\n Component({\n selector: \"app-refresh-view-application\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RefreshViewApplicationComponent);\nexport { RefreshViewApplicationComponent };\n","export var RequiredDocumentsHeadingEnum;\n(function (RequiredDocumentsHeadingEnum) {\n RequiredDocumentsHeadingEnum[\"type\"] = \"Type\";\n RequiredDocumentsHeadingEnum[\"name\"] = \"Name\";\n RequiredDocumentsHeadingEnum[\"dateUploaded\"] = \"Date uploaded\";\n RequiredDocumentsHeadingEnum[\"fileName\"] = \"File name\";\n})(RequiredDocumentsHeadingEnum || (RequiredDocumentsHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-documentation.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-documentation.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CRUDOperation } from \"../../shared/models/crud-operation-enum.model\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { ApplicationCreateService } from \"../shared/application-create.service\";\nimport { CreateApplicationConstants } from \"../shared/create-application.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DeleteDocumentsConfirmationDialogComponent } from \"../shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component\";\nimport { AddDocumentsDialogComponent } from \"../shared/forms/add-documents-dialog/add-documents-dialog.component\";\nimport { DatePipe } from \"@angular/common\";\nimport { EditDocumentsDialogComponent } from \"../shared/forms/edit-documents-dialog/edit-documents-dialog.component\";\nimport { AppConfig } from \"../../app.config\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationViewBaseComponent } from \"../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { CreateApplicationDocumentationConstants } from \"./create-application-documentation.constants\";\nimport { FileUtils } from \"../../shared/utils/file-utils\";\nimport { SearchApplicationsService } from \"../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDocumentationComponent = class CreateApplicationDocumentationComponent extends CreateApplicationViewBaseComponent {\n aflaModuleStrategyService;\n applicationCreateService;\n selectedApplicationService;\n modalService;\n datePipe;\n changeDetectorRef;\n appController;\n searchApplicationsService;\n showNoRequiredDocumentText = false;\n showCheckBoxColumn = true;\n tableMapper;\n tableDataSource = new BehaviorSubject([]);\n documentForm;\n requiredDocuments = [];\n optionalDocuments = [];\n showOptionalDocuments = false;\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 uploadOptionalDocumentLabel = CreateApplicationDocumentationConstants.UPLOAD_OPTIONAL_DOC_LABEL;\n optionalDocumentsLabel = CreateApplicationDocumentationConstants.OPTIONAL_DOCUMENTS_LABEL;\n selectedApplicationApplicationTypes = [];\n selectedDocuments = [];\n documentTypes = [];\n configUploadSettings;\n currentApplication;\n applicationCreateServiceSubscription;\n applicationCreateServiceSelectModuleSubscription;\n getAttachmentContentSubscription;\n selectedApplicationSubscription2;\n constructor(aflaModuleStrategyService, applicationCreateService, selectedApplicationService, modalService, datePipe, changeDetectorRef, appController, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.applicationCreateService = applicationCreateService;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.searchApplicationsService = searchApplicationsService;\n this.configUploadSettings = AppConfig.settings.uploadFile;\n }\n ngOnInit() {\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.setupSubscribers();\n }\n loadMetadata(stepMeta) {\n }\n arrayReturned(documents) {\n this.selectedDocuments = documents;\n }\n onDeleteBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n const modalRef = this.modalService.open(DeleteDocumentsConfirmationDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.deleteDocumentLabel;\n modalRef.componentInstance.documentsToDelete = this.selectedDocuments;\n modalRef.result.then((deletedDocuments) => {\n if (deletedDocuments) {\n const idsOfDocumentsToBeDeleted = this.selectedDocuments.map(document => {\n return document.id;\n });\n const params = {\n ids: idsOfDocumentsToBeDeleted,\n moduleId: this.currentApplication.moduleId\n };\n this.applicationCreateServiceSubscription = this.applicationCreateService.deleteUploadDocumentsObservable(params).subscribe({\n next: () => {\n this.deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Delete);\n }\n });\n }\n });\n }\n onAddBtnClicked(event) {\n const evt = event.target;\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(AddDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.addDocumentsDialogTitle;\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.selectedDocumentType = evt.innerHTML;\n modalRef.result.then((newDocument) => {\n if (newDocument) {\n this.addDocumentToTable(newDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n onEditBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.selectedDocuments.length > 1) {\n this.appController.showMessage(SharedConstants.MORE_THAN_ONE_SELECTED, AlertType.Warning);\n return;\n }\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(EditDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.editDocumentsDialogTitle;\n modalRef.componentInstance.documentToEdit = this.selectedDocuments[0];\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.result.then((resultObject) => {\n if (resultObject) {\n this.deleteSelectedDocsFromTable(resultObject.idsToDelete);\n this.addDocumentToTable(resultObject.editedDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n }\n });\n }\n onDownloadAttachment(attachment) {\n const attachmentId = attachment.id;\n const fileName = attachment.fileName;\n this.getAttachmentContentSubscription = this.applicationCreateService.getAttachmentContent(attachmentId).subscribe({\n next: (attachmentContent) => {\n FileUtils.openFile(fileName, attachmentContent);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = this.requiredDocumentLookupConstant;\n }\n getRequiredDocumentsLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'RequiredDocument' and deleted eq false`,\n $expand: \"attachment\"\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.hasOwnProperty(\"value\") && response.value.length > 0) {\n const lookups = response.value;\n this.onGetRequiredDocumentsLookupsCompleted(lookups);\n }\n else {\n // this.appController.showMessage(this.noRequiredDocumentsFoundErrMsg, AlertType.Warning)\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n onGetRequiredDocumentsLookupsCompleted(lookups) {\n this.requiredDocuments = [];\n this.optionalDocuments = [];\n this.showOptionalDocuments = false;\n this.buildRequiredDocumentsObjects(lookups);\n this.sortRequiredDocumentsAlphabetically();\n //optional documents\n this.requiredDocuments.forEach((doc) => {\n if (doc.optionalUpload?.toLowerCase().trim() === \"yes\") {\n this.optionalDocuments.push(doc);\n }\n });\n if (this.optionalDocuments.length > 0) {\n this.showOptionalDocuments = true;\n }\n this.requiredDocuments = this.requiredDocuments.filter(docs => docs.optionalUpload?.toLowerCase() != \"yes\");\n if (this.currentApplication.attachments.length > 0) {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n this.updateFormControl();\n this.changeDetectorRef.detectChanges();\n }\n buildRequiredDocumentsObjects(lookups) {\n lookups.forEach(lookup => {\n const content = JSON.parse(lookup.content);\n if (this.selectedApplicationApplicationTypes.length > 0) {\n this.selectedApplicationApplicationTypes.forEach((applicationType) => {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant\n && content.required?.toLowerCase() === this.isDocumentRequiredConstant\n && content.applicationType?.toLowerCase() === applicationType?.toLowerCase()) {\n this.appendRequiredDocuments(lookup, content);\n }\n });\n }\n else {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant\n && content.required?.toLowerCase() === this.isDocumentRequiredConstant) {\n this.appendRequiredDocuments(lookup, content);\n }\n }\n });\n if (this.requiredDocuments.length > 0) {\n this.removeDuplicateDocuments();\n }\n }\n addDocumentToTable(document) {\n // adds new document into the table\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n if (documentsAlreadyOnTheTable.length > 0) {\n documentsAlreadyOnTheTable.push(document);\n this.tableDataSource.next([...documentsAlreadyOnTheTable]);\n }\n else {\n this.tableDataSource.next([document]);\n }\n }\n updateDocumentChecklist() {\n const docsInTable = this.tableDataSource.value;\n this.resetDocumentsChecklist();\n this.updateDocumentChecklistOnInit(docsInTable);\n }\n deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted) {\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n const newDocuments = [];\n documentsAlreadyOnTheTable.forEach((document) => {\n let deleteDocument = false;\n idsOfDocumentsToBeDeleted.forEach((documentIdOfDeletedDocument) => {\n if (document.id === documentIdOfDeletedDocument) {\n deleteDocument = true;\n }\n });\n if (!deleteDocument) {\n newDocuments.push(document);\n }\n });\n this.tableDataSource.next([...newDocuments]);\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription2 = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n // gets the saved application by jobId (if it exists)\n if (application) {\n if (+this.jobId > 0) {\n this.getApplicationAttachments(application);\n }\n }\n });\n }\n setupSubscribers() {\n this.getStepHeadingSubscribers();\n this.subscribeToSelectedApplication();\n }\n getStepHeadingSubscribers() {\n this.applicationCreateServiceSelectModuleSubscription = this.applicationCreateService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${CreateApplicationConstants.REQUIRED_DOCUMENTATION_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.documentFormControlName);\n form.clearValidators();\n this.documentForm = form;\n }\n loadSavedAttachments(attachments) {\n const attachmentsForTable = [];\n attachments.forEach((attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.datePipe.transform(attachment.date, this.datePipeFormat),\n fileName: attachment.fileName,\n };\n attachmentsForTable.push(attachmentObject);\n });\n this.tableDataSource.next(attachmentsForTable);\n }\n updateFormControl() {\n // mark form as valid if all required documents are uploaded\n let formIsValid = true;\n if (this.showNoRequiredDocumentText) {\n formIsValid = true;\n }\n this.requiredDocuments.forEach((document) => {\n if (document.uploaded === false) {\n formIsValid = false;\n }\n });\n if (formIsValid) {\n this.documentForm.get(this.documentsFormControlName).clearValidators();\n }\n else {\n this.documentForm.get(this.documentsFormControlName).addValidators(Validators.required);\n }\n this.documentForm.markAllAsTouched();\n this.documentForm.get(this.documentsFormControlName).updateValueAndValidity();\n }\n getApplicationAttachments(application) {\n // get the application's attachments\n const params = {\n jobId: application.jobId\n };\n this.applicationCreateService.getAttachments(params).subscribe({\n next: (response) => {\n application.attachments = response.value;\n this.getApplicationTypes(application);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n updateDocumentChecklistOnInit(attachmentsForTable) {\n if (this.requiredDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.requiredDocuments.forEach((requiredDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (requiredDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n requiredDocument.uploaded = true;\n }\n });\n });\n }\n if (this.optionalDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.optionalDocuments.forEach((optionalDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (optionalDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n optionalDocument.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 optionalUpload: content.optionalUpload,\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 const optionalDocumentsArray = [];\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 //get optional documents\n this.requiredDocuments.forEach((optionalDoc) => {\n if (optionalDoc.optionalUpload?.toLowerCase().trim() === \"yes\") {\n optionalDocumentsArray.push(optionalDoc);\n }\n });\n }\n static ctorParameters = () => [\n { type: AflaModuleStrategyService },\n { type: ApplicationCreateService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDocumentationComponent = __decorate([\n Component({\n selector: \"app-create-application-documentation\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDocumentationComponent);\nexport { CreateApplicationDocumentationComponent };\n","import { RequiredDocumentsHeadingEnum } from \"./create-application-documentation-enums/create-application-documentation-enums\";\nexport class CreateApplicationDocumentationConstants {\n static NO_DOCUMENT_REQUIRED_MESSAGE = \"No documents are required for this application, however you can submit any additional documents.\";\n static NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE = \"No required documents found in the lookups, please contact system admin\";\n static UPLOAD_REQUIRED_DOC_LABEL = \"Note: Upload the required documents for the application as listed below.\";\n static APPLICATIONS_DOCUMENTS_LABEL = \"My application documents\";\n static UPLOAD_OPTIONAL_DOC_LABEL = \"Note: Upload the optional documents for the application as listed below.\";\n static OPTIONAL_DOCUMENTS_LABEL = \"Optional documentation\";\n static ADD_DOCUMENTS_BTN_LABEL = \"Add document\";\n static ADD_DOCUMENTS_DIALOG_TITLE = \"Add documents\";\n static EDIT_DOCUMENTS_DIALOG_TITLE = \"Edit documents\";\n static EDIT_DOCUMENTS_BTN_LABEL = \"Edit document\";\n static DELETE_DOCUMENTS_BTN_LABEL = \"Delete document\";\n static DELETE_DOCUMENTS_LABEL = \"Delete documents\";\n static ATTACHMENT_LABEL = \"Attachment\";\n static DOWNLOAD_LABEL = \"Download\";\n static ADDITIONAL_APPLICATION_TYPE_CONSTANTS = \"Additional\";\n static IS_DOCUMENT_REQUIRED = \"yes\";\n static DOCUMENT_FORM_CONTROL_NAME = \"documentForm\";\n static DOCUMENTS_FORM_CONTROL_NAME = \"documents\";\n static DATE_PIPE_FORMAT = \"dd/MM/yyyy hh:mm\";\n static DELETE_DIALOG_TITLE = \"Delete document(s)\";\n static COMPONENT_NAME = \"create-application-documentation\";\n static modalBodyOptions = {\n size: \"xl\",\n centered: true,\n backdrop: \"static\",\n };\n static REQUIRED_DOCUMENTS_HEADING_LOOKUP = new Map([\n [RequiredDocumentsHeadingEnum.type, \"type\"],\n [RequiredDocumentsHeadingEnum.name, \"name\"],\n [RequiredDocumentsHeadingEnum.dateUploaded, \"dateUploaded\"],\n [RequiredDocumentsHeadingEnum.fileName, \"fileName\"],\n ]);\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-notes.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-notes.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { CreateApplicationNotesConstants } from \"./create-application-notes.constant\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { NoteHeadingEnum } from \"./model/note-header.model\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { ApplicationCreateService } from \"../shared/application-create.service\";\nimport { CRUDOperation } from \"../../shared/models/crud-operation-enum.model\";\nlet CreateApplicationNotesComponent = class CreateApplicationNotesComponent {\n aflaModuleStrategyService;\n appControllerService;\n applicationCreateService;\n selectedApplicationService;\n changeDetectorRef;\n noteForm;\n tableHeader;\n dataSource;\n defaultSortColumn = { column: NoteHeadingEnum.date, direction: \"desc\" };\n deleteLabel = SharedConstants.DELETE_LABEL;\n addNotePlaceHolderText = SharedConstants.ADD_NOTE_PLACEHOLDER;\n addNoteLabel = CreateApplicationNotesConstants.ADD_NOTE_LABEL;\n noteCharacterLimit = SharedConstants.NOTE_CHARACTER_LIMIT;\n addLabel = SharedConstants.ADD_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n noteFormControlName = CreateApplicationNotesConstants.NOTE_FORM_CONTROL_NAME;\n selectedApplicationEcSubscription;\n applicationCreateServiceSelectModuleSubscription;\n stepHeader = \"\";\n getNotesSubscription;\n constructor(aflaModuleStrategyService, appControllerService, applicationCreateService, selectedApplicationService, changeDetectorRef) {\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.appControllerService = appControllerService;\n this.applicationCreateService = applicationCreateService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.initForm();\n this.getStepHeadingSubscribers();\n this.subscribeToSelectedApplication();\n }\n initForm() {\n this.noteForm = this.aflaModuleStrategyService.form.get(\"notesForm\");\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application && application.id > 0) {\n this.getNotes(application);\n }\n });\n }\n populateForm(notes) {\n if (notes && notes.length > 0) {\n const idControl = this.noteForm.get(\"id\");\n const notesControl = this.noteForm.get(this.noteFormControlName);\n notesControl.setValue(notes[notes.length - 1].note);\n idControl.setValue(notes[notes.length - 1].id);\n }\n this.changeDetectorRef.detectChanges();\n }\n getStepHeadingSubscribers() {\n this.applicationCreateServiceSelectModuleSubscription = this.applicationCreateService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${CreateApplicationNotesConstants.STEP_TITLE}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n getNotes(application) {\n const params = {\n $filter: `jobId eq ${application.jobId} and deleted eq false`\n };\n this.getNotesSubscription = this.applicationCreateService.getNotesObservable(params).subscribe({\n next: (notes) => {\n this.populateForm(notes);\n },\n error: err => this.appControllerService.handleServerErrorMessage(\"getNotes\", err, CRUDOperation.Get)\n });\n }\n static ctorParameters = () => [\n { type: AflaModuleStrategyService },\n { type: AppControllerService },\n { type: ApplicationCreateService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef }\n ];\n};\nCreateApplicationNotesComponent = __decorate([\n Component({\n selector: \"app-create-application-notes\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationNotesComponent);\nexport { CreateApplicationNotesComponent };\n","export class CreateApplicationNotesConstants {\n static STEP_TITLE = \"Notes\";\n static NOTE_FORM_CONTROL_NAME = \"note\";\n static ADD_NOTE_LABEL = \"Note\";\n}\n","export var NoteHeadingEnum;\n(function (NoteHeadingEnum) {\n NoteHeadingEnum[\"id\"] = \"id\";\n NoteHeadingEnum[\"date\"] = \"Date\";\n NoteHeadingEnum[\"userName\"] = \"Username\";\n NoteHeadingEnum[\"note\"] = \"Note\";\n NoteHeadingEnum[\"action\"] = \"Action\";\n})(NoteHeadingEnum || (NoteHeadingEnum = {}));\nexport const NoteHeadingEnumLookup = new Map([\n [NoteHeadingEnum.userName, \"userName\"],\n [NoteHeadingEnum.note, \"note\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-people-of-interest.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-people-of-interest.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ApplicationCreateService } from \"../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SearchApplicationsService } from \"../../search-applications/shared/search-applications.service\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { CreateApplicationViewBaseComponent } from \"../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationPeopleOfInterestConstants } from \"./create-application-people-of-interest.constants\";\nlet CreateApplicationPeopleOfInterestComponent = class CreateApplicationPeopleOfInterestComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n appController;\n selectedApplicationService;\n modalService;\n changeDetectorRefs;\n searchApplicationsService;\n peopleOfInterestForm;\n transferorFormControlName = CreateApplicationPeopleOfInterestConstants.TRANSFEROR_FORM_CONTROL_NAME;\n transfereeFormControlName = CreateApplicationPeopleOfInterestConstants.TRANSFEREE_FORM_CONTROL_NAME;\n conveyancerFormControlName = CreateApplicationPeopleOfInterestConstants.CONVEYANCER_FORM_CONTROL_NAME;\n transferorDisableFilterBy = true;\n transferorDisableEditing = false;\n transferorGroups = [];\n transferorLabel = CreateApplicationPeopleOfInterestConstants.TRANSFEROR_LABEL;\n transfereeDisableFilterBy = true;\n transfereeDisableEditing = false;\n transfereeGroups = [];\n transfereeLabel = CreateApplicationPeopleOfInterestConstants.TRANSFEREE_LABEL;\n copyApplicantToTransfereeLabel = CreateApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_LABEL;\n conveyancerDisableFilterBy = true;\n conveyancerDisableEditing = false;\n conveyancerGroups = [];\n conveyancerLabel = CreateApplicationPeopleOfInterestConstants.CONVEYANCER_LABEL;\n copyApplicantToTransfereeFormControlName = CreateApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME;\n savedApplicant;\n constructor(createApplicationService, aflaModuleStrategyService, appController, selectedApplicationService, modalService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.appController = appController;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.subScribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n try {\n this.transferorGroups = stepMeta.transferorGroup;\n this.transfereeGroups = stepMeta.transfereeGroup;\n this.conveyancerGroups = stepMeta.conveyancerGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.peopleOfInterestForm = this.aflaModuleStrategyService.form.get(\"peopleOfInterestForm\");\n this.changeDetectorRefs.detectChanges();\n }\n onBtnCopyApplicantToTransfereeClicked(event) {\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n if (event.currentTarget.checked === true) {\n const transfereeFormControl = this.peopleOfInterestForm.get(this.transfereeFormControlName);\n transfereeFormControl.clearValidators();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n const transfereeGroups = Object.assign({}, this.transfereeGroups[0]);\n const transferee = this.savedApplicant;\n transferee.groups = transfereeGroups[0];\n this.peopleOfInterestForm.get(this.transfereeFormControlName).setValue(transferee);\n transfereeFormControl.disable();\n this.changeDetectorRefs.detectChanges();\n }\n else {\n transfereeFormControl.enable();\n transfereeFormControl.reset();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(false);\n this.getMetadata();\n this.changeDetectorRefs.detectChanges();\n }\n }\n checkApplicationData() {\n const isFormPristine = this.peopleOfInterestForm.pristine;\n const isFormUnTouched = this.peopleOfInterestForm.untouched;\n const isFormInvalid = this.peopleOfInterestForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(selectedApplication) {\n let transferee;\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n transferee = selectedApplication.transferee[0];\n if (transferee) {\n transfereeFormControl.setValue(transferee);\n }\n let transferor;\n const transferorFormControl = this.peopleOfInterestForm.get(\"transferor\");\n transferor = selectedApplication.transferor[0];\n if (transferor) {\n transferorFormControl.setValue(transferor);\n }\n let conveyancer;\n const conveyancerFormControl = this.peopleOfInterestForm.get(\"conveyancer\");\n conveyancer = selectedApplication.conveyancer[0];\n if (conveyancer) {\n conveyancerFormControl.setValue(conveyancer);\n }\n }\n subScribeToSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.applicant && application.applicant.length > 0) {\n this.savedApplicant = application.applicant[0];\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: AppControllerService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationPeopleOfInterestComponent = __decorate([\n Component({\n selector: \"app-create-application-people-of-interest\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationPeopleOfInterestComponent);\nexport { CreateApplicationPeopleOfInterestComponent };\n","export class CreateApplicationPeopleOfInterestConstants {\n // Controls\n static TRANSFEROR_FORM_CONTROL_NAME = \"transferor\";\n static TRANSFEREE_FORM_CONTROL_NAME = \"transferee\";\n static CONVEYANCER_FORM_CONTROL_NAME = \"conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME = \"copyApplicantToTransferee\";\n // Labels\n static TRANSFEROR_LABEL = \"Transferor\";\n static TRANSFEREE_LABEL = \"Transferee\";\n static CONVEYANCER_LABEL = \"Conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_LABEL = \"Copy Applicant To Transferee\";\n}\n","export class CreateApplicationRoutingConstants {\n static CREATE_APPLICATION_ROUTE = \"create-application\";\n static LOCATION_ROUTE = \"location\";\n static DETAILS_ROUTE = \"details\";\n static APPLICANT_ROUTE = \"applicant\";\n static AGENT_ROUTE = \"agent\";\n static WELCOME_ROUTE = \"welcome\";\n static STATUS_ROUTE = \"status\";\n static PROFESSIONAL_BODIES_ROUTE = \"professionalbodies\";\n static BURIAL_ROUTE = \"burialdetails\";\n static DECEASED_ROUTE = \"deceaseddetails\";\n static FAMILY_ROUTE = \"familymemberdetails\";\n static REQUIRED_DOCS = \"documentation\";\n static NOTES_ROUTE = \"notes\";\n static REFRESH_ROUTE = \"refresh-create-application\";\n static FUNERAL_PARLOUR = \"funeralparlour\";\n static TRADERS_ROUTE = \"traders\";\n static PEOPLE_OF_INTEREST_ROUTE = \"peopleofinterest\";\n static REFRESH_VIEW_APPLICATION_ROUTE = \"refreshViewApplication\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsAConstants } from \"./create-application-details-a.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { phoneNumberValidator } from \"../../../../shared/classes/phone-number-validator\";\nimport { RecipientSelectComponent } from \"../../../../shared/components/recipient-components/recipient-select/recipient-select.component\";\nlet CreateApplicationDetailsAComponent = class CreateApplicationDetailsAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n detailsForm;\n personResponsibleComponentRef;\n advertisementFormGroup;\n advertisementsFormGroupName = CreateApplicationDetailsAConstants.ADVERTISEMENTS_FORM_GROUP_NAME;\n validationMessages = CreateApplicationDetailsAConstants.VALIDATION_MESSAGES;\n applicationDetailsFormGroupName = CreateApplicationDetailsAConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n // FormControls\n detailsFormGroupName = CreateApplicationDetailsAConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = CreateApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n displayStartDateControlName = CreateApplicationDetailsAConstants.DISPLAY_START_DATE_FORM_CONTROL_NAME;\n displayEndDateControlName = CreateApplicationDetailsAConstants.DISPLAY_END_DATE_FORM_CONTROL_NAME;\n displayRemovalDateControlName = CreateApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME;\n numberOfPostersControlName = CreateApplicationDetailsAConstants.NUMBER_OF_POSTERS_FORM_CONTROL_NAME;\n nameOfBusinessControlName = CreateApplicationDetailsAConstants.NAME_OF_BUSINESS_FORM_CONTROL_NAME;\n notifySignageRemovalPeriodControlName = CreateApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME;\n positionOfTheDisplayControlName = CreateApplicationDetailsAConstants.POSITION_OF_DISPLAY_FORM_CONTROL_NAME;\n heightControlName = CreateApplicationDetailsAConstants.HEIGHT_FORM_CONTROL_NAME;\n widthControlName = CreateApplicationDetailsAConstants.WIDTH_FORM_CONTROL_NAME;\n depthControlName = CreateApplicationDetailsAConstants.DEPTH_FORM_CONTROL_NAME;\n materialControlName = CreateApplicationDetailsAConstants.MATERIAL_FORM_CONTROL_NAME;\n coloursControlName = CreateApplicationDetailsAConstants.COLOURS_FORM_CONTROL_NAME;\n frontalAreaControlName = CreateApplicationDetailsAConstants.FRONTAL_AREA_FORM_CONTROL_NAME;\n totalAreaControlName = CreateApplicationDetailsAConstants.TOTAL_AREA_FORM_CONTROL_NAME;\n signTypeControlName = CreateApplicationDetailsAConstants.SIGN_TYPE_FORM_CONTROL_NAME;\n weightControlName = CreateApplicationDetailsAConstants.WEIGHT_FORM_CONTROL_NAME;\n wattageControlName = CreateApplicationDetailsAConstants.WATTAGE_FORM_CONTROL_NAME;\n signContractorControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME;\n signContractorAddressControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME;\n signContractorTelephoneControlName = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME;\n forSaleControlName = CreateApplicationDetailsAConstants.FOR_SALE_FORM_CONTROL_NAME;\n onShowControlName = CreateApplicationDetailsAConstants.ON_SHOW_FORM_CONTROL_NAME;\n toLetControlName = CreateApplicationDetailsAConstants.TO_LET_FORM_CONTROL_NAME;\n soldControlName = CreateApplicationDetailsAConstants.SOLD_FORM_CONTROL_NAME;\n OtherControlName = CreateApplicationDetailsAConstants.OTHER_FORM_CONTROL_NAME;\n constructionBoardSignControlName = CreateApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME;\n groundSignControlName = CreateApplicationDetailsAConstants.GROUND_SIGN_FORM_CONTROL_NAME;\n flagControlName = CreateApplicationDetailsAConstants.FLAG_FORM_CONTROL_NAME;\n sandwichBoardControlName = CreateApplicationDetailsAConstants.SANDWICH_BOARD_FORM_CONTROL_NAME;\n pylonControlName = CreateApplicationDetailsAConstants.PYLON_FORM_CONTROL_NAME;\n wallSignControlName = CreateApplicationDetailsAConstants.WALL_SIGN_FORM_CONTROL_NAME;\n billBoardControlName = CreateApplicationDetailsAConstants.BILLBOARD_FORM_CONTROL_NAME;\n buildingAttachmentControlName = CreateApplicationDetailsAConstants.BUILDING_ATTACHMENT_FORM_CONTROL_NAME;\n projectingWallControlName = CreateApplicationDetailsAConstants.PROJECTING_WALL_SIGN_FORM_CONTROL_NAME;\n wallPaintedControlName = CreateApplicationDetailsAConstants.WALL_PAINTED_FORM_CONTROL_NAME;\n roofSignControlName = CreateApplicationDetailsAConstants.ROOF_SIGN_FORM_CONTROL_NAME;\n skySignControlName = CreateApplicationDetailsAConstants.SKY_SIGN_FORM_CONTROL_NAME;\n verandaControlName = CreateApplicationDetailsAConstants.VERANDA_FORM_CONTROL_NAME;\n aerialSignControlName = CreateApplicationDetailsAConstants.AERIAL_SIGN_FORM_CONTROL_NAME;\n windowSignControlName = CreateApplicationDetailsAConstants.WINDOW_SIGN_FORM_CONTROL_NAME;\n schoolSignControlName = CreateApplicationDetailsAConstants.SCHOOL_SIGN_FORM_CONTROL_NAME;\n combinationSignControlName = CreateApplicationDetailsAConstants.COMBINATION_SIGN_FORM_CONTROL_NAME;\n underAwningSignControlName = CreateApplicationDetailsAConstants.UNDER_AWNING_SIGN_FORM_CONTROL_NAME;\n flagSignControlName = CreateApplicationDetailsAConstants.FLAG_SIGN_FORM_CONTROL_NAME;\n canopyControlName = CreateApplicationDetailsAConstants.CANOPY_FORM_CONTROL_NAME;\n balconyControlName = CreateApplicationDetailsAConstants.BALCONY_FORM_CONTROL_NAME;\n electronicSignControlName = CreateApplicationDetailsAConstants.ELECTRONIC_SIGN_FORM_CONTROL_NAME;\n developmentBoardControlName = CreateApplicationDetailsAConstants.DEVELOPMENT_BOARD_FORM_CONTROL_NAME;\n otherFiveYearControlName = CreateApplicationDetailsAConstants.OTHER_FIVE_YEAR_FORM_CONTROL_NAME;\n nonIlluminatedBillboardControlName = CreateApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n digitalBillboardControlName = CreateApplicationDetailsAConstants.DIGITAL_BILLBOARD_FORM_CONTROL_NAME;\n nonIlluminatedGantryControlName = CreateApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n digitalGantryControlName = CreateApplicationDetailsAConstants.DIGITAL_GANTRY_FORM_CONTROL_NAME;\n internallyIlluminatedBillboardControlName = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n internallyIlluminatedGantryControlName = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n municipalConsumerAccountNumberFormControlName = CreateApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME;\n personResponsibleFormControlName = CreateApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_NAME;\n // Labels\n descriptionLabel = CreateApplicationDetailsAConstants.DESCRIPTION_LABEL;\n typeLabel = CreateApplicationDetailsAConstants.APPLICATION_TYPE_LABEL;\n displayStartDateLabel = CreateApplicationDetailsAConstants.DISPLAY_START_DATE_LABEL;\n displayEndDateLabel = CreateApplicationDetailsAConstants.DISPLAY_END_DATE_LABEL;\n displayRemovalDateLabel = CreateApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_LABEL;\n numberOfPostersLabel = CreateApplicationDetailsAConstants.NUMBER_OF_POSTERS_LABEL;\n nameOfBusinessLabel = CreateApplicationDetailsAConstants.NAME_OF_BUSINESS_LABEL;\n notifySignageRemovalPeriodLabel = CreateApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_LABEL;\n positionOfTheDisplayLabel = CreateApplicationDetailsAConstants.POSITION_OF_THE_DISPLAY_LABEL;\n heightLabel = CreateApplicationDetailsAConstants.HEIGHT_LABEL;\n widthLabel = CreateApplicationDetailsAConstants.WIDTH_LABEL;\n depthLabel = CreateApplicationDetailsAConstants.DEPTH_LABEL;\n materialLabel = CreateApplicationDetailsAConstants.MATERIAL_LABEL;\n coloursLabel = CreateApplicationDetailsAConstants.COLOURS_LABEL;\n frontalAreaLabel = CreateApplicationDetailsAConstants.FRONTAL_AREA_LABEL;\n totalAreaLabel = CreateApplicationDetailsAConstants.TOTAL_AREA_LABEL;\n signTypeLabel = CreateApplicationDetailsAConstants.SIGN_TYPE_LABEL;\n weightLabel = CreateApplicationDetailsAConstants.WEIGHT_LABEL;\n wattageLabel = CreateApplicationDetailsAConstants.WATTAGE_LABEL;\n signContractorLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_LABEL;\n signContractorAddressLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_LABEL;\n signContractorTelephoneLabel = CreateApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_LABEL;\n forSaleAddressLabel = CreateApplicationDetailsAConstants.FOR_SALE_LABEL;\n // 1 year permanent\n onShowLabel = CreateApplicationDetailsAConstants.ON_SHOW_LABEL;\n toLetLabel = CreateApplicationDetailsAConstants.TO_LET_LABEL;\n soldLabel = CreateApplicationDetailsAConstants.SOLD_LABEL;\n constructionBoardSignLabel = CreateApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_LABEL;\n otherLabel = CreateApplicationDetailsAConstants.OTHER_LABEL;\n // 5 year permanent\n groundSignLabel = CreateApplicationDetailsAConstants.GROUND_SIGN_FORM_LABEL;\n flagLabel = CreateApplicationDetailsAConstants.FLAG_FORM_LABEL;\n sandwichBoardLabel = CreateApplicationDetailsAConstants.SANDWICH_BOARD_FORM_LABEL;\n pylonLabel = CreateApplicationDetailsAConstants.PYLON_FORM_LABEL;\n wallSignLabel = CreateApplicationDetailsAConstants.WALL_SIGN_FORM_LABEL;\n billBoardLabel = CreateApplicationDetailsAConstants.BILLBOARD_FORM_LABEL;\n buildingAttachmentLabel = CreateApplicationDetailsAConstants.BUILDING_ATTACHMENT_LABEL;\n projectingWallLabel = CreateApplicationDetailsAConstants.PROJECTING_WALL_SIGN_LABEL;\n wallPaintedLabel = CreateApplicationDetailsAConstants.WALL_PAINTED_LABEL;\n roofSignLabel = CreateApplicationDetailsAConstants.ROOF_SIGN_LABEL;\n skySignLabel = CreateApplicationDetailsAConstants.SKY_SIGN_LABEL;\n verandaLabel = CreateApplicationDetailsAConstants.VERANDA_LABEL;\n aerialSignLabel = CreateApplicationDetailsAConstants.AERIAL_SIGN_LABEL;\n windowSignLabel = CreateApplicationDetailsAConstants.WINDOW_SIGN_LABEL;\n schoolSignLabel = CreateApplicationDetailsAConstants.SCHOOL_SIGN_LABEL;\n combinationSignLabel = CreateApplicationDetailsAConstants.COMBINATION_SIGN_LABEL;\n underAwningSignLabel = CreateApplicationDetailsAConstants.UNDER_AWNING_SIGN_LABEL;\n flagSignLabel = CreateApplicationDetailsAConstants.FLAG_SIGN_LABEL;\n canopyLabel = CreateApplicationDetailsAConstants.CANOPY_LABEL;\n balconyLabel = CreateApplicationDetailsAConstants.BALCONY_LABEL;\n electronicSignLabel = CreateApplicationDetailsAConstants.ELECTRONIC_SIGN_LABEL;\n developmentBoardLabel = CreateApplicationDetailsAConstants.DEVELOPMENT_BOARD_LABEL;\n otherFiveYearLabel = CreateApplicationDetailsAConstants.OTHER_FIVE_YEAR_LABEL;\n nonIlluminatedBillboardLabel = CreateApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_LABEL;\n digitalBillboardLabel = CreateApplicationDetailsAConstants.DIGITAL_BILLBOARD_LABEL;\n nonIlluminatedGantryLabel = CreateApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_LABEL;\n digitalGantryLabel = CreateApplicationDetailsAConstants.DIGITAL_GANTRY_LABEL;\n internallyIlluminatedBillboardLabel = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LABEL;\n internallyIlluminatedGantryLabel = CreateApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n municipalConsumerAccountNumberLabel = CreateApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL;\n personResponsibleLabel = CreateApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_LABEL;\n // Lookups\n applicationTypesLookups = [];\n signTypeLookups = [];\n removalPeriodLookups = LookupConstants.REMOVAL_PERIOD_LOOKUPS_A;\n nonIlluminatedBillboardLookups = LookupConstants.NON_ILLUMINATED_BILLBOARD_A;\n nonIlluminatedGantryLookups = LookupConstants.NON_ILLUMINATED_GANTRY_A;\n internallyIlluminatedBillboardLookups = LookupConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A;\n digitalGantryLookups = LookupConstants.DIGITAL_GANTRY_A;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n notApplicablePlaceholderMessage = SharedConstants.NOT_APPLICABLE_MESSAGE;\n showTemporaryApplicationFields = false;\n showPermanentApplicationFields = false;\n show5YearPermanentApplicationOptionalFields = false;\n show1YearPermanentApplicationOptionalFields = false;\n // person responsible recipient\n personResponsibleDisableEditing = false;\n personResponsibleDisableFilterBy = true;\n personResponsibleGroups = [];\n personResponsibleShowFields = true;\n temporaryApplicationType = [];\n permanentApplicationType = [];\n getLookupsObservableSubscription;\n markStepFormGroupAsTouchedSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(this.signTypeControlName)) {\n this.signTypeLookups = this.aflaModuleStrategyService.lookups.get(this.signTypeControlName);\n if (!this.aflaModuleStrategyService.form.pristine && this.aflaModuleStrategyService.form.touched) {\n this.checkIfFormWasPreviouslyCompleted();\n }\n else {\n this.setForms();\n }\n }\n else {\n this.getLookups();\n }\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n try {\n this.personResponsibleGroups = stepMeta.personResponsibleGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n setForms() {\n const advertisementType = this.advertisementFormGroup.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n if (advertisementType) {\n this.handleAdvertisementTypeValueChanged(advertisementType);\n }\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsAConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"signtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.signTypeLookups.push(lookUpContent);\n }\n });\n if (this.aflaModuleStrategyService.form.pristine && !this.aflaModuleStrategyService.form.touched) {\n this.checkIfFormWasPreviouslyCompleted();\n }\n else {\n this.setForms();\n }\n this.changeDetectorRef.detectChanges();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n this.detailsForm.enable();\n this.advertisementFormGroup = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n }\n handleTemporaryAdvertisementSelected() {\n this.hidePermanentAdvertisementTypeFields();\n this.showTemporaryApplicationTypeFields();\n }\n showTemporaryApplicationTypeFields() {\n this.showTemporaryApplicationFields = true;\n this.showPermanentApplicationFields = false;\n }\n handlePermanentAdvertisementSelected() {\n const applicationType = this.advertisementFormGroup.get(this.applicationTypeFormControlName).value;\n this.clearTemporaryAdvertisementFieldsValidators();\n this.resetTemporaryAdvertisementFields();\n this.hideTemporaryAdvertisementFields();\n this.showPermanentAdvertisementFields();\n if (applicationType.toLowerCase().includes(\"1 year\")) {\n this.show1YearPermanentApplicationFields();\n }\n if (applicationType.toLowerCase().includes(\"5 year\")) {\n this.show5YearPermanentApplicationFields();\n this.add5YearApplicationFieldsValidators();\n }\n this.addMainPermanentFieldsValidators();\n }\n showPermanentAdvertisementFields() {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n }\n hidePermanentAdvertisementTypeFields() {\n this.showPermanentApplicationFields = false;\n }\n hideTemporaryAdvertisementFields() {\n this.showTemporaryApplicationFields = false;\n }\n clearTemporaryAdvertisementFieldsValidators() {\n this.detailsForm.get(this.displayStartDateControlName).clearValidators();\n this.detailsForm.get(this.displayEndDateControlName).clearValidators();\n this.detailsForm.get(this.displayRemovalDateControlName).clearValidators();\n this.detailsForm.get(this.numberOfPostersControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n resetTemporaryAdvertisementFields() {\n this.detailsForm.get(this.displayStartDateControlName).reset();\n this.detailsForm.get(this.displayEndDateControlName).reset();\n this.detailsForm.get(this.displayRemovalDateControlName).reset();\n this.detailsForm.get(this.numberOfPostersControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n reset5YearPermanentApplicationFields() {\n this.detailsForm.get(this.groundSignControlName).reset(false);\n this.detailsForm.get(this.flagControlName).reset(false);\n this.detailsForm.get(this.sandwichBoardControlName).reset(false);\n this.detailsForm.get(this.pylonControlName).reset(false);\n this.detailsForm.get(this.wallSignControlName).reset(false);\n this.detailsForm.get(this.billBoardControlName).reset(false);\n this.detailsForm.get(this.buildingAttachmentControlName).reset(false);\n this.detailsForm.get(this.projectingWallControlName).reset(false);\n this.detailsForm.get(this.wallPaintedControlName).reset(false);\n this.detailsForm.get(this.roofSignControlName).reset(false);\n this.detailsForm.get(this.skySignControlName).reset(false);\n this.detailsForm.get(this.verandaControlName).reset(false);\n this.detailsForm.get(this.aerialSignControlName).reset(false);\n this.detailsForm.get(this.windowSignControlName).reset(false);\n this.detailsForm.get(this.schoolSignControlName).reset(false);\n this.detailsForm.get(this.combinationSignControlName).reset(false);\n this.detailsForm.get(this.underAwningSignControlName).reset(false);\n this.detailsForm.get(this.flagSignControlName).reset(false);\n this.detailsForm.get(this.canopyControlName).reset(false);\n this.detailsForm.get(this.balconyControlName).reset(false);\n this.detailsForm.get(this.electronicSignControlName).reset(false);\n this.detailsForm.get(this.developmentBoardControlName).reset(false);\n this.detailsForm.get(this.otherFiveYearControlName).reset();\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).reset();\n this.detailsForm.get(this.digitalBillboardControlName).reset();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).reset();\n this.detailsForm.get(this.digitalGantryControlName).reset();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).reset();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n add5YearApplicationFieldsValidators() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.digitalBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).addValidators(Validators.required);\n this.detailsForm.get(this.digitalGantryControlName).addValidators(Validators.required);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).addValidators(Validators.required);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n set5YearApplicationFieldsFormValues() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).setValue(this.selectedApplication.nonIlluminatedBillboard);\n this.detailsForm.get(this.digitalBillboardControlName).setValue(this.selectedApplication.digitalBillboard);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).setValue(this.selectedApplication.nonIlluminatedGantry);\n this.detailsForm.get(this.digitalGantryControlName).setValue(this.selectedApplication.digitalGantry);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).setValue(this.selectedApplication.internallyIlluminatedBillboard);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).setValue(this.selectedApplication.internallyIlluminatedGantry);\n this.detailsForm.updateValueAndValidity();\n }\n reset1yearPermanentApplicationFields() {\n this.detailsForm.get(this.forSaleControlName).reset(false);\n this.detailsForm.get(this.onShowControlName).reset(false);\n this.detailsForm.get(this.toLetControlName).reset(false);\n this.detailsForm.get(this.soldControlName).reset(false);\n this.detailsForm.get(this.constructionBoardSignControlName).reset(false);\n this.detailsForm.get(this.OtherControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n removeValidatorsToMainPermanentFields() {\n this.detailsForm.get(this.nameOfBusinessControlName).clearValidators();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).clearValidators();\n this.detailsForm.get(this.positionOfTheDisplayControlName).clearValidators();\n this.detailsForm.get(this.heightControlName).clearValidators();\n this.detailsForm.get(this.widthControlName).clearValidators();\n this.detailsForm.get(this.depthControlName).clearValidators();\n this.detailsForm.get(this.materialControlName).clearValidators();\n this.detailsForm.get(this.coloursControlName).clearValidators();\n this.detailsForm.get(this.frontalAreaControlName).clearValidators();\n this.detailsForm.get(this.totalAreaControlName).clearValidators();\n this.detailsForm.get(this.signTypeControlName).clearValidators();\n this.detailsForm.get(this.weightControlName).clearValidators();\n this.detailsForm.get(this.wattageControlName).clearValidators();\n this.detailsForm.get(this.signContractorControlName).clearValidators();\n this.detailsForm.get(this.signContractorAddressControlName).clearValidators();\n this.detailsForm.get(this.signContractorTelephoneControlName).clearValidators();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n setPermanentAdvertisementFormValues() {\n const personResponsible = this.selectedApplication.personResponsible[0];\n this.detailsForm.get(this.nameOfBusinessControlName).setValue(this.selectedApplication.nameOfBusiness);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).setValue(this.selectedApplication.notifySignageRemovalPeriod);\n this.detailsForm.get(this.positionOfTheDisplayControlName).setValue(this.selectedApplication.positionOfDisplay);\n this.detailsForm.get(this.heightControlName).setValue(this.selectedApplication.dimensionsH);\n this.detailsForm.get(this.widthControlName).setValue(this.selectedApplication.dimensionsW);\n this.detailsForm.get(this.depthControlName).setValue(this.selectedApplication.dimensionsD);\n this.detailsForm.get(this.materialControlName).setValue(this.selectedApplication.material);\n this.detailsForm.get(this.coloursControlName).setValue(this.selectedApplication.colours);\n this.detailsForm.get(this.frontalAreaControlName).setValue(this.selectedApplication.frontalArea);\n this.detailsForm.get(this.totalAreaControlName).setValue(this.selectedApplication.totalArea);\n this.detailsForm.get(this.signTypeControlName).setValue(this.selectedApplication.signType);\n this.detailsForm.get(this.weightControlName).setValue(this.selectedApplication.weight);\n this.detailsForm.get(this.wattageControlName).setValue(this.selectedApplication.wattage);\n this.detailsForm.get(this.signContractorControlName).setValue(this.selectedApplication.contractorName);\n this.detailsForm.get(this.signContractorAddressControlName).setValue(this.selectedApplication.contractorAddress);\n this.detailsForm.get(this.signContractorTelephoneControlName).setValue(this.selectedApplication.contractorTelephone);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).setValue(this.selectedApplication.municipalConsumerAccountNumber);\n this.detailsForm.get(this.personResponsibleFormControlName).setValue(personResponsible);\n this.detailsForm.updateValueAndValidity();\n }\n resetMainPermanentFields() {\n this.detailsForm.get(this.nameOfBusinessControlName).reset();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).reset();\n this.detailsForm.get(this.positionOfTheDisplayControlName).reset();\n this.detailsForm.get(this.heightControlName).reset(0);\n this.detailsForm.get(this.widthControlName).reset(0);\n this.detailsForm.get(this.depthControlName).reset(0);\n this.detailsForm.get(this.materialControlName).reset();\n this.detailsForm.get(this.coloursControlName).reset();\n this.detailsForm.get(this.frontalAreaControlName).reset(0);\n this.detailsForm.get(this.totalAreaControlName).reset(0);\n this.detailsForm.get(this.signTypeControlName).reset();\n this.detailsForm.get(this.weightControlName).reset(0);\n this.detailsForm.get(this.wattageControlName).reset(0);\n this.detailsForm.get(this.signContractorControlName).reset();\n this.detailsForm.get(this.signContractorAddressControlName).reset();\n this.detailsForm.get(this.signContractorTelephoneControlName).reset();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).reset();\n this.detailsForm.updateValueAndValidity();\n }\n addMainPermanentFieldsValidators() {\n this.detailsForm.get(this.nameOfBusinessControlName).addValidators(Validators.required);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).addValidators(Validators.required);\n this.detailsForm.get(this.positionOfTheDisplayControlName).addValidators(Validators.required);\n this.detailsForm.get(this.heightControlName).addValidators(Validators.required);\n this.detailsForm.get(this.widthControlName).addValidators(Validators.required);\n this.detailsForm.get(this.depthControlName).addValidators(Validators.required);\n this.detailsForm.get(this.materialControlName).addValidators(Validators.required);\n this.detailsForm.get(this.coloursControlName).addValidators(Validators.required);\n this.detailsForm.get(this.frontalAreaControlName).addValidators(Validators.required);\n this.detailsForm.get(this.totalAreaControlName).addValidators(Validators.required);\n this.detailsForm.get(this.signTypeControlName).addValidators(Validators.required);\n this.detailsForm.get(this.weightControlName).addValidators(Validators.required);\n this.detailsForm.get(this.wattageControlName).addValidators(Validators.required);\n this.detailsForm.get(this.signContractorTelephoneControlName).addValidators(phoneNumberValidator);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.temporaryApplicationType = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(advertisementType) || applicationType.value.toLowerCase() === \"other\")\n this.temporaryApplicationType.push(applicationType);\n });\n this.temporaryApplicationType.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.permanentApplicationType = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(advertisementType) || applicationType.value.toLowerCase() === \"other\")\n this.permanentApplicationType.push(applicationType);\n });\n this.permanentApplicationType.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n }\n checkIfFormWasPreviouslyCompleted() {\n if (this.aflaModuleStrategyService.form.pristine && !this.aflaModuleStrategyService.form.touched) {\n const advertisementTypeValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n const applicationType = this.selectedApplication.type;\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n if (advertisementTypeValue && applicationType) {\n if (advertisementTypeValue === \"permanent\") {\n this.setupDefaultFormsForPermanentAdvertisementApplications();\n if (applicationType.toLowerCase().includes(\"1 year\")) {\n this.setupDefaultFormsFor1YearPermanentAdvertisementApplications();\n }\n if (applicationType.toLowerCase().includes(\"5 year\")) {\n this.setupDefaultFormsFor5YearPermanentAdvertisementApplications();\n }\n this.addMainPermanentFieldsValidators();\n }\n if (advertisementTypeValue === \"temporary\") {\n this.setupDefaultFormsForTemporaryAdvertisementApplications();\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n setupDefaultFormsForPermanentAdvertisementApplications() {\n this.resetTemporaryAdvertisementFields();\n this.clearTemporaryAdvertisementFieldsValidators();\n this.hideTemporaryAdvertisementFields();\n this.showPermanentAdvertisementFields();\n this.setPermanentAdvertisementFormValues();\n }\n setupDefaultFormsFor1YearPermanentAdvertisementApplications() {\n this.reset5YearPermanentApplicationFields();\n this.clearValidatorsOn5YearPermanentApplicationFields();\n this.hide5YearPermanentApplicationFields();\n this.show1YearPermanentApplicationFields();\n this.set1YearPermanentApplicationFormValues();\n }\n setupDefaultFormsFor5YearPermanentAdvertisementApplications() {\n this.reset1yearPermanentApplicationFields();\n this.hide1YearPermanentApplicationFields();\n this.show5YearPermanentApplicationFields();\n this.add5YearApplicationFieldsValidators();\n this.set5YearApplicationFieldsFormValues();\n }\n setupDefaultFormsForTemporaryAdvertisementApplications() {\n this.resetAndHidePermanentApplicationFields();\n this.showTemporaryApplicationTypeFields();\n this.addValidatorsToTemporaryFields();\n this.setTemporaryApplicationFormValues();\n }\n handleAdvertisementTypeValueChanged(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.handleTemporaryAdvertisementSelected();\n this.removeValidatorsToMainPermanentFields();\n this.resetMainPermanentFields();\n this.addValidatorsToTemporaryFields();\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.handlePermanentAdvertisementSelected();\n }\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n this.changeDetectorRef.detectChanges();\n }\n addValidatorsToTemporaryFields() {\n this.detailsForm.get(this.displayStartDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.displayEndDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.displayRemovalDateControlName).addValidators(Validators.required);\n this.detailsForm.get(this.numberOfPostersControlName).addValidators(Validators.required);\n this.detailsForm.updateValueAndValidity();\n }\n setTemporaryApplicationFormValues() {\n this.detailsForm.get(this.displayStartDateControlName).setValue(this.selectedApplication.displayStartDate);\n this.detailsForm.get(this.displayEndDateControlName).setValue(this.selectedApplication.displayEndDate);\n this.detailsForm.get(this.displayRemovalDateControlName).setValue(this.selectedApplication.displayRemovalDate);\n this.detailsForm.get(this.numberOfPostersControlName).setValue(this.selectedApplication.numberOfPosters);\n this.detailsForm.updateValueAndValidity();\n }\n setNumberToDecimal(control, event, decimalPlace) {\n const value = event.target.value;\n const decimalString = parseFloat(value).toFixed(decimalPlace);\n const decimalValue = parseFloat(decimalString);\n control.setValue(decimalValue);\n }\n hide1YearPermanentApplicationFields() {\n this.show1YearPermanentApplicationOptionalFields = false;\n }\n show1YearPermanentApplicationFields() {\n this.show1YearPermanentApplicationOptionalFields = true;\n }\n hide5YearPermanentApplicationFields() {\n this.show5YearPermanentApplicationOptionalFields = false;\n }\n show5YearPermanentApplicationFields() {\n this.show5YearPermanentApplicationOptionalFields = true;\n }\n hideMainPermanentFields() {\n this.showPermanentApplicationFields = false;\n }\n clearValidatorsOn5YearPermanentApplicationFields() {\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).clearValidators();\n this.detailsForm.get(this.digitalBillboardControlName).clearValidators();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).clearValidators();\n this.detailsForm.get(this.digitalGantryControlName).clearValidators();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).clearValidators();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n resetAndHidePermanentApplicationFields() {\n // reset and hide 1 year permanent fields\n this.reset1yearPermanentApplicationFields();\n this.hide1YearPermanentApplicationFields();\n // reset and hide 5 year permanent fields\n this.clearValidatorsOn5YearPermanentApplicationFields();\n this.reset5YearPermanentApplicationFields();\n this.hide5YearPermanentApplicationFields();\n // reset and hide fields that are common in 5 year and 1 year permanent fields\n this.clearMainPermanentFieldsValidators();\n this.resetMainPermanentFields();\n this.hideMainPermanentFields();\n }\n clearMainPermanentFieldsValidators() {\n this.detailsForm.get(this.nameOfBusinessControlName).clearValidators();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).clearValidators();\n this.detailsForm.get(this.positionOfTheDisplayControlName).clearValidators();\n this.detailsForm.get(this.heightControlName).clearValidators();\n this.detailsForm.get(this.widthControlName).clearValidators();\n this.detailsForm.get(this.depthControlName).clearValidators();\n this.detailsForm.get(this.materialControlName).clearValidators();\n this.detailsForm.get(this.coloursControlName).clearValidators();\n this.detailsForm.get(this.frontalAreaControlName).clearValidators();\n this.detailsForm.get(this.totalAreaControlName).clearValidators();\n this.detailsForm.get(this.signTypeControlName).clearValidators();\n this.detailsForm.get(this.weightControlName).clearValidators();\n this.detailsForm.get(this.wattageControlName).clearValidators();\n this.detailsForm.get(this.signContractorControlName).clearValidators();\n this.detailsForm.get(this.signContractorAddressControlName).clearValidators();\n this.detailsForm.get(this.signContractorTelephoneControlName).clearValidators();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).clearValidators();\n this.detailsForm.updateValueAndValidity();\n }\n set1YearPermanentApplicationFormValues() {\n this.detailsForm.get(this.forSaleControlName).setValue(this.selectedApplication.forSale);\n this.detailsForm.get(this.onShowControlName).setValue(this.selectedApplication.onShow);\n this.detailsForm.get(this.toLetControlName).setValue(this.selectedApplication.toLet);\n this.detailsForm.get(this.soldControlName).setValue(this.selectedApplication.sold);\n this.detailsForm.get(this.constructionBoardSignControlName).setValue(this.selectedApplication.constructionBoardSign);\n this.detailsForm.get(this.OtherControlName).setValue(this.selectedApplication.otherOneYear);\n this.detailsForm.updateValueAndValidity();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n if (this.showPermanentApplicationFields) {\n this.personResponsibleComponentRef.markAllAsTouched();\n }\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n personResponsibleComponentRef: [{ type: ViewChild, args: [RecipientSelectComponent,] }]\n };\n};\nCreateApplicationDetailsAComponent = __decorate([\n Component({\n selector: \"app-create-application-details-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsAComponent);\nexport { CreateApplicationDetailsAComponent };\n","import { SharedConstants } from \"../../../../../../../afla-common/src/lib/constants/shared-constants\";\nexport class CreateApplicationDetailsAConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static APPLICATION_DURATION_LABEL = \"Application duration\";\n static DISPLAY_START_DATE_LABEL = \"Display start date\";\n static DISPLAY_END_DATE_LABEL = \"Display end date\";\n static DISPLAY_REMOVAL_DATE_LABEL = \"Display removal date\";\n static NUMBER_OF_POSTERS_LABEL = \"Number of posters / banners / flags\";\n static NAME_OF_BUSINESS_LABEL = \"Name of business\";\n static NOTIFY_SIGNAGE_REMOVAL_LABEL = \"Notify the municipality within this period of signage is removed?\";\n static POSITION_OF_THE_DISPLAY_LABEL = \"Position of the display\";\n static HEIGHT_LABEL = \"Height(m)\";\n static WIDTH_LABEL = \"Width(m)\";\n static DEPTH_LABEL = \"Depth(m)\";\n static MATERIAL_LABEL = \"Material\";\n static COLOURS_LABEL = \"Colours\";\n static FRONTAL_AREA_LABEL = `Frontal area (m2)`;\n static TOTAL_AREA_LABEL = `Total area (m2)`;\n static SIGN_TYPE_LABEL = \"Sign type\";\n static WEIGHT_LABEL = \"Weight (kg)\";\n static WATTAGE_LABEL = \"Wattage\";\n static SIGN_CONTRACTOR_LABEL = \"Sign contractor name\";\n static SIGN_CONTRACTOR_ADDRESS_LABEL = \"Sign contractor address\";\n static SIGN_CONTRACTOR_TELEPHONE_LABEL = \"Sign contractor telephone number\";\n // 1 year permanent\n static FOR_SALE_LABEL = \"For sale\";\n static ON_SHOW_LABEL = \"On show\";\n static TO_LET_LABEL = \"To-Let\";\n static SOLD_LABEL = \"Sold\";\n static CONSTRUCTION_BOARD_SIGN_LABEL = \"Construction board sign\";\n static OTHER_LABEL = \"Other\";\n // 5 year permanent\n static GROUND_SIGN_FORM_LABEL = \"Ground sign\";\n static FLAG_FORM_LABEL = \"Flag\";\n static SANDWICH_BOARD_FORM_LABEL = \"Sandwich board\";\n static PYLON_FORM_LABEL = \"Pylon\";\n static WALL_SIGN_FORM_LABEL = \"Wall sign\";\n static BILLBOARD_FORM_LABEL = \"Billboard\";\n static BUILDING_ATTACHMENT_LABEL = \"Building attachment\";\n static PROJECTING_WALL_SIGN_LABEL = \"Projecting wall sign\";\n static WALL_PAINTED_LABEL = \"Wall painted\";\n static ROOF_SIGN_LABEL = \"Roof sign\";\n static SKY_SIGN_LABEL = \"Sky sign\";\n static VERANDA_LABEL = \"Veranda\";\n static AERIAL_SIGN_LABEL = \"Aerial sign\";\n static WINDOW_SIGN_LABEL = \"Window sign\";\n static SCHOOL_SIGN_LABEL = \"School sign\";\n static COMBINATION_SIGN_LABEL = \"Combination sign\";\n static UNDER_AWNING_SIGN_LABEL = \"Under awning sign\";\n static FLAG_SIGN_LABEL = \"Flag sign\";\n static CANOPY_LABEL = \"Canopy\";\n static BALCONY_LABEL = \"Balcony\";\n static ELECTRONIC_SIGN_LABEL = \"Electronic sign (Excluding billboards / Gantries)\";\n static DEVELOPMENT_BOARD_LABEL = \"Development board\";\n static OTHER_FIVE_YEAR_LABEL = \"Other (specify)\";\n static NON_ILLUMINATED_BILLBOARD_LABEL = \"Non-Illuminated billboard\";\n static DIGITAL_BILLBOARD_LABEL = \"Digital billboard\";\n static NON_ILLUMINATED_GANTRY_LABEL = \"Non-Illuminated gantry\";\n static DIGITAL_GANTRY_LABEL = \"Digital Gantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_LABEL = \"Internally illuminated billboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_LABEL = \"Internally illuminated gantry\";\n // Temporary ApplicationType Labels\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL = \"Municipal consumer account number\";\n static PERSON_RESPONSIBLE_CONTROL_LABEL = \"Person responsible\";\n static ADVERTISEMENTS_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENTS_FORM_CONTROL_NAME = \"advertisements\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static APPLICATION_DURATION_FORM_CONTROL_NAME = \"permanentApplicationDuration\";\n static DISPLAY_START_DATE_FORM_CONTROL_NAME = \"displayStartDate\";\n static DISPLAY_END_DATE_FORM_CONTROL_NAME = \"displayEndDate\";\n static DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME = \"displayRemovalDate\";\n static NUMBER_OF_POSTERS_FORM_CONTROL_NAME = \"numberOfPosters\";\n static NAME_OF_BUSINESS_FORM_CONTROL_NAME = \"nameOfBusiness\";\n static NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME = \"notifySignageRemovalPeriod\";\n static POSITION_OF_DISPLAY_FORM_CONTROL_NAME = \"positionOfDisplay\";\n static HEIGHT_FORM_CONTROL_NAME = \"dimensionsH\";\n static WIDTH_FORM_CONTROL_NAME = \"dimensionsW\";\n static DEPTH_FORM_CONTROL_NAME = \"dimensionsD\";\n static MATERIAL_FORM_CONTROL_NAME = \"material\";\n static COLOURS_FORM_CONTROL_NAME = \"colours\";\n static FRONTAL_AREA_FORM_CONTROL_NAME = \"frontalArea\";\n static TOTAL_AREA_FORM_CONTROL_NAME = \"totalArea\";\n static SIGN_TYPE_FORM_CONTROL_NAME = \"signType\";\n static WEIGHT_FORM_CONTROL_NAME = \"weight\";\n static WATTAGE_FORM_CONTROL_NAME = \"wattage\";\n static SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME = \"contractorName\";\n static SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME = \"contractorAddress\";\n static SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME = \"contractorTelephone\";\n static FOR_SALE_FORM_CONTROL_NAME = \"forSale\";\n static ON_SHOW_FORM_CONTROL_NAME = \"onShow\";\n static TO_LET_FORM_CONTROL_NAME = \"toLet\";\n static SOLD_FORM_CONTROL_NAME = \"sold\";\n static OTHER_FORM_CONTROL_NAME = \"otherOneYear\";\n static CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME = \"constructionBoardSign\";\n // 5year permanent\n static GROUND_SIGN_FORM_CONTROL_NAME = \"groundSign\";\n static FLAG_FORM_CONTROL_NAME = \"flag\";\n static SANDWICH_BOARD_FORM_CONTROL_NAME = \"sandwichBoard\";\n static PYLON_FORM_CONTROL_NAME = \"pylon\";\n static WALL_SIGN_FORM_CONTROL_NAME = \"wallSign\";\n static BILLBOARD_FORM_CONTROL_NAME = \"billboard\";\n static BUILDING_ATTACHMENT_FORM_CONTROL_NAME = \"buildingAttachment\";\n static PROJECTING_WALL_SIGN_FORM_CONTROL_NAME = \"projectingWallSign\";\n static WALL_PAINTED_FORM_CONTROL_NAME = \"wallPainted\";\n static ROOF_SIGN_FORM_CONTROL_NAME = \"roofSign\";\n static SKY_SIGN_FORM_CONTROL_NAME = \"skySign\";\n static VERANDA_FORM_CONTROL_NAME = \"veranda\";\n static AERIAL_SIGN_FORM_CONTROL_NAME = \"aerialSign\";\n static WINDOW_SIGN_FORM_CONTROL_NAME = \"windowSign\";\n static SCHOOL_SIGN_FORM_CONTROL_NAME = \"schoolSign\";\n static COMBINATION_SIGN_FORM_CONTROL_NAME = \"combinationSign\";\n static UNDER_AWNING_SIGN_FORM_CONTROL_NAME = \"underAwningSign\";\n static FLAG_SIGN_FORM_CONTROL_NAME = \"flagSign\";\n static CANOPY_FORM_CONTROL_NAME = \"canopy\";\n static BALCONY_FORM_CONTROL_NAME = \"balcony\";\n static ELECTRONIC_SIGN_FORM_CONTROL_NAME = \"electronicSign\";\n static DEVELOPMENT_BOARD_FORM_CONTROL_NAME = \"developmentBoard\";\n static OTHER_FIVE_YEAR_FORM_CONTROL_NAME = \"otherFiveYear\";\n static NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"nonIlluminatedBillboard\";\n static DIGITAL_BILLBOARD_FORM_CONTROL_NAME = \"digitalBillboard\";\n static NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"nonIlluminatedGantry\";\n static DIGITAL_GANTRY_FORM_CONTROL_NAME = \"digitalGantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"internallyIlluminatedBillboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"internallyIlluminatedGantry\";\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n // Permanent ApplicationType Controls\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static PERSON_RESPONSIBLE_CONTROL_NAME = \"personResponsible\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationDuration: {\n required: `Application duration ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayStartDate: {\n required: `Display start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayEndDate: {\n required: `Display end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayRemovalDate: {\n required: `Display removal date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfPosters: {\n required: `Number of posters ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}.Please enter a valid Number with no decimals`\n },\n nameOfBusiness: {\n required: `Name of business ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n notifySignageRemovalPeriod: {\n required: `Notify signage removal period ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n positionOfTheDisplay: {\n required: `Position of the display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n height: {\n required: `Height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n width: {\n required: `Width ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n depth: {\n required: `Depth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n material: {\n required: `Material ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n colours: {\n required: `Colours ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n frontalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signType: {\n required: `Sign type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n weight: {\n required: `Weight ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n wattage: {\n required: `Wattage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractor: {\n required: `Sign contractor name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorAddress: {\n required: `Sign contractor address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorTelephone: {\n required: `Sign contractor telephone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedBillboard: {\n required: `Non-Illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalBillboard: {\n required: `Digital billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedGantry: {\n required: `Non-Illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalGantry: {\n required: `digital gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedBillboard: {\n required: `Internally illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedGantry: {\n required: `Internally illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n municipalConsumerAccountNumber: {\n required: `Municipal consumer account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationAConstants } from \"./create-application-location-a.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationAComponent = class CreateApplicationLocationAComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n modalService;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n displayMap = false;\n activeTabIndex;\n advertisementsForm;\n descriptionLabel1 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationAConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationAConstants.VALIDATION_MESSAGES;\n advertisementsFormGroupName = CreateApplicationLocationAConstants.ADVERTISEMENT_FORM_GROUP_NAME;\n advertisementsFormControlName = CreateApplicationLocationAConstants.ADVERTISEMENT_FORM_CONTROL_NAME;\n areaOfDisplayFormControlName = CreateApplicationLocationAConstants.AREA_OF_DISPLAY_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = CreateApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n layerReference = CreateApplicationLocationAConstants.LAYER_REFERENCE;\n applicationTypeFormControlName = CreateApplicationLocationAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n typeLabel = CreateApplicationLocationAConstants.APPLICATION_TYPE_LABEL;\n streetNamesFormControl = CreateApplicationLocationAConstants.STREET_NAMES_FORM_CONTROL;\n propertyDescriptionFormControlName = CreateApplicationLocationAConstants.PROPERTY_DESCRIPTION_FORM_CONTROL_NAME;\n addressOrStreetFormControlName = CreateApplicationLocationAConstants.ADDRESS_OR_STREET_FORM_CONTROL_NAME;\n areaOfDisplayLabel = CreateApplicationLocationAConstants.AREA_OF_CONTROL_LABEL;\n streetNamesLabel = CreateApplicationLocationAConstants.STREET_NAMES_LABEL;\n propertyDescriptionLabel = CreateApplicationLocationAConstants.PROPERTY_DESCRIPTION_LABEL;\n addressOrStreetLabel = CreateApplicationLocationAConstants.ADDRESS_OR_STREET_LABEL;\n removeAdvertisementLabel = CreateApplicationLocationAConstants.REMOVE_ADVERTISEMENT_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = CreateApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n selectedAdvertisementType;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n areaOfDisplayLookups = LookupConstants.AREA_OF_DISPLAY_LOOKUPS_A;\n showPermanentApplicationsFields = false;\n showTemporaryApplicationsFields = false;\n permanentOrTemporaryLookupOptions = CreateApplicationLocationAConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n applicationTypesLookupsOptions = [];\n applicationTypesLookups = [];\n showApplicationType = false;\n isMapLoaded = false;\n sketchTool;\n selectedGraphic = null;\n mapComponent;\n selectedPropertySubscription;\n getLookupsObservableSubscription;\n selectedApplicationBpamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n markStepFormGroupAsTouchedSubscription;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appControllerService, modalService, mapService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.modalService = modalService;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"applicationType\")) {\n // application is coming from the application details step\n this.loadFormsAndData();\n }\n else {\n this.getLookups();\n }\n this.setupSubscriptions();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata() {\n }\n onPermanentOrTemporaryAdvertisementSelected($event) {\n const advertisementType = $event.target.value;\n const advertisementFormArray = this.getAdvertisements();\n this.loadMap();\n if (advertisementFormArray.length > 0) {\n this.confirmChangeFromUser(advertisementType);\n }\n else {\n this.handleAdvertisementTypeValueChanged(advertisementType);\n }\n }\n getAdvertisements() {\n return this.advertisementsForm.get(this.advertisementsFormControlName);\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getAdvertisements().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveFeature(featureIndex) {\n this.getAdvertisements().removeAt(featureIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.advertisementsForm = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n if (this.advertisementsForm.pristine) {\n this.advertisementsForm.enable();\n this.advertisementsForm.reset();\n }\n }\n setAdvertisementData(propertyObject, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"getAdvertisementData\");\n let newAdvertisingFormGroup;\n if (propertyObject) {\n newAdvertisingFormGroup = this.setAdvertisingFormGroup(propertyObject, geometry);\n }\n else {\n newAdvertisingFormGroup = this.createAdvertisingFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.showApplicationTypeField();\n this.setApplicationValidators(newAdvertisingFormGroup);\n this.setPropertyTrueCentroidData(newAdvertisingFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"propertyData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getAdvertisements().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n try {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"getAdvertisementData\");\n }\n }\n }\n subscribeToAdvertisement() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n const objectId = this.featureDataAlternateColumnName(property.attributes, \"OBJECTID\", \"objectId\");\n const propertyHasAlreadyBeenAddedBefore = this.checkIfSelectedPropertyHasAlreadyBeenAdded(objectId);\n if (!propertyHasAlreadyBeenAddedBefore) {\n this.setAdvertisementData(property.attributes, property.geometry);\n }\n }\n });\n }\n checkIfSelectedPropertyHasAlreadyBeenAdded(objectId) {\n let featureHasAlreadyBeenAddedBefore = false;\n this.getAdvertisements().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n featureHasAlreadyBeenAddedBefore = true;\n this.appControllerService.showMessage(CreateApplicationLocationAConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"add property\");\n }\n });\n return featureHasAlreadyBeenAddedBefore;\n }\n featureDataAlternateColumnName(featureObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(featureObject)) {\n if (key === name1) {\n returnVal = featureObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = featureObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = featureObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n setAdvertisingFormGroup(property, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(property, \"OBJECTID\", \"objectId\")),\n areaOfDisplay: new FormControl(null),\n streetNames: new FormControl(null),\n streetOrAddress: new FormControl(null),\n addressStreetInformation: new FormControl(null),\n type: new FormControl(null, Validators.required),\n propertyDescription: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setPropertyTrueCentroidData(newFormGroup, trueCentroidResponse) {\n const advertisementsArray = this.getAdvertisements();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n advertisementsArray?.clear();\n advertisementsArray.push(newFormGroup);\n this.activeTabIndex = advertisementsArray.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n setApplicationValidators(formGroup) {\n formGroup.get(this.applicationTypeFormControlName).setValidators(Validators.required);\n formGroup.updateValueAndValidity();\n if (this.selectedAdvertisementType?.toLowerCase() === \"temporary\") {\n this.addTemporaryAdvertisementFieldsValidators(formGroup);\n }\n if (this.selectedAdvertisementType?.toLowerCase() === \"permanent\") {\n this.addPermanentAdvertisementFieldsValidators(formGroup);\n }\n formGroup.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n handleTemporaryApplicationSelected() {\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = true;\n }\n handlePermanentApplicationSelected() {\n this.showPermanentApplicationsFields = true;\n this.showTemporaryApplicationsFields = false;\n }\n initializeSketchTools() {\n this.sketchTool = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketchTool.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.handleSketchComplete(event);\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n }\n handleSketchComplete(event) {\n this.selectedGraphic = event.graphic;\n this.setAdvertisementData(null, this.selectedGraphic.geometry);\n }\n createAdvertisingFormGroup(geometry) {\n return new FormGroup({\n areaOfDisplay: new FormControl(null),\n streetNames: new FormControl(null),\n streetOrAddress: new FormControl(null),\n addressStreetInformation: new FormControl(null),\n type: new FormControl(null, Validators.required),\n propertyDescription: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n setMapToolsForTemporaryAdvertisement() {\n this.sketchTool.create(\"polygon\");\n this.sketchTool.visibleElements = CreateApplicationLocationAConstants.POLYGON_SKETCH_TOOLS_OPTIONS;\n }\n setMapToolsForPermanentAdvertisement() {\n this.sketchTool.create(\"point\");\n this.sketchTool.visibleElements = CreateApplicationLocationAConstants.POINT_SKETCH_TOOLS_OPTIONS;\n }\n confirmChangeFromUser(advertisementType) {\n const dialogRef = this.modalService.open(PopUpComponent, CreateApplicationLocationAConstants.MODAL_OPTIONS);\n dialogRef.componentInstance.title = CreateApplicationLocationAConstants.MODAL_DIALOG_TITLE;\n dialogRef.componentInstance.contentMessage = CreateApplicationLocationAConstants.MODAL_DIALOG_MESSAGE;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((canContinueMakingChanges) => {\n if (canContinueMakingChanges) {\n this.resetLocationDetails();\n this.handleAdvertisementTypeValueChanged(advertisementType);\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n // if (this.selectedApplication && this.selectedApplication.id > 0) {\n // this.clearApplicationValues(this.selectedApplication.id);\n // }\n }\n else {\n advertisementType.toLowerCase() === \"temporary\" ? this.selectedAdvertisementType = \"permanent\" : this.selectedAdvertisementType = \"temporary\";\n }\n });\n }\n resetLocationDetails() {\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = false;\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n const advertisementsArray = this.getAdvertisements();\n advertisementsArray.clearValidators();\n advertisementsArray.clear();\n this.changeDetectorRefs.detectChanges();\n }\n handleAdvertisementTypeValueChanged(advertisementType) {\n this.selectedAdvertisementType = advertisementType;\n if (advertisementType?.toLowerCase() === \"temporary\") {\n this.setMapToolsForTemporaryAdvertisement();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n }\n if (advertisementType?.toLowerCase() === \"permanent\") {\n this.setMapToolsForPermanentAdvertisement();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType);\n }\n }\n showMap() {\n this.displayMap = true;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n this.onGetLookupsCompleted(lookups);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Lookups\", error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(lookups) {\n this.applicationTypesLookupsOptions = [];\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypesLookups.push(lookUpContent);\n }\n });\n this.aflaModuleStrategyService.lookups.set(\"applicationType\", this.applicationTypesLookups);\n // if (!this.aflaModuleStrategyService.form.pristine && this.aflaModuleStrategyService.form.touched) {\n if ((this.selectedApplication && this.selectedApplication.polygon) || (this.selectedApplication && this.selectedApplication.point)) {\n // check using polygon or point as it is impossible to move past the first step without saving one or the other\n // if application has either point or polygon saved then it is not a new application, continue to retrieve previously save data\n // this.checkApplicationData();\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n this.changeDetectorRefs.detectChanges();\n }\n addTemporaryAdvertisementFieldsValidators(newAdvertisingFormGroup) {\n newAdvertisingFormGroup.get(this.areaOfDisplayFormControlName).addValidators(Validators.required);\n newAdvertisingFormGroup.get(this.streetNamesFormControl).addValidators(Validators.required);\n newAdvertisingFormGroup.get(this.propertyDescriptionFormControlName).addValidators(Validators.required);\n }\n addPermanentAdvertisementFieldsValidators(newAdvertisingFormGroup) {\n newAdvertisingFormGroup.get(this.addressOrStreetFormControlName).addValidators(Validators.required);\n }\n setupSubscriptions() {\n this.subscribeToAdvertisement();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n // this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getAdvertisements().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.advertisementsForm.reset();\n this.showPermanentApplicationsFields = false;\n this.showTemporaryApplicationsFields = false;\n this.displayMap = false;\n this.hideApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n filterApplicationTypeAccordingToSelectedAdvertisementType(advertisementType) {\n if (advertisementType.toLowerCase() === \"temporary\") {\n this.applicationTypesLookupsOptions = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(\"temporary\"))\n this.applicationTypesLookupsOptions.push(applicationType);\n });\n this.applicationTypesLookupsOptions.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n if (advertisementType.toLowerCase() === \"permanent\") {\n this.applicationTypesLookupsOptions = [];\n this.applicationTypesLookups.forEach((applicationType) => {\n if (applicationType.value.toLowerCase().includes(\"permanent\"))\n this.applicationTypesLookupsOptions.push(applicationType);\n });\n this.applicationTypesLookupsOptions.sort((a, b) => {\n return a.value > b.value ? 1 : -1;\n });\n }\n }\n checkApplicationData() {\n const isFormPristine = this.advertisementsForm.pristine;\n const isFormUnTouched = this.advertisementsForm.untouched;\n const isFormInvalid = this.advertisementsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid && this.selectedApplication) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(selectedApplication) {\n this.displayMap = true;\n this.loadMap();\n this.setComponentData(selectedApplication);\n }\n setComponentData(selectedApplication) {\n const advertisementControl = this.getAdvertisements();\n let point;\n let polygon;\n const isAdvertisingPermanentOrTemporaryValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n point = this.selectedApplication.point;\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n polygon = this.selectedApplication.polygon;\n }\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(isAdvertisingPermanentOrTemporaryValue.toLowerCase() === \"temporary\" ? polygon.shape : point.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const updatedAdvertisementFormGroup = this.getUpdatedAdvertisementFormGroup(selectedApplication, geom);\n this.advertisementsForm.markAllAsTouched();\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n this.setAdvertisementType();\n this.showApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n this.setApplicationType(updatedAdvertisementFormGroup);\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, updatedAdvertisementFormGroup);\n this.setApplicationValidators(updatedAdvertisementFormGroup);\n advertisementControl.push(updatedAdvertisementFormGroup);\n this.activeTabIndex = advertisementControl.length - 1;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationLocationAConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n getUpdatedAdvertisementFormGroup(selectedApplication, geom) {\n return new FormGroup({\n areaOfDisplay: new FormControl(selectedApplication.polygon?.areaOfDisplay),\n streetNames: new FormControl(selectedApplication.polygon?.streetNames),\n propertyDescription: new FormControl(selectedApplication.polygon?.propertyDescription),\n streetOrAddress: new FormControl(selectedApplication.frontalArea),\n addressStreetInformation: new FormControl(selectedApplication.point?.addressStreetInformation),\n type: new FormControl(selectedApplication.type, Validators.required),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n loadMap() {\n if (!this.displayMap) {\n this.showMap();\n this.changeDetectorRefs.detectChanges();\n this.initializeSketchTools();\n }\n }\n showApplicationTypeField() {\n this.showApplicationType = true;\n }\n hideApplicationTypeField() {\n this.showApplicationType = false;\n }\n onApplicationTypeSelected($event) {\n const selectedApplicationType = $event.target.value;\n const advertisementType = this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n this.advertisementsForm.get(this.applicationTypeFormControlName).setValue(selectedApplicationType);\n const advertisingFormArray = this.advertisementsForm.get(\"advertisements\");\n const selectedAdvertisementFormGroup = advertisingFormArray.controls[0];\n const applicationTypeControl = selectedAdvertisementFormGroup.get(this.applicationTypeFormControlName);\n applicationTypeControl.setValue(selectedApplicationType);\n applicationTypeControl.updateValueAndValidity();\n if (advertisementType?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (advertisementType?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setComponentData(this.selectedApplication);\n }\n });\n }\n setAdvertisementType() {\n const isAdvertisingPermanentOrTemporaryValue = this.selectedApplication.isAdvetisingPermanentOrTemporary;\n this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).setValue(isAdvertisingPermanentOrTemporaryValue);\n }\n setApplicationType(updatedAdvertisementFormGroup) {\n const applicationTypeValue = this.selectedApplication.type;\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(this.selectedApplication.isAdvetisingPermanentOrTemporary);\n const applicationTypeControl = updatedAdvertisementFormGroup.get(this.applicationTypeFormControlName);\n this.advertisementsForm.get(this.applicationTypeFormControlName).setValue(applicationTypeValue);\n applicationTypeControl.setValue(applicationTypeValue);\n }\n loadFormsAndData() {\n // set application type dropdowns\n this.applicationTypesLookups = this.aflaModuleStrategyService.lookups.get(\"applicationType\");\n // show map\n this.displayMap = true;\n this.loadMap();\n // set various form data\n this.setAdvertisementType();\n this.showApplicationTypeField();\n this.changeDetectorRefs.detectChanges();\n this.filterApplicationTypeAccordingToSelectedAdvertisementType(this.selectedApplication.isAdvetisingPermanentOrTemporary);\n if (this.selectedApplication.isAdvetisingPermanentOrTemporary?.toLowerCase() === \"permanent\") {\n this.handlePermanentApplicationSelected();\n }\n if (this.selectedApplication.isAdvetisingPermanentOrTemporary?.toLowerCase() === \"temporary\") {\n this.handleTemporaryApplicationSelected();\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.advertisementsForm && formGroupName === this.advertisementsFormGroupName) {\n this.advertisementsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: NgbModal },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: false },] }]\n };\n};\nCreateApplicationLocationAComponent = __decorate([\n Component({\n selector: \"app-create-application-location-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationAComponent);\nexport { CreateApplicationLocationAComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationAConstants {\n static REMOVE_ADVERTISEMENT_LABEL = \"Remove advertisement\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the advertisement for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in to the correct advertisement and click on the advertisement. For permanent applications, please put a point on where it will be.\";\n static DESCRIPTION_LABEL_3 = \"For temporary applications, please draw an area around where all your advertisements will be placed.\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static FEATURE_REQUIRED = \"Please select an advertisement type and a feature on the map before saving or continuing with the application process\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static ADVERTISEMENT_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENT_FORM_CONTROL_NAME = \"advertisements\";\n static AREA_OF_DISPLAY_FORM_CONTROL_NAME = \"areaOfDisplay\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static STREET_NAMES_FORM_CONTROL = \"streetNames\";\n static PROPERTY_DESCRIPTION_FORM_CONTROL_NAME = \"propertyDescription\";\n static ADDRESS_OR_STREET_FORM_CONTROL_NAME = \"addressStreetInformation\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static AREA_OF_CONTROL_LABEL = \"Area of control\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static STREET_NAMES_LABEL = \"Street names\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description (If it is a private sale or permanent advertisement)\";\n static ADDRESS_OR_STREET_LABEL = \"Address / Street information\";\n static LAYER_REFERENCE = \"Advertising graphics\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static VALIDATION_MESSAGES = {\n areaOfDisplay: {\n required: `Area of control ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, streetNames: {\n required: `Street names ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, addressOrStreet: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [{ code: \"permanent\", value: \"permanent\" }, { code: \"temporary\", value: \"temporary\" }];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false, circle: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static POINT_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n circle: false, polygon: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsBlConstants } from \"./create-application-details-bl.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsBlComponent = class CreateApplicationDetailsBlComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsBlConstants.VALIDATION_MESSAGES;\n detailsFormGroupName = CreateApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsBlConstants.DESCRIPTION_FORM_CONTROL_NAME;\n typeFormControlName = CreateApplicationDetailsBlConstants.TYPE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n descriptionLabel = CreateApplicationDetailsBlConstants.DESCRIPTION_LABEL;\n typeLabel = CreateApplicationDetailsBlConstants.TYPE_LABEL;\n tradeNameLabel = CreateApplicationDetailsBlConstants.TRADE_NAME_LABEL;\n tradeNameFormControlName = CreateApplicationDetailsBlConstants.TRADE_NAME_CONTROL;\n businessOwnerLabel = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_LABEL;\n businessOwnerFormControlName = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_CONTROL;\n businessOwnerHeading = CreateApplicationDetailsBlConstants.BUSINESS_OWNER_HEADING;\n businessOwnerDisableFilterBy = true;\n businessOwnerDisableEditing = false;\n businessOwnerGroups = [];\n applicationTypes = [];\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.detailsForm.pristine || this.isApplicationLoadedFromTheSearchPage) {\n // this is either the first time this step is loaded or it is being loaded from the search page\n this.getLookups();\n }\n else {\n if (this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n this.setupSubscribers();\n }\n loadMetadata(stepMeta) {\n try {\n this.businessOwnerGroups = stepMeta.businessOwnerGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsBlConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME, this.applicationTypes);\n if (this.isApplicationLoadedFromTheSearchPage) {\n // only run when the application is loaded from the search page\n this.checkApplicationData();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.typeFormControlName).setValue(this.selectedApplication.type);\n this.detailsForm.get(this.tradeNameFormControlName).setValue(this.selectedApplication.tradeName);\n this.detailsForm.get(this.businessOwnerFormControlName).setValue(this.selectedApplication.businessOwner[0]);\n }\n setupSubscribers() {\n this.subscribeToCheckFormValidity();\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsBlComponent = __decorate([\n Component({\n selector: \"app-create-application-details-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsBlComponent);\nexport { CreateApplicationDetailsBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsBlConstants {\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static DESCRIPTION_LABEL = \"Description\";\n static TYPE_LABEL = \"Application type\";\n static TRADE_NAME_LABEL = \"Trade name under which business to be conducted?\";\n static BUSINESS_OWNER_LABEL = \"Business owner\";\n static BUSINESS_OWNER_HEADING = \"Business owner\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADE_NAME_CONTROL = \"tradeName\";\n static BUSINESS_OWNER_CONTROL = \"businessOwner\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n tradeName: {\n required: `Trade name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n businessOwner: {\n required: `Business owner ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationLocationBlConstants } from \"./create-application-location-bl.constants\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationBlComponent = class CreateApplicationLocationBlComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationBlConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationBlConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationBlConstants.ERF_NO_CONTROL;\n propertiesFormGroupName = CreateApplicationLocationBlConstants.PROPERTIES_FORM_GROUP_NAME;\n propertiesFormControlName = CreateApplicationLocationBlConstants.PROPERTIES_FORM_CONTROL;\n subdivisionControl = CreateApplicationLocationBlConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationBlConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationBlConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationBlConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationBlConstants.ADDRESS_CONTROL;\n unitNumberControl = CreateApplicationLocationBlConstants.UNIT_NUMBER_CONTROL;\n shopNumberControl = CreateApplicationLocationBlConstants.SHOP_NUMBER_CONTROL;\n titleDeedNumberControl = CreateApplicationLocationBlConstants.TITLE_DEED_NUMBER_CONTROL;\n titleDeedDescriptionNumberControl = CreateApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationBlConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationBlConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationBlConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationBlConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationBlConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationBlConstants.ADDRESS_TEXT_PLACEHOLDER;\n unitNumberPlaceHolder = CreateApplicationLocationBlConstants.UNIT_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationBlConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n shopNumberTextPlaceHolder = CreateApplicationLocationBlConstants.SHOP_NUMBER_TEXT_PLACEHOLDER;\n titleDeedNumberTextPlaceHolder = CreateApplicationLocationBlConstants.TITLE_DEED_NUMBER_TEXT_PLACEHOLDER;\n nameOfAccommodationTextPlaceholder = CreateApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER;\n nameOfAccommodationControl = CreateApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_CONTROL;\n titleDeedDescriptionTextPlaceHolder = CreateApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removePropertyLabel = CreateApplicationLocationBlConstants.REMOVE_PROPERTY_LABEL;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n layerReference = CreateApplicationLocationBlConstants.LAYER_REF;\n hasLoadedApplicationProperties = false;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n applicationCreateServiceSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getProperties() {\n return this.propertiesForm.get(this.propertiesFormControlName);\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.propertiesForm.pristine && this.isApplicationLoadedFromTheSearchPage) {\n // this is either the first time this step is loaded or it is being loaded from the search page\n this.checkApplicationData();\n }\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata() {\n }\n onBtnRemoveSelectedPropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n farmNoControl.clearValidators();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.clearValidators();\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n }\n setupSubscribers() {\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.getProperties();\n let tabIndex = 0;\n this.selectedApplication.properties.sort((a, b) => (b?.id - a?.id));\n this.selectedApplication.properties.forEach(savedProperty => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(savedProperty.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.getUpdatedPropertiesFormGroup(savedProperty, geom);\n this.propertiesForm.markAllAsTouched();\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(this.active);\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationBlConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n tabIndex++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"SetPropertyData\");\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgCode\");\n const objectId = CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"OBJECTID\", \"objectid\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationBlConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"SetPropertyData\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n objectId: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"OBJECTID\", \"objectid\")),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erno\")),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n unitNumber: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"UnitNumber\", \"unitnumber\")),\n shopNumber: new FormControl(null),\n accommodationName: new FormControl(null),\n titleDeedNumber: new FormControl(null, Validators.required),\n titleDeedDescription: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyObject, \"TitleDeed\", \"titledeed\"), Validators.required),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.handleAddProperty(newProperty);\n });\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n propertyControl.push(newProperty);\n if (this.getProperties().controls.length > 1) {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(CreateApplicationLocationBlConstants.ONLY_ONE_PROPERTY_ALLOWED, AlertType.Warning);\n return;\n }\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(this.active);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n getUpdatedPropertiesFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n erfNo: new FormControl(savedProperty.erfNumber),\n subdivision: new FormControl(savedProperty.subdivision),\n allotment: new FormControl(savedProperty.allotment, [Validators.required]),\n farmNo: new FormControl(savedProperty.farmNumber),\n address: new FormControl(savedProperty.address, [Validators.required]),\n sgCode: new FormControl(savedProperty.sgCode, [Validators.required]),\n geometry: new FormControl(geom),\n unitNumber: new FormControl(savedProperty.unitNumber),\n shopNumber: new FormControl(savedProperty.shopNumber),\n accommodationName: new FormControl(savedProperty.accommodationName),\n titleDeedNumber: new FormControl(savedProperty.titleDeedNumber, Validators.required),\n titleDeedDescription: new FormControl(savedProperty.titleDeedDescription, Validators.required),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n checkApplicationData() {\n const isFormPristine = this.propertiesForm.pristine;\n const isFormUnTouched = this.propertiesForm.untouched;\n const isFormInvalid = this.propertiesForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateComponentData();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationBlComponent = __decorate([\n Component({\n selector: \"app-create-application-location-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationBlComponent);\nexport { CreateApplicationLocationBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationBlConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static LAYER_REF = \"Property graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static PROPERTY_REQUIRED = \"Please select a property before saving or continuing with the application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static UNIT_NUMBER_CONTROL = \"unitNumber\";\n static SHOP_NUMBER_CONTROL = \"shopNumber\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static NAME_OF_ACCOMMODATION_CONTROL = \"accommodationName\";\n static TITLE_DEED_DESCRIPTION_CONTROL = \"titleDeedDescription\";\n static PROPERTIES_FORM_CONTROL = \"properties\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static UNIT_NUMBER_PLACEHOLDER = \"Unit number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static SHOP_NUMBER_TEXT_PLACEHOLDER = \"Shop number\";\n static TITLE_DEED_NUMBER_TEXT_PLACEHOLDER = \"Title deed number (Lot number)\";\n static NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER = \"Name of accommodation\";\n static TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER = \"Title deed description\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedDescription: {\n required: `Title deed description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsBpamsConstants } from \"./create-application-details-bpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsBpamsComponent = class CreateApplicationDetailsBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsBpamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = CreateApplicationDetailsBpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsBpamsConstants.DESCRIPTION_LABEL;\n isMinorBuildingWorkLabel = CreateApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_LABEL;\n sectorLabel = CreateApplicationDetailsBpamsConstants.SECTOR_LABEL;\n isRDPLabel = CreateApplicationDetailsBpamsConstants.IS_RDP_LABEL;\n buildingUseLabel = CreateApplicationDetailsBpamsConstants.BUILDING_USE_LABEL;\n applicationTypeLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_TYPE_LABEL;\n estimatedByLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_LABEL;\n estimatedCostLabel = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_LABEL;\n previousReferenceNumberLabel = CreateApplicationDetailsBpamsConstants.PREVIOUS_REFERENCE_NUMBER_LABEL;\n isResubmissionLabel = CreateApplicationDetailsBpamsConstants.IS_RESUBMISSION_LABEL;\n isMinorBuildingWorkFormControlName = CreateApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME;\n sectorFormControlName = CreateApplicationDetailsBpamsConstants.SECTOR_FORM_CONTROL_NAME;\n isRDPFormControlName = CreateApplicationDetailsBpamsConstants.IS_RDP_FORM_CONTROL_NAME;\n buildingUseFormControlName = CreateApplicationDetailsBpamsConstants.BUILDING_USE_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n estimatedByFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME;\n estimatedCostFormControlName = CreateApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME;\n previousReferenceNumberFormControlName = CreateApplicationDetailsBpamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n isResubmissionFormControlName = CreateApplicationDetailsBpamsConstants.IS_RESUBMISSION_FORM_CONTROL_NAME;\n yesNoOptions = [];\n sectorOptions = [];\n buildingUseOptions = [];\n applicationTypeOptions = [];\n estimatedByOptions = [];\n selectedApplicationBpamsSubscription;\n markStepFormGroupAsTouchedSubscription;\n formGroupName = CreateApplicationDetailsBpamsConstants.DETAILS_FORM_GROUP_NAME;\n supportResubmissions = false;\n isResubmission = false;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"sectorOptions\")) {\n this.sectorOptions = this.aflaModuleStrategyService.lookups.get(\"sectorOptions\");\n this.buildingUseOptions = this.aflaModuleStrategyService.lookups.get(\"buildingUseOptions\");\n this.applicationTypeOptions = this.aflaModuleStrategyService.lookups.get(\"applicationTypeOptions\");\n this.estimatedByOptions = this.aflaModuleStrategyService.lookups.get(\"estimatedByOptions\");\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToSelectedApplication();\n }\n else {\n this.getLookups();\n }\n this.setupSubscribers();\n if (this.appController.moduleAllowResubmission) {\n this.supportResubmissions = true;\n }\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.formGroupName);\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'BuildingUse' or name eq 'BuildingSector' or name eq 'ApplicationType' or name eq 'PropertyEstimatedBy')`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n const buildingUse = [];\n const sector = [];\n const applicationType = [];\n const estimatedBy = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"BuildingUse\") {\n buildingUse.push(JSON.parse(item.content));\n }\n if (item.name === \"BuildingSector\") {\n sector.push(JSON.parse(item.content));\n }\n if (item.name === \"ApplicationType\") {\n applicationType.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyEstimatedBy\") {\n estimatedBy.push(JSON.parse(item.content));\n }\n });\n }\n this.yesNoOptions = [];\n buildingUse.sort((a, b) => a.value.localeCompare(b.value));\n sector.sort((a, b) => a.value.localeCompare(b.value));\n applicationType.sort((a, b) => a.value.localeCompare(b.value));\n estimatedBy.sort((a, b) => a.value.localeCompare(b.value));\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.aflaModuleStrategyService.lookups.set(\"buildingUseOptions\", buildingUse);\n this.buildingUseOptions = buildingUse;\n this.aflaModuleStrategyService.lookups.set(\"sectorOptions\", sector);\n this.sectorOptions = sector;\n this.aflaModuleStrategyService.lookups.set(\"applicationTypeOptions\", applicationType);\n this.applicationTypeOptions = applicationType;\n this.aflaModuleStrategyService.lookups.set(\"estimatedByOptions\", estimatedBy);\n this.estimatedByOptions = estimatedBy;\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.isMinorBuildingWork) {\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).setValue(application.isMinorBuildingWork);\n }\n if (application.sector) {\n this.detailsForm.get(this.sectorFormControlName).setValue(application.sector);\n }\n if (application.isRdp) {\n this.detailsForm.get(this.isRDPFormControlName).setValue(application.isRdp);\n }\n if (application.buildingUse) {\n this.detailsForm.get(this.buildingUseFormControlName).setValue(application.buildingUse);\n }\n if (application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.applicationType);\n }\n if (application.applicationEstimatedBy) {\n this.detailsForm.get(this.estimatedByFormControlName).setValue(application.applicationEstimatedBy);\n }\n if (application.applicationEstimatedCost) {\n this.detailsForm.get(this.estimatedCostFormControlName).setValue(application.applicationEstimatedCost);\n }\n if (application.isResubmission) {\n this.detailsForm.get(this.isResubmissionFormControlName).setValue(application.isResubmission);\n this.isResubmission = application.isResubmission;\n }\n if (application.previousReferenceNumber) {\n this.detailsForm.get(this.previousReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n }\n }\n setupSubscribers() {\n this.subscribeToCheckFormValidity();\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.formGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n onIsResubmissionChecked(event) {\n const element = event.target.checked;\n this.isResubmission = element;\n this.detailsForm.get(this.isResubmissionFormControlName).setValue(element);\n if (this.isResubmission) {\n this.detailsForm.get(this.previousReferenceNumberFormControlName).setValidators([Validators.required]);\n this.detailsForm.get(this.previousReferenceNumberFormControlName).setValue(null);\n this.detailsForm.get(this.previousReferenceNumberFormControlName).enable();\n }\n else {\n this.detailsForm.get(this.previousReferenceNumberFormControlName).clearValidators();\n this.detailsForm.get(this.previousReferenceNumberFormControlName).setValue(null);\n this.detailsForm.get(this.previousReferenceNumberFormControlName).disable();\n }\n this.detailsForm.get(this.previousReferenceNumberFormControlName).updateValueAndValidity();\n this.detailsForm.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsBpamsComponent);\nexport { CreateApplicationDetailsBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsBpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_MINOR_BUILDING_WORK_LABEL = \"Is there minor building work?\";\n static SECTOR_LABEL = \"Sector\";\n static IS_RDP_LABEL = \"Is it an RDP house?\";\n static BUILDING_USE_LABEL = \"Building use\";\n static APPLICATION_TYPE_LABEL = \"Type\";\n static APPLICATION_ESTIMATED_BY_LABEL = \"Estimated by\";\n static APPLICATION_ESTIMATED_COST_LABEL = \"Estimated project cost (R)\";\n static PREVIOUS_REFERENCE_NUMBER_LABEL = \"Previous reference number\";\n static IS_RESUBMISSION_LABEL = \"Is this application a resubmission?\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME = \"isMinorBuildingWork\";\n static SECTOR_FORM_CONTROL_NAME = \"sector\";\n static IS_RDP_FORM_CONTROL_NAME = \"isRDP\";\n static BUILDING_USE_FORM_CONTROL_NAME = \"buildingUse\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME = \"applicationEstimatedBy\";\n static APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME = \"applicationEstimatedCost\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"previousReferenceNumber\";\n static IS_RESUBMISSION_FORM_CONTROL_NAME = \"isResubmission\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isMinorBuildingWork: {\n required: `Is there minor building work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sector: {\n required: `Sector ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isRDP: {\n required: `Is it an RDP house ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingUse: {\n required: `Building use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationEstimatedBy: {\n required: `Estimated by ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationEstimatedCost: {\n required: `Estimated cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n previousReferenceNumber: {\n required: `Previous reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-building.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-building.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../shared/constants/shared.constants\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { AlertType } from \"../../../../../shared/models/alert\";\nimport { CreateApplicationLocationBpamsConstants } from \"../create-application-location-bpams.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddBuildingComponent = class AddBuildingComponent {\n activeModal;\n appController;\n modalTitle;\n type;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n addForm;\n cancelLabel = SharedConstants.CANCEL_LABEL;\n createLabel = SharedConstants.CREATE_LABEL;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n floorLabel = CreateApplicationLocationBpamsConstants.FLOOR_LABEL;\n existingSizeLabel = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_LABEL;\n addedSizeLabel = CreateApplicationLocationBpamsConstants.ADDED_SIZE_LABEL;\n buildingNameNumberLabel = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_LABEL;\n floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n buildingNameNumberControlName = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_CONTROL_NAME;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.addForm = new FormGroup({\n floor: new FormControl(0, [Validators.required]),\n existingSize: new FormControl(null, [Validators.required]),\n addedSize: new FormControl(null, [Validators.required]),\n buildingNameNumber: new FormControl(null)\n });\n }\n onBtnSaveClicked($event) {\n if (this.addForm.valid) {\n const name = {\n floor: this.addForm.get(this.floorControlName).value,\n existingSize: this.addForm.get(this.existingSizeControlName).value,\n addedSize: this.addForm.get(this.addedSizeControlName).value,\n buildingNameNumber: this.addForm.get(this.buildingNameNumberControlName).value,\n type: this.type\n };\n this.activeModal.close(name);\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n onBtnCancelClicked($event) {\n this.activeModal.close(null);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n modalTitle: [{ type: Input }],\n type: [{ type: Input }]\n };\n};\nAddBuildingComponent = __decorate([\n Component({\n selector: \"app-add-building\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], AddBuildingComponent);\nexport { AddBuildingComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-bpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"./create-application-location-bpams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiModuleConstants } from \"../../../../shared/constants/api-constants/api-module.constants\";\nimport { BehaviorSubject, debounceTime } from \"rxjs\";\nimport { PropertyBuildingHeadingEnumHeadingLookup } from \"./property-building-heading.model\";\nimport { AddBuildingComponent } from \"./add-building/add-building.component\";\nimport { EditBuildingComponent } from \"./edit-building/edit-building.component\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { ViewApplicationLocationBpamsConstants } from \"../../../../view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.constants\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { MapServiceConstants } from \"../../../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { RecipientSelectComponent } from \"../../../../shared/components/recipient-components/recipient-select/recipient-select.component\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet CreateApplicationLocationBpamsComponent = class CreateApplicationLocationBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n modalService;\n searchApplicationsService;\n propertiesForm;\n ownersComponentRef;\n descriptionLabel1 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationBpamsConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n propertyApplicationDetailsLabel = CreateApplicationLocationBpamsConstants.PROPERTY_APPLICATION_DETAILS_LABEL;\n erfNoControl = CreateApplicationLocationBpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationBpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationBpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationBpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationBpamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationBpamsConstants.ADDRESS_CONTROL;\n erfSizeControl = CreateApplicationLocationBpamsConstants.ERF_SIZE_CONTROL;\n titleDeedControl = CreateApplicationLocationBpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = CreateApplicationLocationBpamsConstants.ZONE_CONTROL;\n ownerControl = CreateApplicationLocationBpamsConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationBpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationBpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationBpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationBpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationBpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationBpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationBpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = CreateApplicationLocationBpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = CreateApplicationLocationBpamsConstants.ZONE_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n addZoneLabel = CreateApplicationLocationBpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = CreateApplicationLocationBpamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = CreateApplicationLocationBpamsConstants.OWNER_LABEL;\n copyOwnerLabel = CreateApplicationLocationBpamsConstants.COPY_OWNER_LABEL;\n propertyHeadingLabel = CreateApplicationLocationBpamsConstants.PROPERTY_HEADING_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n fullApplicationCheckRequired = false;\n showOnlyPropertyAndZoningLayers = false;\n titleDeedRestrictionsTextPlaceHolder = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = CreateApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n propertyDescriptionTextPlaceHolder = CreateApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_LABEL;\n propertyDescriptionControl = CreateApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_CONTROL;\n externalWallsTextPlaceHolder = CreateApplicationLocationBpamsConstants.EXTERNAL_WALLS_LABEL;\n internalWallsTextPlaceHolder = CreateApplicationLocationBpamsConstants.INTERNAL_WALLS_LABEL;\n roofingTextPlaceHolder = CreateApplicationLocationBpamsConstants.ROOFING_LABEL;\n numberOfHousesUnitsTextPlaceHolder = CreateApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_LABEL;\n externalWallsControl = CreateApplicationLocationBpamsConstants.EXTERNAL_WALLS_CONTROL;\n internalWallsControl = CreateApplicationLocationBpamsConstants.INTERNAL_WALLS_CONTROL;\n roofingControl = CreateApplicationLocationBpamsConstants.ROOFING_CONTROL;\n numberOfHousesUnitsControl = CreateApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_CONTROL;\n buildingDetailsLabel = CreateApplicationLocationBpamsConstants.BUILDING_DETAILS_LABEL;\n mainBuildingLabel = CreateApplicationLocationBpamsConstants.MAIN_BUILDING_LABEL;\n outBuildingLabel = CreateApplicationLocationBpamsConstants.OUT_BUILDING_LABEL;\n buildingTotalLabel = CreateApplicationLocationBpamsConstants.BUILDING_TOTAL_LABEL;\n stoepLabel = CreateApplicationLocationBpamsConstants.STOEP_LABEL;\n miscellaneousLabel = CreateApplicationLocationBpamsConstants.MISCELLANEOUS_LABEL;\n totalExistingPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_LABEL;\n totalAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_LABEL;\n totalFloorAreaTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_LABEL;\n totalExistingControl = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_CONTROL;\n totalAddedControl = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_CONTROL;\n totalFloorAreaControl = CreateApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_CONTROL;\n // patio\n coveredExistingTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERED_EXISTING_LABEL;\n coveredAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERED_ADDED_LABEL;\n openExistingTextPlaceHolder = CreateApplicationLocationBpamsConstants.OPEN_EXISTING_LABEL;\n openAddedTextPlaceHolder = CreateApplicationLocationBpamsConstants.OPEN_ADDED_LABEL;\n totalExistingPatioTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_LABEL;\n totalAddedPatioTextPlaceHolder = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_LABEL;\n coveredExistingControl = CreateApplicationLocationBpamsConstants.COVERED_EXISTING_CONTROL;\n coveredAddedControl = CreateApplicationLocationBpamsConstants.COVERED_ADDED_CONTROL;\n openExistingControl = CreateApplicationLocationBpamsConstants.OPEN_EXISTING_CONTROL;\n openAddedControl = CreateApplicationLocationBpamsConstants.OPEN_ADDED_CONTROL;\n totalExistingPatioControl = CreateApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_CONTROL;\n totalAddedPatioControl = CreateApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_CONTROL;\n // misc\n poolTextPlaceHolder = CreateApplicationLocationBpamsConstants.POOL_LABEL;\n boundaryWallHeightTextPlaceHolder = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_LABEL;\n boundaryWallRunningTextPlaceHolder = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_LABEL;\n coverageTextPlaceHolder = CreateApplicationLocationBpamsConstants.COVERAGE_LABEL;\n bulkCalculationTextPlaceHolder = CreateApplicationLocationBpamsConstants.BULK_CALCULATION_LABEL;\n calculationsLabel = CreateApplicationLocationBpamsConstants.CALCULATIONS_LABEL;\n poolControl = CreateApplicationLocationBpamsConstants.POOL_CONTROL;\n boundaryWallHeightControl = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_CONTROL;\n boundaryWallRunningControl = CreateApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_CONTROL;\n coverageControl = CreateApplicationLocationBpamsConstants.COVERAGE_CONTROL;\n bulkCalculationControl = CreateApplicationLocationBpamsConstants.BULK_CALCULATION_CONTROL;\n deleteLabel = SharedConstants.REMOVE_LABEL;\n editLabel = SharedConstants.EDIT_LABEL;\n addLabel = SharedConstants.ADD_LABEL;\n removeDialogTitle = CreateApplicationLocationBpamsConstants.REMOVE_DIALOG_TEXT;\n removeMainContent = `${SharedConstants.REMOVE_MESSAGE} main building(s)?`;\n removeOutContent = `${SharedConstants.REMOVE_MESSAGE} out building(s)?`;\n selectPromptMessage = SharedConstants.NO_ITEM_SELECTED;\n selectOneDocMessage = SharedConstants.MORE_THAN_ONE_SELECTED;\n zoneOptions = [];\n externalWallsOptions = [];\n internalWallsOptions = [];\n roofingOptions = [];\n // @ts-ignore\n mainTableMapper;\n // @ts-ignore\n outTableMapper;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n missingZoneTuple;\n missingZoneList = new Map();\n modalOptions = {\n size: \"lg\", centered: true, keyboard: false, backdrop: \"static\"\n };\n selectedApplicationPropertyId = 0;\n showForm = false;\n selectedApplicationLocationBpamsSubscription;\n sendMissingLookupsEmailSubscription;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n markStepFormGroupAsTouchedSubscription;\n propertiesFormGroupName = CreateApplicationLocationBpamsConstants.PROPERTIES_FORM_GROUP_NAME;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, modalService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.modalService = modalService;\n this.searchApplicationsService = searchApplicationsService;\n this.initializeColumnToObjectMapping();\n }\n get getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n ngOnInit() {\n this.initForm();\n this.checkAndInitialiseLookups();\n this.getMetadata();\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones() {\n return this.getProperties.controls[0].get(\"zones\");\n }\n updatePropertyRequiredFields(newProperty) {\n const erfNoControl = newProperty.get(this.erfNoControl);\n const farmNoControl = newProperty.get(this.farmNoControl);\n const subdivisionControl = newProperty.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveZoneClicked(zoneIndex) {\n const controls = this.getZones();\n if (controls.controls.length > 1) {\n controls.removeAt(zoneIndex);\n }\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n onBtnRemoveMainClicked($event) {\n let mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n if (mainTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n // const deletedItem = mainTableSelection;\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n const options = {\n size: \"xl\", centered: true, keyboard: false, backdrop: \"static\"\n };\n const title = this.removeDialogTitle;\n const contentMessage = this.removeMainContent;\n const dialogRef = this.modalService.open(PopUpComponent, options);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = mainTableSelection;\n dialogRef.result.then((deletedIndex) => {\n this.changeDetectorRefs.markForCheck();\n if (deletedIndex) {\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < mainTableSelection.length; index++) {\n const delIndex = itemsAlreadyOnTable.findIndex(i => i.id === mainTableSelection[index].id);\n if (delIndex > -1) {\n itemsAlreadyOnTable.splice(delIndex, 1);\n }\n }\n for (let index = 0; index < itemsAlreadyOnTable.length; index++) {\n if (itemsAlreadyOnTable[index].id > 0)\n continue;\n itemsAlreadyOnTable[index].id = index !== 0 ? -index : 0;\n }\n const allItems = [...itemsAlreadyOnTable];\n mainTableDataSource.next(allItems);\n mainTableSelection = [];\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditMainClicked($event) {\n const mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n if (mainTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n if (mainTableSelection.length > 1) {\n this.appController.showMessage(this.selectOneDocMessage, AlertType.Warning);\n return;\n }\n let index = 0;\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n for (let i = 0; i < itemsAlreadyOnTable.length; i++) {\n if (itemsAlreadyOnTable[i] === mainTableSelection[0]) {\n index = i;\n }\n }\n const modalRef = this.modalService.open(EditBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Edit main building\";\n modalRef.componentInstance.building = mainTableSelection[0];\n modalRef.componentInstance.editedIndex = index;\n modalRef.result.then((updatedbuilding) => {\n this.changeDetectorRefs.markForCheck();\n if (updatedbuilding) {\n itemsAlreadyOnTable[updatedbuilding[0]] = updatedbuilding[1];\n const allItems = [...itemsAlreadyOnTable];\n mainTableDataSource.next(allItems);\n mainTableSelection[0].selected = false;\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddMainClicked($event) {\n let mainTableSelection = this.getProperties.controls[0].get(\"mainTableSelection\").value;\n const mainTableDataSource = this.getProperties.controls[0].get(\"mainTableDataSource\").value;\n const modalRef = this.modalService.open(AddBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Add main building\";\n modalRef.componentInstance.type = \"Main Building\";\n modalRef.result.then(newBuilding => {\n if (newBuilding) {\n const itemsAlreadyOnTable = mainTableDataSource.getValue();\n const allItems = [...itemsAlreadyOnTable, newBuilding];\n for (let index = 0; index < allItems.length; index++) {\n if (allItems[index].id > 0)\n continue;\n allItems[index].id = index !== 0 ? -index : 0;\n }\n mainTableDataSource.next(allItems);\n mainTableSelection = [];\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(mainTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncMainBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnRemoveOutClicked($event) {\n let outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n if (outTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n const options = {\n size: \"xl\", centered: true, keyboard: false, backdrop: \"static\"\n };\n const title = this.removeDialogTitle;\n const contentMessage = this.removeOutContent;\n const dialogRef = this.modalService.open(PopUpComponent, options);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = outTableSelection;\n dialogRef.result.then((deletedIndex) => {\n this.changeDetectorRefs.markForCheck();\n if (deletedIndex) {\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < outTableSelection.length; index++) {\n const delIndex = itemsAlreadyOnTable.findIndex(i => i.id === outTableSelection[index].id);\n if (delIndex > -1) {\n itemsAlreadyOnTable.splice(delIndex, 1);\n }\n }\n for (let index = 0; index < itemsAlreadyOnTable.length; index++) {\n if (itemsAlreadyOnTable[index].id > 0)\n continue;\n itemsAlreadyOnTable[index].id = index !== 0 ? -index : 0;\n }\n // itemsAlreadyOnTable.splice(deletedIndex, 1);\n const allItems = [...itemsAlreadyOnTable];\n outTableDataSource.next(allItems);\n outTableSelection = [];\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnEditOutClicked($event) {\n const outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n if (outTableSelection.length === 0) {\n this.appController.showMessage(this.selectPromptMessage, AlertType.Warning, true);\n return;\n }\n if (outTableSelection.length > 1) {\n this.appController.showMessage(this.selectOneDocMessage, AlertType.Warning);\n return;\n }\n let index = 0;\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n for (let i = 0; i < itemsAlreadyOnTable.length; i++) {\n if (itemsAlreadyOnTable[i] === outTableSelection[0]) {\n index = i;\n }\n }\n const modalRef = this.modalService.open(EditBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Edit outbuilding\";\n modalRef.componentInstance.building = outTableSelection[0];\n modalRef.componentInstance.editedIndex = index;\n modalRef.result.then((updatedBuilding) => {\n this.changeDetectorRefs.markForCheck();\n if (updatedBuilding) {\n itemsAlreadyOnTable[updatedBuilding[0]] = updatedBuilding[1];\n const allItems = [...itemsAlreadyOnTable];\n outTableDataSource.next(allItems);\n outTableSelection[0].selected = false;\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n onBtnAddOutClicked($event) {\n let outTableSelection = this.getProperties.controls[0].get(\"outTableSelection\").value;\n const outTableDataSource = this.getProperties.controls[0].get(\"outTableDataSource\").value;\n const modalRef = this.modalService.open(AddBuildingComponent, this.modalOptions);\n modalRef.componentInstance.modalTitle = \"Add outbuilding\";\n modalRef.componentInstance.type = \"Additional building\";\n modalRef.result.then(newBuilding => {\n if (newBuilding) {\n const itemsAlreadyOnTable = outTableDataSource.getValue();\n const allItems = [...itemsAlreadyOnTable, newBuilding];\n for (let index = 0; index < allItems.length; index++) {\n if (allItems[index].id > 0)\n continue;\n // allItems[index].id = index!==0 ? -index : 0;\n // hack for test:\n allItems[index].id = index !== 0 ? -index - 100 : -100;\n }\n outTableDataSource.next(allItems);\n outTableSelection = [];\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(outTableSelection);\n this.changeDetectorRefs.detectChanges();\n this.syncOutBuildings();\n }\n }).catch((res) => {\n });\n }\n getMissingZones(index) {\n if (this.missingZoneList && this.missingZoneList.size > 0) {\n // send email to mod admins if it not been already sent\n this.missingZoneTuple = this.missingZoneList.get(index);\n if (this.missingZoneTuple[1] === false) {\n this.sendEmailMissingLookupForZones(this.missingZoneTuple[0]);\n this.missingZoneTuple = [this.missingZoneTuple[0], true];\n this.missingZoneList.set(index, this.missingZoneTuple);\n }\n let zones = \"\";\n let count = 1;\n this.missingZoneTuple[0].forEach((zone) => {\n zones += zone + (count < zone.length ? \"|\" : \"\");\n count++;\n });\n return `${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL} ${zones} ${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL_EMAIL}`;\n }\n }\n mainArrayReturned(array) {\n this.getProperties.controls[0].get(\"mainTableSelection\").setValue(array);\n }\n outArrayReturned(array) {\n this.getProperties.controls[0].get(\"outTableSelection\").setValue(array);\n }\n syncMainBuildings() {\n this.getProperties.controls.forEach(property => {\n const items = property.get(\"mainTableDataSource\").value.getValue();\n const formItems = property.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber),\n });\n formItems.push(newItem);\n });\n });\n this.calculateTotals();\n }\n syncOutBuildings() {\n this.getProperties.controls.forEach(property => {\n const items = property.get(\"outTableDataSource\").value.getValue();\n const formItems = property.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n });\n this.calculateTotals();\n }\n calculateTotals() {\n const properties = this.getProperties.controls;\n properties.forEach(property => {\n property.get(\"coverage\").setValue(0);\n property.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (typeof property.get(\"coveredExisting\").value === \"number\" && typeof property.get(\"openExisting\").value === \"number\") {\n const patioCoverageExisting = property.get(\"coveredExisting\").value;\n const patioOpenExisting = property.get(\"openExisting\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n property.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n }\n if (typeof property.get(\"coveredAdded\").value === \"number\" && typeof property.get(\"openAdded\").value === \"number\") {\n const patioCoverageAdded = property.get(\"coveredAdded\").value;\n const patioOpenAdded = property.get(\"openAdded\").value;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n property.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = property.get(\"mainBuildings\");\n const outBuildings = property.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n property.get(\"totalExisting\").setValue(totalExistingCalculated);\n property.get(\"totalAdded\").setValue(totalAddedCalculated);\n property.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (property.get(\"coveredExisting\").value !== null && property.get(\"coveredAdded\").value !== null && property.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = property.get(\"coveredExisting\").value;\n const patioCoverageAdded = property.get(\"coveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + property.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n property.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n property.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n });\n }\n setNumberToDecimal(formControl, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n formControl.setValue(decimalValue);\n }\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads\n syncMainBuildingsOnGet(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"mainTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads\n syncOutBuildingsOnGet(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"outTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Building Plans graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationBpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.onGetSelectedApplication();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n const propertyControl = this.getProperties;\n propertyControl.clear();\n const newProperty = new FormGroup({\n id: new FormControl(0),\n property: new FormControl(null),\n erfNo: new FormControl(null),\n subdivision: new FormControl(null),\n allotment: new FormControl(null, [Validators.required]),\n farmNo: new FormControl(null),\n sgCode: new FormControl(null, [Validators.required]),\n address: new FormControl(null, [Validators.required]),\n erfSize: new FormControl(null, [Validators.required]),\n titleDeed: new FormControl(null, [Validators.required]),\n geometry: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1), Validators.required]), // lookup\n owners: new FormControl(null, [Validators.required]),\n propertyDescription: new FormControl(null, [Validators.required]),\n titleDeedRestrictions: new FormControl(null, [Validators.required]),\n externalWalls: new FormControl(null, [Validators.required]), // lookup\n internalWalls: new FormControl(null, [Validators.required]), // lookup\n roofing: new FormControl(null, [Validators.required]), // lookup\n numberOfHousesUnits: new FormControl(null, [Validators.required]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // patio\n coveredExisting: new FormControl(null, [Validators.required]),\n coveredAdded: new FormControl(null, [Validators.required]),\n openExisting: new FormControl(null, [Validators.required]),\n openAdded: new FormControl(null, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // misc\n pool: new FormControl(null, [Validators.required]),\n boundaryWallHeight: new FormControl(null, [Validators.required]),\n boundaryWallRunning: new FormControl(null, [Validators.required]),\n coverage: new FormControl({ value: null, disabled: true }),\n bulkCalculation: new FormControl({ value: null, disabled: true }),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([])\n });\n propertyControl.push(newProperty);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'PropertyRoofing' or name eq 'ApplicationType' or name eq 'PropertyEstimatedBy' or name eq 'PropertyExternalWalls' or name eq 'PropertyInternalWalls' or name eq 'Zoning')`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response), error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const externalWalls = [];\n const internalWalls = [];\n const roofings = [];\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"PropertyRoofing\") {\n roofings.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyExternalWalls\") {\n externalWalls.push(JSON.parse(item.content));\n }\n if (item.name === \"PropertyInternalWalls\") {\n internalWalls.push(JSON.parse(item.content));\n }\n if (item.name === \"Zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zoneOptions\", zones);\n this.zoneOptions = zones;\n this.aflaModuleStrategyService.lookups.set(\"externalWallsOptions\", externalWalls);\n this.externalWallsOptions = externalWalls;\n this.aflaModuleStrategyService.lookups.set(\"internalWallsOptions\", internalWalls);\n this.internalWallsOptions = internalWalls;\n this.aflaModuleStrategyService.lookups.set(\"roofingOptions\", roofings);\n this.roofingOptions = roofings;\n this.applicationCreateService.setHasLoadedLookups(true);\n this.sortLookups();\n this.changeDetectorRefs.detectChanges();\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n loadExistingProperty(property) {\n this.showForm = false;\n this.setPropertyData(property, property.geometry);\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n this.changeDetectorRefs.detectChanges();\n const propertiesFormArray = this.propertiesForm.get(\"properties\");\n propertiesFormArray.clear();\n // propertiesFormArray.updateValueAndValidity();\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n const newProperty = new FormGroup({\n id: new FormControl(this.selectedApplicationPropertyId),\n tempId: new FormControl(this.selectedApplicationPropertyId, Validators.required),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\")),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n propertyDescription: new FormControl(null, [Validators.required]),\n titleDeedRestrictions: new FormControl(null, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n erfSize: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfSize\", \"erfsize\"), [Validators.required]),\n titleDeed: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"TitleDeed\", \"titledeed\"), [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n // building details\n externalWalls: new FormControl(null, [Validators.required]),\n internalWalls: new FormControl(null, [Validators.required]),\n roofing: new FormControl(null, [Validators.required]),\n numberOfHousesUnits: new FormControl(null, [Validators.required]),\n // main building\n mainBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]), // out/additional building\n outBuildings: new FormArray([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // Patio/stoeps\n coveredExisting: new FormControl(0, [Validators.required]),\n coveredAdded: new FormControl(0, [Validators.required]),\n openExisting: new FormControl(0, [Validators.required]),\n openAdded: new FormControl(0, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // Misc.\n pool: new FormControl(0, [Validators.required]),\n boundaryWallHeight: new FormControl(0, [Validators.required]),\n boundaryWallRunning: new FormControl(0, [Validators.required]),\n coverage: new FormControl({ value: 0, disabled: true }),\n bulkCalculation: new FormControl({ value: 0, disabled: true }),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER);\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const zonesControl = newProperty.get(\"zones\");\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = CreateApplicationUtils.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\");\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zoneOptions.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (foundZone !== null) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(foundZone, [Validators.required])\n }));\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n if (zonesControl.length === 0) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n }\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (zoningError) => {\n this.appController.showMessage(zoningError.message, AlertType.Error);\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n }\n else {\n const propertyControl = this.getProperties;\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n onGetSelectedApplication() {\n this.showForm = false;\n if (+this.jobId > 0 && this.selectedApplication) {\n this.selectedApplication.properties.sort((a, b) => (a?.id - b?.id));\n const propertyControl = this.getProperties;\n this.selectedApplicationPropertyId = this.selectedApplication.properties[0].id;\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n propertyControl.clear();\n const missingLookupsForZones = [];\n const property = this.selectedApplication.properties[0];\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newProperty = new FormGroup({\n id: new FormControl(property.id),\n property: new FormControl(property),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment, [Validators.required]),\n farmNo: new FormControl(property.farmNumber),\n sgCode: new FormControl(property.sgCode, [Validators.required]),\n address: new FormControl(property.address, [Validators.required]),\n erfSize: new FormControl(property.erfSize, [Validators.required]),\n titleDeed: new FormControl(property.titleDeed, [Validators.required]),\n geometry: new FormControl(geom), centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1), Validators.required]), // lookup\n owners: new FormControl(property.owners, [Validators.required]),\n propertyDescription: new FormControl(property.applicationDescription, [Validators.required]),\n titleDeedRestrictions: new FormControl(property.applicationRestrictions, [Validators.required]),\n externalWalls: new FormControl(null, [Validators.required]), // lookup\n internalWalls: new FormControl(null, [Validators.required]), // lookup\n roofing: new FormControl(null, [Validators.required]), // lookup\n numberOfHousesUnits: new FormControl(property.numberOfHouses, [Validators.required]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n // patio\n coveredExisting: new FormControl(property.patioCoveredExisting, [Validators.required]),\n coveredAdded: new FormControl(property.patioCoveredAdded, [Validators.required]),\n openExisting: new FormControl(property.patioOpenExisting, [Validators.required]),\n openAdded: new FormControl(property.patioOpenAdded, [Validators.required]),\n totalExistingPatio: new FormControl({ value: 0, disabled: true }),\n totalAddedPatio: new FormControl({ value: 0, disabled: true }),\n // misc\n pool: new FormControl(property.pool, [Validators.required]),\n boundaryWallHeight: new FormControl(property.boundaryWallHeight, [Validators.required]),\n boundaryWallRunning: new FormControl(property.boundaryWallRunning, [Validators.required]),\n coverage: new FormControl({ value: property.coverage, disabled: true }),\n bulkCalculation: new FormControl({ value: property.bulkCalculation, disabled: true }),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([])\n });\n // if property is loaded from an existing application mark for as touched it as touched\n this.propertiesForm.markAllAsTouched();\n const zonesControl = newProperty.get(\"zones\");\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zoneOptions.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zone: new FormControl(zoneOption, [Validators.required]),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n }\n });\n if (!foundZone) {\n missingLookupsForZones.push(zone.zoning);\n this.applicationCreateService.$missingLookupsForZones.push(zone.zoning);\n }\n });\n if (missingLookupsForZones.length > 0) {\n this.missingZoneTuple = [missingLookupsForZones, false];\n this.missingZoneList.set(0, this.missingZoneTuple);\n }\n const mainTableDataSource = newProperty.get(\"mainTableDataSource\").value;\n const outTableDataSource = newProperty.get(\"outTableDataSource\").value;\n const mainItems = [];\n const outItems = [];\n property.buildings.forEach(building => {\n if (building.type === \"Main Building\") {\n mainItems.push(building);\n }\n else {\n outItems.push(building);\n }\n });\n mainTableDataSource.next(mainItems);\n outTableDataSource.next(outItems);\n let externalWalls = null;\n this.externalWallsOptions.forEach(item => {\n if (item.value === property.externalWalls) {\n externalWalls = item;\n }\n });\n let internalWalls = null;\n this.internalWallsOptions.forEach(item => {\n if (item.value === property.internalWalls) {\n internalWalls = item;\n }\n });\n let roofing = null;\n this.roofingOptions.forEach(item => {\n if (item.value === property.roofing) {\n roofing = item;\n }\n });\n newProperty.get(\"externalWalls\").setValue(externalWalls);\n newProperty.get(\"internalWalls\").setValue(internalWalls);\n newProperty.get(\"roofing\").setValue(roofing);\n // todo Temporary fix:\n this.syncMainBuildingsOnGet(newProperty);\n this.syncOutBuildingsOnGet(newProperty);\n this.calculateTotalsOnGet(newProperty);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newProperty.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newProperty);\n this.updatePropertyRequiredFields(newProperty);\n this.showForm = true;\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties.controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Building plans graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Building plans graphics\");\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.checkIfPropertyIsAlreadyLoaded(property);\n // this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n sendEmailMissingLookupForZones(missingLookupsForZones) {\n const url = `${ApiModuleConstants.URL}/${ApiModuleConstants.MISSING_LOOKUP_EMAIL_REQUEST_URL}`;\n const params = {\n moduleId: this.applicationCreateService.moduleID, lookupType: \"Zoning\", lookupList: missingLookupsForZones\n };\n this.sendMissingLookupsEmailSubscription = this.applicationCreateService.sendMissingLookupsEmail(url, params)\n .subscribe({\n next: () => {\n }, error: (error) => {\n this.appController.handleServerErrorMessage(`${CreateApplicationLocationBpamsConstants.MISSING_ZONE_LABEL_EMAIL_FAILED}`, error, CRUDOperation.Selecting);\n }\n });\n }\n initializeColumnToObjectMapping() {\n this.mainTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n this.outTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n }\n // NOTE: This is a Temporary fix - To be changed\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.showForm = false;\n this.getProperties.clear();\n this.mapComponent.removeGraphicsFromMap(\"Building plans graphics\");\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n // NOTE: This is a Temporary fix - To be changed\n sortLookups() {\n // sort zones dropdown alphabetically\n this.zoneOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.externalWallsOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.internalWallsOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.roofingOptions?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n this.subscribeToSelectedApplication();\n }\n // NOTE: This is a Temporary fix - To be changed\n // this fix is for the \"Totals\" fields which are not being populated when the form reloads after a save\n calculateTotalsOnGet(PropertyFormGroup) {\n PropertyFormGroup.get(\"coverage\").setValue(0);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (PropertyFormGroup.get(\"coveredExisting\").value !== null &&\n PropertyFormGroup.get(\"coveredAdded\").value !== null &&\n PropertyFormGroup.get(\"openExisting\").value !== null &&\n PropertyFormGroup.get(\"openAdded\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"coveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"coveredAdded\").value;\n const patioOpenExisting = PropertyFormGroup.get(\"openExisting\").value;\n const patioOpenAdded = PropertyFormGroup.get(\"openAdded\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n PropertyFormGroup.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n PropertyFormGroup.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = PropertyFormGroup.get(\"mainBuildings\");\n const outBuildings = PropertyFormGroup.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n PropertyFormGroup.get(\"totalExisting\").setValue(totalExistingCalculated);\n PropertyFormGroup.get(\"totalAdded\").setValue(totalAddedCalculated);\n PropertyFormGroup.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (PropertyFormGroup.get(\"coveredExisting\").value !== null &&\n PropertyFormGroup.get(\"coveredAdded\").value !== null &&\n PropertyFormGroup.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"coveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"coveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + PropertyFormGroup.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n PropertyFormGroup.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n }\n checkAndInitialiseLookups() {\n this.applicationCreateService.setHasLoadedLookups(false);\n if (this.aflaModuleStrategyService.lookups.has(\"externalWallsOptions\")) {\n this.externalWallsOptions = this.aflaModuleStrategyService.lookups.get(\"externalWallsOptions\");\n this.internalWallsOptions = this.aflaModuleStrategyService.lookups.get(\"internalWallsOptions\");\n this.roofingOptions = this.aflaModuleStrategyService.lookups.get(\"roofingOptions\");\n this.zoneOptions = this.aflaModuleStrategyService.lookups.get(\"zoneOptions\");\n this.sortLookups();\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n }\n checkIfPropertyIsAlreadyLoaded(property) {\n const title = \"Replace property\";\n const contentMessage = \"An application can only have 1 property. Do you want to replace the current property?\";\n const propertyControl = this.getProperties;\n const erfNoControl = propertyControl.controls[0]?.get(this.erfNoControl);\n const farmNoControl = propertyControl.controls[0]?.get(this.farmNoControl);\n if ((erfNoControl?.value !== undefined && erfNoControl?.value !== null && erfNoControl?.value.trim() !== \"\") ||\n (farmNoControl?.value !== undefined && farmNoControl?.value !== null && farmNoControl?.value.trim() !== \"\")) {\n const dialogRef = this.modalService.open(PopUpComponent, this.modalOptions);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((replaceData) => {\n if (replaceData) {\n this.showForm = false;\n this.getProperties.clear();\n this.mapComponent.clearGraphics(\"Building plans graphics\");\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n else {\n this.setPropertyData(property.attributes, property.geometry);\n }\n }\n onCopyOwnerToApplicant() {\n const ownersControl = this.getProperties.controls[0].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n subscribeToCheckFormValidity() {\n this.markStepFormGroupAsTouchedSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n if (this.propertiesForm)\n this.propertiesForm.markAllAsTouched();\n if (this.ownersComponentRef)\n this.ownersComponentRef.markAllAsTouched();\n if (this.changeDetectorRefs)\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: NgbModal },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n ownersComponentRef: [{ type: ViewChild, args: [RecipientSelectComponent,] }],\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-bpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationBpamsComponent);\nexport { CreateApplicationLocationBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationBpamsConstants {\n static STEP_TITLE = \"Location\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static PROPERTY_HEADING_LABEL = \"Property details\";\n static ZONE_LABEL = \"Current property zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"The zoning here is the current zoning of the property and an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static PROPERTY_APPLICATION_DETAILS_LABEL = \"Property application details\";\n static BUILDING_DETAILS_LABEL = \"Building details\";\n static MAIN_BUILDING_LABEL = \"Main building\";\n static OUT_BUILDING_LABEL = \"Outbuilding / additional building\";\n static TOTAL_LABEL = \"Total\";\n static BUILDING_TOTAL_LABEL = \"Building total\";\n static STOEP_LABEL = \"Patios / stoeps\";\n static MISCELLANEOUS_LABEL = \"Miscellaneous\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTY_DESCRIPTION_CONTROL = \"propertyDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"titleDeedRestrictions\";\n static EXTERNAL_WALLS_CONTROL = \"externalWalls\";\n static INTERNAL_WALLS_CONTROL = \"internalWalls\";\n static ROOFING_CONTROL = \"roofing\";\n static NUMBER_OF_HOUSES_UNITS_CONTROL = \"numberOfHousesUnits\";\n static TOTAL_EXISTING_CONTROL = \"totalExisting\";\n static TOTAL_ADDED_CONTROL = \"totalAdded\";\n static TOTAL_FLOOR_AREA_CONTROL = \"totalFloorArea\";\n //patio\n static COVERED_EXISTING_CONTROL = \"coveredExisting\";\n static COVERED_ADDED_CONTROL = \"coveredAdded\";\n static OPEN_EXISTING_CONTROL = \"openExisting\";\n static OPEN_ADDED_CONTROL = \"openAdded\";\n static TOTAL_EXISTING_PATIO_CONTROL = \"totalExistingPatio\";\n static TOTAL_ADDED_PATIO_CONTROL = \"totalAddedPatio\";\n //misc\n static POOL_CONTROL = \"pool\";\n static BOUNDARY_WALL_HEIGHT_CONTROL = \"boundaryWallHeight\";\n static BOUNDARY_WALL_RUNNING_CONTROL = \"boundaryWallRunning\";\n static COVERAGE_CONTROL = \"coverage\";\n static BULK_CALCULATION_CONTROL = \"bulkCalculation\";\n //TODO check:\n static FLOOR_CONTROL_NAME = \"floor\";\n static EXISTING_SIZE_CONTROL_NAME = \"existingSize\";\n static ADDED_SIZE_CONTROL_NAME = \"addedSize\";\n static BUILDING_NAME_NUMBER_CONTROL_NAME = \"buildingNameNumber\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size (m²)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static EXTERNAL_WALLS_LABEL = \"External walls\";\n static INTERNAL_WALLS_LABEL = \"Internal walls\";\n static ROOFING_LABEL = \"Roofing\";\n static NUMBER_OF_HOUSES_UNITS_LABEL = \"Number of houses / units\";\n static TOTAL_EXISTING_LABEL = \"Total existing (m²)\";\n static TOTAL_ADDED_LABEL = \"Total added (m²)\";\n static TOTAL_FLOOR_AREA_LABEL = \"Total floor area (m²)\";\n //patio\n static COVERED_EXISTING_LABEL = \"Covered - existing (m²)\";\n static COVERED_ADDED_LABEL = \"Covered - added (m²)\";\n static OPEN_EXISTING_LABEL = \"Open - existing (m²)\";\n static OPEN_ADDED_LABEL = \"Open - added (m²)\";\n static TOTAL_EXISTING_PATIO_LABEL = \"Total - existing (m²)\";\n static TOTAL_ADDED_PATIO_LABEL = \"Total - added (m²)\";\n //misc\n static POOL_LABEL = \"Pool (m²)\";\n static BOUNDARY_WALL_HEIGHT_LABEL = \"Boundary wall height (m)\";\n static BOUNDARY_WALL_RUNNING_LABEL = \"Boundary wall running (m)\";\n static COVERAGE_LABEL = \"Coverage (%)\";\n static BULK_CALCULATION_LABEL = \"Bulk calculation (FAR) (%)\";\n static CALCULATIONS_LABEL = \"Calculations\";\n //TODO: Check\n static REMOVE_DIALOG_TEXT = `${SharedConstants.REMOVE_TITLE} building`;\n static FLOOR_LABEL = \"Floor\";\n static EXISTING_SIZE_LABEL = \"Existing Size (m²)\";\n static ADDED_SIZE_LABEL = \"Added Size (m²)\";\n static BUILDING_NAME_NUMBER_LABEL = \"Building name / number\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeedRestrictions: {\n required: `Title deed restrictions ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n externalWalls: {\n required: `External walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internalWalls: {\n required: `Internal walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n roofing: {\n required: `Roofing walls ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfHousesUnits: {\n required: `Number of houses / units ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalExisting: {\n required: `Total existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalAdded: {\n required: `Total added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalFloorArea: {\n required: `Total floor area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coveredExisting: {\n required: `Covered existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coveredAdded: {\n required: `Covered added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n openExisting: {\n required: `Open existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n openAdded: {\n required: `Open added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalExistingPatio: {\n required: `Total existing ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalAddedPatio: {\n required: `Total added ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n pool: {\n required: `Pool ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n boundaryWallHeight: {\n required: `Boundary wall height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n boundaryWallRunning: {\n required: `Boundary wall running ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n coverage: {\n required: `Coverage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n bulkCalculation: {\n required: `Bulk calculation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingSize: {\n required: `Existing size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n addedSize: {\n required: `Added size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-building.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-building.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../shared/constants/shared.constants\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { AlertType } from \"../../../../../shared/models/alert\";\nimport { CreateApplicationLocationBpamsConstants } from \"../create-application-location-bpams.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditBuildingComponent = class EditBuildingComponent {\n activeModal;\n appController;\n modalTitle;\n building;\n editedIndex;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n editForm;\n cancelLabel = SharedConstants.CANCEL_LABEL;\n createLabel = SharedConstants.UPDATE_LABEL;\n validationMessages = CreateApplicationLocationBpamsConstants.VALIDATION_MESSAGES;\n floorLabel = CreateApplicationLocationBpamsConstants.FLOOR_LABEL;\n existingSizeLabel = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_LABEL;\n addedSizeLabel = CreateApplicationLocationBpamsConstants.ADDED_SIZE_LABEL;\n buildingNameNumberLabel = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_LABEL;\n floorControlName = CreateApplicationLocationBpamsConstants.FLOOR_CONTROL_NAME;\n existingSizeControlName = CreateApplicationLocationBpamsConstants.EXISTING_SIZE_CONTROL_NAME;\n addedSizeControlName = CreateApplicationLocationBpamsConstants.ADDED_SIZE_CONTROL_NAME;\n buildingNameNumberControlName = CreateApplicationLocationBpamsConstants.BUILDING_NAME_NUMBER_CONTROL_NAME;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.editForm = new FormGroup({\n floor: new FormControl(this.building.floor, [Validators.required]),\n existingSize: new FormControl(this.building.existingSize, [Validators.required]),\n addedSize: new FormControl(this.building.addedSize, [Validators.required]),\n buildingNameNumber: new FormControl(this.building.buildingNameNumber)\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onBtnSaveClicked($event) {\n if (this.editForm.valid) {\n this.building.floor = this.editForm.get(this.floorControlName).value;\n this.building.existingSize = this.editForm.get(this.existingSizeControlName).value;\n this.building.addedSize = this.editForm.get(this.addedSizeControlName).value;\n this.building.buildingNameNumber = this.editForm.get(this.buildingNameNumberControlName).value;\n this.activeModal.close([this.editedIndex, this.building]);\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onBtnCancelClicked($event) {\n this.activeModal.close(null);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n modalTitle: [{ type: Input }],\n building: [{ type: Input }],\n editedIndex: [{ type: Input }]\n };\n};\nEditBuildingComponent = __decorate([\n Component({\n selector: \"app-edit-building\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], EditBuildingComponent);\nexport { EditBuildingComponent };\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n PropertyBuildingHeadingEnum[\"BuildingNameNumber\"] = \"Building name / number\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"],\n [PropertyBuildingHeadingEnum.BuildingNameNumber, \"buildingNameNumber\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-bpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateApplicationProfessionalBodiesBpamsConstants } from \"./create-application-professional-bodies-bpams.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { take } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { forkJoin } from \"rxjs\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesBpamsComponent = class CreateApplicationProfessionalBodiesBpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n userInformationService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRef;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n architectRecipientComponent;\n engineerRecipientComponent;\n contractorRecipientComponent;\n fireConsultantRecipientComponent;\n otherProfessionalRecipientComponent;\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 markFireConsultantAsRequiredLabel = CreateApplicationProfessionalBodiesBpamsConstants.MARK_FIRE_CONSULTANT_AS_REQUIRED_LABEL;\n markFireConsultantAsRequiredFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n copyApplicantDetailsToFireConsultantLabel = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_LABEL;\n copyApplicantDetailsToFireConsultantFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_FORM_CONTROL_NAME;\n markOtherProfessionalAsRequiredLabel = CreateApplicationProfessionalBodiesBpamsConstants.MARK_OTHER_PROFESSIONAL_AS_REQUIRED_LABEL;\n markOtherProfessionalAsRequiredFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n copyApplicantDetailsToOtherProfessionalLabel = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_LABEL;\n copyApplicantDetailsToOtherProfessionalFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_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 fireConsultantFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.FIRE_CONSULTANT_FORM_CONTROL_NAME;\n otherProfessionalFormControlName = CreateApplicationProfessionalBodiesBpamsConstants.OTHER_PROFESSIONAL_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n showSACAPOptions = false;\n showFireConsultant = false;\n showOtherProfessional = 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 fireConsultantDisableFilterBy = true;\n fireConsultantDisableAdd = true;\n fireConsultantDisableEditing = false;\n fireConsultantShowFields = true;\n fireConsultantIsInternal = false;\n fireConsultantGroups = [];\n fireConsultantLabel = CreateApplicationProfessionalBodiesBpamsConstants.FIRE_CONSULTANT_LABEL;\n fireConsultantShowGroupsDropdown = false;\n fireConsultantIsRequiredChecked = false;\n otherProfessionalDisableFilterBy = true;\n otherProfessionalDisableAdd = true;\n otherProfessionalDisableEditing = false;\n otherProfessionalShowFields = true;\n otherProfessionalIsInternal = false;\n otherProfessionalGroups = [];\n otherProfessionalLabel = CreateApplicationProfessionalBodiesBpamsConstants.OTHER_PROFESSIONAL_LABEL;\n otherProfessionalShowGroupsDropdown = false;\n otherProfessionalIsRequiredChecked = 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 savedFireConsultant;\n savedOtherProfessional;\n savedContractor;\n authUserDetails;\n applicationCreateServiceSubscription;\n constructor(applicationCreateService, recipientService, userInformationService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRef, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.recipientService = recipientService;\n this.userInformationService = userInformationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getApplicantData();\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.initialiseDefaultValues();\n this.subscribeToCheckFormValidity();\n this.getAuthUserInformation();\n }\n loadMetadata(stepMeta) {\n try {\n this.architectGroups = stepMeta.architectGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.fireConsultantGroups = stepMeta.fireConsultantGroup;\n this.otherProfessionalGroups = stepMeta.otherProfessionalGroup;\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 onMarkFireConsultantAsRequired(event) {\n const fireConsultantIsRequired = event.target.checked;\n if (fireConsultantIsRequired) {\n this.showFireConsultant = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).enable();\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(true);\n this.fireConsultantIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).disable();\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(false);\n this.showFireConsultant = false;\n this.changeDetectorRefs.detectChanges();\n this.fireConsultantIsRequiredChecked = false;\n }\n }\n onMarkOtherProfessionalAsRequired(event) {\n const otherProfessionalIsRequired = event.target.checked;\n if (otherProfessionalIsRequired) {\n this.showOtherProfessional = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).enable();\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(true);\n this.otherProfessionalIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).disable();\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(false);\n this.showOtherProfessional = false;\n this.changeDetectorRefs.detectChanges();\n this.otherProfessionalIsRequiredChecked = 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 onCopyApplicantToFireConsultant($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.fireConsultant > 0 && this.selectedApplication.fireConsultant[0].id >= 0) ? this.selectedApplication.fireConsultant[0].id : 0;\n applicantData.groups = this.fireConsultantGroups;\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n }\n }\n onCopyApplicantToOtherProfessional($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.otherProfessional > 0 && this.selectedApplication.otherProfessional[0].id >= 0) ? this.selectedApplication.otherProfessional[0].id : 0;\n applicantData.groups = this.otherProfessionalGroups;\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n }\n }\n onCopyApplicantToElectricalContractor($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.professionalBodiesForm && this.professionalBodiesFormControlName === formGroupName) {\n if (this.showArchitect) {\n this.architectRecipientComponent.markFormControlsAsTouched();\n if (this.showSACAPOptions) {\n const sacapno = this.professionalBodiesForm.get(this.architectFormControlName).value.sacapRegistrationNumber;\n if (!sacapno) {\n this.appController.showMessage(\"Please verify architect before continuing to the next step\", AlertType.Warning);\n }\n const sacapverified = this.professionalBodiesForm.get(this.architectFormControlName).value.sacapRegistrationNumberVerified;\n if (!sacapverified) {\n this.appController.showMessage(\"Architect needs to be registered with SACAP. Please enter a valid SACAP registration number\", AlertType.Warning);\n }\n }\n }\n if (this.showEngineer) {\n this.engineerRecipientComponent.markFormControlsAsTouched();\n }\n if (this.showFireConsultant) {\n this.fireConsultantRecipientComponent.markFormControlsAsTouched();\n }\n if (this.showOtherProfessional) {\n this.otherProfessionalRecipientComponent.markFormControlsAsTouched();\n }\n if (this.showElectricalContractor) {\n this.contractorRecipientComponent.markFormControlsAsTouched();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n syncProfBodiesIsRequiredCheckBoxes(selectedApplication) {\n this.syncArchitectIsRequiredCheckBoxes(selectedApplication);\n this.syncEngineerIsRequiredCheckBoxes(selectedApplication);\n this.syncElectricalConstructorIsRequiredCheckBoxes(selectedApplication);\n this.syncFireConsultantIsRequiredCheckBoxes(selectedApplication);\n this.syncOtherProfessionalIsRequiredCheckBoxes(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 syncFireConsultantIsRequiredCheckBoxes(selectedApplication) {\n const fireConsultantIsNotApplicable = selectedApplication?.fireConsultantNa;\n if (fireConsultantIsNotApplicable) {\n this.fireConsultantIsRequiredChecked = false;\n this.showFireConsultant = false;\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).disable();\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showFireConsultant = true;\n this.fireConsultantIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(true);\n }\n }\n syncOtherProfessionalIsRequiredCheckBoxes(selectedApplication) {\n const otherProfessionalIsNotApplicable = selectedApplication?.otherProfessionalNa;\n if (otherProfessionalIsNotApplicable) {\n this.otherProfessionalIsRequiredChecked = false;\n this.showOtherProfessional = false;\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).disable();\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showOtherProfessional = true;\n this.otherProfessionalIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).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 this.populateFireConsultant(selectedApplication);\n this.populateOtherProfessional(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 populateFireConsultant(selectedApplication) {\n const fireConsultantControl = this.professionalBodiesForm.get(this.fireConsultantFormControlName);\n if (selectedApplication.fireConsultantNa) {\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n this.showFireConsultant = false;\n this.fireConsultantIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showFireConsultant = true;\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(true);\n this.fireConsultantIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).reset();\n if (this.savedFireConsultant.length > 0) {\n const fireConsultant = this.savedFireConsultant[0];\n fireConsultant.groups = this.fireConsultantGroups;\n fireConsultant.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n fireConsultantControl.setValue(fireConsultant);\n }\n }\n }\n populateOtherProfessional(selectedApplication) {\n const otherProfessionalControl = this.professionalBodiesForm.get(this.otherProfessionalFormControlName);\n if (selectedApplication.otherProfessionalNa) {\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n this.showOtherProfessional = false;\n this.otherProfessionalIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showOtherProfessional = true;\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(true);\n this.otherProfessionalIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).reset();\n if (this.savedOtherProfessional.length > 0) {\n const otherProfessional = this.savedOtherProfessional[0];\n otherProfessional.groups = this.otherProfessionalGroups;\n otherProfessional.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n otherProfessionalControl.setValue(otherProfessional);\n }\n }\n }\n populateElectricalContractor(selectedApplication) {\n const electricalContractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n if (selectedApplication.electricalContractorNa) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.showElectricalContractor = false;\n this.contractorIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (this.savedContractor.length > 0) {\n const electricalContractor = this.savedContractor[0];\n electricalContractor.groups = this.contractorGroups;\n electricalContractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n electricalContractorControl.setValue(electricalContractor);\n }\n }\n }\n getProfBodiesData() {\n if (this.selectedApplication) {\n const architectID = this.selectedApplication.architectId;\n const engineerID = this.selectedApplication.engineerId;\n const contractorID = this.selectedApplication.electricalContractorId;\n if (architectID || engineerID || contractorID) {\n this.getProfessionalBodiesId(architectID, engineerID, contractorID);\n }\n if (!architectID) {\n this.getArchitectDataFromUserSettings();\n }\n }\n }\n getProfessionalBodiesId(architectID, engineerID, contractorID) {\n const architectAgentParams = {\n $expand: \"groups\", $filter: `id eq ${architectID}`\n };\n const engineerParams = {\n $expand: \"groups\", $filter: `id eq ${engineerID}`\n };\n const contractorParams = {\n $expand: \"groups\", $filter: `id eq ${contractorID}`\n };\n forkJoin([this.recipientService.getRecipientsObservable(architectAgentParams), this.recipientService.getRecipientsObservable(engineerParams), this.recipientService.getRecipientsObservable(contractorParams)]).subscribe({\n next: (professionalBodies) => {\n if (professionalBodies[0]?.length > 0) {\n // implementingAgent\n this.savedArchitect = professionalBodies[0];\n }\n else {\n this.getArchitectDataFromUserSettings();\n }\n if (professionalBodies[1]?.length > 0) {\n // Engineer\n this.savedEngineer = professionalBodies[1];\n }\n if (professionalBodies[2]?.length > 0) {\n // contractor\n this.savedContractor = professionalBodies[2];\n }\n if (this.professionalBodiesForm.pristine || professionalBodies.length > 0) {\n this.syncProfBodiesIsRequiredCheckBoxes(this.selectedApplication);\n this.populateProfessionalBodiesForms();\n }\n else {\n this.showProfBodiesBasedOnCurrentFormStatus();\n }\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n showProfBodiesBasedOnCurrentFormStatus() {\n const architectIsRequired = this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).value;\n const engineerIsRequired = this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).value;\n const contractorIsRequired = this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).value;\n if (architectIsRequired) {\n this.showArchitect = true;\n }\n else {\n this.showArchitect = false;\n }\n if (engineerIsRequired) {\n this.showEngineer = true;\n }\n else {\n this.showEngineer = false;\n }\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n }\n else {\n this.showElectricalContractor = false;\n }\n }\n getApplicantData() {\n if (this.selectedApplication) {\n const applicantID = this.selectedApplication.applicantId;\n if (applicantID) {\n this.getApplicantByApplicantId(applicantID);\n }\n }\n }\n getApplicantByApplicantId(applicantID) {\n const params = {\n $expand: \"groups\", $filter: `id eq ${applicantID}`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedApplicant = recipients[0];\n this.applicant = savedApplicant;\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markFireConsultantAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markOtherProfessionalAsRequiredFormControlName).setValue(false);\n }\n getAuthUserInformation() {\n this.userInformationService.$authenticatedUser.subscribe({\n next: (authUSer) => {\n this.authUserDetails = authUSer;\n this.getProfBodiesData();\n }\n });\n }\n getArchitectDataFromUserSettings() {\n const authUserId = this.authUserDetails.id;\n this.recipientService.getApplicantDataFromUserSettings(authUserId, \"portal_architect\").subscribe({\n next: (userSettingList) => {\n if (userSettingList.length > 0) {\n const userSettingData = userSettingList[0];\n const recipientData = JSON.parse(userSettingData.value);\n recipientData.moduleId = Number(this.appController.selectedModuleID);\n recipientData.jobId = Number(this.jobId);\n this.showArchitect = true;\n this.architectIsRequiredChecked = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.architectFormControlName).enable();\n this.professionalBodiesForm.get(this.architectFormControlName).reset();\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(recipientData);\n this.changeDetectorRef.detectChanges();\n }\n }, error: (err) => {\n this.appController.handleServerErrorMessage(\"user settings\", err, CRUDOperation.Get);\n }\n });\n }\n configureProfBodiesForSACAP() {\n this.showArchitect = true;\n this.professionalBodiesForm.get(this.markArchitectAsRequiredFormControlName).setValue(true);\n this.professionalBodiesForm.get(this.architectFormControlName).enable();\n const copyControl = this.professionalBodiesForm.get(this.copyApplicantDetailsToArchitectFormControlName);\n copyControl.enable();\n this.showArchitectRequiredCheckbox = false;\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: RecipientService },\n { type: UserInformationService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n architectRecipientComponent: [{ type: ViewChild, args: [\"architectRecipientComponent\", { static: false },] }],\n engineerRecipientComponent: [{ type: ViewChild, args: [\"engineerRecipientComponent\", { static: false },] }],\n contractorRecipientComponent: [{ type: ViewChild, args: [\"contractorRecipientComponent\", { static: false },] }],\n fireConsultantRecipientComponent: [{ type: ViewChild, args: [\"fireConsultantRecipientComponent\", { static: false },] }],\n otherProfessionalRecipientComponent: [{ type: ViewChild, args: [\"otherProfessionalRecipientComponent\", { static: false },] }]\n };\n};\nCreateApplicationProfessionalBodiesBpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-bpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesBpamsComponent);\nexport { CreateApplicationProfessionalBodiesBpamsComponent };\n","export class CreateApplicationProfessionalBodiesBpamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Are the electrical contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static MARK_FIRE_CONSULTANT_AS_REQUIRED_LABEL = \"Are the fire consultant's details required?\";\n static MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markFireConsultantAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_LABEL = \"Copy applicant details to fire consultant?\";\n static COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_FORM_CONTROL_NAME = \"copyApplicantToFireConsultant\";\n static MARK_OTHER_PROFESSIONAL_AS_REQUIRED_LABEL = \"Are the other professional's details required?\";\n static MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markOtherProfessionalAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_LABEL = \"Copy applicant details to other professional?\";\n static COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_FORM_CONTROL_NAME = \"copyApplicantToOtherProfessional\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static FIRE_CONSULTANT_LABEL = \"Fire Consultant\";\n static OTHER_PROFESSIONAL_LABEL = \"Other Professional\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n static FIRE_CONSULTANT_FORM_CONTROL_NAME = \"fireConsultantRecipients\";\n static OTHER_PROFESSIONAL_FORM_CONTROL_NAME = \"otherProfessionalRecipients\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-burial-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-burial-details-cm.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateBurialDetailsCmConstants } from \"./create-burial-details-cm.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { ViewDeceasedDetailsCmConstant } from \"../../../../view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { AlertType } from \"src/app/shared/models/alert\";\nlet CreateBurialDetailsCmComponent = class CreateBurialDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n datePipe;\n searchApplicationsService;\n detailsFormGroupName = CreateBurialDetailsCmConstants.DETAILS_FORM_GROUP_NAME;\n burialTypeControl = CreateBurialDetailsCmConstants.BURIAL_TYPE_CONTROL;\n burialTypeLabel = CreateBurialDetailsCmConstants.BURIAL_TYPE_LABEL;\n burialDateControl = CreateBurialDetailsCmConstants.BURIAL_DATE_CONTROL;\n burialDateLabel = CreateBurialDetailsCmConstants.BURIAL_DATE_LABEL;\n burialTypePlaceHolder = CreateBurialDetailsCmConstants.BURIAL_TYPE_PH;\n validationMessages = CreateBurialDetailsCmConstants.VALIDATION_MESSAGES;\n burialDescriptionControl = CreateBurialDetailsCmConstants.DESCRIPTION_CONTROL;\n burialDescriptionLabel = CreateBurialDetailsCmConstants.DESCRIPTION_LABEL;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n title = CreateBurialDetailsCmConstants.STEP_TITLE;\n burialTypes = [];\n detailsForm;\n selectedApplicationCmSubscription;\n getLookupsObservableSubscripiton;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, datePipe, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.datePipe = datePipe;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationCmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"burialForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.burialTypeControl).setValue(application.type);\n this.detailsForm.get(this.burialDescriptionControl).setValue(application.description);\n if (application.burialDate !== undefined && application.burialDate !== null) {\n const dateString = this.datePipe.transform(application.burialDate, ViewDeceasedDetailsCmConstant.DATE_CONST);\n this.detailsForm.get(this.burialDateControl).setValue(dateString);\n }\n }\n loadLookup() {\n this.getLookupsObservableSubscripiton = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.burialTypes.push(JSON.parse(lp.content));\n });\n // this.detailsForm.get(this.burialTypeControl).clearValidators();\n // this.detailsForm.get(this.burialTypeControl).addValidators(Validators.required);\n this.burialTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n checkBurialDate() {\n const selectedDate = new Date(this.detailsForm.get(this.burialDateControl).value);\n const numberOfDays = AppConfig.settings.burialDateWarning.numberOfDays;\n const warningDate = this.getBusinessDates(new Date(), numberOfDays);\n if (selectedDate <= warningDate && numberOfDays > 0) {\n this.detailsForm.get(this.burialDateControl).setErrors({ invalid: true });\n this.appController.showMessage(`Application will not be processed within ${numberOfDays} day(s) before burial`, AlertType.Warning);\n }\n else {\n this.detailsForm.get(this.burialDateControl).setErrors(null);\n }\n }\n getBusinessDates(currentDate, numberOfDays) {\n let count = 0;\n while (count < numberOfDays) {\n const dayOfWeek = currentDate.getDay();\n if (dayOfWeek !== 0 && dayOfWeek !== 6) {\n count++;\n }\n currentDate.setDate(currentDate.getDate() + 1);\n }\n return currentDate;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: DatePipe },\n { type: SearchApplicationsService }\n ];\n};\nCreateBurialDetailsCmComponent = __decorate([\n Component({\n selector: \"app-create-burial-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateBurialDetailsCmComponent);\nexport { CreateBurialDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateBurialDetailsCmConstants {\n static STEP_TITLE = \"Burial details\";\n static DETAILS_FORM_GROUP_NAME = \"burialForm\";\n static BURIAL_TYPE_CONTROL = \"type\";\n static BURIAL_TYPE_LABEL = \"Burial type\";\n static BURIAL_DATE_CONTROL = \"burialDate\";\n static BURIAL_DATE_LABEL = \"Burial date\";\n static BURIAL_TYPE_PH = \"Select burial type\";\n static DESCRIPTION_CONTROL = \"description\";\n static DESCRIPTION_LABEL = \"Description\";\n static VALIDATION_MESSAGES = {\n burialType: {\n required: `Burial type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n burialDate: {\n required: `Burial date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-deceased-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-deceased-details-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateDeceasedDetailsCmConstant } from \"./create-deceased-details-cm.constants\";\nimport { DatePipe } from \"@angular/common\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { LookupConstants } from \"src/app/shared/constants/lookup.constants\";\nimport { map, of } from \"rxjs\";\nlet CreateDeceasedDetailsCmComponent = class CreateDeceasedDetailsCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n appController;\n changeDetectorRefs;\n aflaModuleStrategyService;\n datePipe;\n selectedApplicationService;\n searchApplicationsService;\n deceasedFormGroupName = CreateDeceasedDetailsCmConstant.DECEASED_FORM_GROUP_NAME;\n nameControl = CreateDeceasedDetailsCmConstant.NAME_CONTROL;\n surnameControl = CreateDeceasedDetailsCmConstant.SURNAME_CONTROL;\n startDateControl = CreateDeceasedDetailsCmConstant.START_DATE_CONTROL;\n nameLabel = CreateDeceasedDetailsCmConstant.NAME_LABEL;\n surnameLabel = CreateDeceasedDetailsCmConstant.SURNAME_LABEL;\n startDateLabel = CreateDeceasedDetailsCmConstant.START_DATE_LABEL;\n sexLabel = CreateDeceasedDetailsCmConstant.SEX_LABEL;\n nationalityLabel = CreateDeceasedDetailsCmConstant.NATIONALITY_LABEL;\n maidenNameLabel = CreateDeceasedDetailsCmConstant.MAIDEN_NAME_LABEL;\n placeOfBirthLabel = CreateDeceasedDetailsCmConstant.PALCE_OF_BIRTH_LABEL;\n placeOfDeathLabel = CreateDeceasedDetailsCmConstant.PLACE_OF_DEATH_LABEL;\n provinceOfDeathLabel = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_LABEL;\n identificationTypeLabel = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_LABEL;\n idNumberLabel = CreateDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_LABEL;\n dateOfDeathLabel = CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_LABEL;\n dateOfBirthLabel = CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_LABEL;\n burialOrderNumberLabel = CreateDeceasedDetailsCmConstant.BURIAL_ORDER_LABEL;\n serialNumenerLabel = CreateDeceasedDetailsCmConstant.SERIAL_NUMBER_LABEL;\n verticalPositionLabel = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_LABEL;\n undertakerLabel = CreateDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_LABEL;\n sexControl = CreateDeceasedDetailsCmConstant.SEX_CONTROL;\n nationalityControl = CreateDeceasedDetailsCmConstant.NATIONALITY_CONTROL;\n maidenNameControl = CreateDeceasedDetailsCmConstant.MAIDEN_NAME_CONTROL;\n placeOfBirthControl = CreateDeceasedDetailsCmConstant.PALCE_OF_BIRTH_CONTROL;\n placeOfDeathControl = CreateDeceasedDetailsCmConstant.PLACE_OF_DEATH_CONTROL;\n provinceOfDeathControl = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_CONTROL;\n identificationTypeControl = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_CONTROL;\n idNumberControl = CreateDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_CONTROL;\n dateOfDeathControl = CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL;\n dateOfBirthControl = CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL;\n burialOrderNumberControl = CreateDeceasedDetailsCmConstant.BURIAL_ORDER_CONTROL;\n serialNumberControl = CreateDeceasedDetailsCmConstant.SERIAL_NUMBER_CONTROL;\n verticalPositionControl = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_CONTROL;\n undertakerControl = CreateDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_CONTROL;\n validationMessages = CreateDeceasedDetailsCmConstant.VALIDATION_MESSAGES;\n title = CreateDeceasedDetailsCmConstant.DECEASED_DETAILS_TITLE;\n sexPh = CreateDeceasedDetailsCmConstant.SEX_PH;\n nationalityPh = CreateDeceasedDetailsCmConstant.NATIONALITY_PH;\n provinceOfDeathPh = CreateDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_PH;\n identityTypePh = CreateDeceasedDetailsCmConstant.IDENTITY_TYPE_PH;\n verticalPositionPh = CreateDeceasedDetailsCmConstant.VERTICAL_POSITION_PH;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n deceasedForm;\n nationalityLookup = LookupConstants.COUNTRIES;\n provinceLookup = LookupConstants.PROVINCE;\n dateofBirth;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList = [];\n deceasedNamesControl = \"deceasedNames\";\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\"\n };\n nationalityControlRequired = true;\n identificationTypeControlRequired = true;\n idNumberControlRequired = true;\n dateOfBirthControlRequired = true;\n placeOfBirthControlRequired = true;\n sexControlRequired = true;\n burialOrderNumberControlRequired = true;\n verticalPositionControlRequired = true;\n getLookupsObservableSubscription;\n selectedApplicationCreateCmSubscription;\n getApplicationsSubscription;\n deceasedNameListSubscription;\n deceasedNameListObservable;\n tableDataSource;\n constructor(applicationCreateService, appController, changeDetectorRefs, aflaModuleStrategyService, datePipe, selectedApplicationService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.loadLookups();\n this.checkSave();\n this.aflaModuleStrategyService.onCleanFormEvent.subscribe(x => {\n this.deceasedNameList = [];\n this.changeDetectorRefs.detectChanges();\n });\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n editnamesEvent(deceasedNameList) {\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(\"deceasedNames\").setValue(this.deceasedNameList);\n }\n addnamesEvent(deceasedNameList) {\n console.log(\"addevent\");\n this.deceasedNameList = deceasedNameList;\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(this.deceasedNameList[0].startDate, \"yyyy-MM-dd\"));\n }\n populateForm(application) {\n if (application.deceased.length > 0) {\n application.deceased.forEach((deceased) => {\n this.deceasedForm.get(this.sexControl).setValue(deceased.sex);\n this.deceasedForm.get(this.nationalityControl).setValue(deceased.nationality);\n this.deceasedForm.get(this.maidenNameControl).setValue(deceased.maidenName);\n this.deceasedForm.get(this.placeOfBirthControl).setValue(deceased.placeOfBirth);\n this.deceasedForm.get(this.placeOfDeathControl).setValue(deceased.placeOfDeath);\n this.deceasedForm.get(this.provinceOfDeathControl).setValue(deceased.provinceOfDeath);\n this.deceasedForm.get(this.identificationTypeControl).setValue(deceased.idType);\n this.deceasedForm.get(this.idNumberControl).setValue(deceased.idNumber);\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(deceased.dateOfBirth, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.dateOfDeathControl).setValue(this.datePipe.transform(deceased.dateOfDeath, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.burialOrderNumberControl).setValue(deceased.burialOrderNumber);\n this.deceasedForm.get(this.serialNumberControl).setValue(deceased.serialNo);\n this.deceasedForm.get(this.verticalPositionControl).setValue(deceased.verticalPosition);\n this.deceasedForm.get(this.undertakerControl).setValue(deceased.undertaker);\n if (deceased.deceasedNames && deceased.deceasedNames.length > 0) {\n this.addnamesEvent(deceased.deceasedNames);\n this.deceasedForm.get(\"deceasedNames\").setValue(deceased.deceasedNames);\n this.deceasedNameList = deceased.deceasedNames;\n this.intDataSource();\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n if (application.type.toLowerCase() === \"pauper\") {\n this.deceasedForm.get(\"deceasedNames\").clearValidators();\n this.deceasedForm.get(this.nationalityControl).clearValidators();\n this.nationalityControlRequired = false;\n this.deceasedForm.get(this.identificationTypeControl).clearValidators();\n this.identificationTypeControlRequired = false;\n this.deceasedForm.get(this.idNumberControl).clearValidators();\n this.idNumberControlRequired = false;\n this.deceasedForm.get(this.dateOfBirthControl).clearValidators();\n this.dateOfBirthControlRequired = false;\n this.deceasedForm.get(this.placeOfBirthControl).clearValidators();\n this.placeOfBirthControlRequired = false;\n this.deceasedForm.get(this.sexControl).clearValidators();\n this.sexControlRequired = false;\n this.deceasedForm.get(this.burialOrderNumberControl).clearValidators();\n this.burialOrderNumberControlRequired = false;\n this.deceasedForm.get(this.verticalPositionControl).clearValidators();\n this.verticalPositionControlRequired = false;\n }\n this.deceasedForm.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n this.deceasedForm.enable();\n this.enableDropdowns();\n }\n loadLookups() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name in ('${this.lookupConst.IdentificationType}','${this.lookupConst.Sex}','${this.lookupConst.VerticalPosition}') and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n if (lp.name === this.lookupConst.IdentificationType)\n this.identificationTypeLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.Sex)\n this.sexLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.VerticalPosition)\n this.verticalPositionLookup.push(JSON.parse(lp.content));\n });\n this.identificationTypeLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.sexLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.verticalPositionLookup.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n checkSave() {\n this.selectedApplicationCreateCmSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n if (app) {\n this.getApplicationDeceasedDetails(app);\n }\n });\n }\n enableDropdowns() {\n this.deceasedForm.get(this.sexControl).enable();\n this.deceasedForm.get(this.nationalityControl).enable();\n this.deceasedForm.get(this.identificationTypeControl).enable();\n this.deceasedForm.get(this.provinceOfDeathControl).enable();\n this.deceasedForm.get(this.verticalPositionControl).enable();\n this.deceasedForm.get(this.nationalityControl).setValue(\"South Africa\");\n }\n idTypeChanged() {\n const idType = this.deceasedForm.get(this.identificationTypeControl).value;\n this.deceasedForm.get(this.idNumberControl).clearValidators();\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n if (idType === \"SA ID\") {\n this.deceasedForm.get(this.idNumberControl).setValidators([Validators.required, Validators.pattern(RegExp(/[0-9]{13}$/))]);\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n }\n else {\n this.deceasedForm.get(this.idNumberControl).setValidators(Validators.required);\n this.deceasedForm.get(this.idNumberControl).updateValueAndValidity();\n }\n }\n updateDateOfBirth() {\n const dateValue = this.deceasedForm.get(this.dateOfBirthControl).value;\n this.dateofBirth = dateValue;\n this.changeDetectorRefs.detectChanges();\n }\n getApplicationDeceasedDetails(savedApplication) {\n const params = {\n $expand: \"deceased($expand=deceasedNames)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${savedApplication.moduleId} and deleted eq false`\n };\n this.getApplicationsSubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (application) => {\n const updatedApplication = application.value;\n if (updatedApplication.length > 0) {\n this.populateForm(updatedApplication[0]);\n }\n }\n });\n }\n intDataSource() {\n this.tableDataSource = of(this.deceasedNameList)\n .pipe(map((resp) => {\n const sch = [];\n resp.forEach(el => {\n sch.push({\n id: el.id,\n name: el.name,\n surname: el.surname,\n startDate: this.datePipe.transform(el.startDate, \"yyyy-MM-dd\")\n });\n });\n return sch;\n }));\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.deceasedForm && formGroupName === this.deceasedFormGroupName) {\n this.deceasedForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AflaModuleStrategyService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: SearchApplicationsService }\n ];\n};\nCreateDeceasedDetailsCmComponent = __decorate([\n Component({\n selector: \"app-create-deceased-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateDeceasedDetailsCmComponent);\nexport { CreateDeceasedDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateDeceasedDetailsCmConstant {\n static PLACEHOLDER_TEXT = SharedConstants.PLACEHOLDER_TEXT;\n static TABLE_LABEL = \"Ensure that you capture the deceased name, surname, and, if applicable, the date the surname was modified.\";\n static DECEASED_DETAILS_TITLE = \"Deceased details\";\n static NAME_LABEL = \"Name\";\n static SURNAME_LABEL = \"Surname\";\n static START_DATE_LABEL = \"Date name and surname given / date changed\";\n static DECEASED_FORM_GROUP_NAME = \"deceasedForm\";\n static NAME_CONTROL = \"name\";\n static SURNAME_CONTROL = \"surname\";\n static START_DATE_CONTROL = \"startDate\";\n static ACTION_LABEL = \"Action\";\n static DELETE_ITEM_TITLE = \"Delete deceased name\";\n static DELETE_DECEASED_NAME_CONFIRM = SharedConstants.REMOVE_MESSAGE + \" deceased name(s)?\";\n static SHORT_DATE_CONST = \"YYYY/MM/d\";\n static ADD_DECEASED_NAME_LBEL = \"Add deceased name\";\n static EDIT_DECEASED_NAME_LBEL = \"Edit deceased name\";\n static REMOVE_DECEASED_NAME_LBEL = \"Remove deceased name\";\n ////////////////////////////////////////////////////////////////////////////\n static SEX_LABEL = \"Sex\";\n static NATIONALITY_LABEL = \"Nationality\";\n static MAIDEN_NAME_LABEL = \"Maiden name\";\n static PALCE_OF_BIRTH_LABEL = \"Place of birth\";\n static PLACE_OF_DEATH_LABEL = \"Place of death\";\n static PROVINCE_OF_DEATH_LABEL = \"Province of death\";\n static IDENTITY_TYPE_LABEL = \"Identification type\";\n static ID_PASSPORT_NUMBER_LABEL = \"ID / Passport number\";\n static DATE_OF_BIRTH_LABEL = \"Date of birth\";\n static DATE_OF_DEATH_LABEL = \"Date of death\";\n static BURIAL_ORDER_LABEL = \"Burial order number\";\n static SERIAL_NUMBER_LABEL = \"Serial number\";\n static VERTICAL_POSITION_LABEL = \"Vertical position (m)\";\n static NAME_OF_THE_UNDERTAKER_LABEL = \"Name of undertaker in position (Only if there is no funeral parlour involved)\";\n static SEX_CONTROL = \"sex\";\n static NATIONALITY_CONTROL = \"nationality\";\n static MAIDEN_NAME_CONTROL = \"maidenName\";\n static PALCE_OF_BIRTH_CONTROL = \"placeOfBirth\";\n static PLACE_OF_DEATH_CONTROL = \"placeOfDeath\";\n static PROVINCE_OF_DEATH_CONTROL = \"provinceOfDeath\";\n static IDENTITY_TYPE_CONTROL = \"idType\";\n static ID_PASSPORT_NUMBER_CONTROL = \"idNumber\";\n static DATE_OF_BIRTH_CONTROL = \"dateOfBirth\";\n static DATE_OF_DEATH_CONTROL = \"dateOfDeath\";\n static BURIAL_ORDER_CONTROL = \"burialOrderNumber\";\n static SERIAL_NUMBER_CONTROL = \"serialNo\";\n static VERTICAL_POSITION_CONTROL = \"verticalPosition\";\n static NAME_OF_THE_UNDERTAKER_CONTROL = \"undertaker\";\n /////////////////////////////////////////////////////////////////////////\n static SEX_PH = \"Select sex\";\n static NATIONALITY_PH = \"Select nationality\";\n static PROVINCE_OF_DEATH_PH = \"Select province of death\";\n static IDENTITY_TYPE_PH = \"Select identity type\";\n static VERTICAL_POSITION_PH = \"Select vertical Position\";\n ////////////////////////////////////////////////////////////////////////\n static DATE_CONST = \"yyyy-MM-dd\";\n static VALIDATION_MESSAGES = {\n sex: {\n required: `Sex ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nationality: {\n required: `Nationality ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n identificationType: {\n required: `Identification Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n maidenName: {\n required: `Maiden name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfBirth: {\n required: `Place of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfDeath: {\n required: `Place of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n provinceOfDeath: {\n required: `Province of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idType: {\n sex: ` Identification type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idNumber: {\n required: `ID / Passport number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION} SA ID numbers must be exactly 13 numbers`,\n wrong: `SA ID numbers must be exactly 13 numbers`\n },\n dateOfBirth: {\n required: `Date of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of birth should not be later than today`\n },\n dateOfDeath: {\n required: `Date of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of death should be between date of birth and today`\n },\n burialOrderNumber: {\n required: `Burial order number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n serialNo: {\n required: `Serial Number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n verticalPosition: {\n required: `Vertical position ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n surname: {\n required: `Surname ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n startDate: {\n required: `Date name or surname given / date changed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\nexport var DeceasedNamesTableHeaderEnum;\n(function (DeceasedNamesTableHeaderEnum) {\n DeceasedNamesTableHeaderEnum[\"name\"] = \"Name\";\n DeceasedNamesTableHeaderEnum[\"surname\"] = \"Surname\";\n DeceasedNamesTableHeaderEnum[\"StartDate\"] = \"Date name/surname given / date changed\";\n})(DeceasedNamesTableHeaderEnum || (DeceasedNamesTableHeaderEnum = {}));\nexport const DeceasedNamesTableHeaderLookup = new Map([\n [DeceasedNamesTableHeaderEnum.name, \"name\"],\n [DeceasedNamesTableHeaderEnum.surname, \"surname\"],\n [DeceasedNamesTableHeaderEnum.StartDate, \"startDate\"],\n]);\n","export class CreateFamillyMemberConstant {\n static FAMILY_CONTROL = \"family\";\n static FAMILY_LABEL = \"Family member\";\n static COPY_APPLICANT_TO_FAMILY_LABEL = \"Copy applicant to family\";\n static DUPLICATE_APPLICANT_ERROR_MESSAGE = \"This applicant already exists\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-family-member-det-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-family-member-det-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { CreateFamillyMemberConstant } from \"./create-familly-member-det.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateFamilyMemberDetCmComponent = class CreateFamilyMemberDetCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n familyMemberForm = new FormGroup({});\n familyMemberGroups = [];\n familyMemberShowGroupsDropdown = false;\n familyMemberDisableAdd = false;\n familyMemberDisableFilterBy = true;\n familyMemberDisableEditing = false;\n familyMemberListLabel = CreateFamillyMemberConstant.FAMILY_LABEL;\n familyMemberListControl = CreateFamillyMemberConstant.FAMILY_CONTROL;\n copyApplicantToFamilyLabel = CreateFamillyMemberConstant.COPY_APPLICANT_TO_FAMILY_LABEL;\n applicants;\n family = [];\n selectedApplicationCreateFamilyMemberSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.familyMemberGroups = stepMeta.familyGroup;\n this.subscribeToSelectedApplication();\n }\n onBtnCopyApplicantToFamilyClicked() {\n if (!this.applicants)\n return;\n this.family = null;\n const family = this.familyMemberForm.get(this.familyMemberListControl).value;\n if (family && family.length > 0)\n this.family = family;\n else\n this.family = [];\n this.applicants.forEach((applicant) => {\n applicant.id = 0;\n applicant.groups = [{\n groupName: this.stepMeta.familyGroup[0].GroupName,\n groupType: this.stepMeta.familyGroup[0].GroupType,\n }];\n });\n this.family.push(...this.applicants);\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n RecipientUtils.setRecipients(this.family, true, familyMemberListControl);\n }\n populateForm(application) {\n if (application && application.appId > 0) {\n this.familyMemberForm.markAllAsTouched();\n }\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n const family = application.family.filter(f => !f.deleted);\n RecipientUtils.setRecipients(family, true, familyMemberListControl);\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationCreateFamilyMemberSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n this.getApplicant(application);\n }\n });\n }\n refreshTableIndexes() {\n for (let index = 0; index < this.family.length; index++) {\n if (this.family[index].id > 0) {\n this.family[index].id = index !== 0 ? -index : 0;\n }\n }\n }\n initForm() {\n this.familyMemberForm = this.aflaModuleStrategyService.form.get(\"familyMemberForm\");\n this.familyMemberForm.enable();\n }\n getApplicant(app) {\n this.applicants = app.applicant;\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateFamilyMemberDetCmComponent = __decorate([\n Component({\n selector: \"app-create-family-member-det-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateFamilyMemberDetCmComponent);\nexport { CreateFamilyMemberDetCmComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-funeral-parlour-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-funeral-parlour-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../../create-application/shared/create-application-view-base/create-application-view-base.component\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateFuneralParlourConstants } from \"./create-funeral-parlour.constant\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateFuneralParlourCmComponent = class CreateFuneralParlourCmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n recipientService;\n selectedApplicationService;\n appControllerService;\n appService;\n changeDetectorRefs;\n recipientFilterService;\n searchApplicationsService;\n parlourForm = new FormGroup({});\n parlourFormGroupName = CreateFuneralParlourConstants.FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME;\n parlourLabel = CreateFuneralParlourConstants.NOTICE_LABEL;\n parlourControl = CreateFuneralParlourConstants.PARLOUR_CONTROL;\n parlourSelectControl = CreateFuneralParlourConstants.PARLOUR_SELECT_CONTROL;\n parlourPh = CreateFuneralParlourConstants.PLACE_HOLDER;\n validationMessages = CreateFuneralParlourConstants.VALIDATION_MESSAGES;\n parlourSelectLabel = CreateFuneralParlourConstants.PARLOUR_SELECT_LABEL;\n title = CreateFuneralParlourConstants.TITLE;\n markFpMotApplicableLabel = CreateFuneralParlourConstants.MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL;\n funeralParlourIsNullFormControlName = CreateFuneralParlourConstants.FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME;\n dropdownPlaceHolder = SharedConstants.PLACEHOLDER_TEXT;\n parlourGroups = [];\n parlours;\n parlourMetadata;\n disableEditing = true;\n funeralParlourNotApplicableChecked = false;\n component = \"create-funeral-parlour\";\n getRecipientsByGroupSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, recipientService, selectedApplicationService, appControllerService, appService, changeDetectorRefs, recipientFilterService, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientService = recipientService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.appService = appService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.recipientFilterService = recipientFilterService;\n this.searchApplicationsService = searchApplicationsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.getFuneralParlours();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n this.parlourMetadata = stepMeta;\n this.parlourGroups = stepMeta.funeralParlourGroup;\n this.changeDetectorRefs.markForCheck();\n }\n onSelectParlour(event) {\n const element = event.target;\n const selectedParlour = this.parlours.find(p => p.id === +element.value);\n this.parlourForm.get(this.parlourControl).clearValidators();\n this.parlourForm.get(this.parlourControl).patchValue(selectedParlour);\n this.parlourForm.get(this.parlourSelectControl).patchValue(selectedParlour.id);\n this.parlourForm.get(this.parlourControl).updateValueAndValidity();\n this.changeDetectorRefs.markForCheck();\n }\n onFuneralParlourNotApplicable($event) {\n const funeralParlourIsNullable = $event.target.checked;\n if (funeralParlourIsNullable) {\n this.funeralParlourNaChecked();\n }\n else {\n this.funeralParlourNANotChecked();\n }\n this.changeDetectorRefs.markForCheck();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"funeralParlourForm\");\n form.clearValidators();\n form.updateValueAndValidity();\n this.parlourForm = form;\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n getFuneralParlours() {\n const recipientSelect = {\n jobId: null,\n moduleId: this.applicationCreateService.moduleID,\n groups: []\n };\n if (this.parlourGroups.length > 0) {\n this.parlourGroups.forEach((group, i) => {\n const ggroup = {\n groupType: this.propertyDataAlternateColumnName(group, \"groupType\", \"GroupType\"),\n groupName: this.propertyDataAlternateColumnName(group, \"groupName\", \"GroupName\"),\n };\n recipientSelect.groups.push(ggroup);\n });\n }\n this.getRecipientsByGroupSubscription =\n this.recipientFilterService.getRecipientsByGroup(recipientSelect).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.recipients.length > 0) {\n this.parlours = recipients.recipients;\n if (this.parlours.length === 0) {\n this.appControllerService.showMessage(\"No funeral parlours found. Please try again or contact your system administrator\", AlertType.Error);\n }\n this.checkCurrentApplicationForSavedFuneralParlours();\n this.changeDetectorRefs.markForCheck();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.component, error, CRUDOperation.Get);\n }\n });\n }\n funeralParlourNaChecked() {\n this.parlourForm?.get(this.parlourControl).reset();\n this.parlourForm?.get(this.parlourControl).enable();\n this.parlourForm?.get(this.parlourControl).clearValidators();\n this.parlourForm?.get(this.parlourControl).updateValueAndValidity();\n this.parlourForm?.get(this.parlourControl).disable();\n this.parlourForm?.markAsDirty();\n this.parlourForm?.get(this.parlourSelectControl).reset();\n this.parlourForm?.get(this.parlourSelectControl).disable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(true);\n }\n funeralParlourNANotChecked() {\n this.parlourForm?.get(this.parlourSelectControl).enable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(false);\n }\n checkCurrentApplicationForSavedFuneralParlours() {\n const application = this.selectedApplication;\n if (application) {\n if (this.parlourForm.pristine) {\n this.syncNotApplicableCheckBox(application);\n if (application.funeralParlour.length > 0) {\n const funeralParlour = application.funeralParlour[0];\n const funeralParlourControl = this.parlourForm.get(this.parlourControl);\n const funeralParlourSelectControl = this.parlourForm.get(this.parlourSelectControl);\n funeralParlour.groups = this.parlourGroups;\n funeralParlour.groups.forEach((group) => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n funeralParlourControl.setValue(funeralParlour);\n funeralParlourSelectControl.setValue(application.funeralParlourId);\n }\n }\n else {\n this.updateNotApplicableCheckBox();\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n syncNotApplicableCheckBox(application) {\n const funeralParlourNa = application.funeralParlourNa;\n if (funeralParlourNa) {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm?.get(this.parlourSelectControl).disable();\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(true);\n }\n else {\n this.funeralParlourNotApplicableChecked = false;\n this.parlourForm?.get(this.funeralParlourIsNullFormControlName).setValue(false);\n }\n this.parlourForm?.markAsDirty();\n this.changeDetectorRefs.detectChanges();\n }\n updateNotApplicableCheckBox() {\n const funeralParlourNotApplicable = this.parlourForm.get(this.funeralParlourIsNullFormControlName);\n if (funeralParlourNotApplicable) {\n this.funeralParlourNotApplicableChecked = true;\n }\n else {\n this.funeralParlourNotApplicableChecked = false;\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.parlourForm && formGroupName === this.parlourFormGroupName) {\n this.parlourForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: SearchApplicationsService }\n ];\n};\nCreateFuneralParlourCmComponent = __decorate([\n Component({\n selector: \"app-create-funeral-parlour-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateFuneralParlourCmComponent);\nexport { CreateFuneralParlourCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateFuneralParlourConstants {\n static PARLOUR_CONTROL = \"parlourRecipient\";\n static PARLOUR_SELECT_CONTROL = \"parlourSelector\";\n static PARLOUR_SELECT_LABEL = \"Select funeral parlour\";\n static PLACE_HOLDER;\n static FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME = \"funeralParlourIsNull\";\n static FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME = \"funeralParlourForm\";\n static NOTICE_LABEL = \"If your funeral parlour is not listed, contact your municipality\";\n static MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL = \"Mark funeral parlour as not applicable\";\n static TITLE = \"Funeral parlour\";\n static VALIDATION_MESSAGES = {\n parlourRecipientSelect: {\n required: `Funeral parlour ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { CreateDeceasedDetailsCmConstant } from '../create-deceased-details-cm/create-deceased-details-cm.constants';\nexport class DeceasedDtailsCustomValidators {\n static CompareDateToToday(control) {\n const dateOfBirth = control.value;\n if (!dateOfBirth)\n return null;\n const dateOfBirthToDate = new Date(dateOfBirth);\n const isWrong = DeceasedDtailsCustomValidators.compareAnyDateToTday(dateOfBirthToDate);\n return isWrong ? { wrong: isWrong } : null;\n }\n static CompareDateToDateOfDeath(control) {\n if (!control.get(CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL) ||\n !control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL))\n return null;\n const dateOfBirth = control.get(CreateDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL).value;\n const dateOfdeath = control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL).value;\n if (!dateOfdeath)\n return null;\n const birthToDeathIsWrong = DeceasedDtailsCustomValidators.compareDateOfBirthToDateOfDeath(new Date(dateOfBirth), new Date(dateOfdeath));\n const deathToTodayIsWrong = DeceasedDtailsCustomValidators.compareAnyDateToTday(new Date(dateOfdeath));\n if (birthToDeathIsWrong || deathToTodayIsWrong)\n control.get(CreateDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL).setErrors({ wrong: true });\n return birthToDeathIsWrong || deathToTodayIsWrong ? { wrong: birthToDeathIsWrong || deathToTodayIsWrong } : null;\n }\n // Check if date of death is wrong\n static compareDateOfBirthToDateOfDeath(dateOfBirth, dateOfDeath) {\n return (dateOfDeath < dateOfBirth);\n }\n // if any date is greater than today\n static compareAnyDateToTday(date) {\n const today = new Date();\n return (date > today);\n }\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsDmConstants } from \"./create-application-details-dm.constants\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsDmComponent = class CreateApplicationDetailsDmComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n detailsFormGroupName = CreateApplicationDetailsDmConstants.DETAILS_FORM_GROUP_NAME;\n applicationTypeCtrl = CreateApplicationDetailsDmConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsDmConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsDmConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsDmConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsDmConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsDmConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDmSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsDmComponent = __decorate([\n Component({\n selector: \"app-create-application-details-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsDmComponent);\nexport { CreateApplicationDetailsDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsDmConstants {\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-location-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-location-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateLocationDMConstants } from \"./create-location-dm.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nlet CreateLocationDmComponent = class CreateLocationDmComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n applicationCreateService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active = 0;\n propertiesForm;\n propertiesFormGroupName = CreateLocationDMConstants.PROPERTIES_FORM_GROUP_NAME;\n descriptionLabel1 = CreateLocationDMConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateLocationDMConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateLocationDMConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateLocationDMConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateLocationDMConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateLocationDMConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateLocationDMConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateLocationDMConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateLocationDMConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateLocationDMConstants.SG_CODE_CONTROL;\n addressControl = CreateLocationDMConstants.ADDRESS_CONTROL;\n ownerControl = CreateLocationDMConstants.OWNER_CONTROL;\n cadastralDescriptionControl = CreateLocationDMConstants.CADASTRAL_DESCRIPTION_CONTROL;\n rateNumberControl = CreateLocationDMConstants.RATE_NUMBER_CONTROL;\n existingUseControl = CreateLocationDMConstants.EXISTING_USE_CONTROL;\n worthyOfPreservationControl = CreateLocationDMConstants.WORTHY_OF_PRESERVATION_CONTROL;\n reasonControl = CreateLocationDMConstants.REASON_CONTROL;\n over60Control = CreateLocationDMConstants.OVER_60_CONTROL;\n amafaPermissionControl = CreateLocationDMConstants.AMAFA_PERMISSION_CONTROL;\n erfNoTextPlaceHolder = CreateLocationDMConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateLocationDMConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateLocationDMConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateLocationDMConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateLocationDMConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateLocationDMConstants.ADDRESS_TEXT_PLACEHOLDER;\n cadastralDescriptionTextPlaceHolder = CreateLocationDMConstants.CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER;\n rateNumberTextPlaceHolder = CreateLocationDMConstants.RATE_NUMBER_TEXT_PLACEHOLDER;\n existingUseTextPlaceHolder = CreateLocationDMConstants.EXISTING_USE_TEXT_PLACEHOLDER;\n worthyOfPreservationTextPlaceHolder = CreateLocationDMConstants.WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER;\n reasonTextPlaceHolder = CreateLocationDMConstants.REASON_TEXT_PLACEHOLDER;\n over60TextPlaceHolder = CreateLocationDMConstants.OVER_60_TEXT_PLACEHOLDER;\n amafaPermissionTextPlaceHolder = CreateLocationDMConstants.AMAFA_PERMISSION_TEXT_PLACEHOLDER;\n ownerLabel = CreateLocationDMConstants.OWNER_LABEL;\n removePropertyLabel = CreateLocationDMConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateLocationDMConstants.COPY_OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n dmApplication;\n yes = SharedConstants.YES_NO_ENUM.Yes;\n applicantGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n selectedApplicationLocationDmSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n applicationCreateServiceSubscription;\n constructor(createApplicationService, applicationCreateService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields() {\n this.getProperties().controls.forEach(item => {\n const propertyControl = item;\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n });\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n selectYesOrNo(index) {\n if (this.getProperties().controls[index].get(this.over60Control).value === this.yes || this.getProperties().controls[index].get(this.worthyOfPreservationControl).value === this.yes) {\n this.getProperties().controls[index].get(this.amafaPermissionControl).addValidators([Validators.required]);\n }\n else {\n this.getProperties().controls[index].get(this.amafaPermissionControl).clearValidators();\n this.getProperties().controls[index].get(this.amafaPermissionControl).reset();\n }\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n checkSave() {\n this.selectedApplicationLocationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.dmApplication = app;\n if (this.dmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n form.reset();\n this.propertiesForm = form;\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateLocationDMConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n cadastralDescription: new FormControl(null, [Validators.required]),\n rateNumber: new FormControl(null, [Validators.required]),\n existingUse: new FormControl(null, [Validators.required]),\n worthyOfPreservation: new FormControl(null, [Validators.required]),\n reason: new FormControl(null, [Validators.required]),\n over60: new FormControl(null, [Validators.required]),\n amafaPermission: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationDMConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateLocationDMConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n this.handleAddProperty(newProperty);\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n this.handleAddProperty(newProperty);\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n if (this.getProperties().controls.length > 0) {\n this.appController.showMessage(CreateLocationDMConstants.ONLY_ONE_PROPERTY_ALLOWED, AlertType.Warning);\n }\n else {\n propertyControl.push(newProperty);\n this.active = 0;\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Demolition management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(2000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.dmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields();\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n cadastralDescription: new FormControl(prop.cadastralDescription, [Validators.required]),\n rateNumber: new FormControl(prop.rateNumber, [Validators.required]),\n existingUse: new FormControl(prop.existingUse, [Validators.required]),\n worthyOfPreservation: new FormControl(prop.worthyOfPreservation, [Validators.required]),\n reason: new FormControl(prop.reason, [Validators.required]),\n over60: new FormControl(prop.over60, [Validators.required]),\n amafaPermission: new FormControl(prop.amafaPermission),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.dmApplication.properties && this.dmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationDMConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateLocationDmComponent = __decorate([\n Component({\n selector: \"app-create-location-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateLocationDmComponent);\nexport { CreateLocationDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateLocationDMConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static CADASTRAL_DESCRIPTION_CONTROL = \"cadastralDescription\";\n static RATE_NUMBER_CONTROL = \"rateNumber\";\n static EXISTING_USE_CONTROL = \"existingUse\";\n static WORTHY_OF_PRESERVATION_CONTROL = \"worthyOfPreservation\";\n static REASON_CONTROL = \"reason\";\n static OVER_60_CONTROL = \"over60\";\n static AMAFA_PERMISSION_CONTROL = \"amafaPermission\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER = \"Cadastral description\";\n static RATE_NUMBER_TEXT_PLACEHOLDER = \"Rate number\";\n static EXISTING_USE_TEXT_PLACEHOLDER = \"Existing use\";\n static WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER = \"Is the Building listed as worthy of preservation in Appendix 7 of the Town Planning Regulations?\";\n static REASON_TEXT_PLACEHOLDER = \"Reason for demolition\";\n static OVER_60_TEXT_PLACEHOLDER = \"Is the Building over 60 Years old?\";\n static AMAFA_PERMISSION_TEXT_PLACEHOLDER = \"Has permission to demolish been obtained from AMAFA?\";\n static NO_APPLICANT_AVAILABLE = \"There is no applicant available\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Demolition management graphics\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n cadastralDescription: {\n required: `Cadastral description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n rateNumber: {\n required: `Rate number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingUse: {\n required: `Existing use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n worthyOfPreservation: {\n required: `Worthy of preservation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reason: {\n required: `Reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n over60: {\n required: `Over 60 ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n amafaPermission: {\n required: `Amafa permission ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsEcConstants } from \"./create-application-details-ec.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsEcComponent = class CreateApplicationDetailsEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n // Labels\n descriptionLabel = CreateApplicationDetailsEcConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LABEL;\n whoIsApplyingLabel = CreateApplicationDetailsEcConstants.WHO_IS_APPLYING_LABEL;\n descriptionOfProposedWorkLabel = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_LABEL;\n descriptionOfProposedWorkNote = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_NOTE;\n phaseLabel = CreateApplicationDetailsEcConstants.PHASE_LABEL;\n conventionalPrepaidLabel = CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LABEL;\n estimatedCapacityLabel = CreateApplicationDetailsEcConstants.ESTIMATED_CAPACITY_LABEL;\n // Form controls\n detailsFormGroupName = CreateApplicationDetailsEcConstants.DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsEcConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsEcConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicantTypeFormControlName = CreateApplicationDetailsEcConstants.APPLICANT_TYPE_FORM_CONTROL_NAME;\n descriptionOfProposedWorkFormControlName = CreateApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME;\n phaseFormControlName = CreateApplicationDetailsEcConstants.PHASE_FORM_CONTROL_NAME;\n paymentTypeControlName = CreateApplicationDetailsEcConstants.PAYMENT_TYPE_CONTROL_NAME;\n estimatedCapacityControlName = CreateApplicationDetailsEcConstants.ESTIMATED_CAPACITY_FORM_CONTROL_NAME;\n // constants\n validationMessages = CreateApplicationDetailsEcConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n applicantTypes = [];\n phases = [];\n conventionalPrepaidOptions = [];\n selectedApplicationEcSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n this.subscribeToCheckFormValidity();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n const applicationType = this.applicationTypes.find(x => x.code === application.applicationType);\n const applicantType = this.applicantTypes.find(x => x.code === application.applicantType);\n const phase = this.phases.find(x => x.code === application.phase);\n const paymentType = this.conventionalPrepaidOptions.find(x => x.code === application.paymentType);\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(applicationType);\n this.detailsForm.get(this.applicantTypeFormControlName).setValue(applicantType);\n this.detailsForm.get(this.descriptionOfProposedWorkFormControlName).setValue(application.descriptionOfProposedWork);\n this.detailsForm.get(this.phaseFormControlName).setValue(phase);\n this.detailsForm.get(this.estimatedCapacityControlName).setValue(application.estimatedCapacity);\n this.detailsForm.get(this.paymentTypeControlName).setValue(paymentType);\n }\n loadLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appController.selectedModuleID}) and ((name eq '${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}' and deleted eq false))`\n };\n this.applicationCreateService\n .getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsEcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const applicantTypes = [];\n const phases = [];\n const conventionalPrepaid = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === `${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`) {\n applicantTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`) {\n phases.push(JSON.parse(item.content));\n }\n if (item.name === `${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`) {\n conventionalPrepaid.push(JSON.parse(item.content));\n }\n });\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n applicantTypes.sort((a, b) => a.value.localeCompare(b.value));\n phases.sort((a, b) => a.value.localeCompare(b.value));\n conventionalPrepaid.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`, applicantTypes);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`, phases);\n this.aflaModuleStrategyService.lookups.set(`${CreateApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`, conventionalPrepaid);\n this.applicationTypes = applicationTypes;\n this.applicantTypes = applicantTypes;\n this.phases = phases;\n this.conventionalPrepaidOptions = conventionalPrepaid;\n this.populateForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsEcComponent = __decorate([\n Component({\n selector: \"app-create-application-details-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsEcComponent);\nexport { CreateApplicationDetailsEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsEcConstants {\n // Labels\n static STEP_TITLE = \"Application details\";\n static DESCRIPTION_LABEL = \"Application description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static WHO_IS_APPLYING_LABEL = \"Who is applying\";\n static DESCRIPTION_OF_PROPOSED_WORK_LABEL = \"Description of proposed work\";\n static DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME = \"descriptionOfProposedWork\";\n static DESCRIPTION_OF_PROPOSED_WORK_NOTE = \"Note: For farms and agricultural holdings, fill this description as per title deed is required\";\n static PHASE_LABEL = \"Phase\";\n static CONVENTIONAL_PREPAID_LABEL = \"Conventional prepaid\";\n static ESTIMATED_CAPACITY_LABEL = \"Estimated capacity of electrical installation (Amp/kVa)\";\n // Controls\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICANT_TYPE_FORM_CONTROL_NAME = \"applicantType\";\n static PHASE_FORM_CONTROL_NAME = \"phase\";\n static PAYMENT_TYPE_CONTROL_NAME = \"paymentType\";\n static ESTIMATED_CAPACITY_FORM_CONTROL_NAME = \"estimatedCapacity\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static APPLICANT_TYPE_LOOKUP_NAME = \"ApplicantType\";\n static PHASE_LOOKUP_NAME = \"Phase\";\n static CONVENTIONAL_PREPAID_LOOKUP_NAME = \"ConventionalPrepaid\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, descriptionOfProposedWork: {\n required: `Description of proposed work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, phase: {\n required: `Phase ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, conventionalPrepaid: {\n required: `Conventional prepaid ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, estimatedCapacity: {\n required: `Estimated capacity ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationEcConstants } from \"./create-application-location-ec.constants\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet CreateApplicationLocationEcComponent = class CreateApplicationLocationEcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n mapTools;\n selectedApplicationService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n // controls\n propertiesFormGroupName = CreateApplicationLocationEcConstants.PROPERTIES_FORM_GROUP_NAME;\n erfNoControl = CreateApplicationLocationEcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationEcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationEcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationEcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationEcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationEcConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationEcConstants.OWNER_CONTROL;\n buildingNameControl = CreateApplicationLocationEcConstants.BUILDING_NAME_CONTROL;\n floorControl = CreateApplicationLocationEcConstants.FLOOR_CONTROL;\n // Labels and placeholders\n descriptionLabel1 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationEcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationEcConstants.VALIDATION_MESSAGES;\n erfNoTextPlaceHolder = CreateApplicationLocationEcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationEcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationEcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationEcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationEcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationEcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateApplicationLocationEcConstants.OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationEcConstants.REMOVE_PROPERTY_LABEL;\n ownerListLabel = CreateApplicationLocationEcConstants.OWNER_LIST_LABEL;\n buildingNamePlaceHolder = CreateApplicationLocationEcConstants.BUILDING_NAME_LABEL;\n floorPlaceholder = CreateApplicationLocationEcConstants.FLOOR_LABEL;\n copyOwnerLabel = CreateApplicationLocationEcConstants.COPY_OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n ecApplication;\n propertiesForm;\n active = 0;\n mapComponent;\n isMapLoaded = false;\n selectedApplicationLocationEcSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n applicationCreateServiceSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, mapTools, selectedApplicationService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.subscribeToCheckFormValidity();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n console.log(\"stepMeta.ownerGroup\", stepMeta.ownerGroup);\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n checkSave() {\n this.selectedApplicationLocationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.ecApplication = app;\n if (this.ecApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationEcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n buildingName: new FormControl(null, [Validators.required]),\n floor: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationEcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateApplicationLocationEcConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Electrical connection graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Electrical connection graphics\");\n }\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(\"Electrical connection graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.ecApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom),\n buildingName: new FormControl(prop.buildingName, [Validators.required]),\n floor: new FormControl(prop.floor, [Validators.required]),\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.ecApplication.properties && this.ecApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationEcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateServiceSubscription = this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.propertiesForm && formGroupName === this.propertiesFormGroupName) {\n this.propertiesForm.markAllAsTouched();\n this.changeDetectorRefs.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationEcComponent = __decorate([\n Component({\n selector: \"app-create-application-location-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationEcComponent);\nexport { CreateApplicationLocationEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationEcConstants {\n // controls\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static BUILDING_NAME_CONTROL = \"buildingName\";\n static FLOOR_CONTROL = \"floor\";\n // Labels and placeholders\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static OWNER_LIST_LABEL = \"Owner\";\n static BUILDING_NAME_LABEL = \"Building name\";\n static FLOOR_LABEL = \"Floor\";\n // Messages\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, buildingName: {\n required: `Building name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationProfessionalBodiesEcConstants } from \"./create-application-professional-bodies-ec.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesEcComponent = class CreateApplicationProfessionalBodiesEcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = CreateApplicationProfessionalBodiesEcConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = CreateApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = CreateApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToElectricalContractorFormControlName = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = CreateApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = CreateApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = CreateApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n architectFormControlName = CreateApplicationProfessionalBodiesEcConstants.ARCHITECT_FORM_CONTROL_NAME;\n engineerFormControlName = CreateApplicationProfessionalBodiesEcConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = CreateApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n architectDisableFilterBy = true;\n architectDisableEditing = false;\n architectShowFields = true;\n architectGroups = [];\n architectLabel = CreateApplicationProfessionalBodiesEcConstants.ARCHITECT_LABEL;\n architectShowGroupsDropdown = false;\n architectIsRequiredChecked = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = CreateApplicationProfessionalBodiesEcConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n engineerIsRequiredChecked = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = CreateApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getApplicantData();\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.initialiseDefaultValues();\n this.populateProfessionalBodiesForms();\n }\n loadMetadata(stepMeta) {\n try {\n console.log(\"stepMeta\", stepMeta);\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n form.clearValidators();\n form.updateValueAndValidity();\n this.professionalBodiesForm = form;\n }\n onCopyApplicantToEngineer($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n const applicantData = this.applicant;\n if (this.selectedApplication && this.selectedApplication.engineer > 0 && this.selectedApplication.engineer[0].id >= 0) {\n applicantData.id = this.selectedApplication.engineer[0].id;\n }\n else {\n applicantData.id = 0;\n }\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 if (this.selectedApplication && this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) {\n applicantData.id = this.selectedApplication.electricalContractor[0].id;\n }\n else {\n applicantData.id = 0;\n }\n // applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.contractorGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n populateEngineer(selectedApplication) {\n const engineerControl = this.professionalBodiesForm.get(this.engineerFormControlName);\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n if (selectedApplication.engineer && selectedApplication.engineer.length > 0) {\n const engineer = selectedApplication.engineer[0];\n engineer.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n engineerControl.setValue(engineer);\n }\n }\n populateElectricalContractor(selectedApplication) {\n const electricalContractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (selectedApplication.electricalContractor && selectedApplication.electricalContractor.length > 0) {\n const electricalContractor = selectedApplication.electricalContractor[0];\n electricalContractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n electricalContractorControl.setValue(electricalContractor);\n }\n }\n getApplicantData() {\n if (this.selectedApplication) {\n this.applicant = this.selectedApplication.applicant[0];\n }\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationProfessionalBodiesEcComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesEcComponent);\nexport { CreateApplicationProfessionalBodiesEcComponent };\n","export class CreateApplicationProfessionalBodiesEcConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Electrical engineer's details\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to electrical engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToElectricalEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Electrical contractor's details\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Electrical engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"electricalEngineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","var CreateApplicationDetailsGtiaComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-gtia.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-gtia.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, 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 { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateApplicationDetailsGtiaConstants } from \"./create-application-details-gtia.constants\";\nlet CreateApplicationDetailsGtiaComponent = class CreateApplicationDetailsGtiaComponent extends CreateApplicationViewBaseComponent {\n static { CreateApplicationDetailsGtiaComponent_1 = this; }\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n // form controls\n detailsFormControlName = CreateApplicationDetailsGtiaConstants.DETAILS_FORM_CONTROL_NAME;\n descriptionFormControlName = CreateApplicationDetailsGtiaConstants.DESCRIPTION_FORM_CONTROL_NAME;\n referenceNumberControlName = CreateApplicationDetailsGtiaConstants.REFERENCE_NUMBER_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = CreateApplicationDetailsGtiaConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n fileNumberFormControlName = CreateApplicationDetailsGtiaConstants.FILE_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = CreateApplicationDetailsGtiaConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsGtiaConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n // labels\n addApplicationTypeLabel = CreateApplicationDetailsGtiaConstants.ADD_APPLICATION_TYPE_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = CreateApplicationDetailsGtiaConstants.APPLICATION_TYPE_LABEL;\n descriptionLabel = CreateApplicationDetailsGtiaConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = CreateApplicationDetailsGtiaConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n fileNumberLabel = CreateApplicationDetailsGtiaConstants.FILE_NUMBER_LABEL;\n referenceNumberLabel = CreateApplicationDetailsGtiaConstants.REFERENCE_NUMBER_LABEL;\n validationMessages = CreateApplicationDetailsGtiaConstants.VALIDATION_MESSAGES;\n applicationTypeLookupName = SharedConstants.APPLICATION_TYPE_LOOKUP_NAME;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n showRefNumber = false;\n fullApplicationCheckRequired = false;\n applicationTypesControl;\n selectedApplicationDetailsGtiaSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n static removeControlsByIndex(controls, index) {\n if (controls.controls.length > 1) {\n controls.removeAt(index);\n }\n }\n static setControlValue(formGroup, controlName, value, disableControl = false) {\n const formControl = formGroup.get(controlName);\n formControl.setValue(value);\n if (disableControl) {\n formControl.disable();\n }\n }\n ngOnInit() {\n this.initForm();\n this.getApplicationTypeLookups();\n }\n loadMetadata() {\n // step does not use metadata\n }\n getApplicationTypes() {\n return this.detailsForm.get(this.applicationTypesFormControlName);\n }\n onBtnRemoveApplicationTypeClicked(i) {\n const controls = this.getApplicationTypes();\n CreateApplicationDetailsGtiaComponent_1.removeControlsByIndex(controls, i);\n }\n onBtnAddApplicationTypeClicked() {\n this.applicationTypesControl = this.getApplicationTypes();\n const typeGroup = new FormGroup({\n type: new FormControl(null, [Validators.required])\n });\n this.applicationTypesControl.push(typeGroup);\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.detailsFormControlName);\n }\n getApplicationTypeLookups() {\n const filterString = `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq '${this.applicationTypeLookupName}' and deleted eq false)`;\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(CreateApplicationDetailsGtiaConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\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 });\n this.sortApplicationTypesAlphabetically();\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsGtiaSubscription = 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 CreateApplicationDetailsGtiaComponent_1.setControlValue(this.detailsForm, this.referenceNumberControlName, application.referenceNumber, true);\n }\n else {\n this.showRefNumber = false;\n }\n if (application.description) {\n CreateApplicationDetailsGtiaComponent_1.setControlValue(this.detailsForm, this.descriptionFormControlName, application.description);\n }\n else {\n this.detailsForm.get(this.descriptionFormControlName).enable();\n }\n if (application.fileNumber) {\n CreateApplicationDetailsGtiaComponent_1.setControlValue(this.detailsForm, this.fileNumberFormControlName, application.fileNumber);\n }\n else {\n this.detailsForm.get(this.fileNumberFormControlName).enable();\n }\n if (application.amendmentSchemeNumber) {\n CreateApplicationDetailsGtiaComponent_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 }\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 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 { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsGtiaComponent = CreateApplicationDetailsGtiaComponent_1 = __decorate([\n Component({\n selector: \"app-create-application-details-gtia\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsGtiaComponent);\nexport { CreateApplicationDetailsGtiaComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsGtiaConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_NUMBER_LABEL = \"File number\";\n static AMENDMENT_SCHEME_NUMBER_LABEL = \"Amendment scheme number\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static ZONE_LABEL = \"New property zone\";\n static FILE_NUMBER_FORM_CONTROL_NAME = \"fileNumber\";\n static DETAILS_FORM_CONTROL_NAME = \"detailsForm\";\n static AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME = \"amendmentSchemeNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_APPLICATION_TYPE_LABEL = \"Add application type\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-gtia.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-gtia.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { debounceTime } from \"rxjs\";\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 { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { ApiModuleConstants } from \"../../../../shared/constants/api-constants/api-module.constants\";\nimport { MapServiceConstants } from \"../../../../shared/constants/map-service.constants\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { CreateApplicationLocationGtiaConstants } from \"./create-application-location-gtia.constants\";\nlet CreateApplicationLocationGtiaComponent = class CreateApplicationLocationGtiaComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n showPropertyForm = false;\n descriptionLabel1 = CreateApplicationLocationGtiaConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationGtiaConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationGtiaConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationGtiaConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationGtiaConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationGtiaConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationGtiaConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationGtiaConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationGtiaConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationGtiaConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationGtiaConstants.ADDRESS_CONTROL;\n zoneControl = CreateApplicationLocationGtiaConstants.ZONE_CONTROL;\n ownerControl = CreateApplicationLocationGtiaConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationGtiaConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationGtiaConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationGtiaConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationGtiaConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationGtiaConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationGtiaConstants.ADDRESS_TEXT_PLACEHOLDER;\n zoneLabel = CreateApplicationLocationGtiaConstants.ZONE_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n addZoneLabel = CreateApplicationLocationGtiaConstants.ADD_ZONE_LABEL;\n removePropertyLabel = CreateApplicationLocationGtiaConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateApplicationLocationGtiaConstants.COPY_OWNER_LABEL;\n ownerLabel = CreateApplicationLocationGtiaConstants.OWNER_LABEL;\n layerReference = CreateApplicationLocationGtiaConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n fullApplicationCheckRequired = true;\n showOnlyPropertyAndZoningLayers = false;\n missingZoneList = new Map();\n applicantGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n hasLoadedApplicationProperties = false;\n missingZoneTuple;\n selectedPropertySubscription;\n sendMissingLookupsEmailSubscription;\n selectedApplicationLocationGtiaSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n get getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n ngOnInit() {\n this.checkAndInitialiseLookups();\n this.initForm();\n this.getMetadata();\n this.subscribeToProperty();\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones(propertyIndex) {\n return this.getProperties.controls[propertyIndex].get(\"zones\");\n }\n onBtnRemoveZoneClicked(propertyIndex, zoneIndex) {\n const controls = this.getZones(propertyIndex);\n if (controls.controls.length > 1) {\n controls.removeAt(zoneIndex);\n }\n }\n onBtnAddZoneClicked(propertyIndex) {\n const zonesControl = this.getZones(propertyIndex);\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties.removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n getMissingZones(index) {\n if (this.missingZoneList && this.missingZoneList.size > 0) {\n // send email to module admin if it has not already been sent\n this.missingZoneTuple = this.missingZoneList.get(index);\n if (this.missingZoneTuple[1] === false) {\n this.sendEmailMissingLookupForZones(this.missingZoneTuple[0]);\n this.missingZoneTuple = [this.missingZoneTuple[0], true];\n this.missingZoneList.set(index, this.missingZoneTuple);\n }\n let zones = \"\";\n let count = 1;\n this.missingZoneTuple[0].forEach((zone) => {\n zones += zone + (count < zone.length ? \"|\" : \"\");\n count++;\n });\n return `${CreateApplicationLocationGtiaConstants.MISSING_ZONE_LABEL} ${zones} ${CreateApplicationLocationGtiaConstants.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(CreateApplicationLocationGtiaConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"Zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zones\", zones);\n this.zones = zones;\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n this.changeDetectorRefs.detectChanges();\n }\n setPropertyAttributes(propertyAttributes, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n try {\n this.showPropertyForm = true;\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"SgCode\", \"sgcode\");\n const duplicateFound = CreateApplicationUtils.checkIfPropertyIsADuplicate(sgCode, this.getProperties, this.appController, this.requestStatusService);\n if (!duplicateFound) {\n const newPropertyFormGroup = new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Address\", \"address\"), [Validators.required]),\n 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 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(CreateApplicationLocationGtiaConstants.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, \"Gautrain graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Gautrain graphics\");\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(propertyData => {\n if (propertyData !== null) {\n this.setPropertyAttributes(propertyData.attributes, propertyData.geometry);\n }\n });\n }\n sendEmailMissingLookupForZones(missingLookupsForZones) {\n const url = `${ApiModuleConstants.URL}/${ApiModuleConstants.MISSING_LOOKUP_EMAIL_REQUEST_URL}`;\n const params = {\n moduleId: this.applicationCreateService.moduleID, lookupType: \"Zoning\", lookupList: missingLookupsForZones\n };\n this.sendMissingLookupsEmailSubscription = this.applicationCreateService.sendMissingLookupsEmail(url, params)\n .subscribe({\n next: () => {\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(`${CreateApplicationLocationGtiaConstants.MISSING_ZONE_LABEL_EMAIL_FAILED}`, error, CRUDOperation.Selecting);\n }\n });\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.showPropertyForm = false;\n this.getProperties.clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n sortZones() {\n // sort zones dropdown alphabetically\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n queryZoningLayer(sgCode, newPropertyFormGroup) {\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER);\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n this.handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (zoningError) => {\n this.appController.showMessage(zoningError.message, AlertType.Error);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.sortZones();\n }\n else {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet) {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = CreateApplicationUtils.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\");\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zones.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (foundZone !== null) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(foundZone, [Validators.required])\n }));\n }\n else {\n this.appController.showMessage(CreateApplicationLocationGtiaConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationGtiaConstants.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.selectedApplicationLocationGtiaSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData();\n }\n });\n }\n setupSubscribers() {\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.clearPropertyData();\n let tabIndex = 0;\n this.selectedApplication.properties.sort((a, b) => (b?.id - a?.id));\n this.selectedApplication.properties.forEach(savedProperty => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(savedProperty.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = CreateApplicationUtils.getUpdatedPropertyFormGroup(savedProperty, geom);\n this.propertiesForm.markAllAsTouched();\n this.updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex);\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationGtiaConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n tabIndex++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n clearPropertyData() {\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n const propertyControl = this.getProperties;\n propertyControl.clear();\n this.showPropertyForm = false;\n return propertyControl;\n }\n updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex) {\n const missingLookupsForZones = [];\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n savedProperty.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zone: new FormControl(zoneOption, [Validators.required]),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n }\n });\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n if (!foundZone) {\n missingLookupsForZones.push(zone.zoning);\n this.applicationCreateService.$missingLookupsForZones.push(zone.zoning);\n }\n });\n if (missingLookupsForZones.length > 0) {\n this.missingZoneTuple = [missingLookupsForZones, false];\n this.missingZoneList.set(tabIndex, this.missingZoneTuple);\n }\n }\n checkAndInitialiseLookups() {\n this.hasLoadedApplicationProperties = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n this.selectedApplicationService.$applicationSavedSubject.next(false);\n if (this.aflaModuleStrategyService.lookups.has(\"zones\")) {\n this.zones = this.aflaModuleStrategyService.lookups.get(\"zones\");\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties.controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationGtiaConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationGtiaConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: true },] }]\n };\n};\nCreateApplicationLocationGtiaComponent = __decorate([\n Component({\n selector: \"app-create-application-location-gtia\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationLocationGtiaComponent);\nexport { CreateApplicationLocationGtiaComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationGtiaConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"The zoning here is the current zoning of the property and an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size (m2)\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area (m2)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static LAYER_REF = \"Town planning graphics\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingUse: {\n required: `Building use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingFloorArea: {\n required: `Building floor area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsItamsConstants } from \"./create-application-details-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { InformalTradeService } from \"../../../../shared/services/modules/informal-trade.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsItamsComponent = class CreateApplicationDetailsItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n informalTradeService;\n changeDetectorRef;\n searchApplicationsService;\n // Labels\n descriptionLabel = CreateApplicationDetailsItamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LABEL;\n tradingGoodsLabel = CreateApplicationDetailsItamsConstants.TRADING_GOODS_LABEL;\n tradingGoodsDescriptionLabel = CreateApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_LABEL;\n previousApplicationReferenceNumberLabel = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL;\n verifyReferenceNumberLabel = CreateApplicationDetailsItamsConstants.VERIFY_REFERENCE_NUMBER_LABEL;\n referenceNumberVerifiedLabel = CreateApplicationDetailsItamsConstants.REFERENCE_VERIFIED_LABEL;\n unverifiedReferenceNumberLabel = CreateApplicationDetailsItamsConstants.REFERENCE_NOT_VERIFIED_LABEL;\n // Form controls\n detailsFormGroupName = CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME;\n tradeGoodsFormArray = CreateApplicationDetailsItamsConstants.TRADING_GOODS_FORM_ARRAY_NAME;\n tradeGoodsFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n descriptionFormControlName = CreateApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n previousApplicationValidatedFormControlName = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME;\n tradingGoodsDescriptionFormControlName = CreateApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME;\n previousApplicationReferenceNumberFormControlName = CreateApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME;\n tradersFormGroupName = CreateApplicationDetailsItamsConstants.TRADERS_FORM_GROUP_NAME;\n baysFormGroupName = CreateApplicationDetailsItamsConstants.BAYS_FORM_GROUP_NAME;\n baysFormControl = CreateApplicationDetailsItamsConstants.BAYS_FORM_CONTROL_NAME;\n tradersFormControlName = CreateApplicationDetailsItamsConstants.TRADERS_FORM_CONTROL_NAME;\n centroidFromControlName = CreateApplicationDetailsItamsConstants.CENTROID_FORM_CONTROL_NAME;\n deleteTradingGoodsLabel = CreateApplicationDetailsItamsConstants.REMOVE_TRADING_GOODS_LABEL;\n addTradingGoodsLabel = CreateApplicationDetailsItamsConstants.ADD_TRADING_GOODS_LABEL;\n // constants\n validationMessages = CreateApplicationDetailsItamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n tradingGoods = [];\n tradingGoodIsRequired = false;\n showPreviousApplicationReferenceNumberField = false;\n showReferenceNumberVerifiedLabel = false;\n showVerifyReferenceNumberButton = false;\n hideRemovalAndAddButton = false;\n showUnVerifiedReferenceNumberLabel = false;\n showTradingGoodsButtons = true;\n isReferenceNumberVerified = false;\n showVerifiedButton = false;\n lastSelectedTradingGood = null;\n selectedApplicationItamsSubscription;\n getInformalTradeApplicationObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, informalTradeService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.informalTradeService = informalTradeService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n const previousApplicationReferenceNumber = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value;\n if (previousApplicationReferenceNumber) {\n this.showPreviousApplicationReferenceNumberField = true;\n this.showVerifyReferenceNumberButton = true;\n this.onVerifyReferenceNumber();\n }\n else {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(null);\n this.detailsForm.get(this.applicationTypeFormControlName).setValidators([Validators.required]);\n this.detailsForm.get(this.applicationTypeFormControlName).updateValueAndValidity();\n }\n if (this.detailsForm.pristine || this.isApplicationLoadedFromTheSearchPage) {\n this.getLookups();\n }\n else {\n this.loadLookups();\n }\n this.setupSubscribers();\n // Check if the previous application reference number is verified\n if (this.isReferenceNumberVerified) {\n this.getApplicationByReferenceNumber(this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value);\n }\n }\n loadLookups() {\n const applicationTypeLookupsLoaded = this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n const tradingGoodsLookupsLoaded = this.aflaModuleStrategyService.lookups.has(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n if (applicationTypeLookupsLoaded && tradingGoodsLookupsLoaded) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n this.tradingGoods = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n loadMetadata() {\n }\n onTradingGoodsSelected($event, i) {\n const selectedTradingGood = $event.target?.value;\n const tradingGoods = this.getTradingGoods().controls;\n // Check if the selected item is \"Other\"\n if (selectedTradingGood && selectedTradingGood.trim().toLowerCase() === \"other\") {\n this.lastSelectedTradingGood = selectedTradingGood;\n const tradingGoodsDescriptionFormControl = tradingGoods[i].get(this.tradingGoodsDescriptionFormControlName);\n tradingGoodsDescriptionFormControl.enable();\n tradingGoodsDescriptionFormControl.reset();\n tradingGoodsDescriptionFormControl.addValidators(Validators.required);\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n this.tradingGoodIsRequired = true;\n // Check for duplicate \"Other\" with the same description\n tradingGoodsDescriptionFormControl.valueChanges.subscribe(description => {\n const isDuplicateDescription = tradingGoods.some((control, index) => {\n if (index !== i) {\n const controlDescription = control.get(this.tradingGoodsDescriptionFormControlName)?.value?.trim().toLowerCase();\n return control.get(\"tradeGoods\")?.value.trim().toLowerCase() === \"other\" && controlDescription === description?.trim().toLowerCase();\n }\n return false;\n });\n if (isDuplicateDescription) {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.DUPLICATE_ERROR_DESCRIPTION, AlertType.Error);\n //tradingGoodsDescriptionFormControl.setValue(null);\n }\n });\n }\n else {\n const isDuplicate = tradingGoods.some((control, index) => {\n return index !== i && control.get(\"tradeGoods\")?.value === selectedTradingGood;\n });\n if (isDuplicate) {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.DUPLICATE_ERROR_TRADE_GOODS, AlertType.Error);\n const tradingGoodFormControl = tradingGoods[i].get(\"tradeGoods\");\n tradingGoodFormControl.setValue(null);\n return;\n }\n this.lastSelectedTradingGood = selectedTradingGood;\n const tradingGoodsDescriptionFormControl = tradingGoods[i].get(this.tradingGoodsDescriptionFormControlName);\n tradingGoodsDescriptionFormControl.clearValidators();\n tradingGoodsDescriptionFormControl.updateValueAndValidity();\n tradingGoodsDescriptionFormControl.disable();\n this.tradingGoodIsRequired = false;\n }\n this.changeDetectorRef.detectChanges();\n }\n onApplicationTypeSelected($event) {\n const selectedApplicationType = $event.target?.value;\n const previousApplicationReferenceNumberFormControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n previousApplicationReferenceNumberFormControl.addValidators(Validators.required);\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = true;\n this.showVerifyReferenceNumberButton = true;\n this.hideRemovalAndAddButton = true;\n }\n else {\n previousApplicationReferenceNumberFormControl.clearValidators();\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.resetTradingGoodsArray();\n this.showPreviousApplicationReferenceNumberField = false;\n this.showVerifyReferenceNumberButton = false;\n this.hideRemovalAndAddButton = false;\n this.showTradingGoodsButtons = true;\n }\n this.changeDetectorRef.detectChanges();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n if (this.detailsForm.pristine) {\n this.getTradingGoods().clear();\n this.onBtnAddTradingGoodsClicked();\n }\n this.detailsForm.enable();\n this.changeDetectorRef.detectChanges();\n }\n getLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appControllerService.selectedModuleID}) and ((name eq '${CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}' and deleted eq false))`\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n // this.sortDropdowns();\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const tradingGoods = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.trim().toLowerCase() === `${CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME?.trim().toLowerCase()}`) {\n tradingGoods.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n this.tradingGoods = tradingGoods;\n this.sortDropdowns();\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME, this.applicationTypes);\n this.aflaModuleStrategyService.lookups.set(CreateApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME, this.tradingGoods);\n if (this.isApplicationLoadedFromTheSearchPage) {\n this.checkApplicationData();\n }\n this.changeDetectorRef.detectChanges();\n }\n }\n sortDropdowns() {\n if (this.applicationTypes.length > 0) {\n this.applicationTypes.sort((a, b) => (a.value.localeCompare(b.value)));\n }\n if (this.tradingGoods.length > 0) {\n this.tradingGoods.sort((a, b) => (a.value.localeCompare(b.value)));\n }\n this.changeDetectorRef.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationItamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData(this.selectedApplication);\n }\n });\n }\n setupSubscribers() {\n this.subscribeToSelectedApplication();\n this.subscribeToClearApplicationVerificationSubject();\n }\n updateComponentData(selectedApplication) {\n const selectedApplicationType = selectedApplication.type;\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n this.showPreviousApplicationReferenceNumberField = true;\n this.hideRemovalAndAddButton = true;\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(selectedApplication.previousReferenceNumber);\n this.isReferenceNumberVerified = true;\n }\n else {\n this.showPreviousApplicationReferenceNumberField = false;\n }\n this.updateFormData();\n }\n onVerifyReferenceNumber() {\n const previousApplicationReferenceNumber = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).value;\n if (previousApplicationReferenceNumber) {\n this.getApplicationByReferenceNumber(previousApplicationReferenceNumber);\n }\n else {\n this.appControllerService.showMessage(CreateApplicationDetailsItamsConstants.ENTER_REFERENCE_NO, AlertType.Warning);\n }\n }\n getApplicationByReferenceNumber(previousApplicationReferenceNumber) {\n const params = {\n $filter: `referenceNumber eq '${previousApplicationReferenceNumber}' and deleted eq false`,\n $expand: \"bays, traders($expand=groups), tradeGoods, status\"\n };\n this.getInformalTradeApplicationObservableSubscription = this.informalTradeService.getInformalTradeApplicationObservable(params).subscribe({\n next: (response) => {\n if (response && response.length > 0) {\n const application = response[0];\n this.handleApplicationFound(application);\n }\n else {\n this.handleApplicationNotVerified();\n }\n this.changeDetectorRef.detectChanges();\n },\n error: (err) => {\n this.appControllerService.handleServerErrorMessage(\"get applications\", err, CRUDOperation.Get);\n }\n });\n }\n handleApplicationFound(application) {\n const applicationStatus = application.status.workflowSection;\n const applicationPercentageComplete = application.status.percentageComplete;\n const previousApplicationReferenceNumberControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (applicationStatus?.toLowerCase() === \"closed\" || applicationPercentageComplete === 100) {\n this.showReferenceNumberVerifiedLabel = true;\n this.showUnVerifiedReferenceNumberLabel = false;\n previousApplicationReferenceNumberControl.setValue(application.referenceNumber);\n this.showVerifiedButton = true;\n this.isReferenceNumberVerified = true; // Set this to true when the reference number is verified\n this.populateTradingGoodsFieldsFromPreviousApplication(application);\n this.populateBaysFieldsFromPreviousApplication(application);\n this.populateTradersFromPreviousApplication(application);\n }\n else {\n this.appControllerService.showMessage(`The application with reference number ${application.referenceNumber} cannot be used as it is still active. Please try another application`, AlertType.Warning);\n this.showVerifiedButton = true;\n }\n }\n populateTradingGoodsFieldsFromPreviousApplication(application) {\n const savedTradingGoods = application.tradeGoods;\n const tradingGoods = this.getTradingGoods();\n this.detailsForm.get(this.previousApplicationValidatedFormControlName).setValue(true);\n if (savedTradingGoods && savedTradingGoods.length > 0) {\n this.showTradingGoodsButtons = false;\n tradingGoods.clear();\n savedTradingGoods.forEach((tradeGood) => {\n const tradingGoodFormGroup = new FormGroup({\n id: new FormControl(tradeGood.id),\n tradeGoods: new FormControl({ value: tradeGood.tradeGoods, disabled: true }, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: tradeGood.description, disabled: true })\n });\n tradingGoods.push(tradingGoodFormGroup);\n });\n }\n }\n enableTradingGoodsFields() {\n this.getTradingGoods().enable();\n }\n resetTradingGoodsFields() {\n this.getTradingGoods().reset();\n }\n handleApplicationNotVerified() {\n this.showReferenceNumberVerifiedLabel = false;\n this.showTradingGoodsButtons = true;\n this.showUnVerifiedReferenceNumberLabel = true;\n this.hideRemovalAndAddButton = false;\n this.enableTradingGoodsFields();\n this.resetTradingGoodsFields();\n this.resetBays();\n this.resetTraders();\n this.appControllerService.showMessage(\"Application with matching reference number could not be found\", AlertType.Warning);\n }\n populateTradersFromPreviousApplication(application) {\n const tradersFormGroup = this.aflaModuleStrategyService.form.get(this.tradersFormGroupName);\n const tradersFormControl = tradersFormGroup.get(this.tradersFormControlName);\n const traders = application.traders;\n RecipientUtils.setRecipients(traders, true, tradersFormControl);\n }\n populateBaysFieldsFromPreviousApplication(application) {\n const savedApplicationBays = application.bays;\n const applicationBaysFormGroup = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n const savedApplicationBaysFormControl = applicationBaysFormGroup.get(this.baysFormControl);\n savedApplicationBaysFormControl.clear();\n if (savedApplicationBays && savedApplicationBays.length > 0) {\n savedApplicationBays.forEach((applicationBay) => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(applicationBay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl({ value: applicationBay.address, disabled: true }, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl({ value: applicationBay.bayNumber, disabled: true }),\n baySize: new FormControl({ value: applicationBay.baySize, disabled: true }),\n centroid: new FormControl(null, [Validators.required])\n });\n this.setTrueCentroid(geometryArc, formGroup, savedApplicationBaysFormControl);\n });\n }\n }\n setTrueCentroid(geometryArc, newBayFormGroup, baysFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newBayFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n baysFormArray.push(newBayFormGroup);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n subscribeToClearApplicationVerificationSubject() {\n this.applicationCreateService.$clearApplicationVerificationSubject.subscribe({\n next: (clearApplicationVerificationData) => {\n if (clearApplicationVerificationData) {\n this.tradingGoodIsRequired = false;\n this.showPreviousApplicationReferenceNumberField = false;\n this.showReferenceNumberVerifiedLabel = false;\n this.showVerifyReferenceNumberButton = false;\n this.hideRemovalAndAddButton = false;\n this.showUnVerifiedReferenceNumberLabel = false;\n this.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n getTradingGoods() {\n const tradeGoodsFormArray = this.detailsForm.get(\"tradeGoods\");\n return tradeGoodsFormArray;\n }\n onBtnRemoveTradingGoods(i) {\n const controls = this.getTradingGoods();\n if (controls.controls.length > 1) {\n controls.removeAt(i);\n }\n }\n onBtnAddTradingGoodsClicked() {\n const tradingGoodsControl = this.getTradingGoods();\n const tradingGoodsGroup = new FormGroup({\n tradeGoods: new FormControl(null, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: null, disabled: true })\n });\n tradingGoodsControl.push(tradingGoodsGroup);\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(this.selectedApplication.type);\n this.detailsForm.get(this.descriptionFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.applicationTypeFormControlName).updateValueAndValidity();\n const tradingGoodsFormArray = this.getTradingGoods();\n tradingGoodsFormArray.clear();\n if (this.selectedApplication.tradeGoods) {\n this.selectedApplication.tradeGoods.forEach((savedTradeGood) => {\n this.tradingGoods.forEach(tradeGoodLookupOption => {\n if (tradeGoodLookupOption.value === savedTradeGood.tradeGoods) {\n const tradingGroupForm = new FormGroup({\n id: new FormControl(savedTradeGood.id),\n applicationId: new FormControl(savedTradeGood.applicationId, Validators.required),\n tradeGoods: new FormControl(savedTradeGood.tradeGoods, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: savedTradeGood.description, disabled: true })\n });\n if (tradingGroupForm.get(this.tradingGoodsFormControlName).value?.toLowerCase() === \"other\") {\n tradingGroupForm.get(this.tradingGoodsFormControlName).disable();\n }\n tradingGoodsFormArray.push(tradingGroupForm);\n tradingGroupForm.get('tradeGoods').updateValueAndValidity();\n tradingGroupForm.get('tradingGoodsDescription').updateValueAndValidity();\n }\n });\n });\n }\n }\n resetTradingGoodsArray() {\n this.getTradingGoods().clear();\n this.onBtnAddTradingGoodsClicked();\n }\n resetBays() {\n const applicationBaysFormGroup = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n const savedApplicationBaysFormControl = applicationBaysFormGroup.get(this.baysFormControl);\n savedApplicationBaysFormControl.clear();\n savedApplicationBaysFormControl.reset();\n }\n resetTraders() {\n const tradersFormGroup = this.aflaModuleStrategyService.form.get(this.tradersFormGroupName);\n const tradersFormControl = tradersFormGroup.get(this.tradersFormControlName);\n tradersFormControl.reset();\n this.detailsForm.get(this.previousApplicationValidatedFormControlName).setValue(false);\n }\n subscribeToCheckFormValidity() {\n this.applicationCreateService.$markStepFormGroupAsTouchedSubscription.subscribe({\n next: (formGroupName) => {\n if (formGroupName && this.detailsForm && formGroupName === this.detailsFormGroupName) {\n this.detailsForm.markAllAsTouched();\n this.changeDetectorRef.markForCheck();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: InformalTradeService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsItamsComponent);\nexport { CreateApplicationDetailsItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsItamsConstants {\n // Labels\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static TRADING_GOODS_LABEL = \"Trading goods\";\n static TRADING_GOODS_DESCRIPTION_LABEL = \"Trading goods description\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL = \"Previous application reference number\";\n static VERIFY_REFERENCE_NUMBER_LABEL = \"Verify reference number\";\n static REFERENCE_VERIFIED_LABEL = \"Reference number verified\";\n static REFERENCE_NOT_VERIFIED_LABEL = \"Reference number not verified\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static DUPLICATE_ERROR_TRADE_GOODS = \"The trading goods option has already been added. Please select a different option \";\n static DUPLICATE_ERROR_DESCRIPTION = \"The description has already been used. Please use a different description.\";\n static ENTER_REFERENCE_NO = \"Please enter a reference number to verify.\";\n // Controls\n static TRADING_GOODS_FORM_ARRAY_NAME = \"tradeGoods\";\n static TRADING_GOODS_CONTROL_NAME = \"tradeGoods\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME = \"previousApplicationValidated\";\n static TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME = \"tradingGoodsDescription\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME = \"previousReferenceNumber\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static TRADERS_FORM_CONTROL_NAME = \"traders\";\n static CENTROID_FORM_CONTROL_NAME = \"centroid\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static BAYS_FORM_CONTROL_NAME = \"bays\";\n static ADD_TRADING_GOODS_LABEL = \"Add trading goods\";\n static REMOVE_TRADING_GOODS_LABEL = \"Remove trading goods\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static TRADING_GOODS_LOOKUP_NAME = \"TradingGoods\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoods: {\n required: `Trading goods ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, previousApplicationReferenceNumber: {\n required: `Previous application number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoodsDescription: {\n required: `Trading goods description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-itams.component.scss?ngResource\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationItamsConstants } from \"./create-application-location-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { debounceTime } from \"rxjs\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CreateApplicationDetailsItamsConstants } from \"../create-application-details-itams/create-application-details-itams.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationItamsComponent = class CreateApplicationLocationItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n mapComponent;\n activeTabIndex; // The active tab index is zero based that is, the first tab has an index of 0 instead of 1\n baysForm;\n previousApplicationValidated = false;\n descriptionLabel1 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationItamsConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n baysFormGroupName = CreateApplicationLocationItamsConstants.BAYS_FORM_GROUP_NAME;\n baysFormControlName = CreateApplicationLocationItamsConstants.BAYS_FORM_CONTROL;\n addressControl = CreateApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = CreateApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = CreateApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n addressTextPlaceHolder = CreateApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = CreateApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n baySizeTextPlaceHolder = CreateApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n removeBayLabel = CreateApplicationLocationItamsConstants.REMOVE_BAY_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n layerReference = CreateApplicationLocationItamsConstants.LAYER_REF;\n selectedBaySubscription;\n selectedApplicationLocationItamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getBays() {\n return this.baysForm.get(this.baysFormControlName);\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.setupSubscribers();\n this.isPreviousApplicationValidated();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = true;\n }\n mapLoaded() {\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionBayEnabled = false;\n }\n loadMetadata() {\n }\n onBtnRemoveSelectedBayClicked(bayIndex) {\n const previousActiveIndex = this.activeTabIndex;\n this.getBays().removeAt(bayIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === bayIndex && bayIndex > 0) {\n this.activeTabIndex = bayIndex - 1;\n }\n else if (previousActiveIndex > bayIndex) {\n this.activeTabIndex = previousActiveIndex - 1;\n }\n }\n initForm() {\n this.baysForm = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getBays().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n }\n setupSubscribers() {\n this.subscribeToSelectedBaysOnTheMap();\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n if (this.previousApplicationValidated) {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.CLEARED_VALIDATION_MESSAGE, AlertType.Warning);\n }\n else {\n this.getBays().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n });\n }\n subscribeToSelectedBaysOnTheMap() {\n this.selectedBaySubscription = this.mapService.$selectedBay.pipe(debounceTime(1000)).subscribe(selectedMapFeature => {\n if (selectedMapFeature !== null) {\n this.setBayData(selectedMapFeature.attributes, selectedMapFeature.geometry);\n }\n });\n }\n setBayData(bayObject, geometry) {\n try {\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n const applicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n if (applicationValidated) {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n return;\n }\n this.requestStatusService.showBusySpinner(\"SetBayData\");\n const bayNumber = CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"BayNumber\", \"baynumber\");\n let found = false;\n this.getBays().controls.forEach(item => {\n const check = item.get(this.bayNumberControl).value;\n if (check === bayNumber) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationItamsConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"SetBayData\");\n }\n });\n if (!found) {\n const newBay = new FormGroup({\n id: new FormControl(0),\n objectId: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"OBJECTID\", \"objectid\")),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n bayNumber: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"BayNumber\", \"baynumber\"), [Validators.required]),\n baySize: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(bayObject, \"Size\", \"size\"), [Validators.required]),\n centroid: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe((trueCentroidResponse) => {\n newBay.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const bayControl = this.getBays();\n bayControl.push(newBay);\n this.activeTabIndex = bayControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetBayDate\");\n });\n }\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"SetBayData\");\n }\n }\n isPreviousApplicationValidated() {\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n this.previousApplicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationItamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData(this.selectedApplication);\n }\n });\n }\n updateComponentData(selectedApplication) {\n const savedApplicationBays = selectedApplication.bays;\n const detailsForm = this.aflaModuleStrategyService.form.get(CreateApplicationDetailsItamsConstants.DETAILS_FORM_GROUP_NAME);\n const applicationValidated = detailsForm.get(\"previousApplicationValidated\").value;\n const savedApplicationBaysFormArray = this.baysForm.get(this.baysFormControlName);\n savedApplicationBaysFormArray.clear();\n if (savedApplicationBays && savedApplicationBays.length > 0) {\n savedApplicationBays.forEach((applicationBay) => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(applicationBay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n let formGroup;\n if (applicationValidated) {\n formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl({ value: applicationBay.address, disabled: true }),\n geometry: new FormControl(geom),\n bayNumber: new FormControl({ value: applicationBay.bayNumber, disabled: true }),\n baySize: new FormControl({ value: applicationBay.baySize, disabled: true }),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n else {\n formGroup = new FormGroup({\n id: new FormControl(applicationBay.id),\n bay: new FormControl(applicationBay),\n address: new FormControl(applicationBay.address, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl(applicationBay.bayNumber),\n baySize: new FormControl(applicationBay.baySize),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n // savedApplicationBaysFormControl.push(formGroup);\n this.setTrueCentroid(geometryArc, formGroup, savedApplicationBaysFormArray);\n });\n }\n }\n setTrueCentroid(geometryArc, newBayFormGroup, bayFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n if (response && response.results) {\n newBayFormGroup.get(\"centroid\").setValue(response.results[0].value);\n bayFormArray.push(newBayFormGroup);\n this.activeTabIndex = 0;\n }\n else {\n if (response.error) {\n this.appController.showMessage(`Something went wrong with the application.Please contact administrator: ${response.error.message}`, AlertType.Error);\n }\n }\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationItamsComponent);\nexport { CreateApplicationLocationItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationItamsConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_BAY_LABEL = \"Remove bay\";\n static LAYER_REF = \"ITAMS graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the bay for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct bay and click on the bay. Click on 'add bay' in the window that appears on the map after you selected the bay.\";\n static DESCRIPTION_LABEL_3 = \"The bay will be added and the fields must be completed for the bay. Please note that multiple bays may be added.\";\n static BAY_REQUIRED = \"Please select a bay before saving or continuing with the application process\";\n static CLEARED_VALIDATION_MESSAGE = \"Form cannot be cleared after previous application has been validated.\";\n static ADDRESS_CONTROL = \"address\";\n static BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\n static BAYS_FORM_CONTROL = \"bays\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static BAY_SIZE_TEXT_PLACEHOLDER = \"Bay size\";\n static DUPLICATE_MESSAGE = \"The selected bay has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the bay zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, bayNumber: {\n required: `Bay number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, baySize: {\n required: `Bay size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-stakeholders-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-stakeholders-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationStakeholdersItamsConstants } from \"./create-application-stakeholders-itams.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationStakeholdersItamsComponent = class CreateApplicationStakeholdersItamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n recipientService;\n changeDetectorRefs;\n searchApplicationsService;\n tradersForm;\n disableTraderRecipientFilter = true;\n traderConfigurableLabel = \"Trader\";\n traderDisableAddButton = false;\n traderRecipientGroups = [];\n traderDisableEditButton = false;\n traderDisableDeleteButton = false;\n tradersFormControlName = CreateApplicationStakeholdersItamsConstants.TRADERS_CONTROL_NAME;\n traderLabel = CreateApplicationStakeholdersItamsConstants.TRADER_LABEL;\n traderFormControlName = CreateApplicationStakeholdersItamsConstants.TRADER_FORM_ARRAY_NAME;\n stepHeader;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, recipientService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.recipientService = recipientService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.getTraders();\n }\n loadMetadata(stepMeta) {\n this.traderRecipientGroups = stepMeta.traderGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getTradersControl() {\n return this.tradersForm.get(this.tradersFormControlName);\n }\n subscribeToSelectedModuleName() {\n this.applicationCreateService.selectedModuleNameAsObservable.subscribe(() => {\n const header = `${CreateApplicationStakeholdersItamsConstants.STAKEHOLDERS_HEADER}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRefs.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(CreateApplicationStakeholdersItamsConstants.TRADERS_FORM_GROUP_NAME);\n this.tradersForm = form;\n }\n getTraders() {\n const previousApplicationValidated = this.aflaModuleStrategyService.form.get(\"detailsForm\").get(\"previousApplicationValidated\").value;\n const params = {\n $filter: `(jobId eq ${this.jobId} and moduleId eq ${this.moduleId} and deleted eq false and groups/any(c: c/groupName eq 'Other')) or (jobId eq ${this.jobId} and moduleId eq ${this.moduleId} and deleted eq false and groups/any(c: c/groupName eq 'Trader'))`,\n $expand: `groups`\n };\n if (!previousApplicationValidated) {\n this.recipientService.getRecipientsObservable(params).subscribe({\n next: (recipientArray) => {\n this.onGetTradersCompleted(recipientArray);\n this.changeDetectorRefs.detectChanges();\n }, error: err => {\n this.appController.handleServerErrorMessage(\"traders\", err, CRUDOperation.Get);\n }\n });\n }\n else {\n // application already validated remove recipient list so that user cannot change the selected traders\n this.traderDisableAddButton = true;\n this.traderDisableEditButton = true;\n this.traderDisableDeleteButton = true;\n }\n }\n onGetTradersCompleted(recipientArray) {\n if (recipientArray && recipientArray.length > 0) {\n const tradersControl = this.tradersForm.get(this.tradersFormControlName);\n RecipientUtils.setRecipients(recipientArray, true, tradersControl);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: RecipientService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationStakeholdersItamsComponent = __decorate([\n Component({\n selector: \"app-create-application-stakeholders-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationStakeholdersItamsComponent);\nexport { CreateApplicationStakeholdersItamsComponent };\n","export class CreateApplicationStakeholdersItamsConstants {\n static TRADER_LABEL = \"Traders\";\n static TRADER_FORM_ARRAY_NAME = \"traders\";\n static TRADERS_LOOKUP_NAME = \"Traders\";\n static TRADERS_CONTROL_NAME = \"traders\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static STAKEHOLDERS_HEADER = \"Traders\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsPlamsConstants } from \"./create-application-details-plams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { PropertyAndLeaseService } from \"../../../../shared/services/modules/property-and-lease.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsPlamsComponent = class CreateApplicationDetailsPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n propertyAndLeaseService;\n datePipe;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsPlamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionLabel = CreateApplicationDetailsPlamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = CreateApplicationDetailsPlamsConstants.APPLICATION_TYPE_LABEL;\n leaseLabel = CreateApplicationDetailsPlamsConstants.LEASE_LABEL;\n drawPolyonLabel = CreateApplicationDetailsPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = CreateApplicationDetailsPlamsConstants.POLYGON_DRAWN_LABEL;\n leaseTypeLabel = CreateApplicationDetailsPlamsConstants.LEASE_TYPE_LABEL;\n leaseReasonTypeLabel = CreateApplicationDetailsPlamsConstants.LEASE_REASON_LABEL;\n leaseUseLabel = CreateApplicationDetailsPlamsConstants.LEASE_USE_LABEL;\n leaseRentalAgreementLabel = CreateApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_LABEL;\n leaseStartDateLabel = CreateApplicationDetailsPlamsConstants.LEASE_START_DATE_LABEL;\n leaseEndDateLabel = CreateApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_LABEL;\n lesseeTypeTypeLabel = CreateApplicationDetailsPlamsConstants.LESSEE_TYPE_LABEL;\n lesseeLabel = CreateApplicationDetailsPlamsConstants.LESSEE_LABEL;\n alienationLabel = CreateApplicationDetailsPlamsConstants.ALIENATION_LABEL;\n saleAmountLabel = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_LABEL;\n dateofDeedTransferLabel = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_LABEL;\n evaluationAmountLabel = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_LABEL;\n acquisitionLabel = CreateApplicationDetailsPlamsConstants.ACQUISITION_LABEL;\n buyerLabel = CreateApplicationDetailsPlamsConstants.BUYER_LABEL;\n sellerLabel = CreateApplicationDetailsPlamsConstants.SELLER_LABEL;\n referenceNumberLabel = CreateApplicationDetailsPlamsConstants.REFERENCE_NUMBER_LABEL;\n descriptionFormControlName = CreateApplicationDetailsPlamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsPlamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n leaseTypeFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_TYPE_FORM_CONTROL_NAME;\n leaseReasonFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_REASON_FORM_CONTROL_NAME;\n leaseUseFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_USE_FORM_CONTROL_NAME;\n leaseRentalAgreementFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME;\n leaseStartDateFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_START_DATE_FORM_CONTROL_NAME;\n leaseEndDateFormControlName = CreateApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_CONTROL_NAME;\n lesseeTypeFormControlName = CreateApplicationDetailsPlamsConstants.LESSEE_TYPE_FORM_CONTROL_NAME;\n lesseeFormControlName = CreateApplicationDetailsPlamsConstants.LESSEE_FORM_CONTROL_NAME;\n saleAmountAlienationFormControlName = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n dateofDeedAlienationTransferFormControlName = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME;\n evaluationAmountAlienationFormControlName = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n buyerFormControlName = CreateApplicationDetailsPlamsConstants.BUYER_FORM_CONTROL_NAME;\n saleAmountFormControlName = CreateApplicationDetailsPlamsConstants.SALE_AMOUNT_FORM_CONTROL_NAME;\n dateofDeedTransferFormControlName = CreateApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME;\n evaluationAmountFormControlName = CreateApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_FORM_CONTROL_NAME;\n sellerFormControlName = CreateApplicationDetailsPlamsConstants.SELLER_FORM_CONTROL_NAME;\n referenceNumberControlName = CreateApplicationDetailsPlamsConstants.REFERENCE_NUMBER_FORM_CONTROL_NAME;\n copyApplicantToLesseeLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_LESSEE_LABEL;\n copyApplicantToBuyerLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_BUYER_LABEL;\n copyApplicantToSellerLabel = CreateApplicationDetailsPlamsConstants.COPY_APPLICANT_TO_SELLER_LABEL;\n leaseAreaDrawn = false;\n applicationTypes = [];\n leaseTypes = [];\n lesseeTypes = [];\n lesseeDisableFilterBy = true;\n lesseeDisableAdd = false;\n lesseeDisableEditing = false;\n lesseeShowGroupsDropdown = true;\n lesseeGroups = [];\n lesseeListLabel = \"Lessee\";\n buyerDisableFilterBy = true;\n buyerDisableAdd = false;\n buyerDisableEditing = false;\n buyerShowGroupsDropdown = true;\n buyerGroups = [];\n buyerListLabel = \"Buyer\";\n sellerDisableFilterBy = true;\n sellerDisableAdd = false;\n sellerDisableEditing = false;\n sellerShowGroupsDropdown = true;\n sellerGroups = [];\n sellerListLabel = \"Seller\";\n showRefNumber = false;\n fullApplicationCheckRequired = false;\n requiredClass = SharedConstants.CLASS_REQUIRED_TEXT;\n requiredText = SharedConstants.REQUIRED_TEXT_INDICATOR;\n descriptionPlaceholder = \"Enter description\";\n inputID = SharedConstants.CLASS_DESCRIPTION_TEXT;\n applicationType = null;\n applicants;\n jobId = null;\n selectedApplicationRcSubscription;\n selectedApplicationAppSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, datePipe, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.propertyAndLeaseService = propertyAndLeaseService;\n this.datePipe = datePipe;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n this.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.getApplicants();\n }\n loadMetadata(stepMeta) {\n this.lesseeGroups = stepMeta.lesseeGroup;\n this.buyerGroups = stepMeta.buyerGroup;\n this.sellerGroups = stepMeta.sellerGroup;\n this.changeDetectorRef.markForCheck();\n }\n getApplicants() {\n this.selectedApplicationRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((app) => {\n this.applicants = app?.applicant;\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'LeaseType' or name eq 'LesseeType')`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.leaseTypes = [];\n this.lesseeTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LeaseType\") {\n this.leaseTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LesseeType\") {\n this.lesseeTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.leaseTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.lesseeTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationAppSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.jobId = application.jobId;\n this.leaseAreaDrawn = false;\n this.applicants = this.selectedApplication?.applicant;\n // checks the application has application details set\n if (application.applicationType) {\n this.applicationType = application.applicationType;\n this.detailsForm.get(this.applicationTypeFormControlName).enable();\n this.applicationTypes.forEach(item => {\n if (item.value === application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n }\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.referenceNumber) {\n this.showRefNumber = true;\n this.detailsForm.get(this.referenceNumberControlName).enable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n }\n else {\n this.showRefNumber = false;\n }\n this.updateRequiredFields();\n if (this.applicationType === \"Alienation\") {\n if (application.saleAmount) {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValue(application.saleAmount);\n }\n if (application.evaluationAmount) {\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValue(application.evaluationAmount);\n }\n if (application.dateOfDeedTransfer) {\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValue(this.datePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n }\n this.getBuyers(application.jobId);\n }\n if (this.applicationType === \"Lease\") {\n if (application.leaseType) {\n this.leaseTypes.forEach(item => {\n if (item.value === application.leaseType) {\n this.detailsForm.get(this.leaseTypeFormControlName).setValue(item);\n }\n });\n }\n this.detailsForm.get(this.leaseReasonFormControlName).setValue(application?.leaseReason);\n this.detailsForm.get(this.leaseUseFormControlName).setValue(application?.leaseUse);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValue(application?.leaseRentalAgreementAmount);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValue(this.datePipe.transform(application?.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseEndDateFormControlName).setValue(this.datePipe.transform(application?.leaseEndDate, \"yyyy-MM-dd\"));\n if (application.leaseLesseeType) {\n this.lesseeTypes.forEach(item => {\n if (item.value === application.leaseLesseeType) {\n this.detailsForm.get(this.lesseeTypeFormControlName).setValue(item);\n }\n });\n }\n if (application.leaseAreas) {\n this.leaseAreaDrawn = application.leaseAreas.length > 0 ? true : false;\n }\n this.getLessees(application.jobId);\n }\n if (this.applicationType === \"Acquisition\") {\n if (application.saleAmount) {\n this.detailsForm.get(this.saleAmountFormControlName).setValue(application.saleAmount);\n }\n if (application.evaluationAmount) {\n this.detailsForm.get(this.evaluationAmountFormControlName).setValue(application.evaluationAmount);\n }\n if (application.dateOfDeedTransfer) {\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValue(this.datePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n }\n this.getSellers(application.jobId);\n }\n }\n getLessees(jobId) {\n this.propertyAndLeaseService\n .getLesseesObservable(jobId)\n .subscribe((response) => this.onGetLesseesCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLesseesCompleted(response) {\n if (response && response.value.length > 0) {\n const lesseeControl = this.detailsForm.get(this.lesseeFormControlName);\n RecipientUtils.setRecipients(response.value, false, lesseeControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getSellers(jobId) {\n this.propertyAndLeaseService\n .getSellersObservable(jobId)\n .subscribe((response) => this.onGetSellersCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetSellersCompleted(response) {\n if (response && response.value.length > 0) {\n const sellerControl = this.detailsForm.get(this.sellerFormControlName);\n RecipientUtils.setRecipients(response.value, false, sellerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getBuyers(jobId) {\n this.propertyAndLeaseService\n .getBuyersObservable(jobId)\n .subscribe((response) => this.onGetBuyersCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetBuyersCompleted(response) {\n if (response && response.value.length > 0) {\n const buyerControl = this.detailsForm.get(this.buyerFormControlName);\n RecipientUtils.setRecipients(response.value, false, buyerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n updateRequiredFields() {\n if (this.applicationType === \"Lease\") {\n this.detailsForm.get(this.leaseTypeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseReasonFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseUseFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseEndDateFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.lesseeTypeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.lesseeFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.buyerFormControlName).clearValidators();\n this.detailsForm.get(this.saleAmountFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountFormControlName).clearValidators();\n this.detailsForm.get(this.sellerFormControlName).clearValidators();\n }\n else if (this.applicationType === \"Alienation\") {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.buyerFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.leaseTypeFormControlName).clearValidators();\n this.detailsForm.get(this.leaseReasonFormControlName).clearValidators();\n this.detailsForm.get(this.leaseUseFormControlName).clearValidators();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).clearValidators();\n this.detailsForm.get(this.leaseStartDateFormControlName).clearValidators();\n this.detailsForm.get(this.leaseEndDateFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeTypeFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeFormControlName).clearValidators();\n this.detailsForm.get(this.saleAmountFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountFormControlName).clearValidators();\n this.detailsForm.get(this.sellerFormControlName).clearValidators();\n }\n else if (this.applicationType === \"Acquisition\") {\n this.detailsForm.get(this.saleAmountFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.evaluationAmountFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.sellerFormControlName).setValidators(Validators.required);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).clearValidators();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).clearValidators();\n this.detailsForm.get(this.buyerFormControlName).clearValidators();\n this.detailsForm.get(this.leaseTypeFormControlName).clearValidators();\n this.detailsForm.get(this.leaseReasonFormControlName).clearValidators();\n this.detailsForm.get(this.leaseUseFormControlName).clearValidators();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).clearValidators();\n this.detailsForm.get(this.leaseStartDateFormControlName).clearValidators();\n this.detailsForm.get(this.leaseEndDateFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeTypeFormControlName).clearValidators();\n this.detailsForm.get(this.lesseeFormControlName).clearValidators();\n }\n this.detailsForm.get(this.saleAmountFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.evaluationAmountFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.sellerFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.saleAmountAlienationFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.buyerFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseTypeFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseReasonFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseUseFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseStartDateFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.leaseEndDateFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.lesseeTypeFormControlName).updateValueAndValidity();\n this.detailsForm.get(this.lesseeFormControlName).updateValueAndValidity();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: PropertyAndLeaseService },\n { type: DatePipe },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsPlamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsPlamsComponent);\nexport { CreateApplicationDetailsPlamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsPlamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static LEASE_LABEL = \"Lease details\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the property details tab.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static LEASE_TYPE_LABEL = \"Lease type\";\n static LEASE_REASON_LABEL = \"Lease reason\";\n static LEASE_USE_LABEL = \"What will the lease be used for?\";\n static LEASE_RENTAL_AGREEMENT_LABEL = \"Lease rental agreement amount (p/m)\";\n static LEASE_START_DATE_LABEL = \"Lease start date\";\n static LEASE_END_DATE_FORM_LABEL = \"Lease end date\";\n static LESSEE_LABEL = \"Lessee\";\n static SELLER_LABEL = \"Seller\";\n static BUYER_LABEL = \"Buyer\";\n static LESSEE_TYPE_LABEL = \"Lessee type\";\n static ALIENATION_LABEL = \"Alienation details\";\n static SALE_AMOUNT_LABEL = \"Sale amount (R)\";\n static DATE_OF_DEED_TRANSFER_LABEL = \"Date of deed transfer\";\n static EVALUATION_AMOUNT_LABEL = \"Evaluation amount (R)\";\n static ACQUISITION_LABEL = \"Acquisition details\";\n static COPY_APPLICANT_TO_LESSEE_LABEL = \"Copy applicant to lessee\";\n static COPY_APPLICANT_TO_BUYER_LABEL = \"Copy applicant to buyer\";\n static COPY_APPLICANT_TO_SELLER_LABEL = \"Copy applicant to seller\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static TRANSFERRING_ATTORNEY_LABEL = \"Transferring attorney\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static LEASE_TYPE_FORM_CONTROL_NAME = \"leaseType\";\n static LEASE_REASON_FORM_CONTROL_NAME = \"leaseReason\";\n static LEASE_USE_FORM_CONTROL_NAME = \"leaseUse\";\n static LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME = \"leaseRentalAgreementAmount\";\n static LEASE_START_DATE_FORM_CONTROL_NAME = \"leaseStartDate\";\n static LEASE_END_DATE_FORM_CONTROL_NAME = \"leaseEndDate\";\n static LESSEE_TYPE_FORM_CONTROL_NAME = \"lesseeType\";\n static LESSEE_FORM_CONTROL_NAME = \"lesseeRecipient\";\n static SALE_AMOUNT_FORM_CONTROL_NAME = \"saleAmount\";\n static DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME = \"dateOfDeedTransfer\";\n static EVALUATION_AMOUNT_FORM_CONTROL_NAME = \"evaluationAmount\";\n static BUYER_FORM_CONTROL_NAME = \"buyerRecipient\";\n static SELLER_FORM_CONTROL_NAME = \"sellerRecipient\";\n static SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"saleAmountAlienation\";\n static DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME = \"dateOfDeedTransferAlienation\";\n static EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"evaluationAmountAlienation\";\n static REFERENCE_NUMBER_FORM_CONTROL_NAME = \"referenceNumber\";\n static TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME = \"transferringAttorneyRecipient\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseType: {\n required: `Lease type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseReason: {\n required: `Lease reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseUse: {\n required: `Lease use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseRentalAgreementAmount: {\n required: `Lease rental agreement ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseStartDate: {\n required: `Lease start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n leaseEndDate: {\n required: `Lease end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n lesseeType: {\n required: `Lessee type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n saleAmount: {\n required: `Sale amount ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateofDeedTransfer: {\n required: `Date of deed transfer ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n evaluationAmount: {\n required: `Evaluation amount ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n referenceNumber: {\n required: `Reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationPlamsConstants } from \"./create-application-location-plams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport GeometryUtils from \"../../../../shared/utils/geometry-utils\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as geometryEngine from \"@arcgis/core/geometry/geometryEngine\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet CreateApplicationLocationPlamsComponent = class CreateApplicationLocationPlamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_4;\n descriptionLabel5 = CreateApplicationLocationPlamsConstants.DESCRIPTION_LABEL_5;\n applicationControl = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_CONTROL;\n validationMessages = CreateApplicationLocationPlamsConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationPlamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationPlamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationPlamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationPlamsConstants.FARM_NO_CONTROL;\n zoningControl = CreateApplicationLocationPlamsConstants.ZONING_CONTROL;\n streetNumberControl = CreateApplicationLocationPlamsConstants.STREET_NO_CONTROL;\n streetNameControl = CreateApplicationLocationPlamsConstants.STREET_NAME_CONTROL;\n townControl = CreateApplicationLocationPlamsConstants.TOWN_CONTROL;\n sgCodeControl = CreateApplicationLocationPlamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationPlamsConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationPlamsConstants.OWNER_CONTROL;\n applicationSelectLabel = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n dropdownApplicationPlaceholder = CreateApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n erfNoTextPlaceHolder = CreateApplicationLocationPlamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationPlamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationPlamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationPlamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n zoningControlTextPlaceHolder = CreateApplicationLocationPlamsConstants.ZONING_TEXT_PLACEHOLDER;\n streetNumberTextPlaceHolder = CreateApplicationLocationPlamsConstants.STREET_NO_TEXT_PLACEHOLDER;\n streetNameTextPlaceHolder = CreateApplicationLocationPlamsConstants.STREET_NAME_TEXT_PLACEHOLDER;\n townTextPlaceHolder = CreateApplicationLocationPlamsConstants.TOWN_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationPlamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationPlamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n drawPolyonLabel = CreateApplicationLocationPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = CreateApplicationLocationPlamsConstants.POLYGON_DRAWN_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n removePropertyLabel = CreateApplicationLocationPlamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = CreateApplicationLocationPlamsConstants.OWNER_LABEL;\n copyOwnerLabel = CreateApplicationLocationPlamsConstants.COPY_OWNER_LABEL;\n layerReference = CreateApplicationLocationPlamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerShowGroupsDropdown = true;\n ownerListLabel = \"Owner\";\n appTypes = [];\n applicants;\n leaseAreaDrawn = false;\n fullApplicationCheckRequired = true;\n showOnlyPropertyAndZoningLayers = false;\n existingApplication = false;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n sketch;\n leaseGraphic = null;\n hasLoadedLookups = false;\n hasLoadedApplicationProperties = false;\n hasSavedLeaseArea = false;\n selectedApplicationType = null;\n selectedPropertySubscription;\n selectedApplicationDetailsRcSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.initForm();\n }\n ngOnInit() {\n this.hasLoadedApplicationProperties = false;\n this.hasSavedLeaseArea = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n this.selectedApplicationService.$applicationSavedSubject.next(false);\n if (this.aflaModuleStrategyService.lookups.has(\"appTypes\")) {\n this.appTypes = this.aflaModuleStrategyService.lookups.get(\"appTypes\");\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n this.getMetadata();\n this.subscribeToProperty();\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n this.applicationCreateService.hasLoadedLookupsAsObservable.subscribe((hasLoadedLookups) => {\n this.hasLoadedLookups = hasLoadedLookups;\n if (this.hasLoadedLookups) {\n this.onGetSelectedApplication();\n }\n });\n if (this.applicationCreateService.propertyData) {\n this.loadExistingProperty(this.applicationCreateService.propertyData);\n this.applicationCreateService.propertyData = null;\n }\n this.mapService.$removeAllMapToolGraphics.subscribe((res) => {\n this.mapToolGraphicsRemoved();\n });\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapToolGraphicsRemoved() {\n this.leaseGraphic = null;\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.sketch = this.mapTools.getMapTool(\"drawTool\");\n this.sketch.on(\"create\", (event) => {\n if (event.state === \"start\") {\n this.mapService.showPopups = false;\n }\n if (event.state === \"complete\") {\n this.mapService.showPopups = true;\n if (this.selectedApplicationType === \"Lease\") {\n if (event.graphic.geometry.type === \"polygon\") {\n this.leaseGraphic = event.graphic;\n // get the geometries of the properties in the properties layer\n const geometries = [];\n let propertyGeom;\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n // If properties have been selected ... check the lease area drawn is within those properties\n if (geometries.length > 0) {\n if (geometries.length > 1) {\n propertyGeom = geometryEngine.union(geometries);\n }\n else {\n propertyGeom = geometries[0];\n }\n if (geometryEngine.within(this.leaseGraphic.geometry, propertyGeom)) {\n this.propertiesForm.get(\"leaseArea\").setValue(event.graphic.geometry);\n }\n else {\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE, AlertType.Warning);\n }\n }\n else {\n // no property selected\n this.propertiesForm.get(\"leaseArea\").setValue = null;\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.mapService.showPopups = true;\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.NO_PROPERTIES_SELECTED_MESSAGE, AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.LEASE_AREA_EXISTS_MESSAGE, AlertType.Warning);\n }\n }\n }\n else if (event.state === \"cancel\") {\n this.mapService.showPopups = true;\n }\n else {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n if (this.propertiesForm.get(\"leaseArea\").value !== null) {\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.propertiesForm.get(\"leaseArea\").value)], \"Draw Tool Layer\", true);\n }\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.propertiesForm.get(this.applicationControl).enable();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.detectChanges();\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n updateRequiredFields() {\n this.getProperties().controls.forEach(item => {\n const propertyControl = item;\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") || (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n });\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n const numProps = this.getProperties().value.length;\n this.getProperties().removeAt(propertyIndex);\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n // /this.propertiesForm.get(\"leaseArea\").setValue(null);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n if (numProps > 1) {\n propertyIndex + 1 === numProps ? this.active = propertyIndex - 1 : this.active = propertyIndex;\n }\n this.changeDetectorRefs.detectChanges();\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n this.propertiesForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'ApplicationType'`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n const appTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n appTypes.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"appTypes\", appTypes);\n this.appTypes = appTypes;\n this.applicationCreateService.setHasLoadedLookups(true);\n this.changeDetectorRefs.detectChanges();\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n loadExistingProperty(property) {\n this.setPropertyData(property, property.geometry);\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n this.updateRequiredFields();\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\")),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\")),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\")),\n zoning: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Zoning\", \"zoning\"), [Validators.required]),\n streetNumber: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"StreetNumber\", \"streetnumber\"), [Validators.required]),\n streetName: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"StreetName\", \"streetname\"), [Validators.required]),\n town: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Town\", \"town\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(null)\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n onGetSelectedApplication() {\n if (this.hasLoadedLookups && +this.jobId > 0 && this.selectedApplication && !this.hasLoadedApplicationProperties) {\n const propertyControl = this.getProperties();\n propertyControl.clear();\n this.selectedApplicationType = this.selectedApplication.applicationType;\n this.appTypes.forEach(item => {\n if (item.value === this.selectedApplication.applicationType) {\n this.propertiesForm.get(this.applicationControl).setValue(item);\n }\n });\n this.propertiesForm.get(this.applicationControl).disable();\n if (this.selectedApplication.leaseAreas && this.selectedApplication.leaseAreas.length > 0) {\n this.hasSavedLeaseArea = true;\n this.propertiesForm.get(\"leaseAreaId\").setValue(this.selectedApplication.leaseAreas[0].id);\n }\n let index = 0;\n this.selectedApplication.properties.forEach(property => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newProperty = new FormGroup({\n id: new FormControl(property.id),\n property: new FormControl(property),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment, [Validators.required]),\n farmNo: new FormControl(property.farmNumber),\n zoning: new FormControl(property.zoning, [Validators.required]),\n streetNumber: new FormControl(property.streetNumber, [Validators.required]),\n streetName: new FormControl(property.streetName, [Validators.required]),\n town: new FormControl(property.town, [Validators.required]),\n sgCode: new FormControl(property.sgCode, [Validators.required]),\n address: new FormControl(property.address, [Validators.required]),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(property.owners)\n });\n // if property is loaded from an existing application mark for as touched it as touched\n this.propertiesForm.markAllAsTouched();\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (response) => {\n newProperty.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n index++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n applicationTypeChanged() {\n this.selectedApplicationType = this.propertiesForm.get(this.applicationControl).value.value;\n if (this.selectedApplicationType !== null && this.selectedApplicationType === \"Lease\") {\n this.mapTools.expandWidget(\"drawTool\");\n this.sketch.create(\"polygon\");\n }\n else {\n this.mapTools.collapseWidget(\"drawTool\");\n this.sketch.cancel();\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n }\n this.updateRequiredFields();\n this.changeDetectorRefs.detectChanges();\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.propertiesForm.get(\"leaseArea\").value) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.propertiesForm.get(\"leaseArea\").value)], \"Draw Tool Layer\");\n }\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n }\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getProperties().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n if (this.propertiesForm.get(\"leaseArea\").value !== null) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.propertiesForm.get(\"leaseArea\").setValue(null);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = application ? application : null;\n if (this.selectedApplication) {\n this.applicants = this.selectedApplication.applicant;\n this.onGetSelectedApplication();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n if (this.selectedApplication.leaseAreas && this.selectedApplication.leaseAreas.length > 0) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.leaseAreas[0].shape, 102100);\n const leaseGeom = JsonUtils.fromJSON(geometryArc);\n this.propertiesForm.get(\"leaseArea\").setValue(leaseGeom);\n this.propertiesForm.get(\"leaseAreaId\").setValue(this.selectedApplication.leaseAreas[0].id);\n this.hasSavedLeaseArea = true;\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationPlamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationPlamsComponent);\nexport { CreateApplicationLocationPlamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationPlamsConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added. \";\n static DESCRIPTION_LABEL_4 = \"If this is an application for a lease, draw an area (polygon) around the lease area on the map.\";\n static DESCRIPTION_LABEL_5 = \"Owner details should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Note that you need to select a property before continuing with the create application process\";\n static PROPERTY_ID_CONTROL = \"propId\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ZONING_CONTROL = \"zoning\";\n static STREET_NO_CONTROL = \"streetNumber\";\n static STREET_NAME_CONTROL = \"streetName\";\n static TOWN_CONTROL = \"town\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static APPLICATION_TYPE_CONTROL = \"applicationType\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ZONING_TEXT_PLACEHOLDER = \"Zoning\";\n static STREET_NO_TEXT_PLACEHOLDER = \"Street number\";\n static STREET_NAME_TEXT_PLACEHOLDER = \"Street name\";\n static TOWN_TEXT_PLACEHOLDER = \"Town\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static APPLICATION_TYPE_PLACEHOLDER = \"Application type\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static LAYER_REF = \"Property and lease graphics\";\n static NO_PROPERTIES_SELECTED_MESSAGE = \"At least one property must be selected before a lease area is drawn\";\n static LEASE_AREA_EXISTS_MESSAGE = \"A lease area has already been captured for this application\";\n static LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE = \"The lease area(s) drawn are outside the extent of the selected property\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the map.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n town: {\n required: `Town ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zoning: {\n required: `Zoning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n streetNumber: {\n required: `Street number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n streetName: {\n required: `Street name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n application: {\n required: `Application ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsRcConstants } from \"./create-application-details-rc.constant\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet CreateApplicationDetailsRcComponent = class CreateApplicationDetailsRcComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n // Labels and headers\n descriptionLbl = CreateApplicationDetailsRcConstants.DESCRIPTION_LBL;\n applicationTypeLbl = CreateApplicationDetailsRcConstants.TYPE_LBL;\n reasonForApplicationLabel = CreateApplicationDetailsRcConstants.REASON_FOR_APPLICATION;\n typeOfTransferLabel = CreateApplicationDetailsRcConstants.TYPE_OF_TRANSFER_LABEL;\n propertyTypeLabel = CreateApplicationDetailsRcConstants.PROPERTY_TYPE_LABEL;\n ratesAccountNumberLabel = CreateApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_LABEL;\n electronicReferenceLabel = CreateApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_LABEL;\n attorneyReferenceLabel = CreateApplicationDetailsRcConstants.ATTORNEY_REFERENCE_LABEL;\n councilReferenceLabel = CreateApplicationDetailsRcConstants.COUNCIL_REFERENCE_LABEL;\n // Controls\n descriptionCtrl = CreateApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n detailsFormGroupName = CreateApplicationDetailsRcConstants.DETAILS_FORM_GROUP_NAME;\n applicationTypeCtrl = CreateApplicationDetailsRcConstants.TYPE_CTRL;\n reasonForApplicationFormControlName = CreateApplicationDetailsRcConstants.REASON_FOR_APPLICATION_CONTROL_NAME;\n typeOfTransferFormControlName = CreateApplicationDetailsRcConstants.TYPE_OF_TRANSFER_CONTROL_NAME;\n propertyTypeFormControlName = CreateApplicationDetailsRcConstants.PROPERTY_TYPE_CONTROL_NAME;\n ratesAccountNumberFormControlName = CreateApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_CONTROL_NAME;\n electronicReferenceFormControlName = CreateApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_CONTROL_NAME;\n attorneyReferenceFormControlName = CreateApplicationDetailsRcConstants.ATTORNEY_REFERENCE_CONTROL_NAME;\n councilReferenceFormControlName = CreateApplicationDetailsRcConstants.COUNCIL_REFERENCE_CONTROL_NAME;\n validationMessages = CreateApplicationDetailsRcConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n typeOfTransferLookupOptions = [];\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n selectedApplicationDetailsRcSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n if (this.aflaModuleStrategyService.lookups.has(\"applicationTypes\") && this.aflaModuleStrategyService.lookups.has(\"transferType\")) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(\"applicationTypes\");\n this.typeOfTransferLookupOptions = this.aflaModuleStrategyService.lookups.get(\"transferType\");\n }\n else {\n this.getLookups();\n }\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.setupSubscriptions();\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsRcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateApplicationDetailsData(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.detailsFormGroupName);\n this.detailsForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and deleted eq false`\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationDetailsRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const typeOfTransfer = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"applicationtype\") {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.toLowerCase() === \"transfertype\") {\n typeOfTransfer.push(JSON.parse(item.content));\n }\n });\n }\n applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n typeOfTransfer.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(\"applicationTypes\", applicationTypes);\n this.aflaModuleStrategyService.lookups.set(\"transferType\", typeOfTransfer);\n this.applicationTypes = applicationTypes;\n this.typeOfTransferLookupOptions = typeOfTransfer;\n this.changeDetectorRefs.detectChanges();\n }\n loadMetadata() {\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.populateApplicationDetailsData(this.selectedApplication);\n }\n }\n populateApplicationDetailsData(application) {\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n this.detailsForm.get(this.reasonForApplicationFormControlName).setValue(application.reasonForApplication);\n this.detailsForm.get(this.typeOfTransferFormControlName).setValue(application.typeOfTransfer);\n this.detailsForm.get(this.propertyTypeFormControlName).setValue(application.propertyType);\n this.detailsForm.get(this.ratesAccountNumberFormControlName).setValue(application.ratesAccountNumber);\n this.detailsForm.get(this.electronicReferenceFormControlName).setValue(application.electronicReference);\n this.detailsForm.get(this.attorneyReferenceFormControlName).setValue(application.attorneyReference);\n this.detailsForm.get(this.councilReferenceFormControlName).setValue(application.councilReference);\n }\n setupSubscriptions() {\n this.subscribeToSelectedApplication();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsRcComponent = __decorate([\n Component({\n selector: \"app-create-application-details-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsRcComponent);\nexport { CreateApplicationDetailsRcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsRcConstants {\n static STEP_TITLE = \"Details\";\n // Labels and headers\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static REASON_FOR_APPLICATION = \"Reason for application\";\n static TYPE_OF_TRANSFER_LABEL = \"Type of transfer\";\n static PROPERTY_TYPE_LABEL = \"Property type\";\n static RATES_ACCOUNT_NUMBER_LABEL = \"Rates account number\";\n static ELECTRONIC_REFERENCE_LABEL = \"Electronic reference\";\n static ATTORNEY_REFERENCE_LABEL = \"Attorney reference\";\n static COUNCIL_REFERENCE_LABEL = \"Council reference\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static DESCRIPTION_CTRL = \"description\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"applicationType\";\n static REASON_FOR_APPLICATION_CONTROL_NAME = \"reasonForApplication\";\n static TYPE_OF_TRANSFER_CONTROL_NAME = \"typeOfTransfer\";\n static PROPERTY_TYPE_CONTROL_NAME = \"propertyType\";\n static RATES_ACCOUNT_NUMBER_CONTROL_NAME = \"ratesAccountNumber\";\n static ELECTRONIC_REFERENCE_CONTROL_NAME = \"electronicReference\";\n static ATTORNEY_REFERENCE_CONTROL_NAME = \"attorneyReference\";\n static COUNCIL_REFERENCE_CONTROL_NAME = \"councilReference\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reasonForApplication: {\n required: `Reason for application ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n typeOfTransfer: {\n required: `Type of transfer ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n propertyType: {\n required: `Property type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n ratesAccountNumber: {\n required: `Rates account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electronicReference: {\n required: `Electronic reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n attorneyReference: {\n required: `Attorney reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n councilReference: {\n required: `Council reference ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationRcConstants } from \"./create-application-location-rc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { debounceTime } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { PopUpComponent } from \"../../../../shared/components/pop-up/pop-up.component\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { DatePipe } from \"@angular/common\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationRcComponent = class CreateApplicationLocationRcComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientSelectService;\n appController;\n mapService;\n datePipe;\n selectedApplicationService;\n requestStatusService;\n modalService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n activeTabIndex;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationRcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationRcConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationRcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationRcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationRcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationRcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationRcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationRcConstants.ADDRESS_CONTROL;\n titleDeedNumberControl = CreateApplicationLocationRcConstants.TITLE_DEED_NUMBER_CONTROL;\n zoningControl = CreateApplicationLocationRcConstants.ZONING_CONTROL;\n sectionalTitleSchemeNameControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_CONTROL;\n sectionalTitleSchemeNumberControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL;\n sectionalTitleSchemeUnitControl = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_CONTROL;\n extentControl = CreateApplicationLocationRcConstants.EXTENT_CONTROL;\n purchasePriceControl = CreateApplicationLocationRcConstants.PURCHASE_PRICE_CONTROL;\n dateOfSaleControl = CreateApplicationLocationRcConstants.DATE_OF_SALE_CONTROL;\n electricityAccountNumberControl = CreateApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_CONTROL;\n waterAccountNumberControl = CreateApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_CONTROL;\n refuseAccountNumberControl = CreateApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_CONTROL;\n managingAgentControl = CreateApplicationLocationRcConstants.MANAGING_AGENT_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationRcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationRcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationRcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationRcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationRcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationRcConstants.ADDRESS_TEXT_PLACEHOLDER;\n titleDeedNumberLabel = CreateApplicationLocationRcConstants.TITLE_DEED_NUMBER_LABEL;\n zoningLabel = CreateApplicationLocationRcConstants.ZONING_LABEL;\n sectionalTitleSchemeNameLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_LABEL;\n sectionalTitleSchemeNumberLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_LABEL;\n sectionalTitleSchemeUnitLabel = CreateApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_LABEL;\n extentLabel = CreateApplicationLocationRcConstants.EXTENT_LABEL;\n purchasePriceLabel = CreateApplicationLocationRcConstants.PURCHASE_PRICE_LABEL;\n dateOfSaleLabel = CreateApplicationLocationRcConstants.DATE_OF_SALE_LABEL;\n electricityAccountNumberLabel = CreateApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_LABEL;\n waterAccountNumberLabel = CreateApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_LABEL;\n refuseAccountNumberLabel = CreateApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_LABEL;\n modalOptions = CreateApplicationLocationRcConstants.MODAL_OPTION;\n removePropertyLabel = CreateApplicationLocationRcConstants.REMOVE_PROPERTY_LABEL;\n managingAgentDisableFilterBy = true;\n managingAgentDisableEditing = false;\n managingAgentGroups = [];\n managingAgentLabel = \"Managing agent\";\n mapComponent;\n isMapLoaded = false;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n zones = [];\n selectedPropertySubscription;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientSelectService, appController, mapService, datePipe, selectedApplicationService, requestStatusService, modalService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientSelectService = recipientSelectService;\n this.appController = appController;\n this.mapService = mapService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.modalService = modalService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n if (this.aflaModuleStrategyService.lookups.has(\"zoning\")) {\n this.zones = this.aflaModuleStrategyService.lookups.get(\"zoning\");\n }\n else {\n this.getLookups();\n }\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.setupSubscriptions();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.managingAgentGroups = stepMeta.managingAgentGroup;\n if (this.managingAgentGroups[0].hasOwnProperty(\"requiredFields\") && this.managingAgentGroups[0].requiredFields !== null) {\n this.managingAgentGroups = this.recipientSelectService.checkStepMetaRecipientGroups(this.managingAgentGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.mapComponent.clearGraphics(\"Rates certificate graphics\");\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationRcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n titleDeedNumber: new FormControl(null, [Validators.required]),\n zoning: new FormControl(null, [Validators.required]),\n sectionalTitleSchemeName: new FormControl(null),\n sectionalTitleSchemeNumber: new FormControl(null),\n sectionalTitleSchemeUnit: new FormControl(null),\n extent: new FormControl(null, [Validators.required]),\n purchasePrice: new FormControl(null, [Validators.required]),\n dateOfSale: new FormControl(null, [Validators.required]),\n electricityAccountNumber: new FormControl(null),\n waterAccountNumber: new FormControl(null),\n refuseAccountNumber: new FormControl(null),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n managingAgent: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n this.setPropertyTrueCentroidData(newProperty, trueCentroidResponse);\n this.setPropertyZoning(newProperty, sgCode);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n setPropertyTrueCentroidData(newFormGroup, trueCentroidResponse) {\n this.requestStatusService.showBusySpinner(\"setPropertyTrueCentroid\");\n const propertiesArray = this.getProperties();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n propertiesArray.push(newFormGroup);\n this.activeTabIndex = propertiesArray.length - 1;\n this.updateRequiredFields(this.activeTabIndex);\n this.changeDetectorRefs.detectChanges();\n this.requestStatusService.removeBusySpinner(\"setPropertyTrueCentroid\");\n }\n setPropertyZoning(newFormGroup, sgCode) {\n this.requestStatusService.showBusySpinner(\"setPropertyPropertyZoning\");\n const zoningControl = newFormGroup.get(this.zoningControl);\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property zone\");\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}' or sgcode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = this.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\"); // zone from the property layer\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zones.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (zoningControl) {\n zoningControl.setValue(zone);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationRcConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Error);\n }\n });\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n else {\n this.appController.showMessage(CreateApplicationLocationRcConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n });\n }\n else {\n this.requestStatusService.removeBusySpinner(\"setPropertyPropertyZoning\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.checkIfPropertyIsAlreadyLoaded(property);\n }\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID}`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zoning\", zones);\n this.zones = zones;\n this.changeDetectorRefs.detectChanges();\n }\n checkIfPropertyIsAlreadyLoaded(property) {\n const title = \"Replace property\";\n const contentMessage = \"An application can only have 1 property. Do you want to replace the current property?\";\n const propertyControl = this.getProperties();\n if (propertyControl && propertyControl.length > 0) {\n const dialogRef = this.modalService.open(PopUpComponent, this.modalOptions);\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.contentMessage = contentMessage;\n dialogRef.componentInstance.data = true;\n dialogRef.result.then((replaceData) => {\n if (replaceData) {\n this.getProperties().clear();\n this.mapComponent.clearGraphics(\"Rates certificate graphics\");\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n else {\n this.setPropertyData(property.attributes, property.geometry);\n }\n }\n setupSubscriptions() {\n this.subscribeToProperty();\n this.subscribeToClearMapGraphics();\n }\n checkApplicationData() {\n const isFormPristine = this.propertiesForm.pristine;\n const isFormUnTouched = this.propertiesForm.untouched;\n const isFormInvalid = this.propertiesForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.onGetApplicationDataCompleted(this.selectedApplication);\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getProperties().clear();\n const shape = application.properties[0].shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getProperties();\n const featureFormGroup = this.createPropertyFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createPropertyFormGroup(application) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.properties[0].shape, 102100);\n const geometry = JsonUtils.fromJSON(geometryArc);\n const dateString = this.datePipe.transform(application.properties[0].dateOfSale, \"yyyy-MM-dd\");\n const newProperty = new FormGroup({\n erfNo: new FormControl(application.properties[0].erfNumber, [Validators.required]),\n subdivision: new FormControl(application.properties[0].subdivision, [Validators.required]),\n allotment: new FormControl(application.properties[0].allotment, [Validators.required]),\n farmNo: new FormControl(application.properties[0].farmNumber, [Validators.required]),\n sgCode: new FormControl(application.properties[0].sgCode, [Validators.required]),\n address: new FormControl(application.properties[0].address, [Validators.required]),\n titleDeedNumber: new FormControl(application.properties[0].titleDeedNumber, [Validators.required]),\n zoning: new FormControl(application.properties[0].zoning, [Validators.required]),\n sectionalTitleSchemeName: new FormControl(application.properties[0].sectionalTitleSchemeName),\n sectionalTitleSchemeNumber: new FormControl(application.properties[0].sectionalTitleSchemeNumber),\n sectionalTitleSchemeUnit: new FormControl(application.properties[0].sectionalTitleSchemeUnit),\n extent: new FormControl(application.properties[0].extent, [Validators.required]),\n purchasePrice: new FormControl(application.properties[0].purchasePrice, [Validators.required]),\n dateOfSale: new FormControl(dateString, [Validators.required]),\n electricityAccountNumber: new FormControl(application.properties[0].electricityAccountNumber),\n waterAccountNumber: new FormControl(application.properties[0].waterAccountNumber),\n refuseAccountNumber: new FormControl(application.properties[0].refuseAccountNumber),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n managingAgent: new FormControl(null, [Validators.required])\n });\n if (application.properties && application.properties.length > 0 && application.properties[0].managingAgent.length > 0) {\n const managingAgent = application.properties[0].managingAgent[0];\n const managingAgentControl = newProperty.get(\"managingAgent\");\n managingAgentControl.setValue(managingAgent);\n }\n return newProperty;\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.updateRequiredFields(this.activeTabIndex);\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: NgbModal },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationRcComponent = __decorate([\n Component({\n selector: \"app-create-application-location-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationRcComponent);\nexport { CreateApplicationLocationRcComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationRcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static ZONING_CONTROL = \"zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_CONTROL = \"sectionalTitleSchemeName\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL = \"sectionalTitleSchemeNumber\";\n static SECTIONAL_TITLE_SCHEME_UNIT_CONTROL = \"sectionalTitleSchemeUnit\";\n static EXTENT_CONTROL = \"extent\";\n static PURCHASE_PRICE_CONTROL = \"purchasePrice\";\n static DATE_OF_SALE_CONTROL = \"dateOfSale\";\n static ELECTRICITY_ACCOUNT_NUMBER_CONTROL = \"electricityAccountNumber\";\n static WATER_ACCOUNT_NUMBER_CONTROL = \"waterAccountNumber\";\n static REFUSE_ACCOUNT_NUMBER_CONTROL = \"refuseAccountNumber\";\n static MANAGING_AGENT_CONTROL = \"managingAgent\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static TITLE_DEED_NUMBER_LABEL = \"Title deed number\";\n static ZONING_LABEL = \"Zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_LABEL = \"Sectional title scheme name\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_LABEL = \"Sectional title scheme number\";\n static SECTIONAL_TITLE_SCHEME_UNIT_LABEL = \"Sectional title scheme unit\";\n static EXTENT_LABEL = \"Extent\";\n static PURCHASE_PRICE_LABEL = \"Purchase price\";\n static DATE_OF_SALE_LABEL = \"Date of sale\";\n static ELECTRICITY_ACCOUNT_NUMBER_LABEL = \"Electricity account number\";\n static WATER_ACCOUNT_NUMBER_LABEL = \"Water account number\";\n static REFUSE_ACCOUNT_NUMBER_LABEL = \"Refuse account number\";\n static MANAGING_AGENT_LABEL = \"Managing agent\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"Only one property can be added per application.\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static MODAL_OPTION = {\n size: SharedConstants.MODAL_SIZE.extraLarge,\n centered: true,\n backdrop: \"static\",\n keyboard: false\n };\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zoning: {\n required: `Zoning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeName: {\n required: `Sectional title scheme name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeNumber: {\n required: `Sectional title scheme number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sectionalTitleSchemeUnit: {\n required: `Sectional title scheme unit ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n extent: {\n required: `Extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n purchasePrice: {\n required: `Purchase price ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateOfSale: {\n required: `Date of sale ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricityAccountNumber: {\n required: `Electricity account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n waterAccountNumber: {\n required: `Water account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n refuseAccountNumber: {\n required: `Refuse account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n managingAgent: {\n required: `Managing agent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsSnConstants } from \"./create-application-details-sn.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { CreateApplicationDetailsBlConstants } from \"../../bl/craate-application-details-bl/create-application-details-bl.constants\";\nlet CreateApplicationDetailsSnComponent = class CreateApplicationDetailsSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n applicationDetailsFormGroupName = CreateApplicationDetailsSnConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = CreateApplicationDetailsSnConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsSnConstants.DESCRIPTION_FORM_LABEL;\n applicationTypeLabel = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n validationMessages = CreateApplicationDetailsSnConstants.VALIDATION_MESSAGES;\n applicationTypeLookoutName = CreateApplicationDetailsSnConstants.APPLICATION_TYPE_LOOKOUT_NAME;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // loaded or it is being loaded from the search page\n this.getLookups();\n }\n else {\n if (this.aflaModuleStrategyService.lookups.has(this.applicationTypeLookoutName)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(CreateApplicationDetailsBlConstants.APPLICATION_TYPE_LOOKUP_NAME);\n }\n else {\n this.getLookups();\n }\n }\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsSnConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n if (this.detailsForm.pristine) {\n this.detailsForm.enable();\n this.detailsForm.reset();\n }\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypes.push(lookUpContent);\n }\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.aflaModuleStrategyService.lookups.set(this.applicationTypeLookoutName, this.applicationTypes);\n if (this.isApplicationLoadedFromTheSearchPage) {\n // only run when the application is loaded from the search page\n this.checkApplicationData();\n }\n this.changeDetectorRefs.detectChanges();\n }\n checkApplicationData() {\n const isFormPristine = this.detailsForm.pristine;\n const isFormUnTouched = this.detailsForm.untouched;\n const isFormInvalid = this.detailsForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.updateFormData();\n }\n }\n updateFormData() {\n this.detailsForm.get(this.descriptionFormControlName).setValue(this.selectedApplication.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(this.selectedApplication.type);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsSnComponent = __decorate([\n Component({\n selector: \"app-create-application-details-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsSnComponent);\nexport { CreateApplicationDetailsSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationDetailsSnConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static DESCRIPTION_FORM_LABEL = \"Description\";\n static APPLICATION_TYPE_FORM_LABEL = \"Application type\";\n static APPLICATION_TYPE_LOOKOUT_NAME = \"applicationType\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationLocationSnConstants } from \"./create-application-location-sn.constant\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationSnComponent = class CreateApplicationLocationSnComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n activeTabIndex;\n locationForm;\n dropdownPlaceholderMessage = SharedConstants.NO_OPTION_SELECTED;\n showPrivateStreetAreaOrEstateNameField = true;\n showCurrentNameField = true;\n showFeatureTypeField = true;\n showRequiredAsteriskForTheAreaEstateNameField = false;\n showRequiredAsteriskForTheCurrentNameField = false;\n streetOrFeatureLookUps = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_LOOKUPS;\n publicOrPrivateLookUps = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_LOOKUPS;\n isNewDevelopmentLookUps = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_LOOKUPS;\n haveExistingNameLookUps = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_LOOKUPS;\n descriptionLabel1 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationSnConstants.DESCRIPTION_LABEL_3;\n validationMessages = CreateApplicationLocationSnConstants.VALIDATION_MESSAGES;\n streetOrFeatureLabel = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_LABEL;\n removeFeatureLabel = CreateApplicationLocationSnConstants.REMOVE_FEATURE_LABEL;\n publicOrPrivateLabel = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_LABEL;\n privateStreetAreaOrEstateNameLabel = CreateApplicationLocationSnConstants.PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL;\n isNewDevelopmentLabel = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_NAME_LABEL;\n haveExistingNameLabel = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_LABEL;\n currentNameLabel = CreateApplicationLocationSnConstants.CURRENT_NAME_LABEL;\n locationDescriptionLabel = CreateApplicationLocationSnConstants.LOCATION_DESCRIPTION_LABEL;\n wardLabel = CreateApplicationLocationSnConstants.WARD_LABEL;\n proposedNameLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_LABEL;\n proposedNameLanguageLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_LANGUAGE_LABEL;\n proposedNameMeaningLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_MEANING_LABEL;\n proposedNameOriginLabel = CreateApplicationLocationSnConstants.PROPOSED_NAME_ORIGIN_LABEL;\n proposedAlternativeNameLabel = CreateApplicationLocationSnConstants.PROPOSED_ALTERNATIVE_NAME_LABEL;\n languageOfTheAlternativeNameLabel = CreateApplicationLocationSnConstants.LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL;\n meaningAlternativeNameLabel = CreateApplicationLocationSnConstants.MEANING_OF_THE_ALTERNATIVE_NAME_LABEL;\n featureTypeLabel = CreateApplicationLocationSnConstants.FEATURE_TYPE_LABEL;\n reasonForChangeLabel = CreateApplicationLocationSnConstants.REASON_FOR_CHANGE_LABEL;\n featuresFormArrayName = CreateApplicationLocationSnConstants.FEATURES_FORM_ARRAY_NAME;\n locationFormGroupName = CreateApplicationLocationSnConstants.LOCATION_FORM_GROUP_NAME;\n streetOrFeatureFormControlName = CreateApplicationLocationSnConstants.STREET_OR_FEATURE_FORM_CONTROL_NAME;\n publicOrPrivateFormControlName = CreateApplicationLocationSnConstants.PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME;\n privateStreetAreaOrEstateNameFormControlName = CreateApplicationLocationSnConstants.PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME;\n isNewDevelopmentFormControlName = CreateApplicationLocationSnConstants.IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME;\n haveExistingNameFormControlName = CreateApplicationLocationSnConstants.HAVE_EXISTING_NAME_FORM_CONTROL_NAME;\n currentNameFormControlName = CreateApplicationLocationSnConstants.CURRENT_NAME_FORM_CONTROL_NAME;\n locationDescriptionFormControlName = CreateApplicationLocationSnConstants.LOCATION_DESCRIPTION_FORM_CONTROL_NAME;\n wardFormControlName = CreateApplicationLocationSnConstants.WARD_FORM_CONTROL_NAME;\n proposedNameFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_FORM_CONTROL_NAME;\n proposedNameLanguageFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME;\n proposedNameMeaningFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_MEANING_FORM_CONTROL_NAME;\n proposedAlternativeNameFormArrayName = CreateApplicationLocationSnConstants.PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME;\n proposedNameOriginFormControlName = CreateApplicationLocationSnConstants.PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME;\n featureTypeFormControlName = CreateApplicationLocationSnConstants.FEATURE_TYPE_FORM_CONTROL_NAME;\n reasonForChangeFormControlName = CreateApplicationLocationSnConstants.REASON_FOR_CHANGE_FORM_CONTROL_NAME;\n sketchTool;\n selectedGraphic = null;\n isMapLoaded = false;\n mapComponent;\n layerReference = \"Feature graphics\";\n selectedPOISubjectSubscription;\n getApplicationsQuerySubscription;\n selectedStreetSubjectSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n getFeatures() {\n return this.locationForm.get(this.featuresFormArrayName);\n }\n ngOnInit() {\n this.initForm();\n if (this.isApplicationLoadedFromTheSearchPage) {\n // application loaded from the search page.\n this.checkApplicationData();\n }\n this.subscribeToSelectedPOI();\n this.subscribeToSelectedStreet();\n this.subscribeToClearGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPOIEnabled = true;\n this.mapService.actionStreetEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.initializeSketchTools();\n }\n ngOnDestroy() {\n this.mapService.actionPOIEnabled = false;\n this.mapService.actionStreetEnabled = false;\n }\n loadMetadata() {\n }\n hasControlValidator(control) {\n if (control.validator) {\n const validator = control.validator({});\n if (validator && validator.required) {\n return true;\n }\n }\n }\n onBtnAddAlternativeNameClicked(featureIndex) {\n const alternativeNameGroup = new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n });\n const alternativeNamesFromArray = this.getAlternativeNameFormControls(featureIndex);\n alternativeNamesFromArray.setValidators(Validators.required);\n alternativeNamesFromArray.updateValueAndValidity();\n alternativeNamesFromArray.push(alternativeNameGroup);\n this.changeDetectorRefs.markForCheck();\n }\n onBtnRemoveAlternativeNameClicked(featureIndex, alternativeDetailsIndex) {\n const alternativeNamesFromArray = this.getAlternativeNameFormControls(featureIndex);\n alternativeNamesFromArray.removeAt(alternativeDetailsIndex);\n if (alternativeNamesFromArray.controls.length > 0) {\n alternativeNamesFromArray.removeAt(alternativeDetailsIndex);\n }\n if (alternativeNamesFromArray.controls.length === 0) {\n this.resetAlternativeNames(alternativeNamesFromArray);\n }\n this.changeDetectorRefs.markForCheck();\n }\n getAlternativeNameFormControls(featureIndex) {\n return this.getFeatures().controls[featureIndex].get(this.proposedAlternativeNameFormArrayName);\n }\n onStreetOrFeatureSelected($event, featureIndex) {\n const streetOrFeatureSelected = $event.target.value;\n if (streetOrFeatureSelected?.trim()?.toLowerCase() === \"street\") {\n this.configureStreetSelected();\n }\n if (streetOrFeatureSelected?.trim()?.toLowerCase() === \"feature\") {\n this.configureFeatureSelected(featureIndex);\n }\n }\n onPublicOrPrivateSelected($event, featureIndex) {\n const publicOrPrivateSelected = $event.target.value;\n if (publicOrPrivateSelected?.trim()?.toLowerCase() === \"public\") {\n this.handlePublicValue(featureIndex);\n }\n if (publicOrPrivateSelected?.trim()?.toLowerCase() === \"private\") {\n this.handlePrivate(featureIndex);\n }\n this.hidePrivateAreaOrEstateNameFieldIfNoExistingName();\n this.changeDetectorRefs.detectChanges();\n }\n onHaveExistingNameSelected($event, featureIndex) {\n const haveExistingNameSelected = $event.target.value;\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"yes\") {\n this.handlePropertyOrFeatureHasExistingName(featureIndex);\n }\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"no\") {\n this.handlePropertyOrFeatureHasNoExistingName(featureIndex);\n }\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemoveFeature(featureIndex) {\n this.getFeatures().removeAt(featureIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }\n initForm() {\n this.locationForm = this.aflaModuleStrategyService.form.get(this.locationFormGroupName);\n if (this.locationForm.pristine && this.selectedApplication === null) {\n this.locationForm.reset();\n }\n else {\n if (this.locationForm.touched && this.locationForm.dirty && this.locationForm.controls.features.controls.length > 0) {\n this.setApplication();\n }\n }\n this.activeTabIndex = 0;\n }\n setPOIData(poiAttributes, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"GetPOIData\");\n let newPOIFormGroup;\n if (poiAttributes) {\n newPOIFormGroup = this.setNewPOIFormGroup(poiAttributes, geometry);\n }\n else {\n newPOIFormGroup = this.createNewPOIFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(newPOIFormGroup);\n this.setFeatureTrueCentroidData(newPOIFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"POIData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n const features = this.getFeatures().controls;\n if (features.length > 0) {\n this.getFeatures().controls.forEach(featureControl => {\n const geom = featureControl.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, this.layerReference, true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n subscribeToSelectedPOI() {\n this.selectedPOISubjectSubscription = this.mapService.$selectedPOISubject.pipe(debounceTime(1000)).subscribe(poi => {\n if (poi !== null) {\n const objectId = this.featureDataAlternateColumnName(poi.attributes, \"OBJECTID\", \"objectid\");\n const featureHasAlreadyBeenAddedBefore = this.checkIfSelectedFeatureHasAlreadyBeenAdded(objectId);\n if (!featureHasAlreadyBeenAddedBefore) {\n this.setPOIData(poi.attributes, poi.geometry);\n }\n }\n });\n }\n configureStreetSelected() {\n this.showStreetFields();\n this.changeDetectorRefs.detectChanges();\n }\n // show all fields that should be visible when streets is selected.\n showStreetFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n configureFeatureSelected(featureIndex) {\n this.hideAreaEstateField(featureIndex);\n }\n handlePublicValue(featureIndex) {\n this.addFeatureTypeField(featureIndex);\n this.removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex);\n // this.hidePrivateStreetAreaOrEstateNameField(featureIndex);\n this.displayPrivateStreetAreaOrEstateNameField(featureIndex);\n }\n handlePrivate(featureIndex) {\n this.hideFeatureTypeField(featureIndex);\n this.addRequiredValidatorOnTheAreaEstateNameField(featureIndex);\n this.displayPrivateStreetAreaOrEstateNameField(featureIndex);\n }\n displayPrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.addValidators(Validators.required);\n areaEstateNameControl.updateValueAndValidity();\n }\n }\n hideFeatureTypeField(featureIndex) {\n const featureTypeControl = this.getFeatures().controls[featureIndex].get(this.featureTypeFormControlName);\n featureTypeControl.clearValidators();\n featureTypeControl.reset(\"\");\n featureTypeControl.disable();\n this.showFeatureTypeField = false;\n }\n addRequiredValidatorOnTheAreaEstateNameField(featureIndex) {\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.addValidators(Validators.required);\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n areaEstateNameControl.updateValueAndValidity();\n }\n removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n const areaEstateNameControl = this.getFeatures().controls[featureIndex].get(this.privateStreetAreaOrEstateNameFormControlName);\n areaEstateNameControl.enable();\n areaEstateNameControl.clearValidators();\n areaEstateNameControl.setValue(\"\");\n areaEstateNameControl.updateValueAndValidity();\n }\n }\n hidePrivateStreetAreaOrEstateNameField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue.trim().toLowerCase() === \"street\") {\n this.showRequiredAsteriskForTheAreaEstateNameField = false;\n this.showPrivateStreetAreaOrEstateNameField = false;\n }\n }\n addFeatureTypeField(featureIndex) {\n const streetOrFeatureValue = this.getFeatures().controls[featureIndex].get(this.streetOrFeatureFormControlName).value;\n const featureTypeControl = this.getFeatures().controls[featureIndex].get(this.featureTypeFormControlName);\n // only show feature filed if the feature is public\n if (streetOrFeatureValue.trim().toLowerCase() === \"feature\") {\n this.showFeatureTypeField = true;\n featureTypeControl.enable();\n featureTypeControl.addValidators(Validators.required);\n featureTypeControl.updateValueAndValidity();\n }\n }\n hideAreaEstateField(featureIndex) {\n this.removeRequiredValidatorPrivateStreetAreaOrEstateNameField(featureIndex);\n this.showPrivateStreetAreaOrEstateNameField = false;\n }\n handlePropertyOrFeatureHasExistingName(featureIndex) {\n this.addRequiredValidatorOnTheCurrentNameField(featureIndex);\n this.showCurrentNameField = true;\n }\n addRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.enable();\n currentNameControl.addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n currentNameControl.updateValueAndValidity();\n }\n handlePropertyOrFeatureHasNoExistingName(featureIndex) {\n this.removeRequiredValidatorOnTheCurrentNameField(featureIndex);\n this.showCurrentNameField = false;\n }\n removeRequiredValidatorOnTheCurrentNameField(featureIndex) {\n const currentNameControl = this.getFeatures().controls[featureIndex].get(this.currentNameFormControlName);\n currentNameControl.clearValidators();\n currentNameControl.setValue(\"\");\n this.showRequiredAsteriskForTheCurrentNameField = false;\n currentNameControl.updateValueAndValidity();\n }\n setStreetData(streetAttributes, geometry) {\n try {\n this.requestStatusService.showBusySpinner(\"GetPOIData\");\n let newStreetFormGroup;\n if (streetAttributes) {\n newStreetFormGroup = this.setNewStreetsFormGroup(streetAttributes, geometry);\n }\n else {\n newStreetFormGroup = this.createNewStreetsFormGroup(geometry);\n }\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometry);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(newStreetFormGroup);\n this.setFeatureTrueCentroidData(newStreetFormGroup, trueCentroidResponse);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"POIData\", error, CRUDOperation.Get);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n }\n subscribeToSelectedStreet() {\n this.selectedStreetSubjectSubscription = this.mapService.$selectedStreetSubject.pipe(debounceTime(500)).subscribe(street => {\n if (street !== null) {\n const objectId = this.featureDataAlternateColumnName(street.attributes, \"OBJECTID\", \"objectId\");\n const featureHasAlreadyBeenAddedBefore = this.checkIfSelectedFeatureHasAlreadyBeenAdded(objectId);\n if (!featureHasAlreadyBeenAddedBefore) {\n this.setStreetData(street.attributes, street.geometry);\n }\n }\n });\n }\n featureDataAlternateColumnName(featureObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(featureObject)) {\n if (key === name1) {\n returnVal = featureObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = featureObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = featureObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n resetAlternativeNames(alternativeNamesFromArray) {\n alternativeNamesFromArray.reset();\n }\n checkIfSelectedFeatureHasAlreadyBeenAdded(objectId) {\n let featureHasAlreadyBeenAddedBefore = false;\n this.getFeatures().controls.forEach(item => {\n const check = item.get(\"objectId\").value;\n if (check === objectId) {\n featureHasAlreadyBeenAddedBefore = true;\n this.appController.showMessage(CreateApplicationLocationSnConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPOIData\");\n }\n });\n return featureHasAlreadyBeenAddedBefore;\n }\n createNewPOIFormGroup(geometry) {\n return new FormGroup({\n objectId: new FormControl(null),\n currentName: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Feature\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n ward: new FormControl(null, Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n });\n }\n setNewPOIFormGroup(poiObject, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(poiObject, \"OBJECTID\", \"objectid\")),\n currentName: new FormControl(this.featureDataAlternateColumnName(poiObject, \"Name\", \"name\"), [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Feature\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n ward: new FormControl(this.featureDataAlternateColumnName(poiObject, \"Ward\", \"ward\"), Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(this.featureDataAlternateColumnName(poiObject, \"AlternativeName\", \"alternativename\"), Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n centroid: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geometry),\n });\n }\n setNewStreetsFormGroup(streetAttributes, geometry) {\n return new FormGroup({\n objectId: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"OBJECTID\", \"objectid\")),\n currentName: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"Name\", \"name\"), [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Street\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n ward: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"Ward\", \"ward\"), Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(this.featureDataAlternateColumnName(streetAttributes, \"AlternativeName\", \"alternativename\"), Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n });\n }\n createNewStreetsFormGroup(geometry) {\n return new FormGroup({\n objectId: new FormControl(null),\n currentName: new FormControl(null, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: \"Street\", disabled: true }),\n publicOrPrivate: new FormControl(null, Validators.required),\n areaEstateName: new FormControl(null),\n isNewDevelopment: new FormControl(null, Validators.required),\n haveExistingName: new FormControl(null, Validators.required),\n locationDescription: new FormControl(null, Validators.required),\n geometry: new FormControl(geometry),\n ward: new FormControl(null, Validators.required),\n proposedName: new FormControl(null, Validators.required),\n proposedNameLanguage: new FormControl(null, Validators.required),\n proposedNameMeaning: new FormControl(null, Validators.required),\n proposedNameOrigin: new FormControl(null, Validators.required),\n alternativeNames: new FormArray([new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl(null, Validators.required),\n language: new FormControl(null, Validators.required),\n meaning: new FormControl(null, Validators.required)\n })], Validators.required),\n featureType: new FormControl(null, Validators.required),\n reasonForChange: new FormControl(null, Validators.required),\n });\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setFeatureTrueCentroidData(newFormGroup, trueCentroidResponse) {\n const featuresArray = this.getFeatures();\n newFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featuresArray?.clear();\n featuresArray.push(newFormGroup);\n this.activeTabIndex = featuresArray.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n initializeSketchTools() {\n this.sketchTool = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketchTool.create(\"polygon\");\n this.sketchTool.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.handleSketchComplete(event);\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n }\n handleSketchComplete(event) {\n this.selectedGraphic = event.graphic;\n if (this.selectedGraphic.geometry.type === \"polygon\") {\n this.setPOIData(this.selectedGraphic.attributes, this.selectedGraphic.geometry);\n }\n if (this.selectedGraphic.geometry.type === \"polyline\") {\n this.setStreetData(this.selectedGraphic.attributes, this.selectedGraphic.geometry);\n }\n }\n configureInitialFeatureForm(formGroup) {\n const streetOrFeatureValue = formGroup.get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.configureFormsForSelectedStreet(formGroup);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.configureFormsForSelectedFeature(formGroup);\n }\n this.showOrHideCurrentNameField(formGroup);\n }\n configureFormsForSelectedFeature(formGroup) {\n this.clearValidationOfStreetSpecificFields(formGroup);\n this.hideStreetSpecificFields();\n this.clearFeatureTypeValidators(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n clearValidationOfStreetSpecificFields(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset(\"\");\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).disable();\n // formGroup.get(this.currentNameFormControlName).enable();\n // formGroup.get(this.currentNameFormControlName).reset(\"\");\n // formGroup.get(this.currentNameFormControlName).clearValidators();\n // formGroup.get(this.currentNameFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n hideStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = false;\n this.showCurrentNameField = true;\n }\n clearFeatureTypeValidators(formGroup) {\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.updateValueAndValidity();\n }\n hideFeatureSpecificFields() {\n this.showFeatureTypeField = false;\n }\n configureFormsForSelectedStreet(formGroup) {\n this.showStreetSpecificFields();\n this.addStreetSpecificFieldsValidators(formGroup);\n this.clearValidationOfFeatureSpecificFields(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n addStreetSpecificFieldsValidators(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showPrivateStreetAreaOrEstateNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.updateValueAndValidity();\n }\n showStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n clearValidationOfFeatureSpecificFields(formGroup) {\n formGroup.get(this.featureTypeFormControlName).reset(\"\");\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.get(this.featureTypeFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showOrHideCurrentNameField(formGroup) {\n const currentNameValue = formGroup.get(this.currentNameFormControlName).value;\n if (currentNameValue) {\n this.showCurrentNameField = true;\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.haveExistingNameFormControlName).setValue(\"Yes\");\n formGroup.get(this.haveExistingNameFormControlName).setValidators(Validators.required);\n formGroup.get(this.currentNameFormControlName).setValidators(Validators.required);\n }\n else {\n this.showRequiredAsteriskForTheCurrentNameField = false;\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).setValue(\"\");\n formGroup.get(this.haveExistingNameFormControlName).setValue(\"No\");\n formGroup.get(this.currentNameFormControlName).updateValueAndValidity();\n formGroup.get(this.currentNameFormControlName).disable();\n this.showCurrentNameField = false;\n }\n formGroup.get(this.streetOrFeatureFormControlName).updateValueAndValidity();\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.getFeatures().clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.locationForm.reset();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n checkApplicationData() {\n const isFormPristine = this.locationForm.pristine;\n const isFormUnTouched = this.locationForm.untouched;\n const isFormInvalid = this.locationForm.invalid;\n if (isFormPristine && isFormUnTouched && isFormInvalid) {\n this.getApplicationLocationDetails(this.selectedApplication);\n }\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: `location($expand=alternativeNames),line,polygon`,\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appController.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.location = response.value[0]?.location;\n application.line = response.value[0]?.line;\n application.polygon = response.value[0]?.polygon;\n this.onGetApplicationDataCompleted(application);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getFeatures().clear();\n const shape = application.location.streetOrFeature?.toLowerCase() === \"street\" ? application.line.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getFeatures();\n const featureFormGroup = this.createFeatureFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(featureFormGroup);\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationSnConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createFeatureFormGroup(application) {\n let geometryArc;\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"street\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.line.shape, 102100);\n }\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"feature\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const featureFormGroup = new FormGroup({\n objectId: new FormControl({ value: application.location.id, disabled: true }),\n currentName: new FormControl(application.location.currentName, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl(application.location.streetOrFeature),\n publicOrPrivate: new FormControl(application.location.publicOrPrivate, Validators.required),\n areaEstateName: new FormControl(application.location.areaEstateName),\n isNewDevelopment: new FormControl(application.location.isNewDevelopment, Validators.required),\n haveExistingName: new FormControl(application.location.haveExistingName, Validators.required),\n locationDescription: new FormControl(application.location.locationDescription, Validators.required),\n geometry: new FormControl(geom),\n ward: new FormControl(application.location.ward, Validators.required),\n proposedName: new FormControl(application.location.proposedName, Validators.required),\n proposedNameLanguage: new FormControl(application.location.proposedNameLanguage, Validators.required),\n proposedNameMeaning: new FormControl(application.location.proposedNameMeaning, Validators.required),\n proposedNameOrigin: new FormControl(application.location.proposedNameOrigin, Validators.required),\n featureType: new FormControl(application.location.featureType, Validators.required),\n reasonForChange: new FormControl(application.location.reasonForChange, Validators.required),\n alternativeNames: new FormArray([], Validators.required)\n });\n const alternativeNamesControl = featureFormGroup.get(this.proposedAlternativeNameFormArrayName);\n application.location.alternativeNames.forEach((alternativeNameDetails) => {\n const alternativeGroup = new FormGroup({\n id: new FormControl(alternativeNameDetails.id),\n deleted: new FormControl(false),\n name: new FormControl(alternativeNameDetails.name, Validators.required),\n language: new FormControl(alternativeNameDetails.language, Validators.required),\n meaning: new FormControl(alternativeNameDetails.meaning, Validators.required)\n });\n alternativeNamesControl.push(alternativeGroup);\n });\n return featureFormGroup;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n setApplication() {\n const featureFormArray = this.locationForm.controls.features;\n const selectedFeatureFormGroup = featureFormArray.controls[0];\n const haveExistingNameSelected = selectedFeatureFormGroup.get(this.haveExistingNameFormControlName).value;\n if (haveExistingNameSelected) {\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"yes\") {\n this.handlePropertyOrFeatureHasExistingName(0);\n }\n if (haveExistingNameSelected?.trim()?.toLowerCase() === \"no\") {\n this.handlePropertyOrFeatureHasNoExistingName(0);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n hidePrivateAreaOrEstateNameFieldIfNoExistingName() {\n const featureFormArray = this.locationForm.controls.features;\n const selectedFeatureFormGroup = featureFormArray.controls[0];\n const publicOrPrivate = selectedFeatureFormGroup.get(this.publicOrPrivateFormControlName).value;\n if (publicOrPrivate.toLowerCase() === \"public\") {\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).setValue(\"\");\n this.showRequiredAsteriskForTheAreaEstateNameField = false;\n }\n else {\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset();\n selectedFeatureFormGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheAreaEstateNameField = true;\n }\n this.showPrivateStreetAreaOrEstateNameField = true;\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationSnComponent = __decorate([\n Component({\n selector: \"app-create-application-location-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationSnComponent);\nexport { CreateApplicationLocationSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationSnConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n // static readonly REMOVE_POI_LABEL = \"Remove POI\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the POI for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct POI and click on the POI. Click on 'add POI' in the window that appears on the map after you selected the POI.\";\n static DESCRIPTION_LABEL_3 = \"The POI will be added and the fields must be completed for the POI. Please note that only one POI can be added.\";\n static PROPERTY_REQUIRED = \"Please select a street / POI before continuing with the create application process\";\n static STREET_OR_FEATURE_LABEL = \"Are you requesting the renaming of a street or feature?\";\n static PUBLIC_OR_PRIVATE_LABEL = \"Is the street public or private?\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL = \"Private street area or estate name\";\n static IS_NEW_DEVELOPMENT_NAME_LABEL = \"Is the street / feature an existing street or a new development.\";\n static HAVE_EXISTING_NAME_LABEL = \"Does the street / feature have an existing name?\";\n static CURRENT_NAME_LABEL = \"Current name?\";\n static LOCATION_DESCRIPTION_LABEL = \"Description of the street's / feature's location\";\n static WARD_LABEL = \"Ward of the street / feature\";\n static PROPOSED_NAME_LABEL = \"Proposed name of the street / feature: First choice\";\n static PROPOSED_NAME_LANGUAGE_LABEL = \"Which language is the proposed name of the street / feature derived?\";\n static PROPOSED_NAME_MEANING_LABEL = \"What is the meaning of the name / feature?\";\n static PROPOSED_NAME_ORIGIN_LABEL = \"Give the origin of the name if you know it and rationale for changing the name. Also provide the significance of the name.\";\n static PROPOSED_ALTERNATIVE_NAME_LABEL = \"Alternative name of the street / feature:\";\n static LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the language of the alternative name?\";\n static MEANING_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the meaning of the alternative name?\";\n static FEATURE_TYPE_LABEL = \"Which feature is the proposed name intended? (e.g. post office, railway station, town, township, suburb, mountain, settlement, village)\";\n static REASON_FOR_CHANGE_LABEL = \"In the case of a proposed change of a name, give the reasons for the change \";\n static REMOVE_FEATURE_LABEL = \"Remove feature\";\n static FEATURES_FORM_ARRAY_NAME = \"features\";\n static LOCATION_FORM_GROUP_NAME = \"locationForm\";\n static STREET_OR_FEATURE_FORM_CONTROL_NAME = \"streetOrFeature\";\n static PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME = \"publicOrPrivate\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME = \"areaEstateName\";\n static IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME = \"isNewDevelopment\";\n static HAVE_EXISTING_NAME_FORM_CONTROL_NAME = \"haveExistingName\";\n static CURRENT_NAME_FORM_CONTROL_NAME = \"currentName\";\n static LOCATION_DESCRIPTION_FORM_CONTROL_NAME = \"locationDescription\";\n static WARD_FORM_CONTROL_NAME = \"ward\";\n static PROPOSED_NAME_FORM_CONTROL_NAME = \"proposedName\";\n static PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME = \"proposedNameLanguage\";\n static PROPOSED_NAME_MEANING_FORM_CONTROL_NAME = \"proposedNameMeaning\";\n static PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME = \"proposedNameOrigin\";\n static PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME = \"alternativeNames\";\n static FEATURE_TYPE_FORM_CONTROL_NAME = \"featureType\";\n static REASON_FOR_CHANGE_FORM_CONTROL_NAME = \"reasonForChange\";\n static DUPLICATE_MESSAGE = \"The selected POI has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static STREET_OR_FEATURE_LOOKUPS = [\n { code: \"Street\", value: \"Street\" },\n { code: \"Feature\", value: \"Feature\" }\n ];\n static PUBLIC_OR_PRIVATE_LOOKUPS = [\n { code: \"Public\", value: \"Public\" },\n { code: \"Private\", value: \"Private\" }\n ];\n static IS_NEW_DEVELOPMENT_LOOKUPS = [\n { code: \"Existing\", value: \"Existing\" },\n { code: \"New development\", value: \"New development\" }\n ];\n static HAVE_EXISTING_NAME_LOOKUPS = [\n { code: \"No\", value: \"No\" },\n { code: \"Yes\", value: \"Yes\" }\n ];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false,\n circle: false,\n polyline: false,\n rectangle: false\n },\n selectionTools: {\n \"lasso-selection\": false,\n \"rectangle-selection\": false\n }\n };\n static LINE_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false,\n circle: false,\n polygon: false,\n rectangle: false\n },\n selectionTools: {\n \"lasso-selection\": false,\n \"rectangle-selection\": false\n }\n };\n static VALIDATION_MESSAGES = {\n streetOrFeature: {\n required: `Street or feature ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, publicOrPrivate: {\n required: `Public or public ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, areaEstateName: {\n required: `Area estate name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isNewDevelopment: {\n required: `Is new development ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, haveExistingName: {\n required: `Have existing name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, currentName: {\n required: `Current name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, locationDescription: {\n required: `Location description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, ward: {\n required: `Ward ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedName: {\n required: `Proposed name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameLanguage: {\n required: `Proposed name language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameMeaning: {\n required: `Proposed name meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameOrigin: {\n required: `Proposed name origin ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, featureType: {\n required: `Feature type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, reasonForChange: {\n required: `Reason for change ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, language: {\n required: `Language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, meaning: {\n required: `Meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationDetailsTmamsConstants } from \"./create-application-details-tmams.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsTmamsComponent = class CreateApplicationDetailsTmamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n applicationTypeCtrl = CreateApplicationDetailsTmamsConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsTmamsConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsTmamsConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsTmamsConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsTmamsConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsTmamsConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDetailsTmamsSubscription;\n getLookupsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsTmamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsTmamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsTmamsComponent);\nexport { CreateApplicationDetailsTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsTmamsConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { CreateLocationTmConstants } from \"./create-application-location-tmams.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { MapTools } from \"src/app/map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nlet CreateApplicationLocationTmamsComponent = class CreateApplicationLocationTmamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active = 0;\n propertiesForm;\n descriptionLabel1 = CreateLocationTmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateLocationTmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateLocationTmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateLocationTmConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateLocationTmConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateLocationTmConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateLocationTmConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateLocationTmConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateLocationTmConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateLocationTmConstants.SG_CODE_CONTROL;\n addressControl = CreateLocationTmConstants.ADDRESS_CONTROL;\n ownerControl = CreateLocationTmConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateLocationTmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateLocationTmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateLocationTmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateLocationTmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateLocationTmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateLocationTmConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateLocationTmConstants.OWNER_LABEL;\n copyOwnerLabel = CreateLocationTmConstants.COPY_OWNER_LABEL;\n removePropertyLabel = CreateLocationTmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n applicantGroups = [];\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n tmApplication;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n selectedApplicationDetailsTpamsSubscription;\n selectedPropertySubscription;\n clearLayerGraphicsSubjectSubscription;\n getTrueCentroidSubscription;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, mapTools, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n checkSave() {\n this.selectedApplicationDetailsTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.tmApplication = app;\n if (this.tmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties().removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateLocationTmConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n // TODO: build a lookup map for mapping the propertyData layer to the data for Property\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.getPropertyOwners(sgCode, newProperty);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationTmConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n getPropertyOwners(sgCode, newProperty) {\n const ownerLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === \"Property owner\");\n if (ownerLayerObj !== undefined && ownerLayerObj !== null) {\n const ownerLayer = ownerLayerObj.layer;\n const ownerQuery = new Query();\n ownerQuery.where = `SgCode = '${sgCode}'`;\n ownerQuery.returnGeometry = false;\n ownerQuery.outFields = [\"*\"];\n ownerLayer.queryFeatures(ownerQuery).then((ownerFeatureSet) => {\n // Make sure the grave centroid is within one cemetery boundary\n const ownersControl = newProperty.get(\"owners\");\n const owners = [];\n if (ownerFeatureSet.features.length > 0) {\n ownerFeatureSet.features.forEach(item => {\n try {\n const newOwner = {\n id: 0,\n name: item.attributes.Name,\n surname: item.attributes.Surname,\n telephone: item.attributes.Telephone,\n email: item.attributes.Email,\n defaultCommunicationMethod: item.attributes.DefaultCommunicationMethod,\n postalAddress: item.attributes.PostalAddress,\n designation: item.attributes.Designation,\n organisation: item.attributes.Organisation,\n clientVatNumber: item.attributes.ClientVatNumber,\n streetAddress: item.attributes.StreetAddress,\n homePhone: item.attributes.Homephone,\n idNumber: item.attributes.IDNumber,\n organisationRegistrationNumber: item.attributes.OrganisationRegistrationNumber,\n representative: item.attributes.Representative,\n fax: item.attributes.Fax,\n cellphone: item.attributes.Cellphone,\n streetSuburb: item.attributes.StreetSuburb,\n streetCity: item.attributes.StreetCity,\n streetProvince: item.attributes.StreetProvince,\n streetCode: item.attributes.StreetCode,\n postalSuburb: item.attributes.PostalSuburb,\n postalCity: item.attributes.PostalCity,\n postalProvince: item.attributes.PostalProvince,\n postalCode: item.attributes.PostalCode,\n postalCountry: item.attributes.PostalCountry,\n streetCountry: item.attributes.StreetCountry,\n professionalBody: item.attributes.ProfessionalBody,\n professionalBodyRegNum: item.attributes.ProfessionalBodyRegistrationNumber,\n groups: []\n };\n owners.push(newOwner);\n }\n catch {\n this.appController.showMessage(CreateLocationTmConstants.INVALID_OWNER_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n if (owners.length > 0) {\n RecipientUtils.setRecipients(owners, true, ownersControl);\n }\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.showMessage(error.message, AlertType.Error);\n });\n }\n else {\n const propertyControl = this.getProperties();\n const propertyIndex = propertyControl.length;\n propertyControl.push(newProperty);\n this.active = propertyControl.length - 1;\n this.updateRequiredFields(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Traing management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.tmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Traing management graphics\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.tmApplication.properties && this.tmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateLocationTmConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationTmamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationTmamsComponent);\nexport { CreateApplicationLocationTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateLocationTmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Training management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","var CreateApplicationDetailsTpamsComponent_1;\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-tpams.component.scss?ngResource\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationDetailsTpamsConstants } from \"./create-application-details-tpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsTpamsComponent = class CreateApplicationDetailsTpamsComponent extends CreateApplicationViewBaseComponent {\n static { CreateApplicationDetailsTpamsComponent_1 = this; }\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n searchApplicationsService;\n // form controls\n detailsFormControlName = CreateApplicationDetailsTpamsConstants.DETAILS_FORM_CONTROL_NAME;\n descriptionFormControlName = CreateApplicationDetailsTpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n referenceNumberControlName = CreateApplicationDetailsTpamsConstants.REFERENCE_NUMBER_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = CreateApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n zonesFormControlName = CreateApplicationDetailsTpamsConstants.ZONES_FORM_CONTROL_NAME;\n zoneFormControlName = CreateApplicationDetailsTpamsConstants.ZONE_FORM_CONTROL_NAME;\n rezoneConfirmationControlName = CreateApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME;\n // labels\n addApplicationTypeLabel = CreateApplicationDetailsTpamsConstants.ADD_APPLICATION_TYPE_LABEL;\n addZoneLabel = CreateApplicationDetailsTpamsConstants.ADD_ZONE_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = CreateApplicationDetailsTpamsConstants.APPLICATION_TYPE_LABEL;\n zoneLabel = CreateApplicationDetailsTpamsConstants.ZONE_LABEL;\n descriptionLabel = CreateApplicationDetailsTpamsConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = CreateApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n referenceNumberLabel = CreateApplicationDetailsTpamsConstants.REFERENCE_NUMBER_LABEL;\n validationMessages = CreateApplicationDetailsTpamsConstants.VALIDATION_MESSAGES;\n applicationTypeLookupName = SharedConstants.APPLICATION_TYPE_LOOKUP_NAME;\n zoningLookupName = SharedConstants.ZONING_LOOKUP_NAME;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n zones = [];\n showRefNumber = false;\n fullApplicationCheckRequired = false;\n rezoneConfirmationLabel = CreateApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_LABEL;\n rezoneKeywordRezone = CreateApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONE;\n rezoneKeywordRezoning = CreateApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONING;\n isRezoning = false;\n rezoningChecked = false;\n applicationTypesControl;\n appZones = [];\n selectedApplicationDetailsTpamsSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.searchApplicationsService = searchApplicationsService;\n }\n static removeControlsByIndex(controls, index) {\n if (controls.controls.length > 1) {\n controls.removeAt(index);\n }\n }\n static setControlValue(formGroup, controlName, value, disableControl = false) {\n const formControl = formGroup.get(controlName);\n formControl.setValue(value);\n if (disableControl) {\n formControl.disable();\n }\n }\n ngOnInit() {\n this.initForm();\n this.getApplicationTypeAndZoningLookups();\n }\n loadMetadata() {\n // step does not use metadata\n }\n getApplicationTypes() {\n return this.detailsForm.get(this.applicationTypesFormControlName);\n }\n onBtnRemoveApplicationTypeClicked(i) {\n const controls = this.getApplicationTypes();\n CreateApplicationDetailsTpamsComponent_1.removeControlsByIndex(controls, i);\n }\n getZones() {\n return this.detailsForm.get(this.zonesFormControlName);\n }\n onBtnRemoveZoneClicked(i) {\n const controls = this.getZones();\n CreateApplicationDetailsTpamsComponent_1.removeControlsByIndex(controls, i);\n }\n onBtnAddApplicationTypeClicked() {\n this.applicationTypesControl = this.getApplicationTypes();\n const typeGroup = new FormGroup({\n type: new FormControl(null, [Validators.required])\n });\n this.applicationTypesControl.push(typeGroup);\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.detailsFormControlName);\n const zonesControl = this.getZones();\n zonesControl.clear();\n this.isRezoning = false;\n }\n getApplicationTypeAndZoningLookups() {\n const filterString = `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq '${this.applicationTypeLookupName}' or name eq '${this.zoningLookupName}')`;\n const params = {\n $filter: filterString,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === this.applicationTypeLookupName) {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === this.zoningLookupName) {\n this.zones.push(JSON.parse(item.content));\n }\n });\n this.sortZoneDropDownAlphabetically();\n this.sortApplicationTypesAlphabetically();\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n if (application.referenceNumber) {\n this.showRefNumber = true;\n this.detailsForm.get(this.referenceNumberControlName).enable();\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.referenceNumberControlName, application.referenceNumber, true);\n }\n else {\n this.showRefNumber = false;\n }\n if (application.description) {\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.descriptionFormControlName, application.description);\n }\n else {\n this.detailsForm.get(this.descriptionFormControlName).enable();\n }\n if (application.amendmentSchemeNumber) {\n CreateApplicationDetailsTpamsComponent_1.setControlValue(this.detailsForm, this.amendmentSchemeNumberFormControlName, application.amendmentSchemeNumber);\n }\n else {\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).enable();\n }\n if (application.applicationTypes && application.applicationTypes.length > 0) {\n application.applicationTypes.forEach(element => {\n if (element.applicationType.toLowerCase().includes(this.rezoneKeywordRezone) || element.applicationType.toLowerCase().includes(this.rezoneKeywordRezone)) {\n this.isRezoning = true;\n this.rezoningChecked = true;\n this.changeDetectorRef.markForCheck();\n }\n });\n const appTypes = application.applicationTypes;\n this.setTypes(appTypes);\n }\n if (application.applicationZonings && application.applicationZonings.length > 0) {\n const appZones = application.applicationZonings;\n this.setZones(appZones);\n }\n }\n setTypes(appTypes) {\n const typesControl = this.getApplicationTypes();\n typesControl.clear();\n // sets application types from the application\n appTypes.forEach(applicationType => {\n let appType = null;\n this.applicationTypes.forEach(item => {\n if (item.value === applicationType.applicationType) {\n appType = item;\n }\n });\n const typeGroup = new FormGroup({\n id: new FormControl(applicationType.id),\n applicationId: new FormControl(applicationType.applicationId),\n type: new FormControl(appType, Validators.min(1)),\n jobId: new FormControl(this.jobId)\n });\n typesControl.push(typeGroup);\n });\n }\n setZones(appZones) {\n const zonesControl = this.getZones();\n zonesControl.clear();\n appZones.forEach(applicationZoning => {\n let zone = null;\n this.zones.forEach(item => {\n if (item.value === applicationZoning.zoning) {\n zone = item;\n }\n });\n const zoneGroup = new FormGroup({\n id: new FormControl(applicationZoning.id),\n applicationId: new FormControl(applicationZoning.applicationId),\n applicationPropertyId: new FormControl(applicationZoning.applicationPropertyId),\n zone: new FormControl(zone, Validators.min(1)),\n jobId: new FormControl(this.jobId)\n });\n zonesControl.push(zoneGroup);\n });\n }\n sortZoneDropDownAlphabetically() {\n if (this.zones.length > 0) {\n this.zones.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n }\n sortApplicationTypesAlphabetically() {\n if (this.applicationTypes.length > 0) {\n this.applicationTypes.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n }\n onApplicationTypeSelected(event) {\n const element = event.target;\n const selectedText = element.options[element.options.selectedIndex].text;\n this.isRezoning = selectedText.toLowerCase().includes(this.rezoneKeywordRezone) ||\n selectedText.toLowerCase().includes(this.rezoneKeywordRezoning);\n if (!this.isRezoning) {\n this.rezoningChecked = this.isRezoning;\n }\n }\n onRezoningChecked(event) {\n const element = event.target.checked;\n this.rezoningChecked = element;\n const zonesControl = this.getZones();\n if (this.rezoningChecked) {\n zonesControl.clear();\n this.onBtnAddZoneClicked();\n }\n else {\n zonesControl.clear();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsTpamsComponent = CreateApplicationDetailsTpamsComponent_1 = __decorate([\n Component({\n selector: \"app-create-application-details-tpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsTpamsComponent);\nexport { CreateApplicationDetailsTpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsTpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_NUMBER_LABEL = \"File number\";\n static AMENDMENT_SCHEME_NUMBER_LABEL = \"Amendment scheme number\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static ZONE_LABEL = \"New property zone\";\n static FILE_NUMBER_FORM_CONTROL_NAME = \"fileNumber\";\n static DETAILS_FORM_CONTROL_NAME = \"detailsForm\";\n static AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME = \"amendmentSchemeNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_APPLICATION_TYPE_LABEL = \"Add application type\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-tpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CreateApplicationLocationTpamsConstants } from \"./create-application-location-tpams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiModuleConstants } from \"../../../../shared/constants/api-constants/api-module.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationUtils } from \"../../../shared/utils/create-application-utils\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { debounceTime } from \"rxjs\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { MapServiceConstants } from \"../../../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet CreateApplicationLocationTpamsComponent = class CreateApplicationLocationTpamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n mapTools;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n showPropertyForm = false;\n descriptionLabel1 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationTpamsConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationTpamsConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationTpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationTpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationTpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationTpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationTpamsConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationTpamsConstants.ADDRESS_CONTROL;\n buildingUseControl = CreateApplicationLocationTpamsConstants.BUILDING_USE_CONTROL;\n erfSizeControl = CreateApplicationLocationTpamsConstants.ERF_SIZE_CONTROL;\n buildingFloorAreaControl = CreateApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_CONTROL;\n titleDeedControl = CreateApplicationLocationTpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = CreateApplicationLocationTpamsConstants.ZONE_CONTROL;\n ownerControl = CreateApplicationLocationTpamsConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationTpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationTpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationTpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationTpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationTpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationTpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n buildingUseTextPlaceHolder = CreateApplicationLocationTpamsConstants.BUILDING_USE_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = CreateApplicationLocationTpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n buildingFloorAreaTextPlaceHolder = CreateApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = CreateApplicationLocationTpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = CreateApplicationLocationTpamsConstants.ZONE_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n addZoneLabel = CreateApplicationLocationTpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = CreateApplicationLocationTpamsConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateApplicationLocationTpamsConstants.COPY_OWNER_LABEL;\n ownerLabel = CreateApplicationLocationTpamsConstants.OWNER_LABEL;\n layerReference = CreateApplicationLocationTpamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n fullApplicationCheckRequired = true;\n showOnlyPropertyAndZoningLayers = false;\n missingZoneList = new Map();\n applicantGroups = [];\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n isMapLoaded = false;\n hasLoadedApplicationProperties = false;\n missingZoneTuple;\n selectedPropertySubscription;\n sendMissingLookupsEmailSubscription;\n selectedApplicatioLocationTpamsSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, mapTools, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n get getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n ngOnInit() {\n this.checkAndInitialiseLookups();\n this.initForm();\n this.getMetadata();\n this.subscribeToProperty();\n this.setupSubscribers();\n this.changeDetectorRefs.detectChanges();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getZones(propertyIndex) {\n return this.getProperties.controls[propertyIndex].get(\"zones\");\n }\n onBtnRemoveZoneClicked(propertyIndex, zoneIndex) {\n const controls = this.getZones(propertyIndex);\n if (controls.controls.length > 1) {\n controls.removeAt(zoneIndex);\n }\n }\n onBtnAddZoneClicked(propertyIndex) {\n const zonesControl = this.getZones(propertyIndex);\n const zoneGroup = new FormGroup({\n zone: new FormControl(null, [Validators.required])\n });\n zonesControl.push(zoneGroup);\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n const previousActiveIndex = this.active;\n this.getProperties.removeAt(propertyIndex);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n if (previousActiveIndex === propertyIndex && propertyIndex > 0) {\n this.active = propertyIndex - 1;\n }\n else if (previousActiveIndex > propertyIndex) {\n this.active = previousActiveIndex - 1;\n }\n }\n getMissingZones(index) {\n if (this.missingZoneList && this.missingZoneList.size > 0) {\n // send email to module admin if it has not already been sent\n this.missingZoneTuple = this.missingZoneList.get(index);\n if (this.missingZoneTuple[1] === false) {\n this.sendEmailMissingLookupForZones(this.missingZoneTuple[0]);\n this.missingZoneTuple = [this.missingZoneTuple[0], true];\n this.missingZoneList.set(index, this.missingZoneTuple);\n }\n let zones = \"\";\n let count = 1;\n this.missingZoneTuple[0].forEach((zone) => {\n zones += zone + (count < zone.length ? \"|\" : \"\");\n count++;\n });\n return `${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL} ${zones} ${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL_EMAIL}`;\n }\n }\n updatePropertyRequiredFields(newProperty) {\n const erfNoControl = newProperty.get(this.erfNoControl);\n const farmNoControl = newProperty.get(this.farmNoControl);\n const subdivisionControl = newProperty.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(formControl, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n formControl.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.getProperties.controls.forEach(control => {\n control.get(this.erfSizeControl).setValidators([Validators.required]);\n control.get(this.erfSizeControl).updateValueAndValidity();\n });\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and name eq 'Zoning'`,\n };\n this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (lookupResponse) => this.onGetLookupsCompleted(lookupResponse),\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"Zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.aflaModuleStrategyService.lookups.set(\"zones\", zones);\n this.zones = zones;\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n this.changeDetectorRefs.detectChanges();\n }\n setPropertyAttributes(propertyAttributes, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n try {\n this.showPropertyForm = true;\n const sgCode = CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"SgCode\", \"sgcode\");\n const duplicateFound = CreateApplicationUtils.checkIfPropertyIsADuplicate(sgCode, this.getProperties, this.appController, this.requestStatusService);\n if (!duplicateFound) {\n const newPropertyFormGroup = CreateApplicationUtils.createNewPropertyFormGroup(propertyAttributes, sgCode, geometry);\n this.applicationCreateService.getPropertyCentroidObservable(geometry).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n this.queryZoningLayer(sgCode, newPropertyFormGroup);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n catch (e) {\n this.appController.handleServerErrorMessage(\"getTrueCentroid\", e, CRUDOperation.Get);\n this.requestStatusService.showBusySpinner(\"GetPropertyData\");\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties.controls.forEach(propertyControl => {\n const geom = propertyControl.get(\"geometry\").value;\n if (geom) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Town planning graphics\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Town planning graphics\");\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(propertyData => {\n if (propertyData !== null) {\n this.setPropertyAttributes(propertyData.attributes, propertyData.geometry);\n }\n });\n }\n sendEmailMissingLookupForZones(missingLookupsForZones) {\n const url = `${ApiModuleConstants.URL}/${ApiModuleConstants.MISSING_LOOKUP_EMAIL_REQUEST_URL}`;\n const params = {\n moduleId: this.applicationCreateService.moduleID, lookupType: \"Zoning\", lookupList: missingLookupsForZones\n };\n this.sendMissingLookupsEmailSubscription = this.applicationCreateService.sendMissingLookupsEmail(url, params)\n .subscribe({\n next: () => {\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(`${CreateApplicationLocationTpamsConstants.MISSING_ZONE_LABEL_EMAIL_FAILED}`, error, CRUDOperation.Selecting);\n }\n });\n }\n subscribeToClearGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.showPropertyForm = false;\n this.getProperties.clear();\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n sortZones() {\n // sort zones dropdown alphabetically\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n }\n queryZoningLayer(sgCode, newPropertyFormGroup) {\n const zoningLayerObj = this.mapService.userMaps.find(a => a.selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER);\n if (zoningLayerObj !== undefined && zoningLayerObj !== null) {\n const zoningLayer = zoningLayerObj.layer;\n const zoningQuery = new Query();\n zoningQuery.where = `SgCode = '${sgCode}'`;\n zoningQuery.returnGeometry = false;\n zoningQuery.outFields = [\"*\"];\n zoningLayer.queryFeatures(zoningQuery).then((zoneFeatureSet) => {\n this.handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }, (zoningError) => {\n this.appController.showMessage(zoningError.message, AlertType.Error);\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n });\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.sortZones();\n }\n else {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.setPropertyTabs(newPropertyFormGroup);\n this.syncMapGeometries();\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n }\n handleResponseAfterQueryingPropertyZoningFeatures(newPropertyFormGroup, zoneFeatureSet) {\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n if (zoneFeatureSet.features.length > 0) {\n zoneFeatureSet.features.forEach(item => {\n const zone = CreateApplicationUtils.propertyDataAlternateColumnName(item.attributes, \"Zoning\", \"zoning\");\n if (zone !== undefined && zone != null) {\n let foundZone = null;\n this.zones.forEach(zoneItem => {\n if (zoneItem.value === zone) {\n foundZone = zoneItem;\n }\n });\n if (foundZone !== null) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(foundZone, [Validators.required])\n }));\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.ZONING_NOT_FOUND.replace(\"{0}\", zone), AlertType.Warning);\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.INVALID_ZONING_ATTRIBUTE, AlertType.Error);\n }\n });\n }\n if (zonesControl.length === 0) {\n zonesControl.push(new FormGroup({\n zone: new FormControl(null, [Validators.required])\n }));\n }\n }\n setPropertyTabs(newPropertyFormGroup) {\n const propertyControl = this.getProperties;\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicatioLocationTpamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.updateComponentData();\n }\n });\n }\n setupSubscribers() {\n this.subscribeToClearGraphics();\n this.subscribeToSelectedApplication();\n }\n updateComponentData() {\n if (+this.jobId > 0 && this.selectedApplication) {\n const propertyControl = this.clearPropertyData();\n let tabIndex = 0;\n this.selectedApplication.properties.sort((a, b) => (b?.id - a?.id));\n this.selectedApplication.properties.forEach(savedProperty => {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(savedProperty.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = CreateApplicationUtils.getUpdatedPropertyFormGroup(savedProperty, geom);\n this.propertiesForm.markAllAsTouched();\n this.updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex);\n this.applicationCreateService.getPropertyCentroidObservable(geom).subscribe({\n next: (trueCentroidResponse) => {\n CreateApplicationUtils.handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.syncMapGeometries();\n CreateApplicationUtils.updatePropertyIds(this.selectedApplication, this.propertiesForm);\n this.updatePropertyRequiredFields(newPropertyFormGroup);\n this.showPropertyForm = true;\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n tabIndex++;\n });\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.hasLoadedApplicationProperties = true;\n this.changeDetectorRefs.detectChanges();\n }\n }\n clearPropertyData() {\n this.missingZoneList = new Map();\n this.applicationCreateService.$missingLookupsForZones = [];\n const propertyControl = this.getProperties;\n propertyControl.clear();\n this.showPropertyForm = false;\n return propertyControl;\n }\n updateZoneDropdown(newPropertyFormGroup, savedProperty, tabIndex) {\n const missingLookupsForZones = [];\n const zonesControl = newPropertyFormGroup.get(\"zones\");\n savedProperty.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zone: new FormControl(zoneOption, [Validators.required]),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n }\n });\n this.zones?.sort((a, b) => (a.value?.localeCompare(b?.value)));\n if (!foundZone) {\n missingLookupsForZones.push(zone.zoning);\n this.applicationCreateService.$missingLookupsForZones.push(zone.zoning);\n }\n });\n if (missingLookupsForZones.length > 0) {\n this.missingZoneTuple = [missingLookupsForZones, false];\n this.missingZoneList.set(tabIndex, this.missingZoneTuple);\n }\n }\n checkAndInitialiseLookups() {\n this.hasLoadedApplicationProperties = false;\n this.applicationCreateService.setHasLoadedLookups(false);\n this.selectedApplicationService.$applicationSavedSubject.next(false);\n if (this.aflaModuleStrategyService.lookups.has(\"zones\")) {\n this.zones = this.aflaModuleStrategyService.lookups.get(\"zones\");\n this.sortZones();\n this.applicationCreateService.setHasLoadedLookups(true);\n }\n else {\n this.getLookups();\n }\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties.controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: true },] }]\n };\n};\nCreateApplicationLocationTpamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-tpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationTpamsComponent);\nexport { CreateApplicationLocationTpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationLocationTpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"The zoning here is the current zoning of the property and an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size (m2)\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area (m2)\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static LAYER_REF = \"Town planning graphics\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingUse: {\n required: `Building use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n buildingFloorArea: {\n required: `Building floor area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateApplicationDetailsWamsConstants } from \"./create-application-details-wams.constants\";\nimport { CompareDatesUtil } from \"../../../../shared/utils/date-field-validator.utils\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { DatePipe } from \"@angular/common\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsWamsComponent = class CreateApplicationDetailsWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n datePipe;\n appControllerService;\n changeDetectorRefs;\n searchApplicationsService;\n detailsForm;\n validationMessages = CreateApplicationDetailsWamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = CreateApplicationDetailsWamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n clientReferenceNumberFormControlName = CreateApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n applicantTelecommunicationLicenseNumberFormControlName = CreateApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME;\n scopeOfWorkFormControlName = CreateApplicationDetailsWamsConstants.SCOPE_OF_WORK_FORM_CONTROL_NAME;\n estimatedConstructionCostFormControlName = CreateApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME;\n applicationFeeFormControlName = CreateApplicationDetailsWamsConstants.APPLICATION_FEE_FORM_CONTROL_NAME;\n constructionPeriodInWeeksFormControlName = CreateApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_FORM_CONTROL_NAME;\n proposedStartDateFormControlName = CreateApplicationDetailsWamsConstants.PROPOSED_START_DATE_FORM_CONTROL_NAME;\n proposedEndDateFormControlName = CreateApplicationDetailsWamsConstants.PROPOSED_END_DATE_FORM_CONTROL_NAME;\n laneClosureIsRequiredFormControlName = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME;\n laneClosureExtentFormControlName = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME;\n electricalServicesFormControlName = CreateApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_FORM_CONTROL_NAME;\n descriptionLabel = CreateApplicationDetailsWamsConstants.DESCRIPTION_LABEL;\n clientReferenceNumberLabel = CreateApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_LABEL;\n applicantTelecommunicationLicenseNumberLabel = CreateApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL;\n scopeOfWorkFormLabel = CreateApplicationDetailsWamsConstants.SCOPE_OF_WORK_LABEL;\n estimatedConstructionCostLabel = CreateApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_LABEL;\n applicationFeeLabel = CreateApplicationDetailsWamsConstants.APPLICATION_FEE_LABEL;\n constructionPeriodInWeeksLabel = CreateApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_LABEL;\n proposedStartDateLabel = CreateApplicationDetailsWamsConstants.PROPOSED_START_DATE_LABEL;\n proposedEndDateLabel = CreateApplicationDetailsWamsConstants.PROPOSED_END_DATE_LABEL;\n laneClosureIsRequiredLabel = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_LABEL;\n laneClosureExtentLabel = CreateApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_LABEL;\n electricalServicesLabel = CreateApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_LABEL;\n applicationTypes = [];\n zones = [];\n yesNoOptions = [];\n laneClosureExtentOptions = [];\n electricalServicesOptions = [];\n dateValidationError = CreateApplicationDetailsWamsConstants.DATE_VALIDATION_ERROR;\n selectedApplicationDetailsWamsSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, datePipe, appControllerService, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.datePipe = datePipe;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n }\n verifyProposedDates(formControlName) {\n // checks if the startDate is >= endDate\n CompareDatesUtil.verifyProposedDates(this.detailsForm, this.proposedStartDateFormControlName, this.proposedEndDateFormControlName, formControlName, this.appControllerService);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n this.detailsForm.enable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationCreateService.moduleID} and (name eq 'LaneClosureExtent' or name eq 'ElectricalServices')`,\n };\n this.applicationCreateService\n .getLookupsObservable(params)\n .subscribe((response) => this.onGetLookupsCompleted(response), (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsWamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n });\n }\n onGetLookupsCompleted(response) {\n this.laneClosureExtentOptions = [];\n this.electricalServicesOptions = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"LaneClosureExtent\") {\n this.laneClosureExtentOptions.push(JSON.parse(item.content));\n }\n if (item.name === \"ElectricalServices\") {\n this.electricalServicesOptions.push(JSON.parse(item.content));\n }\n });\n }\n this.laneClosureExtentOptions.sort((a, b) => a.value.localeCompare(b.value));\n this.electricalServicesOptions.sort((a, b) => a.value.localeCompare(b.value));\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDetailsWamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n this.detailsForm.reset();\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.scopeOfWork) {\n this.detailsForm.get(this.scopeOfWorkFormControlName).setValue(application.scopeOfWork);\n }\n if (application.clientReferenceNumber) {\n this.detailsForm.get(this.clientReferenceNumberFormControlName).setValue(application.clientReferenceNumber);\n }\n if (application.licenceNumber) {\n this.detailsForm.get(this.applicantTelecommunicationLicenseNumberFormControlName).setValue(application.licenceNumber);\n }\n if (application.applicationFee) {\n this.detailsForm.get(this.applicationFeeFormControlName).setValue(application.applicationFee);\n }\n if (application.estimatedCost) {\n this.detailsForm.get(this.estimatedConstructionCostFormControlName).setValue(application.estimatedCost);\n }\n if (application.proposedStartDate) {\n this.detailsForm.get(this.proposedStartDateFormControlName).setValue(this.datePipe.transform(application.proposedStartDate, \"yyyy-MM-dd\"));\n }\n if (application.proposedEndDate) {\n this.detailsForm.get(this.proposedEndDateFormControlName).setValue(this.datePipe.transform(application.proposedEndDate, \"yyyy-MM-dd\"));\n }\n if (application.laneClosureRequired) {\n this.detailsForm.get(this.laneClosureIsRequiredFormControlName).setValue(application.laneClosureRequired);\n }\n if (application.laneClosureExtent) {\n this.detailsForm.get(this.laneClosureExtentFormControlName).setValue(application.laneClosureExtent);\n }\n if (application.constructionPeriod) {\n this.detailsForm.get(this.constructionPeriodInWeeksFormControlName).setValue(application.constructionPeriod);\n }\n if (application.electricalServices) {\n this.detailsForm.get(this.electricalServicesFormControlName).setValue(application.electricalServices);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: DatePipe },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsWamsComponent);\nexport { CreateApplicationDetailsWamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class CreateApplicationDetailsWamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static CLIENT_REFERENCE_NUMBER_LABEL = \"Client reference number\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL = \"Applicant Telecommunication License Number\";\n static SCOPE_OF_WORK_LABEL = \"Scope of work\";\n static ESTIMATED_CONSTRUCTION_COST_LABEL = \"Estimated construction cost (R) (incl. vat)\";\n static APPLICATION_FEE_LABEL = \"Application fee (R) (incl. vat )\";\n static PROPOSED_START_DATE_LABEL = \"Proposed start date\";\n static PROPOSED_END_DATE_LABEL = \"Proposed end date \";\n static LANE_CLOSURE_IS_REQUIRED_LABEL = \"Lane closure is required\";\n static LANE_CLOSURE_EXTENT_LABEL = \"Lane closure extent\";\n static CONSTRUCTION_PERIOD_LABEL = \"Construction period in weeks\";\n static ELECTRICAL_SERVICES_LABEL = \"Electrical services\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"clientReferenceNumber\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME = \"applicantTelecommunicationLicenseNumber\";\n static SCOPE_OF_WORK_FORM_CONTROL_NAME = \"scopeOfWork\";\n static ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME = \"estimatedConstructionCost\";\n static APPLICATION_FEE_FORM_CONTROL_NAME = \"applicationFee\";\n static PROPOSED_START_DATE_FORM_CONTROL_NAME = \"proposedStartDate\";\n static PROPOSED_END_DATE_FORM_CONTROL_NAME = \"proposedEndDate\";\n static LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME = \"laneClosureIsRequired\";\n static LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME = \"laneClosureExtent\";\n static ELECTRICAL_SERVICES_FORM_CONTROL_NAME = \"electricalServices\";\n static CONSTRUCTION_PERIOD_FORM_CONTROL_NAME = \"constructionPeriodInWeeks\";\n static DATE_VALIDATION_ERROR = \"The proposed start date needs to be less than or equal to the proposed end date\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n clientReferenceNumber: {\n required: `Client reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicantTelecommunicationLicenseNumber: {\n required: `Applicant telecommunication license number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n scopeOfWork: {\n required: `Scope of work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedConstructionCost: {\n required: `Estimated construction cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationFee: {\n required: `Application fee ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedStartDate: {\n required: `Proposed start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedEndDate: {\n required: `Proposed end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureIsRequired: {\n required: `Lane closure is required ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureExtent: {\n required: `Lane closure extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n constructionPeriodInWeeks: {\n required: `Construction period in weeks ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricalServices: {\n required: `Electrical services ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CreateApplicationLocationWamsConstants } from \"./create-application-location-wams.constants\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport GeometryUtils from \"../../../../shared/utils/geometry-utils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationLocationWamsComponent = class CreateApplicationLocationWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n locationForm;\n descriptionLabel1 = CreateApplicationLocationWamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationWamsConstants.DESCRIPTION_LABEL_2;\n layerReference = CreateApplicationLocationWamsConstants.LAYER_REF;\n showOnlyPropertyAndZoningLayers = false;\n mapComponent;\n sketch;\n selectedGraphic = null;\n isMapLoaded = false;\n selectedApplicationLocationWamsSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.setupSubscribers();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n this.sketch = this.mapTools.getMapTool(\"drawTool\");\n this.mapTools.expandWidget(\"drawTool\");\n this.sketch.create(\"polygon\");\n this.sketch.on(\"create\", (event) => {\n if (event.state === \"complete\") {\n this.selectedGraphic = event.graphic;\n this.locationForm.get(\"selectedGraphic\").setValue(this.selectedGraphic);\n if (event.graphic.geometry.type === \"point\") {\n this.locationForm.get(\"centroid\").setValue(event.graphic.geometry);\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polyline\").setValue(null);\n }\n else {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(event.graphic.geometry));\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n this.locationForm.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.locationForm.markAsTouched();\n if (event.graphic.geometry.type === \"polygon\") {\n this.locationForm.get(\"polygon\").setValue(event.graphic.geometry);\n }\n else if (event.graphic.geometry.type === \"polyline\") {\n this.locationForm.get(\"polyline\").setValue(event.graphic.geometry);\n }\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(CreateApplicationLocationWamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n else if (event.state !== \"cancel\") {\n this.mapTools.sketchGraphicsLayer.removeAll();\n }\n });\n if (this.locationForm.get(\"selectedGraphic\").value !== null) {\n this.selectedGraphic = this.locationForm.get(\"selectedGraphic\").value;\n this.mapComponent.addGeometriesOnMap([GeometryUtils.mapGeometryToDTO(this.selectedGraphic.geometry)], \"Draw Tool Layer\");\n }\n }\n loadMetadata(stepMeta) {\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.selectedApplication !== undefined && this.selectedApplication !== null) {\n if (this.selectedApplication.applicationLines !== null && this.selectedApplication.applicationLines.length > 0) {\n geometries.push(this.locationForm.get(\"polyline\").value);\n }\n else if (this.selectedApplication.applicationPolygons !== null && this.selectedApplication.applicationPolygons.length > 0) {\n geometries.push(this.locationForm.get(\"polygon\").value);\n }\n else {\n geometries.push(this.locationForm.get(\"centroid\").value);\n }\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Draw Tool Layer\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n }\n }\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(this.layerReference);\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n setMapData() {\n const centroidGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.shape, 102100);\n const centroid = JsonUtils.fromJSON(centroidGeometryArc);\n const geometries = [];\n this.locationForm.get(\"centroid\").setValue(centroid);\n let showPoint = true;\n if (this.selectedApplication.applicationPolygons.length > 0) {\n showPoint = false;\n const polygonGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationPolygons[0].shape, 102100);\n const polygon = JsonUtils.fromJSON(polygonGeometryArc);\n this.locationForm.get(\"polygon\").setValue(polygon);\n this.locationForm.get(\"polygonDto\").setValue(this.selectedApplication.applicationPolygons[0]);\n geometries.push(polygon);\n }\n else {\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polygonDto\").setValue(null);\n }\n if (this.selectedApplication.applicationLines.length > 0) {\n showPoint = false;\n const polylineGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationLines[0].shape, 102100);\n const polyline = JsonUtils.fromJSON(polylineGeometryArc);\n this.locationForm.get(\"polyline\").setValue(polyline);\n this.locationForm.get(\"polylineDto\").setValue(this.selectedApplication.applicationLines[0]);\n geometries.push(polyline);\n }\n else {\n this.locationForm.get(\"polyline\").setValue(null);\n this.locationForm.get(\"polylineDto\").setValue(null);\n }\n if (showPoint) {\n geometries.push(centroid);\n }\n this.mapComponent.addGeometriesOnMap(geometries, \"Wayleave graphics\", true);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"locationForm\");\n this.locationForm = form;\n }\n setupSubscribers() {\n this.subscribeToClearMapGraphics();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationLocationWamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setMapData();\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationWamsComponent);\nexport { CreateApplicationLocationWamsComponent };\n","export class CreateApplicationLocationWamsConstants {\n static STEP_TITLE = \"Location\";\n static DESCRIPTION_LABEL_1 = \"Use the 'Search for place or address' bar on the right to search for your location. Draw a point, line or polygon on the map to indicate the location of the wayleave.\";\n static DESCRIPTION_LABEL_2 = \"If you would like to use the zoom function, use the 'Select tool' on the toolbar on the left to navigate to your location.\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Wayleave graphics\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-professional-bodies-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-professional-bodies-wams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { CreateApplicationProfessionalBodiesWamsConstants } from \"./create-application-professional-bodies-wams.constants\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { forkJoin } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationProfessionalBodiesWamsComponent = class CreateApplicationProfessionalBodiesWamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n recipientService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = CreateApplicationProfessionalBodiesWamsConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markImplementingAgentAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL;\n markImplementingAgentAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToImplementingAgentLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL;\n copyApplicantDetailsToImplementingAgentFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = CreateApplicationProfessionalBodiesWamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = CreateApplicationProfessionalBodiesWamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToContractorFormControlName = CreateApplicationProfessionalBodiesWamsConstants.COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME;\n implementingAgentFormControlName = CreateApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n engineerFormControlName = CreateApplicationProfessionalBodiesWamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = CreateApplicationProfessionalBodiesWamsConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showImplementingAgent = false;\n showEngineer = false;\n showElectricalContractor = false;\n implementingAgentDisableFilterBy = true;\n implementingAgentDisableEditing = false;\n implementingAgentShowFields = true;\n implementingAgentGroups = [];\n implementingAgentLabel = CreateApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_LABEL;\n implementingAgentShowGroupsDropdown = false;\n implementingAgentIsRequiredChecked = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = CreateApplicationProfessionalBodiesWamsConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n engineerIsRequiredChecked = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = CreateApplicationProfessionalBodiesWamsConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n contractorIsRequiredChecked = false;\n applicant;\n componentName = CreateApplicationProfessionalBodiesWamsConstants.COMPONENT_NAME;\n savedImplementingAgent;\n savedEngineer;\n savedContractor;\n constructor(applicationCreateService, recipientService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.recipientService = recipientService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n this.getMetadata();\n this.getApplicantData();\n }\n ngOnInit() {\n this.initForm();\n this.initialiseDefaultValues();\n this.getProBodiesData();\n }\n loadMetadata(stepMeta) {\n try {\n this.implementingAgentGroups = stepMeta.implementingAgentConsultantGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.responsibleContractorGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n form.clearValidators();\n form.updateValueAndValidity();\n this.professionalBodiesForm = form;\n }\n onMarkImplementingAgentAsNotApplicableChecked(event) {\n const implementingAgentIsRequired = event.target.checked;\n if (implementingAgentIsRequired) {\n this.showImplementingAgent = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).enable();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n this.implementingAgentIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).disable();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.showImplementingAgent = false;\n this.changeDetectorRefs.detectChanges();\n this.implementingAgentIsRequiredChecked = false;\n }\n }\n onMarkEngineerAsRequired(event) {\n const engineerIsRequired = event.target.checked;\n if (engineerIsRequired) {\n this.showEngineer = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.engineerFormControlName).enable();\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.showEngineer = false;\n this.changeDetectorRefs.detectChanges();\n this.engineerIsRequiredChecked = false;\n }\n }\n onMarkElectricalContractorAsRequired(event) {\n const contractorIsRequired = event.target.checked;\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n this.changeDetectorRefs.detectChanges();\n this.professionalBodiesForm.get(this.contractorFormControlName).enable();\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n this.showElectricalContractor = false;\n this.changeDetectorRefs.detectChanges();\n this.contractorIsRequiredChecked = false;\n }\n }\n onCopyApplicantToImplementingAgent($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.implementingAgent > 0 && this.selectedApplication.implementingAgent[0].id >= 0) ? this.selectedApplication.implementingAgent[0].id : 0;\n applicantData.groups = this.implementingAgentGroups;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n }\n }\n onCopyApplicantToEngineer($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.engineer > 0 && this.selectedApplication.engineer[0].id >= 0) ? this.selectedApplication.engineer[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n }\n }\n onCopyApplicantToElectricalContractor($event) {\n const copyApplicantDataChecked = $event.target.checked;\n if (copyApplicantDataChecked) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n const applicantData = this.applicant;\n applicantData.id = (this.selectedApplication.electricalContractor > 0 && this.selectedApplication.electricalContractor[0].id >= 0) ? this.selectedApplication.electricalContractor[0].id : 0;\n applicantData.groups = this.engineerGroups;\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(applicantData);\n }\n else {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n }\n }\n syncProfBodiesIsRequiredCheckBoxes(selectedApplication) {\n this.syncImplementingAgentIsRequiredCheckBoxes(selectedApplication);\n this.syncEngineerIsRequiredCheckBoxes(selectedApplication);\n this.syncConstructorIsRequiredCheckBoxes(selectedApplication);\n this.professionalBodiesForm.markAsDirty();\n this.changeDetectorRefs.detectChanges();\n }\n syncImplementingAgentIsRequiredCheckBoxes(selectedApplication) {\n const implementingAgentNotRequired = selectedApplication?.implementingAgentNa;\n if (implementingAgentNotRequired) {\n this.implementingAgentIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).disable();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.showImplementingAgent = false;\n }\n else {\n this.showImplementingAgent = true;\n this.implementingAgentIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n }\n }\n syncEngineerIsRequiredCheckBoxes(selectedApplication) {\n const engineerIsNotRequired = selectedApplication?.engineerNa;\n if (engineerIsNotRequired) {\n this.implementingAgentIsRequiredChecked = false;\n this.showEngineer = false;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(true);\n }\n }\n syncConstructorIsRequiredCheckBoxes(selectedApplication) {\n const contractorIsNotRequired = selectedApplication?.contractorNa;\n if (contractorIsNotRequired) {\n this.contractorIsRequiredChecked = false;\n this.showElectricalContractor = false;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(null);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n }\n }\n populateProfessionalBodiesForms() {\n const selectedApplication = this.selectedApplication;\n this.populateImplementingAgent(selectedApplication);\n this.populateEngineer(selectedApplication);\n this.populateElectricalContractor(selectedApplication);\n }\n populateImplementingAgent(selectedApplication) {\n const implementingAgentControl = this.professionalBodiesForm.get(this.implementingAgentFormControlName);\n if (selectedApplication.implementingAgentNa) {\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n this.showImplementingAgent = false;\n this.implementingAgentIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showImplementingAgent = true;\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(true);\n this.implementingAgentIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).reset();\n if (this.savedImplementingAgent.length > 0) {\n const implementingAgent = this.savedImplementingAgent[0];\n implementingAgent.groups = this.implementingAgentGroups;\n implementingAgent.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n implementingAgentControl.setValue(implementingAgent);\n }\n }\n }\n populateEngineer(selectedApplication) {\n const engineerControl = this.professionalBodiesForm.get(this.engineerFormControlName);\n if (selectedApplication.engineerNa) {\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n this.showEngineer = false;\n this.engineerIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showEngineer = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.engineerIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.engineerFormControlName).reset();\n if (this.savedEngineer.length > 0) {\n const engineer = this.savedEngineer[0];\n engineer.groups = this.engineerGroups;\n engineer.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n engineerControl.setValue(engineer);\n }\n }\n }\n populateElectricalContractor(selectedApplication) {\n const contractorControl = this.professionalBodiesForm.get(this.contractorFormControlName);\n if (selectedApplication.contractorNa) {\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n this.showElectricalContractor = false;\n this.contractorIsRequiredChecked = false;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n else {\n this.showElectricalContractor = true;\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(true);\n this.contractorIsRequiredChecked = true;\n this.professionalBodiesForm.get(this.contractorFormControlName).reset();\n if (this.savedContractor.length > 0) {\n const contractor = this.savedContractor[0];\n contractor.groups = this.contractorGroups;\n contractor.groups.forEach(group => {\n if (group?.hasOwnProperty(\"requiredFields\")) {\n delete group.requiredFields;\n }\n });\n contractorControl.setValue(contractor);\n }\n }\n }\n getProBodiesData() {\n if (this.selectedApplication) {\n const implementingAgentID = this.selectedApplication.implementingAgentId;\n const engineerID = this.selectedApplication.engineerId;\n const contractorID = this.selectedApplication.contractorId;\n if (implementingAgentID || engineerID || contractorID) {\n this.getProfessionalBodiesId(implementingAgentID, engineerID, contractorID);\n }\n }\n }\n getProfessionalBodiesId(implementingAgentID, engineerID, contractorID) {\n const implementingAgentParams = {\n $expand: \"groups\", $filter: `id eq ${implementingAgentID}`\n };\n const engineerParams = {\n $expand: \"groups\", $filter: `id eq ${engineerID}`\n };\n const contractorParams = {\n $expand: \"groups\", $filter: `id eq ${contractorID}`\n };\n forkJoin([\n this.recipientService.getRecipientsObservable(implementingAgentParams),\n this.recipientService.getRecipientsObservable(engineerParams),\n this.recipientService.getRecipientsObservable(contractorParams)\n ]).subscribe({\n next: (professionalBodies) => {\n if (professionalBodies[0]?.length > 0) {\n // implementingAgent\n this.savedImplementingAgent = professionalBodies[0];\n }\n if (professionalBodies[1]?.length > 0) {\n // Engineer\n this.savedEngineer = professionalBodies[1];\n }\n if (professionalBodies[2]?.length > 0) {\n // contractor\n this.savedContractor = professionalBodies[2];\n }\n if (this.professionalBodiesForm.pristine || professionalBodies.length > 0) {\n this.syncProfBodiesIsRequiredCheckBoxes(this.selectedApplication);\n this.populateProfessionalBodiesForms();\n }\n else {\n this.showProfBodiesBasedOnCurrentFormStatus();\n }\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n showProfBodiesBasedOnCurrentFormStatus() {\n const implementingAgentIsRequired = this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).value;\n const engineerIsRequired = this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).value;\n const contractorIsRequired = this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).value;\n if (implementingAgentIsRequired) {\n this.showImplementingAgent = true;\n }\n else {\n this.showImplementingAgent = false;\n }\n if (engineerIsRequired) {\n this.showEngineer = true;\n }\n else {\n this.showEngineer = false;\n }\n if (contractorIsRequired) {\n this.showElectricalContractor = true;\n }\n else {\n this.showElectricalContractor = false;\n }\n // this.changeDetectorRefs.detectChanges();\n }\n getApplicantData() {\n if (this.selectedApplication) {\n const applicantID = this.selectedApplication.applicantId;\n if (applicantID) {\n this.getApplicantByApplicantId(applicantID);\n }\n }\n }\n getApplicantByApplicantId(applicantID) {\n const params = {\n $expand: \"groups\", $filter: `id eq ${applicantID}`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedApplicant = recipients[0];\n this.applicant = savedApplicant;\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markImplementingAgentAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: RecipientService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationProfessionalBodiesWamsComponent = __decorate([\n Component({\n selector: \"app-create-application-professional-bodies-wams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationProfessionalBodiesWamsComponent);\nexport { CreateApplicationProfessionalBodiesWamsComponent };\n","export class CreateApplicationProfessionalBodiesWamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL = \"Are the implementing agent's details required?\";\n static MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME = \"markImplementingAgentAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL = \"Copy applicant details to implementing agent?\";\n static COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"copyApplicantToImplementingAgent\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Are the contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static IMPLEMENTING_AGENT_LABEL = \"Implementing agent\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"implementingAgentRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"responsibleContractorRecipient\";\n}\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationDetailsZcConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_CTRL = \"type\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-details-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-details-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"src/app/create-application/shared/create-application-view-base/create-application-view-base.component\";\nimport { CreateApplicationDetailsZcConstants } from \"./create-application-details-zc.constants\";\nimport { AppControllerService } from \"src/app/app-controller.service\";\nimport { ApplicationCreateService } from \"src/app/create-application/shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"src/app/shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"src/app/shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nlet CreateApplicationDetailsZcamsComponent = class CreateApplicationDetailsZcamsComponent extends CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n searchApplicationsService;\n applicationTypeCtrl = CreateApplicationDetailsZcConstants.TYPE_CTRL;\n applicationTypeLbl = CreateApplicationDetailsZcConstants.TYPE_LBL;\n descriptionCtrl = CreateApplicationDetailsZcConstants.DESCRIPTION_CTRL;\n descriptionLbl = CreateApplicationDetailsZcConstants.DESCRIPTION_LBL;\n validationMessages = CreateApplicationDetailsZcConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = CreateApplicationDetailsZcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDetailsZcamsSubscription;\n getLookupsObservableSubscription;\n selectedApplicationSubscription2;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, searchApplicationsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription2 = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n if (application && application.type) {\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n }\n if (application && application.description) {\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.applicationTypes.sort((a, b) => a.value.localeCompare(b.value));\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationDetailsZcamsComponent = __decorate([\n Component({\n selector: \"app-create-application-details-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CreateApplicationDetailsZcamsComponent);\nexport { CreateApplicationDetailsZcamsComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class CreateApplicationLocationZcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static COPY_OWNER_LABEL = \"Copy owner to applicant\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static NO_OWNERS_SELECTED_MESSAGE = \"Please select an owner to copy to applicant\";\n static MULTIPLE_OWNERS_SELECTED_MESSAGE = \"Multiple owners have been selected, please select only one to copy to applicant\";\n static COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE = \"Owner successfully copied to applicant\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-application-location-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-application-location-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { CreateApplicationViewBaseComponent } from \"../../../shared/create-application-view-base/create-application-view-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { CreateApplicationLocationZcConstants } from \"./create-application-location-zc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../shared/application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { SearchApplicationsService } from \"../../../../search-applications/shared/search-applications.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { debounceTime } from \"rxjs\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationEcConstants } from \"../../ec/create-application-location-ec/create-application-location-ec.constants\";\nlet CreateApplicationLocationZcamsComponent = class CreateApplicationLocationZcamsComponent extends CreateApplicationViewBaseComponent {\n createApplicationService;\n aflaModuleStrategyService;\n recipientListService;\n appController;\n mapService;\n selectedApplicationService;\n requestStatusService;\n mapTools;\n changeDetectorRefs;\n searchApplicationsService;\n active;\n propertiesForm;\n descriptionLabel1 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = CreateApplicationLocationZcConstants.DESCRIPTION_LABEL_4;\n validationMessages = CreateApplicationLocationZcConstants.VALIDATION_MESSAGES;\n erfNoControl = CreateApplicationLocationZcConstants.ERF_NO_CONTROL;\n subdivisionControl = CreateApplicationLocationZcConstants.SUBDIVISION_CONTROL;\n allotmentControl = CreateApplicationLocationZcConstants.ALLOTMENT_CONTROL;\n farmNoControl = CreateApplicationLocationZcConstants.FARM_NO_CONTROL;\n sgCodeControl = CreateApplicationLocationZcConstants.SG_CODE_CONTROL;\n addressControl = CreateApplicationLocationZcConstants.ADDRESS_CONTROL;\n ownerControl = CreateApplicationLocationZcConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = CreateApplicationLocationZcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = CreateApplicationLocationZcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = CreateApplicationLocationZcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = CreateApplicationLocationZcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = CreateApplicationLocationZcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = CreateApplicationLocationZcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = CreateApplicationLocationZcConstants.OWNER_LABEL;\n removePropertyLabel = CreateApplicationLocationZcConstants.REMOVE_PROPERTY_LABEL;\n copyOwnerLabel = CreateApplicationLocationZcConstants.COPY_OWNER_LABEL;\n ownerDisableAdd = false;\n ownerDisableFilterBy = true;\n ownerDisableEditing = false;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n applicantGroups = [];\n selectedApplicationLocationZcamsSubscription;\n selectedPropertySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n zcApplication;\n yes = SharedConstants.YES_NO_ENUM.Yes;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n constructor(createApplicationService, aflaModuleStrategyService, recipientListService, appController, mapService, selectedApplicationService, requestStatusService, mapTools, changeDetectorRefs, searchApplicationsService) {\n super(createApplicationService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService);\n this.createApplicationService = createApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientListService = recipientListService;\n this.appController = appController;\n this.mapService = mapService;\n this.selectedApplicationService = selectedApplicationService;\n this.requestStatusService = requestStatusService;\n this.mapTools = mapTools;\n this.changeDetectorRefs = changeDetectorRefs;\n this.searchApplicationsService = searchApplicationsService;\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.subscribeToProperty();\n if (this.createApplicationService.propertyData) {\n // this.loadExistingProperty(this.createApplicationService.propertyData);\n this.createApplicationService.propertyData = null;\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.subscribeToClearMapGraphics();\n this.changeDetectorRefs.detectChanges();\n }\n checkSave() {\n this.selectedApplicationLocationZcamsSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.zcApplication = app;\n if (this.zcApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = true;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.applicantGroups = stepMeta.applicantGroup;\n if (this.ownerGroups[0].hasOwnProperty(\"requiredFields\") && this.ownerGroups[0].requiredFields !== null) {\n this.ownerGroups = this.recipientListService.checkStepMetaRecipientGroups(this.ownerGroups);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(\"zones\");\n }\n updateRequiredFields(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n const erfNoControl = propertyControl.get(this.erfNoControl);\n const farmNoControl = propertyControl.get(this.farmNoControl);\n const subdivisionControl = propertyControl.get(this.subdivisionControl);\n if (erfNoControl.value !== undefined && erfNoControl.value !== null && erfNoControl.value.trim() !== \"\") {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.clearValidators();\n subdivisionControl.clearValidators();\n farmNoControl.setValue(\"\");\n subdivisionControl.setValue(\"\");\n farmNoControl.disable();\n subdivisionControl.disable();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = false;\n this.farmNoControlRequired = false;\n this.erfNoControlRequired = true;\n }\n else if ((farmNoControl.value !== undefined && farmNoControl.value !== null && farmNoControl.value.trim() !== \"\") ||\n (subdivisionControl.value !== undefined && subdivisionControl.value !== null && subdivisionControl.value.trim() !== \"\")) {\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.clearValidators();\n erfNoControl.setValue(\"\");\n erfNoControl.disable();\n erfNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = false;\n }\n else {\n erfNoControl.setValidators(Validators.required);\n farmNoControl.setValidators(Validators.required);\n subdivisionControl.setValidators(Validators.required);\n erfNoControl.enable();\n farmNoControl.enable();\n subdivisionControl.enable();\n erfNoControl.markAsUntouched();\n subdivisionControl.markAsUntouched();\n farmNoControl.markAsUntouched();\n this.subdivisionControlRequired = true;\n this.farmNoControlRequired = true;\n this.erfNoControlRequired = true;\n }\n erfNoControl.updateValueAndValidity();\n farmNoControl.updateValueAndValidity();\n subdivisionControl.updateValueAndValidity();\n this.changeDetectorRefs.detectChanges();\n }\n onBtnRemovePropertyClicked(propertyIndex) {\n this.getProperties().removeAt(propertyIndex);\n this.changeDetectorRefs.detectChanges();\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n setPropertyData(propertyObject, geometry) {\n this.requestStatusService.showBusySpinner(\"GetPropertyDate\");\n const sgCode = this.propertyDataAlternateColumnName(propertyObject, \"SgCode\", \"sgcode\");\n let found = false;\n this.getProperties().controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n this.appController.showMessage(CreateApplicationLocationZcConstants.DUPLICATE_MESSAGE, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n });\n if (!found) {\n const newProperty = new FormGroup({\n id: new FormControl(0),\n applicationId: new FormControl(0),\n erfNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"ErfNo\", \"erfNo\"), [Validators.required]),\n subdivision: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(this.propertyDataAlternateColumnName(propertyObject, \"Address\", \"address\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n owners: new FormControl(null, [Validators.required])\n });\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n newProperty.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n this.handleAddProperty(newProperty);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationZcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n }\n handleAddProperty(newProperty) {\n const propertyControl = this.getProperties();\n if (this.getProperties().controls.length > 0) {\n this.appController.showMessage(\"Only one property can be added per application.\", AlertType.Warning);\n }\n else {\n propertyControl.push(newProperty);\n this.active = 0;\n this.updateRequiredFields(0);\n this.changeDetectorRefs.detectChanges();\n this.syncMapGeometries();\n }\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n }\n propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate management graphics\", true);\n }\n }\n subscribeToProperty() {\n this.selectedPropertySubscription = this.mapService.$selectedProperty.pipe(debounceTime(1000)).subscribe(property => {\n if (property !== null) {\n this.setPropertyData(property.attributes, property.geometry);\n }\n });\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.zcApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n this.updateRequiredFields(pa.length - 1);\n });\n }\n subscribeToClearMapGraphics() {\n this.clearLayerGraphicsSubjectSubscription = this.applicationCreateService.$clearLayerGraphicsSubject.subscribe({\n next: (clearGraphics) => {\n if (clearGraphics) {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n this.mapTools.sketchGraphicsLayer.removeAll();\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.zcApplication.properties && this.zcApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n this.getTrueCentroidSubscription = this.createApplicationService.getTrueCentroid(url, formData)\n .subscribe({\n next: (trueCentroidResponse) => {\n propertyFoemGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n },\n error: (error) => {\n this.requestStatusService.removeBusySpinner(\"GetPropertyDate\");\n this.appController.handleServerErrorMessage(CreateApplicationLocationZcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n return propertyFoemGroup;\n }\n onCopyOwnerToApplicant(propertyIndex) {\n const ownersControl = this.getProperties().controls[propertyIndex].get(this.ownerControl);\n const selectedOwners = ownersControl.value ? ownersControl.value.filter((x) => x.selected === true) : [];\n if (selectedOwners.length === 0) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.NO_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length > 1) {\n this.appController.showMessage(CreateApplicationLocationEcConstants.MULTIPLE_OWNERS_SELECTED_MESSAGE, AlertType.Warning);\n return;\n }\n if (selectedOwners.length === 1) {\n const applicant = RecipientUtils.buildApplicantStringForUserSettings(selectedOwners[0], this.applicantGroups);\n this.aflaModuleStrategyService.form.get(\"applicantForm\").get(\"applicantRecipient\").setValue(applicant);\n this.appController.showMessage(\"Owner data successfully copied\", AlertType.Success);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: MapService },\n { type: SelectedApplicationService },\n { type: RequestStatusService },\n { type: MapTools },\n { type: ChangeDetectorRef },\n { type: SearchApplicationsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nCreateApplicationLocationZcamsComponent = __decorate([\n Component({\n selector: \"app-create-application-location-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], CreateApplicationLocationZcamsComponent);\nexport { CreateApplicationLocationZcamsComponent };\n","var ApplicationCreateService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { ApiStepMetaConstants } from \"../../shared/constants/api-constants/api-step-meta.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiLookupConstants } from \"../../shared/constants/api-constants/api-lookup.constants\";\nimport { TrueCentroidResultsModel } from \"../../shared/models/gpserver-truecentroid-model\";\nimport { ApiAttachmentConstants } from \"../../shared/constants/api-constants/api-attachment.constants\";\nimport { ApiProxyConstants } from \"../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../app.config\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { UrlConstants } from \"../../shared/constants/url.constants\";\nimport { AutoUnsubPortal } from \"../../shared/decorators/autounsub-portal.decorator\";\nimport { ApiNotesConstants } from \"../../shared/constants/api-constants/api-notes.constants\";\nlet ApplicationCreateService = class ApplicationCreateService {\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 $clearApplicationVerificationSubject = new BehaviorSubject(false);\n startMetadataSubject = new BehaviorSubject(null);\n $startMetadata = this.startMetadataSubject.asObservable();\n selectedModuleName = new BehaviorSubject(\"\");\n selectedModuleNameAsObservable = this.selectedModuleName.asObservable();\n selectGoToStep = new BehaviorSubject(0);\n selectGoToStepAsObservable = this.selectGoToStep.asObservable();\n hasLoadedLookups = new BehaviorSubject(false);\n hasLoadedLookupsAsObservable = this.hasLoadedLookups.asObservable();\n fullApplicationCheckRequired = new BehaviorSubject(false);\n $fullApplicationCheckRequired = this.fullApplicationCheckRequired.asObservable();\n routeParamsSubscription;\n $markStepFormGroupAsTouchedSubject = new BehaviorSubject(null);\n $markStepFormGroupAsTouchedSubscription = this.$markStepFormGroupAsTouchedSubject.asObservable();\n constructor(http, routeParamsService) {\n this.http = http;\n this.routeParamsService = routeParamsService;\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n return null;\n }\n return newValue !== oldValue;\n }\n savePropertyData(property) {\n this.propertyData.data = property;\n this.propertySubject.next(this.propertyData.data);\n }\n setHasLoadedLookups(loaded) {\n this.hasLoadedLookups.next(loaded);\n }\n start() {\n this.routeParamsSubscription = this.routeParamsService.params.subscribe(async (params) => {\n await this.handleRouteParamChange(params);\n });\n }\n async getStepMeta() {\n const filterString = `stepName eq \\'Start\\' AND moduleId eq ${this.moduleID}`;\n const params = {\n $filter: filterString\n };\n this.http.get(`${ApiStepMetaConstants.URL}/${ApiStepMetaConstants.FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL}`, { params }).subscribe((metadata) => {\n this.startMetadataSubject.next(JSON.parse(metadata.value[0].metadata));\n });\n }\n setFullApplicationCheckRequired(required) {\n this.fullApplicationCheckRequired.next(required);\n }\n getLookupsObservable(params) {\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n setModuleName(moduleName) {\n this.selectedModuleName.next(moduleName);\n }\n setSelectGoToStep(stepIndex) {\n this.selectGoToStep.next(stepIndex);\n }\n uploadDocumentObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getAttachmentContent(attachmentId) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${attachmentId}/${ApiAttachmentConstants.FUNCTION_GET_ATTACHMENT_CONTENT}`, { responseType: \"blob\" });\n }\n deleteUploadDocumentsObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_DELETE_MULTIPLE_ATTACHMENTS}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getPropertyCentroidObservable(geometry) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return this.getTrueCentroid(url, formData);\n }\n getTrueCentroid(url, params) {\n return this.http.post(url, params).pipe(map((response) => {\n return new TrueCentroidResultsModel().deserialize(response);\n }));\n }\n sendMissingLookupsEmail(url, params) {\n return this.http.post(url, params)\n .pipe(map(response => {\n return response;\n }));\n }\n getAttachments(params) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n async handleRouteParamChange(params) {\n if (params !== undefined && params !== null && params && ApplicationCreateService_1.checkIfChanged(params.moduleid, this.moduleID)) {\n this.moduleID = params.moduleid;\n await this.getStepMeta();\n }\n }\n markStepFormGroupAsTouched(currentFormName) {\n this.$markStepFormGroupAsTouchedSubject.next(currentFormName);\n }\n getNotesObservable(params) {\n return this.http.get(`${ApiNotesConstants.URL}`, { params }).pipe(map(note => {\n return note.value;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService }\n ];\n};\nApplicationCreateService = ApplicationCreateService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ApplicationCreateService);\nexport { ApplicationCreateService };\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ApplicationCreateService } from \"../application-create.service\";\nimport { AflaModuleStrategyService } from \"../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { SearchApplicationsService } from \"../../../search-applications/shared/search-applications.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet CreateApplicationViewBaseComponent = class CreateApplicationViewBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n searchApplicationsService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n isApplicationLoadedFromTheSearchPage;\n incompleteJobIdSubscription;\n selectedApplicationSubscription;\n isApplicationLoadedFromSearchPageSubscription;\n startMetadataSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, searchApplicationsService) {\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.searchApplicationsService = searchApplicationsService;\n this.incompleteJobIdSubscription = this.selectedApplicationService.$incompleteJobId.subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n });\n this.isApplicationLoadedFromSearchPageSubscription = this.searchApplicationsService.isApplicationLoadedFromSearchPage.subscribe({\n next: (isApplicationLoadedFromSearchPage) => {\n this.isApplicationLoadedFromTheSearchPage = isApplicationLoadedFromSearchPage;\n }\n });\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n getMetadata() {\n this.startMetadataSubscription = this.applicationCreateService.$startMetadata.subscribe(stepMeta => {\n if (stepMeta != null) {\n this.stepMeta = stepMeta;\n this.loadMetadata(this.stepMeta);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: SearchApplicationsService }\n ];\n};\nCreateApplicationViewBaseComponent = __decorate([\n Component({\n template: \"\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \"CreateApplicationViewBaseComponent\": \"create-application\" }\n }),\n AutoUnsubPortal()\n], CreateApplicationViewBaseComponent);\nexport { CreateApplicationViewBaseComponent };\n","import { SharedConstants } from \"../../shared/constants/shared.constants\";\nexport class CreateApplicationConstants {\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static CONTINUE_BUTTON_PLACEHOLDER = SharedConstants.CONTINUE_STEP_TEXT;\n static BACK_BUTTON_PLACEHOLDER = SharedConstants.BACK_STEP_TEXT;\n static CREATE_BUTTON_PLACEHOLDER = \"Create application\";\n static CLEAR_BUTTON_PLACEHOLDER = SharedConstants.CLEAR_LABEL;\n static SUBMIT_BUTTON_PLACEHOLDER = SharedConstants.SUBMIT_LABEL;\n static CLOSE_BUTTON_PLACEHOLDER = SharedConstants.CLOSE_LABEL;\n static CONTENT_PAGE_HEADING = \"Create application\";\n static NAME_INPUT_LABEL = \"Name\";\n static SURNAME_INPUT_LABEL = \"Surname\";\n static CREATE_APPLICATION_LABEL = \"Create\";\n static ERF_INPUT_LABEL = \"Erf\";\n static ADDRESS_INPUT_LABEL = \"Address\";\n // Create application Steps\n static WELCOME_HEADING = \"Welcome to the\";\n static WELCOME_HEADING_APPLICATION = \"application\";\n static VIEW_DOCUMENTS_LINK_TEXT = \"HERE\";\n static APPLICATIONS = \"applications\";\n static PLEASE_CLICK_TEXT = \"Please click\";\n static MORE_INFO_TEXT = \"for more information related to\";\n static DETAILS_HEADING = \"Application Details\";\n static LOCATION_HEADING = \"Location\";\n static PROFESSIONAL_BODIES_HEADING = \"Professional bodies\";\n static DECEASED_HEADING = \"Deceased\";\n static FAMILY_HEADING = \"Family\";\n static APPLICANT_HEADING = \"Applicant\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\n static STATUS_HEADING = \"Status\";\n // TODO: replace with configurable text\n static WELCOME_MESSAGE = \"Please configure this text.\\n\";\n static STATUS_MESSAGE = \"Please configure this text.\\n\";\n}\n","export class AddDocumentDialogConstants {\n static DOCUMENT_TYPE_LABEL = \"Document type\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_LABEL = \"File\";\n static SELECT_FILE_LABEL = \"Select file\";\n static CANCEL_BTN_PLACEHOLDER = \"Cancel\";\n static DOCUMENT_TYPE_FORM_CONTROL = \"documentType\";\n static DESCRIPTION_FORM_CONTROL = \"description\";\n static FILE_NAME_FORM_CONTROL = \"fileName\";\n static SAVE_BTN_LABEL = \"Save\";\n static COMPONENT_NAME = \"Edit attachment modal\";\n static DOCUMENT_TYPE_ERR_MSG = \"Please select the document type.\";\n static DESCRIPTION_ERR_MSG = \"Please enter a description for the document.\";\n static NO_FILE_UPLOADED_ERR_MSG = \"Please upload a document.\";\n static UPLOADED_FILE_TOO_BIG_ERR_MSG = \"The uploaded file size is bigger than the allowed file size\";\n static UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG = \"The uploaded file type is not allowed.\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { ApplicationCreateService } from \"../../application-create.service\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { AddDocumentDialogConstants } from \"./add-document-dialog.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddDocumentsDialogComponent = class AddDocumentsDialogComponent {\n activeModal;\n requestStatusService;\n saLongDatePipe;\n userInformationService;\n applicationCreateService;\n appControllerService;\n addDocumentForm;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\n selectedDocumentType;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n documentTypeLabel = AddDocumentDialogConstants.DOCUMENT_TYPE_LABEL;\n descriptionLabel = AddDocumentDialogConstants.DESCRIPTION_LABEL;\n fileLabel = AddDocumentDialogConstants.FILE_LABEL;\n selectFileLabel = AddDocumentDialogConstants.SELECT_FILE_LABEL;\n cancelBtnPlaceholder = AddDocumentDialogConstants.CANCEL_BTN_PLACEHOLDER;\n documentTypeFormControlName = AddDocumentDialogConstants.DOCUMENT_TYPE_FORM_CONTROL;\n descriptionFormControlName = AddDocumentDialogConstants.DESCRIPTION_FORM_CONTROL;\n fileNameFormControlName = AddDocumentDialogConstants.FILE_NAME_FORM_CONTROL;\n saveBtnPlaceholder = AddDocumentDialogConstants.SAVE_BTN_LABEL;\n uploadedFiles = [];\n documentTypeErrMsg = AddDocumentDialogConstants.DOCUMENT_TYPE_ERR_MSG;\n descriptionErrMsg = AddDocumentDialogConstants.DESCRIPTION_ERR_MSG;\n noFileUploadedErrMsg = AddDocumentDialogConstants.NO_FILE_UPLOADED_ERR_MSG;\n uploadedFileTooBigErrMsg = AddDocumentDialogConstants.UPLOADED_FILE_TOO_BIG_ERR_MSG;\n filetypeNotAllowedErrMsg = AddDocumentDialogConstants.UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG;\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n uploadDocumentObservableSubscription;\n constructor(activeModal, requestStatusService, saLongDatePipe, userInformationService, applicationCreateService, appControllerService) {\n this.activeModal = activeModal;\n this.requestStatusService = requestStatusService;\n this.saLongDatePipe = saLongDatePipe;\n this.userInformationService = userInformationService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.addDocumentForm.get(this.documentTypeFormControlName).setValue(this.selectedDocumentType);\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(this.uploadedFileTooBigErrMsg, AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(this.filetypeNotAllowedErrMsg, AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n if (this.addDocumentForm.valid && this.addDocumentForm.touched && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const newDocument = {\n id: 0,\n type: this.addDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.addDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails.name,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(newDocument);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n Object.keys(this.addDocumentForm.controls).forEach(key => {\n if (this.addDocumentForm.get(key).invalid) {\n this.addDocumentForm.get(key).markAsTouched();\n }\n });\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n this.uploadedFiles.splice(i, 1);\n if (this.uploadedFiles.length === 0) {\n this.addDocumentForm.get(this.fileNameFormControlName).reset();\n }\n $event.stopPropagation();\n }\n initForm() {\n this.addDocumentForm = new FormGroup({\n documentType: new FormControl(null, Validators.required),\n description: new FormControl(null, Validators.required),\n fileName: new FormControl(null)\n });\n }\n uploadAttachment(newDocument) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n const reader = new FileReader();\n let fileString;\n reader.readAsDataURL(this.fileDetails);\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: newDocument.fileName,\n Data: fileString,\n Description: newDocument.name,\n AttachmentType: newDocument.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscription = this.applicationCreateService.uploadDocumentObservable(params).subscribe((response) => {\n newDocument.id = response.id;\n this.activeModal.close(newDocument);\n });\n }\n };\n this.requestStatusService.showBusySpinner(\"upload\");\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: RequestStatusService },\n { type: SaLongDatePipe },\n { type: UserInformationService },\n { type: ApplicationCreateService },\n { type: AppControllerService }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }],\n selectedDocumentType: [{ type: Input }]\n };\n};\nAddDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-add-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"add-documents-dialog\": \"create-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], AddDocumentsDialogComponent);\nexport { AddDocumentsDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./delete-documents-confirmation-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./delete-documents-confirmation-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.DELETE_LABEL;\n dialogMessage = \"Are you sure that you want to delete the selected document(s) from the table?\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() { }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onDeleteBtnClicked() {\n this.activeModal.close(this.documentsToDelete);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n documentsToDelete: [{ type: Input }]\n };\n};\nDeleteDocumentsConfirmationDialogComponent = __decorate([\n Component({\n selector: \"app-delete-documents-confirmation-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'delete-documents-confirmation-dialog': 'create-application' },\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DeleteDocumentsConfirmationDialogComponent);\nexport { DeleteDocumentsConfirmationDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { ApplicationCreateService } from \"../../application-create.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { EditDocumentsDialogConstants } from \"./edit-documents-dialog.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditDocumentsDialogComponent = class EditDocumentsDialogComponent {\n activeModal;\n appControllerService;\n userInformationService;\n applicationCreateService;\n requestStatusService;\n saLongDatePipe;\n editDocumentForm;\n documentTypes = [];\n dialogTitle = \"\";\n documentToEdit;\n configUploadSettings;\n currentApplication;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n documentTypeLabel = EditDocumentsDialogConstants.DOCUMENT_TYPE_LABEL;\n descriptionLabel = EditDocumentsDialogConstants.DESCRIPTION_LABEL;\n fileLabel = EditDocumentsDialogConstants.FILE_LABEL;\n selectFileLabel = EditDocumentsDialogConstants.SELECT_FILE_LABEL;\n cancelBtnLabel = EditDocumentsDialogConstants.CANCEL_BTN_PLACEHOLDER;\n documentTypeFormControlName = EditDocumentsDialogConstants.DOCUMENT_TYPE_FORM_CONTROL;\n descriptionFormControlName = EditDocumentsDialogConstants.DESCRIPTION_FORM_CONTROL;\n saveBtnLabel = EditDocumentsDialogConstants.SAVE_BTN_LABEL;\n uploadedFiles = [];\n documentTypeErrMsg = EditDocumentsDialogConstants.DOCUMENT_TYPE_ERR_MSG;\n descriptionErrMsg = EditDocumentsDialogConstants.DESCRIPTION_ERR_MSG;\n noFileUploadedErrMsg = EditDocumentsDialogConstants.NO_FILE_UPLOADED_ERR_MSG;\n uploadedFileTooBigErrMsg = EditDocumentsDialogConstants.UPLOADED_FILE_TOO_BIG_ERR_MSG;\n filetypeNotAllowedErrMsg = EditDocumentsDialogConstants.UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG;\n componentName = EditDocumentsDialogConstants.COMPONENT_NAME;\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n fileString;\n fileBlob;\n uploadDocumentObservableSubscription;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n constructor(activeModal, appControllerService, userInformationService, applicationCreateService, requestStatusService, saLongDatePipe) {\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.saLongDatePipe = saLongDatePipe;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.getAttachmentFileContent(this.documentToEdit.id);\n this.setFormValues();\n this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editDocumentForm.valid && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const editedDocument = {\n id: this.documentToEdit.id,\n type: this.editDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.editDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails ? this.fileDetails.name : this.documentToEdit.fileName,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(editedDocument);\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n this.markAllControlsAsTouched();\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n if (this.uploadedFiles.length > 0) {\n this.uploadedFiles.splice(i, 1);\n }\n $event.stopPropagation();\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n ;\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(this.uploadedFileTooBigErrMsg, AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(this.filetypeNotAllowedErrMsg, AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n uploadAttachment(editedDoc) {\n const reader = new FileReader();\n let fileString;\n if (this.fileDetails) {\n reader.readAsDataURL(this.fileDetails);\n }\n else {\n reader.readAsDataURL(this.fileBlob);\n }\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: editedDoc.fileName,\n Data: fileString,\n Description: editedDoc.name,\n AttachmentType: editedDoc.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscription = this.applicationCreateService.uploadDocumentObservable(params).subscribe({\n next: (attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.saLongDatePipe.transform(attachment.date),\n fileName: attachment.fileName,\n };\n const deletedParams = {\n ids: [this.documentToEdit.id], moduleId: this.appControllerService.selectedModuleID\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationCreateService.deleteUploadDocumentsObservable(deletedParams).subscribe({\n next: () => {\n const resultObject = {\n idsToDelete: [this.documentToEdit.id], editedDocument: attachmentObject\n };\n this.activeModal.close(resultObject);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Add);\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Update);\n }\n });\n }\n };\n }\n initForm() {\n this.editDocumentForm = new FormGroup({\n documentType: new FormControl(this.documentToEdit.type, Validators.required),\n description: new FormControl(this.documentToEdit.name, Validators.required),\n fileName: new FormControl(this.documentToEdit.fileName)\n });\n }\n setFormValues() {\n this.editDocumentForm.get(this.documentTypeFormControlName).setValue(this.documentToEdit.type);\n this.editDocumentForm.get(this.descriptionFormControlName).setValue(this.documentToEdit.name);\n this.uploadedFiles[0] = this.documentToEdit.fileName;\n }\n markAllControlsAsTouched() {\n Object.keys(this.editDocumentForm.controls).forEach(key => {\n if (this.editDocumentForm.get(key).invalid) {\n this.editDocumentForm.get(key).markAsTouched();\n }\n });\n }\n getAttachmentFileContent(id) {\n this.getAttachmentContentSubscription = this.applicationCreateService.getAttachmentContent(id).subscribe({\n next: (fileBlob) => {\n this.fileBlob = fileBlob;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: SaLongDatePipe }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n documentToEdit: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }]\n };\n};\nEditDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-edit-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'edit-documents-dialog': 'create-application' },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], EditDocumentsDialogComponent);\nexport { EditDocumentsDialogComponent };\n","export class EditDocumentsDialogConstants {\n static DOCUMENT_TYPE_LABEL = \"Document type\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_LABEL = \"File\";\n static SELECT_FILE_LABEL = \"Select file\";\n static CANCEL_BTN_PLACEHOLDER = \"Cancel\";\n static DOCUMENT_TYPE_FORM_CONTROL = \"documentType\";\n static DESCRIPTION_FORM_CONTROL = \"description\";\n static FILE_NAME_FORM_CONTROL = \"fileName\";\n static SAVE_BTN_LABEL = \"Save\";\n static COMPONENT_NAME = \"Edit attachment modal\";\n static DOCUMENT_TYPE_ERR_MSG = \"Please select the document type.\";\n static DESCRIPTION_ERR_MSG = \"Please enter a description for the document.\";\n static NO_FILE_UPLOADED_ERR_MSG = \"Please upload a document.\";\n static UPLOADED_FILE_TOO_BIG_ERR_MSG = \"The uploaded file size is bigger than the allowed file size\";\n static UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG = \"The uploaded file type is not allowed.\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./refresh.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./refresh.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"../../create-application-routing.constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet RefreshComponent = class RefreshComponent {\n router;\n appControllerService;\n constructor(router, appControllerService) {\n this.router = router;\n this.appControllerService = appControllerService;\n }\n ngOnInit() {\n this.router.navigate([\n AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID, CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE)\n ]);\n }\n static ctorParameters = () => [\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRefreshComponent = __decorate([\n Component({\n selector: \"app-refresh\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RefreshComponent);\nexport { RefreshComponent };\n","export class CreateApplicationUtilsConstants {\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n}\n","import { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AlertType } from \"../../../shared/models/alert\";\nimport { CreateApplicationUtilsConstants } from \"./create-application-utils.constants\";\nexport class CreateApplicationUtils {\n static duplicatePropertyErrorMessage = CreateApplicationUtilsConstants.DUPLICATE_MESSAGE;\n static propertyDataAlternateColumnName(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null && value !== \" \" ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n static updatePropertyIds(selectedApplication, propertiesForm) {\n if (selectedApplication && selectedApplication.properties.length > 0) {\n const savedProperties = selectedApplication.properties?.sort((a, b) => (a?.value?.id?.localeCompare(b?.value?.id)));\n const propertyFormGroups = propertiesForm.get(\"properties\").controls;\n propertyFormGroups.forEach((propertyFormGroup) => {\n const selectedPropertySgCode = this.propertyDataAlternateColumnName(propertyFormGroup.value, \"SgCode\", \"sgCode\");\n savedProperties.forEach((savedProperty) => {\n if (savedProperty.sgCode === selectedPropertySgCode) {\n const ownersControl = propertyFormGroup.get(\"owners\");\n propertyFormGroup.get(\"id\").setValue(savedProperty.id);\n if (ownersControl && ownersControl.value) {\n propertyFormGroup.get(\"owners\").setValue(savedProperty.owners);\n }\n }\n });\n });\n }\n }\n static checkIfPropertyIsADuplicate(sgCode, properties, appControllerService, requestStatusService) {\n let found = false;\n if (properties.length > 0) {\n properties.controls.forEach(item => {\n const check = item.get(\"sgCode\").value;\n if (check === sgCode) {\n found = true;\n appControllerService.showMessage(this.duplicatePropertyErrorMessage, AlertType.Warning);\n requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n });\n }\n return found;\n }\n static createNewPropertyFormGroup(propertyAttributes, sgCode, geometry) {\n return new FormGroup({\n id: new FormControl(0),\n erfNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"ErfNo\", \"erfno\"), [Validators.required]),\n subdivision: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"PtnNum\", \"ptnnum\"), [Validators.required]),\n allotment: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Allotment\", \"allotment\"), [Validators.required]),\n farmNo: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"FarmNo\", \"farmno\"), [Validators.required]),\n sgCode: new FormControl(sgCode, [Validators.required]),\n address: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"Address\", \"address\"), [Validators.required]),\n buildingUse: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"BuildingUse\", \"buildinguse\")),\n erfSize: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"ErfSize\", \"erfsize\"), [Validators.required]),\n buildingFloorArea: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"BuildingFloorArea\", \"buildingfloorarea\"), [Validators.required]),\n titleDeed: new FormControl(CreateApplicationUtils.propertyDataAlternateColumnName(propertyAttributes, \"TitleDeed\", \"titledeed\"), [Validators.required]),\n geometry: new FormControl(geometry),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.required, Validators.min(1)]),\n owners: new FormControl(null, [Validators.required])\n });\n }\n static setTrueCentroidOnNewProperty(newPropertyFormGroup, trueCentroidResponse) {\n newPropertyFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n }\n static handleTrueCentroidResponse(trueCentroidResponse, newPropertyFormGroup) {\n CreateApplicationUtils.setTrueCentroidOnNewProperty(newPropertyFormGroup, trueCentroidResponse);\n }\n static getUpdatedPropertyFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n property: new FormControl(savedProperty),\n erfNo: new FormControl(savedProperty.erfNumber, [Validators.required]),\n subdivision: new FormControl(savedProperty.subdivision, [Validators.required]),\n allotment: new FormControl(savedProperty.allotment, [Validators.required]),\n farmNo: new FormControl(savedProperty.farmNumber, [Validators.required]),\n sgCode: new FormControl(savedProperty.sgCode, [Validators.required]),\n address: new FormControl(savedProperty.address, [Validators.required]),\n buildingUse: new FormControl(savedProperty.buildingUse),\n erfSize: new FormControl(savedProperty.erfSize, [Validators.required]),\n buildingFloorArea: new FormControl(savedProperty.buildingFloorArea, [Validators.required]),\n titleDeed: new FormControl(savedProperty.titleDeed, [Validators.required]),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n zones: new FormArray([], [Validators.required, Validators.min(1)]),\n owners: new FormControl(savedProperty.owners, [Validators.required])\n });\n }\n}\n","export class DocumentsAndInformationRoutingConstants {\n static VIEW_DOCUMENTS_AND_INFORMATION_ROUTE = \"view-documents-and-information\";\n}\n","export class MapRoutingConstants {\n static ESRI_MAP_ROUTE = \"esri-map\";\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Collection from \"@arcgis/core/core/Collection\";\nimport { AppConfig } from \"../../../app.config\";\nimport Extent from \"@arcgis/core/geometry/Extent\";\nlet BookmarkComponent = class BookmarkComponent {\n constructor() { }\n addBookmarks() {\n const bookmarksCollection = new Collection();\n AppConfig.settings.bookmarks.forEach(bookmark => {\n bookmarksCollection.add({\n name: bookmark.name,\n viewpoint: {\n targetGeometry: new Extent(bookmark.viewpoint.targetGeometry)\n },\n thumbnail: bookmark.thumbnail\n });\n });\n return bookmarksCollection;\n }\n static ctorParameters = () => [];\n};\nBookmarkComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], BookmarkComponent);\nexport { BookmarkComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-buffer-checkbox.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./draw-buffer-checkbox.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Injectable, Output } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawBufferCheckboxComponent = class DrawBufferCheckboxComponent {\n toggleBufferEvent = new EventEmitter();\n bufferLabel = \"Add buffer\";\n constructor() {\n }\n toggleBuffer(event) {\n const bufferTool = document.getElementById(\"bufferTool\");\n if (event) {\n bufferTool.removeAttribute(\"hidden\");\n }\n else {\n bufferTool.setAttribute(\"hidden\", \"\");\n }\n this.toggleBufferEvent.emit(event);\n }\n addBufferCheckbox(mapView) {\n const checkBoxBuffer = document.getElementsByTagName(\"app-draw-buffer\")[0];\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const panel = document.querySelectorAll(\".esri-sketch__panel\");\n if (panel[0]) {\n panel[0].append(checkBoxBuffer);\n }\n });\n }\n static ctorParameters = () => [];\n static propDecorators = {\n toggleBufferEvent: [{ type: Output }]\n };\n};\nDrawBufferCheckboxComponent = __decorate([\n Component({\n selector: \"app-draw-buffer\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n Injectable({\n providedIn: \"root\"\n })\n], DrawBufferCheckboxComponent);\nexport { DrawBufferCheckboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-buffer-toolbar.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./draw-buffer-toolbar.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as geometryEngineAsync from \"@arcgis/core/geometry/geometryEngineAsync\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawBufferToolbarComponent = class DrawBufferToolbarComponent {\n activeDrawTool;\n buffValue;\n buffType;\n constructor() {\n }\n addBufferWindow(mapView, sketch) {\n const bufferWindow = document.getElementsByTagName(\"app-buffer-toolbar\")[0];\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const widget = document.querySelectorAll(\".esri-sketch.esri-widget\");\n if (widget[0]) {\n widget[0].append(bufferWindow);\n }\n reactiveUtils.watch(() => sketch.activeTool, () => this.switchTollTip(sketch.activeTool));\n });\n }\n switchTollTip(event) {\n this.activeDrawTool = event;\n let tipText = \"\";\n switch (this.activeDrawTool) {\n case \"point\": {\n tipText = \"

click to add a point

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

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

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

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

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

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

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

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

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

Please select a draw tool

\";\n }\n }\n const toolTip = document.getElementById(\"toolTip\");\n if (toolTip) {\n toolTip.innerHTML = tipText;\n }\n }\n addBuffer(event, gLayer, buffEnabled) {\n if (buffEnabled) {\n this.buffValue = +document.getElementById(\"buffVal\").value;\n this.buffType = document.getElementById(\"buffType\").value;\n if (event.state === \"complete\") {\n const simpleFillSymbol = {\n type: \"simple-fill\",\n color: [220, 20, 60, 0.5],\n outline: {\n style: \"short-dash\",\n color: [255, 0, 0, 255],\n width: 2\n }\n };\n const toolGeo = event.graphic.geometry;\n geometryEngineAsync.geodesicBuffer(toolGeo, this.buffValue\n // @ts-ignore\n , this.buffType).then((buffer) => {\n const bufferGraphic = new Graphic({\n geometry: buffer,\n symbol: simpleFillSymbol,\n attributes: []\n });\n gLayer.add(bufferGraphic);\n // inform the calling component that there is a buffer to consider\n });\n }\n }\n }\n static ctorParameters = () => [];\n};\nDrawBufferToolbarComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-buffer-toolbar\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DrawBufferToolbarComponent);\nexport { DrawBufferToolbarComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./draw-remove-all.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"../../../esri-map/esri-map.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet DrawToolRemoveComponent = class DrawToolRemoveComponent {\n buffEnabled = true;\n constructor() {\n }\n addRemoveAllButton(mapView, graphicsLayer, bufferLayer, sketch) {\n const btnRemoveAll = document.getElementsByTagName(\"app-tool-remove\")[0];\n btnRemoveAll.addEventListener(\"click\", () => {\n if (mapView.map.findLayerById(graphicsLayer.id))\n mapView.map.findLayerById(graphicsLayer.id).removeAll();\n if (mapView.map.findLayerById(bufferLayer.id))\n mapView.map.findLayerById(bufferLayer.id).removeAll();\n });\n sketch.container.appendChild(btnRemoveAll);\n reactiveUtils.when(() => mapView?.ready === true, () => {\n const section = document.querySelectorAll(\".esri-sketch__section\");\n if (section[2]) {\n section[2].append(btnRemoveAll);\n }\n });\n }\n static ctorParameters = () => [];\n};\nDrawToolRemoveComponent = __decorate([\n Component({\n selector: \"app-tool-remove\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n Injectable({\n providedIn: \"root\"\n })\n], DrawToolRemoveComponent);\nexport { DrawToolRemoveComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./extent.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./extent.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nlet ExtentComponent = class ExtentComponent {\n constructor() { }\n addExtentTool(mapView) {\n const textContainer = document.getElementsByTagName(\"app-extent-tool\")[0];\n const textExtent = document.getElementById(\"extent\");\n const textSpatialRef = document.getElementById(\"spatialRef\");\n const textCenter = document.getElementById(\"center\");\n const textZoom = document.getElementById(\"zoom\");\n this.updateExtent(mapView, textExtent, textSpatialRef, textCenter, textZoom);\n return textContainer;\n }\n updateExtent(mapView, textExtent, textSpatialRef, textCenter, textZoom) {\n reactiveUtils.when(() => mapView?.stationary === true, () => {\n if (textExtent !== null && textExtent.innerHTML !== null) {\n if (mapView.extent) {\n textExtent.innerHTML = \"
xmin: \" + mapView.extent.xmin.toFixed(2) + \",\" +\n \"
xmax: \" + mapView.extent.xmax.toFixed(2) + \",\" +\n \"
ymin: \" + mapView.extent.ymin.toFixed(2) + \",\" +\n \"
ymax: \" + mapView.extent.ymax.toFixed(2);\n }\n if (mapView.spatialReference) {\n textSpatialRef.innerHTML = \"
spatial reference: wkid { \" + mapView.spatialReference.wkid + \"}\";\n }\n if (mapView.center) {\n textCenter.innerHTML = \"
center: [\" +\n mapView.center.x.toFixed(2) +\n \", \" +\n mapView.center.y.toFixed(2) + \"]\";\n }\n if (mapView.zoom) {\n textZoom.innerHTML = \"
zoom: \" + mapView.zoom.toFixed(0);\n }\n }\n });\n }\n static ctorParameters = () => [];\n};\nExtentComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-extent-tool\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ExtentComponent);\nexport { ExtentComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nlet LayerListComponent = class LayerListComponent {\n constructor() { }\n layerActions(event) {\n const item = event.item;\n item.actionsSections = [\n // [\n // {\n // title: \"Go to full extent\",\n // className: \"esri-icon-zoom-out-fixed\",\n // id: \"full-extent\"\n // },\n // ],\n [\n {\n title: \"Increase opacity\",\n className: \"esri-icon-up\",\n id: \"increase-opacity\"\n },\n {\n title: \"Decrease opacity\",\n className: \"esri-icon-down\",\n id: \"decrease-opacity\"\n }\n ]\n ];\n }\n layerActionTrigger(event) {\n const selectedLayer = event.item.layer;\n const id = event.action.id;\n // if (id === \"full-extent\") {\n // if(event.item.layer.spatialReference !== mapView.spatialReference){\n // const geomSer = new GeometryService({url:\n // \"http://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer\"});\n // const params = new ProjectParameters({\n // geometries: [event.item.layer.fullExtent],\n // outSpatialReference: mapView.spatialReference\n // });\n // geomSer.project(params).then(results => {\n // mapView.goTo(results[0]);\n // });\n // }else{\n // mapView.goTo(event.item.layer.fullExtent);\n // }\n // }\n if (id === \"increase-opacity\") {\n if (selectedLayer.opacity < 1) {\n selectedLayer.opacity += 0.25;\n }\n }\n if (id === \"decrease-opacity\") {\n if (selectedLayer.opacity > 0) {\n selectedLayer.opacity -= 0.25;\n }\n }\n }\n static ctorParameters = () => [];\n};\nLayerListComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LayerListComponent);\nexport { LayerListComponent };\n","var MapService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Map from \"@arcgis/core/Map\";\nimport MapView from \"@arcgis/core/views/MapView\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport esriConfig from \"@arcgis/core/config\";\nimport { MapTools } from \"./map.tools\";\nimport GraphicsLayer from \"@arcgis/core/layers/GraphicsLayer\";\nimport { AppConfig } from \"../../app.config\";\nimport MapImageLayer from \"@arcgis/core/layers/MapImageLayer\";\nimport SpatialReference from \"@arcgis/core/geometry/SpatialReference\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { CreateApplicationRoutingConstants } from \"../../create-application/create-application-routing.constants\";\nimport * as urlUtils from \"@arcgis/core/core/urlUtils\";\nimport { AuthService } from \"../../shared/services/auth/auth.service\";\nimport FeatureLayer from \"@arcgis/core/layers/FeatureLayer\";\nimport TileLayer from \"@arcgis/core/layers/TileLayer\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ApiModuleMapConstants } from \"../../shared/constants/api-constants/api-module-map.constants\";\nimport { ApiProxyConstants } from \"../../shared/constants/api-constants/api-proxy.constants\";\nimport { UserInformationService } from \"../../shared/services/user/user-information.service\";\nimport * as identify from \"@arcgis/core/rest/identify\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\nimport * as rxjsOperators from \"rxjs/operators\";\nimport ImageryLayer from \"@arcgis/core/layers/ImageryLayer\";\nimport ImageryTileLayer from \"@arcgis/core/layers/ImageryTileLayer\";\nimport VectorTileLayer from \"@arcgis/core/layers/VectorTileLayer\";\nimport WMTSLayer from \"@arcgis/core/layers/WMTSLayer\";\nimport WMSLayer from \"@arcgis/core/layers/WMSLayer\";\nimport Query from \"@arcgis/core/rest/support/Query\";\nimport { Location } from \"@angular/common\";\nimport { RequestStatusService } from \"../../shared/services/request-status/request-status.service\";\nimport Extent from \"@arcgis/core/geometry/Extent\";\nimport LOD from \"@arcgis/core/layers/support/LOD\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport LayerSearchSource from \"@arcgis/core/widgets/Search/LayerSearchSource\";\nimport { ModuleConfigService } from \"../../shared/services/module-config/module-config.service\";\nimport * as reactiveUtils from \"@arcgis/core/core/reactiveUtils\";\nimport { MapServiceConstants } from \"../../shared/constants/map-service.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet MapService = class MapService {\n static { MapService_1 = this; }\n mapTools;\n http;\n authService;\n userInformationService;\n moduleConfigService;\n location;\n requestStatusService;\n appController;\n // TODO: Are the MapDefault settings going to be set up in the config?\n // inner class used for internal map defaults if none are provided\n static MapDefaults = class {\n baseMap = \"streets-vector\";\n center = [23.273294, -33.946994];\n zoom = 10;\n };\n showPopups = true;\n actionPropertyEnabled = false;\n actionPropertyOwnerEnabled = false;\n actionGraveEnabled = false;\n actionBayEnabled = false;\n actionPOIEnabled = false;\n actionStreetEnabled = false;\n userMaps;\n layersLoadedSubject = new Subject();\n $layersLoaded = this.layersLoadedSubject.asObservable();\n removeAllMapToolGraphicsSubject = new Subject();\n $removeAllMapToolGraphics = this.removeAllMapToolGraphicsSubject.asObservable();\n layerTokens = [];\n isSysAdmin = false;\n mapFilter = \"moduleId eq \";\n _mapDefaults;\n _mapView;\n selectionLayers = [];\n layersLoading = 0;\n selectedPropertySubject = new Subject();\n $selectedProperty = this.selectedPropertySubject.asObservable();\n selectedPropertyOwnerSubject = new Subject();\n $selectedOwnerProperty = this.selectedPropertyOwnerSubject.asObservable();\n selectedGraveSubject = new Subject();\n $selectedGrave = this.selectedGraveSubject.asObservable();\n selectedBaySubject = new Subject();\n $selectedBay = this.selectedBaySubject.asObservable();\n selectedPOISubject = new Subject();\n $selectedPOISubject = this.selectedPOISubject.asObservable();\n selectedStreetSubject = new Subject();\n $selectedStreetSubject = this.selectedStreetSubject.asObservable();\n proceedMapLoading = new BehaviorSubject(false);\n $proceedMapLoading = this.proceedMapLoading.asObservable();\n authUserInformation;\n applicationLayer = new BehaviorSubject(null);\n httpGetSubscription;\n constructor(mapTools, http, authService, userInformationService, moduleConfigService, location, requestStatusService, appController) {\n this.mapTools = mapTools;\n this.http = http;\n this.authService = authService;\n this.userInformationService = userInformationService;\n this.moduleConfigService = moduleConfigService;\n this.location = location;\n this.requestStatusService = requestStatusService;\n this.appController = appController;\n this._mapDefaults = new MapService_1.MapDefaults();\n this.getAuthUserInformation();\n }\n static drawGraphic(graphic, graphicsLayer) {\n graphicsLayer.add(graphic);\n }\n static addGraphicsLayer(mapView, layerReference) {\n if (mapView !== undefined && mapView !== null && mapView.map !== undefined && mapView.map !== null && mapView.map) {\n let graphicsLayer = null;\n if (layerReference !== null) {\n mapView.map.layers.forEach(item => {\n // tslint:disable-next-line:triple-equals\n if (item.type === \"graphics\" && item.id == layerReference && graphicsLayer === null) {\n graphicsLayer = item;\n }\n });\n }\n if (graphicsLayer === null) {\n graphicsLayer = new GraphicsLayer({\n listMode: \"hide\",\n id: layerReference ? layerReference : \"graphicsLayer\"\n });\n mapView.map.add(graphicsLayer);\n }\n return graphicsLayer;\n }\n }\n static removeGraphicsLayer(mapView, layerReference) {\n if (mapView !== undefined && mapView !== null && mapView.map !== undefined && mapView.map !== null &&\n mapView.map && mapView.map.layers.length > 0) {\n mapView.map.layers.forEach((layer) => {\n if (layer.type === \"graphics\" && layer.id === layerReference) {\n mapView.map.layers.remove(layer);\n }\n });\n }\n }\n static getStartApplicationRoute() {\n const route = `${CreateApplicationRoutingConstants.CREATE_APPLICATION_ROUTE}\\\r\n ${AppRoutingConstants.ROUTE_SEPERATOR}\\\r\n ${CreateApplicationRoutingConstants.DETAILS_ROUTE}`;\n const emptySpaceRe = new RegExp(\" \", \"gi\");\n return route.replace(emptySpaceRe, \"\");\n }\n setProceedMapLoading(proceed) {\n this.proceedMapLoading.next(proceed);\n }\n destroyMap() {\n this.actionPropertyEnabled = false;\n this.actionPropertyOwnerEnabled = false;\n this.actionGraveEnabled = false;\n this.actionBayEnabled = false;\n this.actionPOIEnabled = false;\n this.actionStreetEnabled = false;\n this.userMaps = [];\n this.layerTokens = [];\n this._mapView = null;\n this.layersLoading = 0;\n this.mapTools.mapTools = [];\n }\n async displayMap(mapViewEl, mapDefaults = this._mapDefaults, moduleId) {\n if (!mapViewEl) {\n throw new Error(\"Map View element doesnt exist\");\n }\n this.requestStatusService.showBusySpinner(\"LoadingEsriMap\");\n const mapView = this.getMapView(mapDefaults, moduleId);\n if (mapView) {\n mapView.container = mapViewEl.nativeElement;\n }\n await mapView.when(() => {\n this.userMaps = [];\n // this.addActions();\n }, (error) => {\n console.log(error);\n });\n return mapView;\n }\n toggleBuffer(event) {\n this.mapTools.toggleBuffer(event);\n }\n removeAllMapToolGraphics() {\n this.removeAllMapToolGraphicsSubject.next(true);\n }\n fetchModuleData(moduleId, showOnlyPropertyAndZoningLayers = false, showOnlyOrganisationMaps = false, showApplicationsAndBasemapLayers) {\n const params = {\n $filter: \"\",\n $orderby: \"mapOrder desc\"\n };\n if (showOnlyOrganisationMaps === true) {\n params.$filter = `moduleId eq null`;\n }\n else {\n params.$filter = `moduleId eq ${moduleId} or (moduleId eq null and organisationId eq ${this.userInformationService.getOrganisationId(moduleId)})`;\n }\n this.httpGetSubscription = this.http.get(`${ApiModuleMapConstants.URL}/${ApiModuleMapConstants.FUNCTION_GET_MODULE_FOR_AFLA_PORTAL}`, { params })\n .subscribe((response) => {\n this.userMaps = [];\n const urls = [];\n const loadedIds = [];\n this.selectionLayers = [];\n response.value.sort((a, b) => 0 - (a.mapOrder > b.mapOrder ? -1 : 1));\n for (const item of response.value) {\n if (item.moduleId !== undefined && item.moduleId !== null) {\n urls.push(item.url);\n if (item.selectionLayerType !== undefined && item.selectionLayerType !== null) {\n this.selectionLayers.push(item.selectionLayerType);\n }\n this.addProxyRule(item.url);\n const addedLayer = this.addLayer(item.url, item.type, item.name, item.selectionLayerType, item.defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers);\n item.layer = addedLayer;\n this.userMaps.push(item);\n loadedIds.push(item.id);\n }\n }\n for (const item of response.value) {\n if (loadedIds.indexOf(item.id) === -1) {\n if (item.moduleId === undefined || item.moduleId === null && urls.indexOf(item.url) === -1) {\n if (item.selectionLayerType !== undefined && item.selectionLayerType !== null) {\n if (this.selectionLayers.indexOf(item.selectionLayerType) >= 0) {\n continue;\n }\n this.selectionLayers.push(item.selectionLayerType);\n }\n urls.push(item.url);\n this.addProxyRule(item.url);\n const addedLayer = this.addLayer(item.url, item.type, item.name, item.selectionLayerType, item.defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers);\n item.layer = addedLayer;\n this.userMaps.push(item);\n }\n }\n }\n const foundAppLayer = this.userMaps.find(a => a.selectionLayerType === MapServiceConstants.APPLICATION_LAYER);\n this.applicationLayer.next(foundAppLayer?.layer);\n if (this.userMaps.length === 0) {\n this.requestStatusService.removeBusySpinner(\"LoadingEsriMap\");\n this.layersLoadedSubject.next(true);\n }\n // Get the secure layer tokens here so that we don't have to make another asynchronous call when we intercept the print task\n this.userMaps.forEach((layer) => {\n const paramsIndex = layer.url.indexOf(\"/rest\");\n const paramsDomain = layer.url.slice(0, paramsIndex);\n const mapIndex = AppConfig.settings.arcGIS.printServiceURL.indexOf(\"/rest\");\n const mapDomain = AppConfig.settings.arcGIS.printServiceURL.slice(0, mapIndex);\n if (paramsDomain !== mapDomain) {\n const tokenRequestParams = this.getTokenRequestParams(layer);\n if (tokenRequestParams) {\n const getLayerTokenHeaders = {\n MapServiceId: tokenRequestParams.MapServiceId,\n Authorization: tokenRequestParams.authorization\n };\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n this.getLayerToken(`${apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL_LAYER_TOKEN)}?${layer.url}`, { headers: getLayerTokenHeaders }).subscribe((token) => {\n const layerToken = this.layerTokens.filter((l) => l.id === layer.id);\n // Avoid duplicates\n if (layerToken.length < 1) {\n this.layerTokens.push({\n layer,\n auth: token\n });\n }\n }, (error) => {\n console.log(error);\n });\n }\n }\n });\n this.checkIfMapsAreLoaded();\n });\n }\n setProxySettings() {\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n urlUtils.addProxyRule({\n urlPrefix: AppConfig.settings.arcGIS.servicesURL,\n proxyUrl: apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL)\n });\n this.urlInterceptor();\n }\n addGeometriesAsGraphics(geometries, mapView, layerReference, clearBeforeAdd) {\n this.addGraphics(this.transformGeometryToGraphic(geometries), mapView, layerReference, clearBeforeAdd);\n }\n removeGraphicsLayer(mapView, layerReference) {\n MapService_1.removeGraphicsLayer(mapView, layerReference);\n }\n // Required to get Esri Worker\n externalEsriLoader() {\n esriConfig.assetsPath = this.location.prepareExternalUrl(\"assets\");\n }\n executeIdentifyTask(event, params, url, mapView) {\n if (this.showPopups === true) {\n let canShowPopups = false;\n this.userMaps.forEach(item => {\n if (item.url === url) {\n canShowPopups = true;\n }\n });\n if (canShowPopups) {\n params.geometry = event.mapPoint;\n params.mapExtent = mapView.extent;\n identify.identify(url, params).then((response) => {\n const results = response.results;\n return results.map((result) => {\n const feature = result.feature;\n const layerName = result.layerName;\n feature.attributes.layerName = layerName;\n const fields = [];\n for (const [key, value] of Object.entries(feature.attributes)) {\n fields.push({ fieldName: key, label: key });\n }\n feature.popupTemplate = {\n title: layerName, content: [{\n type: \"fields\", fieldInfos: fields\n }]\n };\n return feature;\n });\n })\n .then(response => {\n if (response && this.showPopups === true) {\n this.showPopup(event, response, mapView);\n }\n });\n }\n }\n }\n executeQueryTask(event, layer, layerName, mapView, url) {\n if (layer.popupEnabled) {\n let canShowPopups = false;\n let canShowPropertyAction = false;\n let canShowPropertyOwnerAction = false;\n let canShowGraveAction = false;\n let canShowBayAction = false;\n let canShowPOIAction = false;\n let canShowStreetAction = false;\n this.userMaps.forEach(item => {\n if (item.url === url) {\n canShowPopups = true;\n if (item.selectionLayerType.toLowerCase() === \"property\" && this.actionPropertyEnabled) {\n canShowPropertyAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"application\") {\n canShowPropertyAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"property owner\" && this.actionPropertyOwnerEnabled) {\n canShowPropertyOwnerAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"grave\" && this.actionGraveEnabled) {\n canShowGraveAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"bays\" && this.actionBayEnabled) {\n canShowBayAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"poi\" && this.actionPOIEnabled) {\n canShowPOIAction = true;\n }\n if (item.selectionLayerType.toLowerCase() === \"street\" && this.actionStreetEnabled) {\n canShowStreetAction = true;\n }\n }\n });\n const geometry = event.mapPoint;\n const query = new Query();\n query.geometry = geometry;\n query.distance = this.getBufferByModule();\n query.units = \"meters\";\n query.returnGeometry = true;\n query.outFields = [\"*\"];\n query.where = \"1=1\";\n layer.queryFeatures(query).then((results) => {\n const features = results.features;\n return features.map((feature) => {\n feature.attributes.layerName = layerName;\n const fields = [];\n for (const [key, value] of Object.entries(feature.attributes)) {\n let alias = key;\n results.fields.forEach(field => {\n if (field.name === key) {\n alias = field.alias;\n }\n });\n fields.push({ fieldName: key, label: alias });\n }\n const template = {\n title: layerName,\n content: [{\n type: \"fields\",\n fieldInfos: fields\n }],\n actions: []\n };\n if (canShowPropertyAction) {\n const propertyAction = {\n title: \"Add property\",\n id: \"add-property\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(propertyAction);\n }\n if (canShowBayAction) {\n const bayAction = {\n title: \"Add bay\",\n id: \"add-bay\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(bayAction);\n }\n if (canShowPropertyOwnerAction) {\n const propertyOwnerAction = {\n title: \"Add property owner\",\n id: \"add-property-owner\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(propertyOwnerAction);\n }\n if (canShowPOIAction) {\n const poiAction = {\n title: \"Select POI\",\n id: \"add-POI\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(poiAction);\n }\n if (canShowStreetAction) {\n const streetAction = {\n title: \"Select street\",\n id: \"add-street\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(streetAction);\n }\n if (canShowGraveAction) {\n const graveAction = {\n title: \"Add grave\",\n id: \"add-grave\",\n image: \"assets/images/plus.png\"\n };\n template.actions.push(graveAction);\n }\n feature.popupTemplate = template;\n this.addActions();\n return feature;\n });\n })\n .then(response => {\n if (response && layer.popupEnabled) {\n this.showPopup(event, response, mapView);\n }\n });\n }\n }\n clearGraphics(mapView, layerReference) {\n const graphicsLayer = MapService_1.addGraphicsLayer(mapView, layerReference);\n if (graphicsLayer) {\n graphicsLayer.removeAll();\n }\n }\n filterApplicationsByAuthUser($authenticatedUser) {\n $authenticatedUser.subscribe((authUser) => {\n this._mapView.map.layers.forEach((layer) => {\n if (layer.hasOwnProperty(\"sublayers\")) {\n const subLayers = layer.sublayers;\n subLayers.forEach((sublayer) => {\n sublayer.definitionExpression = `CreatedUserId = ${authUser?.id}`;\n sublayer.visible = true;\n });\n }\n });\n });\n }\n addActions() {\n let isProcessing = false;\n this._mapView?.popup.on(\"trigger-action\", (event) => {\n if (isProcessing)\n return;\n isProcessing = true;\n const selectedFeature = this._mapView.popup.selectedFeature;\n if (event.action.id === \"add-property\") {\n this.selectedPropertySubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-property-owner\") {\n this.selectedPropertyOwnerSubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-grave\") {\n this.selectedGraveSubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-bay\") {\n this.selectedBaySubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-POI\") {\n this.selectedPOISubject.next(selectedFeature);\n }\n else if (event.action.id === \"add-street\") {\n this.selectedStreetSubject.next(selectedFeature);\n }\n // Reset the processing flag after a short delay\n setTimeout(() => {\n isProcessing = false;\n }, 1000); // Adjust the delay as needed\n });\n }\n checkForSysAdmin(mapView) {\n this.userInformationService.$userInformationFetched.subscribe((fetched) => {\n if (fetched) {\n this.isSysAdmin = this.userInformationService.isSysadminAdmin();\n this.mapTools.addExtent(mapView, this.isSysAdmin);\n }\n });\n }\n addProxyRule(url) {\n const index = url.indexOf(\"/rest\");\n const domain = url.slice(0, index);\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n urlUtils.addProxyRule({\n urlPrefix: domain,\n proxyUrl: apiUrl.replace(AppRoutingConstants.API_PREFIX, ApiProxyConstants.URL)\n });\n }\n getAuthUserInformation() {\n this.userInformationService.$authenticatedUser.subscribe({\n next: (authUser) => {\n this.authUserInformation = authUser;\n }\n });\n }\n addLayer(url, type, title, selectionLayerType, defaultVisibility, showOnlyPropertyAndZoningLayers, showApplicationsAndBasemapLayers) {\n let layer = null;\n switch (type) {\n case \"MapImageLayer\": {\n this.layersLoading++;\n layer = new MapImageLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"TileLayer\": {\n this.layersLoading++;\n layer = new TileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"FeatureLayer\": {\n this.layersLoading++;\n layer = new FeatureLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"ImageryLayer\": {\n this.layersLoading++;\n layer = new ImageryLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"ImageryTileLayer\": {\n this.layersLoading++;\n layer = new ImageryTileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"VectorTileLayer\": {\n this.layersLoading++;\n layer = new VectorTileLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"WMSLayer\": {\n this.layersLoading++;\n layer = new WMSLayer({\n url,\n title,\n visible: defaultVisibility\n });\n break;\n }\n case \"WMTSLayer\": {\n this.layersLoading++;\n layer = new WMTSLayer({\n url,\n title,\n visible: defaultVisibility,\n });\n break;\n }\n default: {\n break;\n }\n }\n if (!showApplicationsAndBasemapLayers && selectionLayerType === MapServiceConstants.APPLICATION_LAYER || !showApplicationsAndBasemapLayers && selectionLayerType === MapServiceConstants.AFLA_PORTAL_APPLICATION_LAYER) {\n // prevent adding applications layer and base maps on create application location steps\n this.layerAdded(null);\n return layer;\n }\n if (layer !== null && this._mapView) {\n // owner layer not added to the map but is required in the background for the UserMaps array\n if (!showOnlyPropertyAndZoningLayers || (selectionLayerType === MapServiceConstants.PROPERTY_LAYER || selectionLayerType === MapServiceConstants.PROPERTY_ZONING_LAYER)) {\n // @ts-ignore\n layer.legendEnabled = true;\n this._mapView.map.add(layer);\n layer.on(\"layerview-create\", event => {\n this.layerAdded(event);\n });\n layer.on(\"layerview-create-error\", event => {\n this.layerAdded(event);\n });\n }\n else {\n // need to remove the spinner if the layer was not loaded to the map\n this.layerAdded(null);\n }\n }\n return layer;\n }\n layerAdded(event) {\n this.layersLoading--;\n if (this.layersLoading === 0) {\n this.requestStatusService.removeBusySpinner(\"LoadingEsriMap\");\n this.layersLoadedSubject.next(true);\n }\n }\n showPopup(event, response, mapView) {\n if (response.length > 0) {\n mapView.popup.dockOptions = {\n breakpoint: false,\n buttonEnabled: false,\n position: \"bottom-left\"\n };\n mapView.popup.open({\n features: response,\n location: event.mapPoint\n });\n // remove this when upgrading calcite: this is a hack to get the beta working\n setTimeout(() => {\n try {\n document.querySelector(\"calcite-flow-item\").shadowRoot.querySelector(\"calcite-panel\").shadowRoot.querySelector(\".header\").setAttribute(\"style\", \"display:none;\");\n document.querySelector(\"calcite-flow-item\").shadowRoot.querySelector(\"calcite-panel\").shadowRoot.querySelector(\".footer\").setAttribute(\"style\", \"display:none;\");\n }\n catch (e) {\n // ignore all errors\n }\n }, 350);\n }\n }\n transformGeometryToGraphic(geometries) {\n const graphics = [];\n geometries.forEach(item => {\n let symbol = {};\n if (item.type === \"mesh\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.mesh;\n }\n else if (item.type === \"point\" || item.type === \"multipoint\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.point;\n }\n else if (item.type === \"polyline\") {\n symbol = AppConfig.settings.selectedGeometrySymbols.polyline;\n }\n else {\n symbol = AppConfig.settings.selectedGeometrySymbols.polygon;\n }\n const graphic = new Graphic({ geometry: item, symbol });\n graphics.push(graphic);\n });\n return graphics;\n }\n addGraphics(graphics, mapView, layerReference, clearBeforeAdd) {\n const graphicsLayer = MapService_1.addGraphicsLayer(mapView, layerReference);\n if (graphicsLayer) {\n if (clearBeforeAdd !== null && clearBeforeAdd === true) {\n graphicsLayer.removeAll();\n }\n if (graphics && graphics.length > 0 && mapView) {\n graphics.forEach(graphic => {\n MapService_1.drawGraphic(graphic, graphicsLayer);\n });\n if (graphics[graphics.length - 1].geometry.extent !== null) {\n mapView.goTo(graphics[graphics.length - 1].geometry.extent.expand(1.2)).then().catch((error) => {\n // This function returns a promise which resolves as soon as the new view has been set to the target.\n // If setting the view to the new target fails, the promise returned by the goTo() method rejects with an error. Use a catch statement, to handle the error\n if (error.name !== \"AbortError\") {\n console.error(error);\n }\n });\n }\n else {\n mapView.goTo(graphics[graphics.length - 1].geometry).then().catch((error) => {\n // This function returns a promise which resolves as soon as the new view has been set to the target.\n // If setting the view to the new target fails, the promise returned by the goTo() method rejects with an error. Use a catch statement, to handle the error\n if (error.name !== \"AbortError\") {\n console.error(error);\n }\n });\n }\n }\n // mapView.map.add(graphicsLayer);\n }\n }\n createMapView(mapDefaults, moduleId) {\n const mapProperties = {\n basemap: mapDefaults.baseMap\n };\n const map = new Map(mapProperties);\n let mapViewProperties = {};\n const levelOfDetails = [];\n let lodIndex = 1;\n if (AppConfig.settings.defaultMapScales.length > 0) {\n AppConfig.settings.defaultMapScales.forEach((scale) => {\n if (scale.show.toLowerCase() === \"true\") {\n const lod = new LOD({ level: lodIndex, levelValue: lodIndex.toString(), scale: scale.scale });\n levelOfDetails.push(lod);\n lodIndex++;\n }\n });\n mapViewProperties = {\n map,\n spatialReference: new SpatialReference({\n wkid: 102100,\n }),\n constraints: {\n lods: levelOfDetails\n },\n center: mapDefaults.center,\n zoom: mapDefaults.zoom\n };\n }\n else {\n mapViewProperties = {\n map,\n spatialReference: new SpatialReference({\n wkid: 102100,\n }),\n center: mapDefaults.center,\n zoom: mapDefaults.zoom\n };\n }\n const mapView = new MapView(mapViewProperties);\n mapView.ui.move(\"zoom\", \"bottom-right\");\n this.appController.$selectedOrgSubject.subscribe((organisation) => {\n if (organisation !== undefined && organisation !== null && organisation.defaultExtent !== undefined && organisation.defaultExtent !== null\n && organisation.defaultExtent !== \"\") {\n try {\n const extent = new Extent(JSON.parse(organisation.defaultExtent));\n mapView.extent = extent;\n }\n catch (e) {\n this.appController.showMessage(\"Organisation's default extent is incorrectly set. Please contact your system administrator.\", AlertType.Success);\n }\n }\n });\n this.mapTools.mapTools = [];\n this.mapTools.addDraw(mapView);\n this.mapTools.addSearch(mapView);\n this.mapTools.addBasemaps(mapView);\n // this.mapTools.addPrint(mapView, moduleId);\n this.mapTools.addMeasure(mapView);\n this.mapTools.addLegend(mapView);\n this.mapTools.addLayerList(mapView);\n this.mapTools.addBookmark(mapView);\n this.mapTools.addHome(mapView);\n reactiveUtils.when(() => mapView?.ready === true, () => {\n this.checkForSysAdmin(mapView);\n });\n return mapView;\n }\n urlInterceptor() {\n esriConfig.request.interceptors.push({\n before: (params) => {\n if (params.url.startsWith(AppConfig.settings.arcGIS.servicesURL)) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n params.requestOptions.headers = params.requestOptions.headers || {};\n params.requestOptions.headers.authorization = \"Bearer \" + identityToken;\n }\n // Intercept the print POST action to set the token of the secured layers that were not published onto the AGS of the Print Task\n if (params.url === `${AppConfig.settings.arcGIS.printServiceURL}/execute`) {\n const webMapObj = JSON.parse(params.requestOptions.query.Web_Map_as_JSON);\n let updatedWebMapObj = params.requestOptions.query.Web_Map_as_JSON;\n webMapObj.operationalLayers.forEach((layer) => {\n const paramsIndex = layer.url.indexOf(\"/rest\");\n const paramsDomain = layer.url.slice(0, paramsIndex);\n const mapIndex = AppConfig.settings.arcGIS.printServiceURL.indexOf(\"/rest\");\n const mapDomain = AppConfig.settings.arcGIS.printServiceURL.slice(0, mapIndex);\n if (paramsDomain !== mapDomain) {\n const legendLayer = webMapObj.layoutOptions.legendOptions.operationalLayers.filter((l) => l.id === layer.id);\n if (legendLayer.length > 0 && (legendLayer[0].id === layer.id)) {\n this.layerTokens.forEach((lt) => {\n if (layer.url.includes(lt.layer.url)) {\n layer.url = `${layer.url}?token=${lt.auth}`;\n updatedWebMapObj = JSON.stringify(webMapObj);\n }\n });\n }\n }\n });\n delete params.requestOptions.query.Web_Map_as_JSON;\n params.requestOptions.query.Web_Map_as_JSON = updatedWebMapObj;\n }\n if (this.userMaps) {\n for (const map of this.userMaps) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n params.requestOptions.headers = params.requestOptions.headers || {};\n const paramsIndex = params.url.indexOf(\"/rest\");\n const paramsDomain = params.url.slice(0, paramsIndex);\n const mapIndex = map.url.indexOf(\"/rest\");\n const mapDomain = map.url.slice(0, mapIndex);\n if (paramsDomain === mapDomain) {\n params.requestOptions.headers.authorization = `Bearer ${identityToken}`;\n params.requestOptions.headers.MapServiceId = `${map.id}`;\n }\n }\n }\n },\n after: (response) => {\n if (response.url === AppConfig.settings.arcGIS.printServiceURL + \"/execute\") {\n // This prevents the link from opening on a new browser tab through the proxy. No need to be authenticated when opening the print\n response.data.results.forEach((result) => {\n Array.from(document.getElementsByClassName(\"esri-print__exported-file-link\")).forEach((link) => {\n link.addEventListener(\"click\", (e) => {\n if (!e.defaultPrevented) {\n e.preventDefault();\n e.stopPropagation();\n window.open(result.value.url, \"_blank\");\n }\n });\n });\n });\n }\n }\n });\n }\n getMapView(mapDefaults, moduleId) {\n this._mapView = this.createMapView(mapDefaults, moduleId);\n // this.addPropertyLayer(this._mapView);\n return this._mapView;\n }\n getTokenRequestParams(layer) {\n for (const map of this.userMaps) {\n if (layer.url.includes(map.url)) {\n let identityToken = \"\";\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n identityToken = tokenChange;\n });\n const tokenRequestParams = {\n authorization: `Bearer ${identityToken}`,\n MapServiceId: `${map.id}`\n };\n return tokenRequestParams;\n }\n }\n }\n getLayerToken(endPointUrl, params) {\n return this.http.get(endPointUrl, params)\n .pipe(rxjsOperators.map(response => {\n return response;\n }));\n }\n // check if maps are available\n checkIfMapsAreLoaded() {\n if (this.userMaps.length > 0) {\n this.subscribeToMapsLoaded(this._mapView);\n }\n }\n subscribeToMapsLoaded(mapView) {\n this.addMapsInSearchComponent(mapView);\n }\n // adds the maps into the search widget\n addMapsInSearchComponent(mapView) {\n const searchWidget = mapView?.ui?.find(\"searchWidget\");\n mapView.map?.layers.forEach((layer) => {\n if (layer.type === \"feature\" && this.isSelectionLayer(layer)) {\n const l = layer;\n l.load().then((loadedMapLayer) => {\n const source = this.prepareSearchSource(loadedMapLayer);\n searchWidget.sources.push(source);\n searchWidget.sources.sort((a, b) => a.name.localeCompare(b.name));\n });\n }\n });\n }\n // This function builds and returns a LayerSearchSource for a given layer\n prepareSearchSource(loadedMapLayer) {\n const forbiddenFields = [\n \"shape\",\n \"startdate\",\n \"endDate\",\n \"registered\",\n \"OBJECTID\",\n \"SgCode\",\n \"PtnNum \",\n \"Shape_Length\",\n \"Shape_Area\",\n \"PremiseID\",\n \"SgCodeExternal\",\n \"Registered\",\n \"SgDiagramNo\",\n \"ErfSize\",\n \"HasGeometry\",\n \"Allotment\",\n \"IDNumber\",\n \"Property_OBJECTID\",\n \"ModuleID\",\n \"GlobalID\",\n \"CemeteryID\"\n ].map(field => field.toLowerCase());\n const fields = loadedMapLayer.fields\n .filter((field) => !forbiddenFields.includes(field.name.toLowerCase().trim()) && (field.type !== \"small-integer\" && field.type !== \"date\" && field.type !== \"geometry\"))\n .map(field => field.name);\n const suggestionTemplate = fields?.map((field, index) => `${fields[index]}: {${field}}
`).join(\"\");\n return new LayerSearchSource({\n layer: loadedMapLayer,\n searchFields: fields,\n suggestionTemplate,\n exactMatch: false,\n placeholder: `Search ${loadedMapLayer.title}`,\n outFields: [\"*\"],\n name: loadedMapLayer.title,\n withinViewEnabled: false,\n suggestionsEnabled: true,\n maxSuggestions: 50,\n minSuggestCharacters: 1,\n });\n }\n // This function checks whether a layer is a selection layer\n isSelectionLayer(selectedLayer) {\n let isSelectionLayer = false;\n for (const userMap of this.userMaps) {\n if (userMap.layer.id === selectedLayer.id && userMap.selectionLayerType.toLowerCase() !== \"application\") {\n isSelectionLayer = true;\n break;\n }\n }\n return isSelectionLayer;\n }\n getBufferByModule() {\n let defaultQueryBuffer = 0;\n if (this.moduleConfigService.isStreetNamingModule()) {\n defaultQueryBuffer = 12;\n }\n return defaultQueryBuffer;\n }\n static ctorParameters = () => [\n { type: MapTools },\n { type: HttpClient },\n { type: AuthService },\n { type: UserInformationService },\n { type: ModuleConfigService },\n { type: Location },\n { type: RequestStatusService },\n { type: AppControllerService }\n ];\n};\nMapService = MapService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], MapService);\nexport { MapService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport BasemapGallery from \"@arcgis/core/widgets/BasemapGallery\";\nimport Expand from \"@arcgis/core/widgets/Expand\";\nimport GraphicsLayer from \"@arcgis/core/layers/GraphicsLayer\";\nimport Sketch from \"@arcgis/core/widgets/Sketch\";\nimport Measurement from \"@arcgis/core/widgets/Measurement\";\nimport Legend from \"@arcgis/core/widgets/Legend\";\nimport LayerList from \"@arcgis/core/widgets/LayerList\";\nimport Search from \"@arcgis/core/widgets/Search\";\nimport { UserInformationService } from \"../../shared/services/user/user-information.service\";\nimport Bookmarks from \"@arcgis/core/widgets/Bookmarks\";\nimport { DrawToolRemoveComponent } from \"./draw/draw-remove-all/draw-remove-all\";\nimport { DrawBufferToolbarComponent } from \"./draw/draw-buffer/draw-buffer-toolbar\";\nimport { DrawBufferCheckboxComponent } from \"./draw/draw-buffer/draw-buffer-checkbox\";\nimport { MeasureComponent } from \"./measure/measure.component\";\nimport CoordinateConversion from \"@arcgis/core/widgets/CoordinateConversion\";\nimport { ExtentComponent } from \"./extent/extent.component\";\nimport { LayerListComponent } from \"./layer-list/layer-list.component\";\nimport { BookmarkComponent } from \"./bookmark/bookmark.component\";\nimport { SearchComponent } from \"./search/search.component\";\nimport Home from \"@arcgis/core/widgets/Home\";\nlet MapTools = class MapTools {\n userInformationService;\n drawRemoveAll;\n bufferWindow;\n bufferCheckbox;\n measureTool;\n extentTool;\n layerList;\n bookmark;\n search;\n buffEnabled;\n bufferLayer;\n sketchGraphicsLayer;\n mapTools = [];\n expandableWidgets = {};\n constructor(userInformationService, drawRemoveAll, bufferWindow, bufferCheckbox, measureTool, extentTool, layerList, bookmark, search) {\n this.userInformationService = userInformationService;\n this.drawRemoveAll = drawRemoveAll;\n this.bufferWindow = bufferWindow;\n this.bufferCheckbox = bufferCheckbox;\n this.measureTool = measureTool;\n this.extentTool = extentTool;\n this.layerList = layerList;\n this.bookmark = bookmark;\n this.search = search;\n }\n addBasemaps(mapView) {\n const basemapGallery = new BasemapGallery({\n view: mapView,\n source: {\n portal: {\n url: \"https://www.arcgis.com\",\n useVectorBasemaps: false\n }\n }\n });\n this.addToolExpand(mapView, basemapGallery, \"basemapGalleryWidget\", \"top-right\", \"Select Basemap\");\n }\n addDraw(mapView) {\n this.sketchGraphicsLayer = new GraphicsLayer({\n id: \"Draw Tool Layer\",\n title: \"Draw Tool Layer\",\n listMode: \"hide\",\n });\n this.bufferLayer = new GraphicsLayer({\n title: \"Buffer Layer\",\n listMode: \"hide\"\n });\n mapView.map.add(this.bufferLayer);\n mapView.map.add(this.sketchGraphicsLayer);\n // TODO: Hide error Accessor#set 'hybrid' is not a valid value for this property, only the following values are valid: 'freehand', 'click'\n const sketch = new Sketch({\n defaultCreateOptions: {\n mode: \"hybrid\"\n },\n view: mapView,\n layer: this.sketchGraphicsLayer,\n id: \"drawTool\",\n container: document.createElement(\"div\"),\n });\n this.drawRemoveAll.addRemoveAllButton(mapView, this.sketchGraphicsLayer, this.bufferLayer, sketch);\n this.bufferCheckbox.addBufferCheckbox(mapView);\n this.bufferWindow.addBufferWindow(mapView, sketch);\n this.addToolExpand(mapView, sketch, \"drawTool\", \"top-left\", \"Draw\", \"brush-mark\");\n sketch.on(\"create\", event => {\n this.bufferWindow.addBuffer(event, this.bufferLayer, this.buffEnabled);\n });\n this.mapTools.push(sketch);\n }\n toggleBuffer(event) {\n this.buffEnabled = event;\n if (!event) {\n this.bufferLayer.removeAll();\n }\n }\n addMeasure(mapView) {\n const Measure = new Measurement({\n view: mapView,\n linearUnit: \"meters\",\n areaUnit: \"square-meters\",\n id: \"measure\"\n });\n const Location = new CoordinateConversion({\n view: mapView,\n });\n this.measureTool.initializeMeasureTool(mapView, Measure, Location);\n const btnMeasure = document.getElementById(\"measureWidget\");\n this.addToolExpand(mapView, btnMeasure, \"measureWidget\", \"top-left\", \"Measure\", \"measure-area\");\n }\n // public addPrint(mapView: MapView, moduleId: number): void {\n // const print = this.printTool.initializePrintTool(mapView, moduleId);\n // this.addToolExpand(mapView, print, \"printWidget\", \"top-left\", \"Print\");\n // }\n addExtent(mapView, isSysAdmin) {\n if (isSysAdmin) {\n const textContainer = this.extentTool.addExtentTool(mapView);\n this.addToolExpand(mapView, textContainer, \"textContainerWidget\", \"top-left\", \"Get Current Extent\", \"extent\");\n }\n }\n addLegend(mapView) {\n const legend = new Legend({\n view: mapView\n });\n this.addToolExpand(mapView, legend, \"legendWidget\", \"top-right\", \"Legend\");\n }\n addLayerList(mapView) {\n const layerList = new LayerList({\n view: mapView,\n listItemCreatedFunction: this.layerList.layerActions\n });\n this.addToolExpand(mapView, layerList, \"layerListWidget\", \"top-right\", \"Layers\");\n layerList.on(\"trigger-action\", event => {\n this.layerList.layerActionTrigger(event);\n });\n }\n addBookmark(mapView) {\n const bookmarks = new Bookmarks({\n view: mapView,\n editingEnabled: true,\n });\n const bookmarksCollection = this.bookmark.addBookmarks();\n bookmarks.bookmarks = bookmarksCollection;\n this.addToolExpand(mapView, bookmarks, \"bookmarksWidget\", \"top-right\", \"Bookmark\");\n }\n addSearch(mapView) {\n const sources = this.search.getCustomSources();\n const search = new Search({\n id: \"searchWidget\", view: mapView,\n allPlaceholder: \"Search for place or address\", sources,\n suggestionsEnabled: true,\n maxSuggestions: 6,\n minSuggestCharacters: 0,\n includeDefaultSources: false,\n });\n search.on(\"search-complete\", (event) => {\n if (event && event.results && event.results.length > 0) {\n this.search.searchMultipleResults(event, mapView);\n }\n });\n mapView.ui.add(search, \"top-right\");\n }\n addHome(mapView) {\n const homeBtn = new Home({\n view: mapView\n });\n // Add the home button to the top left corner of the view\n mapView.ui.add(homeBtn, \"top-right\");\n }\n addToolExpand(mapView, tool, name, position, Title, icon) {\n const expand = new Expand({\n expandTooltip: Title,\n view: mapView,\n content: tool,\n expandIcon: icon\n });\n mapView.ui.add(expand, position);\n this.expandableWidgets[name] = expand;\n }\n getMapTool(id) {\n return this.mapTools.find(t => t.id === id);\n }\n expandWidget(name) {\n this.expandableWidgets[name].expand();\n }\n collapseWidget(name) {\n this.expandableWidgets[name].collapse();\n }\n static ctorParameters = () => [\n { type: UserInformationService },\n { type: DrawToolRemoveComponent },\n { type: DrawBufferToolbarComponent },\n { type: DrawBufferCheckboxComponent },\n { type: MeasureComponent },\n { type: ExtentComponent },\n { type: LayerListComponent },\n { type: BookmarkComponent },\n { type: SearchComponent }\n ];\n};\nMapTools = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], MapTools);\nexport { MapTools };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./measure.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./measure.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Injectable } from \"@angular/core\";\nlet MeasureComponent = class MeasureComponent {\n constructor() { }\n initializeMeasureTool(mapView, Measure, Location) {\n const btnArea = document.getElementById(\"areaMeasure\");\n const btnLocation = document.getElementById(\"idMeasure\");\n const btnDistance = document.getElementById(\"linearMeasure\");\n const btnRemove = document.getElementById(\"removeMeasure\");\n btnArea.addEventListener(\"click\", () => { switchToArea(); });\n btnDistance.addEventListener(\"click\", () => { switchToDistance(); });\n btnLocation.addEventListener(\"click\", () => { switchToLocation(); });\n btnRemove.addEventListener(\"click\", () => { removeMeasurements(); });\n function switchToDistance() {\n Measure.activeTool = \"distance\";\n btnArea.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n btnDistance.classList.add(\"active\");\n mapView.ui.remove(Location);\n mapView.ui.add(Measure, \"bottom-left\");\n }\n function switchToArea() {\n Measure.activeTool = \"area\";\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n btnArea.classList.add(\"active\");\n mapView.ui.remove(Location);\n mapView.ui.add(Measure, \"bottom-left\");\n }\n function switchToLocation() {\n Measure.activeTool = null;\n btnArea.classList.remove(\"active\");\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.add(\"active\");\n mapView.ui.remove(Measure);\n mapView.ui.add(Location, \"bottom-left\");\n }\n function removeMeasurements() {\n Measure.clear();\n btnArea.classList.remove(\"active\");\n btnDistance.classList.remove(\"active\");\n btnLocation.classList.remove(\"active\");\n mapView.ui.remove([Measure, Location]);\n }\n }\n static ctorParameters = () => [];\n};\nMeasureComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n Component({\n selector: \"app-measure-tool\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], MeasureComponent);\nexport { MeasureComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport Graphic from \"@arcgis/core/Graphic\";\nimport PopupTemplate from \"@arcgis/core/PopupTemplate\";\nimport { AppConfig } from \"../../../app.config\";\nimport Collection from \"@arcgis/core/core/Collection\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet SearchComponent = class SearchComponent {\n appController;\n constructor(appController) {\n this.appController = appController;\n }\n getCustomSources() {\n const sources = new Collection();\n if (AppConfig.settings.customGeolocators.length > 0) {\n AppConfig.settings.customGeolocators.forEach((geoLocator) => {\n this.addLocatorSource(geoLocator, sources);\n });\n }\n return sources;\n }\n searchMultipleResults(event, mapView) {\n const memoryCollection = [];\n const markerSymbol = this.createMarkerSymbol();\n const pointGraphics = [];\n // mapView.popup.clear();\n mapView.popup.close();\n // this.appController.showConsoleMessage(\"Results of the search: \", event);\n // event.results.forEach((entry, index) => {\n // entry.results.forEach((res) => {\n // const [x, y] = this.determineCoordinate(res.feature.geometry);\n //\n // memoryCollection[index] = [res.feature.attributes, res.feature.geometry, x, y, res.extent,\n // res.feature.attributes.Loc_name, index, res.name];\n //\n // const pointGraphic = this.createPointGraphic(markerSymbol, memoryCollection, index, res.feature.geometry.type);\n // pointGraphics.push(pointGraphic);\n // })\n // })\n //\n // if (memoryCollection.length > 0) {\n // // @ts-ignore\n // mapView.center = [memoryCollection[0][2], memoryCollection[0][3]];\n // mapView.zoom = 11;\n // }\n }\n createMarkerSymbol() {\n return {\n type: \"simple-marker\",\n color: [39, 111, 139],\n size: 15,\n outline: {\n color: [255, 255, 255],\n width: 2\n }\n };\n }\n determineCoordinate(geometry) {\n let x, y;\n if (geometry.type === \"point\") {\n x = geometry.longitude;\n y = geometry.latitude;\n }\n else {\n x = geometry.centroid.longitude;\n y = geometry.centroid.latitude;\n }\n return [x, y];\n }\n createPointGraphic(markerSymbol, memoryCollection, index, geometryType) {\n let geometry;\n if (geometryType === \"point\") {\n geometry = {\n type: \"point\",\n longitude: memoryCollection[index][2],\n latitude: memoryCollection[index][3]\n };\n }\n else {\n geometry = memoryCollection[index][1]; // Use the original geometry for non-point types\n }\n const template = new PopupTemplate({\n title: `${memoryCollection[index][7]}
Generate Report
`\n });\n return new Graphic({\n geometry,\n symbol: markerSymbol,\n popupTemplate: template\n });\n }\n addLocatorSource(locatorSearchSource, searchSources) {\n searchSources.add({\n url: locatorSearchSource.url,\n name: locatorSearchSource.name,\n countryCode: locatorSearchSource.countryCode\n });\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nSearchComponent = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SearchComponent);\nexport { SearchComponent };\n","import { AppRoutingConstants } from \"../app-routing.constants\";\nexport class SearchApplicationsRoutingConstants {\n static SEARCH_APPLICATIONS_ROUTE = AppRoutingConstants.createRouteToView(\"search-applications\");\n static FILTERED_SEARCH_APPLICATIONS_ROUTE = AppRoutingConstants.createRouteToView(\"search\");\n}\n","export var PropertySearchOption;\n(function (PropertySearchOption) {\n PropertySearchOption[\"Property\"] = \"Property\";\n PropertySearchOption[\"PropertyOwner\"] = \"Owner\";\n PropertySearchOption[\"PropertyZoning\"] = \"Zoning\";\n PropertySearchOption[\"Cemetery\"] = \"Cemetery\";\n PropertySearchOption[\"Grave\"] = \"Grave\";\n})(PropertySearchOption || (PropertySearchOption = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { Router } from \"@angular/router\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { map } from \"rxjs/operators\";\nimport { ApiPropertyAndLeaseConstants } from \"../../shared/constants/api-constants/api-property-and-lease.constants\";\nimport { ApiTownPlanningConstants } from \"../../shared/constants/api-constants/api-town-planning.constants\";\nimport { ApiBuildingPlansConstants } from \"../../shared/constants/api-constants/api-building-plans.constants\";\nimport { ApiCemeteryConstants } from \"../../shared/constants/api-constants/api-cemetery.constants\";\nimport { ApiWayleaveConstants } from \"../../shared/constants/api-constants/api-wayleave.constants\";\nimport { ApiElectricalConnectionConstants } from \"../../shared/constants/api-constants/api-electrical-conection.constant\";\nimport { ApiDemolitionManagementConstants } from \"../../shared/constants/api-constants/api-demolition-management.constamt\";\nimport { ApiInformalTradeConstants } from \"../../shared/constants/api-constants/api-informal-trade.constants\";\nimport { PropertySearchOption } from \"./property-search-option\";\nimport { ApiAdvertisingConstants } from \"../../shared/constants/api-constants/api-advertising.constants\";\nimport { ApiBusinessLicenceConstants } from \"../../shared/constants/api-constants/api-business-licence.constants\";\nimport { AppRoutingConstants } from \"../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../view-application/view-application-routing.constants\";\nlet SearchApplicationsService = class SearchApplicationsService {\n router;\n selectedApplicationService;\n appController;\n mapLocation = new BehaviorSubject(null);\n mapLocationAsObservable = this.mapLocation.asObservable();\n isApplicationLoadedFromSearchPageSubject$ = new BehaviorSubject(false);\n isApplicationLoadedFromSearchPage = this.isApplicationLoadedFromSearchPageSubject$.asObservable();\n propertyUrl = \"\";\n constructor(router, selectedApplicationService, appController) {\n this.router = router;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n }\n // build links for map locator and create application request\n addMapLocatorLinks(applications) {\n applications.forEach(app => {\n app.link = this.setMapLink(app);\n app.link2 = app.eLodgementComplete ? this.setViewApplicationLink(app) : this.setCreateApplicationLink(app);\n });\n return applications;\n }\n setViewApplicationLink(application) {\n return {\n text: SharedConstants.OPEN_APPLICATION_TEXT, address: \"\", clickAction: () => {\n this.appController.setSelectedModule(application.moduleId);\n this.appController.setModuleAllowResubmission();\n this.selectedApplicationService.setIncompleteJobId(application.jobId);\n this.getApplicationSelected(application);\n }\n };\n }\n setCreateApplicationLink(application) {\n return {\n text: SharedConstants.OPEN_APPLICATION_TEXT, address: \"\", clickAction: () => {\n this.appController.setSelectedModule(application.moduleId);\n this.appController.setModuleAllowResubmission();\n this.selectedApplicationService.setIncompleteJobId(application.jobId);\n this.isApplicationLoadedFromSearchPageSubject$.next(true);\n }\n };\n }\n getURLForModule(systemPrefix) {\n let url = \"\";\n switch (systemPrefix) {\n case \"TP\":\n url = `${ApiTownPlanningConstants.URL}/${ApiTownPlanningConstants.FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS}`;\n break;\n case \"BP\":\n url = `${ApiBuildingPlansConstants.URL}/${ApiBuildingPlansConstants.FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS}`;\n break;\n case \"BL\":\n url = `${ApiBusinessLicenceConstants.URL}/${ApiBusinessLicenceConstants.FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS}`;\n break;\n case \"PL\":\n url = `${ApiPropertyAndLeaseConstants.URL}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS}`;\n break;\n case \"CM\":\n url = `${ApiCemeteryConstants.URL}/${ApiCemeteryConstants.FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS}`;\n break;\n case \"PV\":\n url = \"\";\n break;\n case \"W\":\n url = `${ApiWayleaveConstants.URL}/${ApiWayleaveConstants.FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS}`;\n break;\n case \"EC\":\n url = `${ApiElectricalConnectionConstants.URL}/${ApiElectricalConnectionConstants.FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS}`;\n break;\n case \"DM\":\n url = `${ApiDemolitionManagementConstants.URL}/${ApiDemolitionManagementConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n break;\n case \"A\":\n url = `${ApiAdvertisingConstants.URL}/${ApiAdvertisingConstants.FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS}`;\n break;\n case \"IT\":\n url = `${ApiInformalTradeConstants.URL}/${ApiInformalTradeConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n break;\n }\n return url;\n }\n getParamsForModule(selectedMapLocator) {\n let params;\n switch (selectedMapLocator.systemPrefix) {\n case \"CM\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"family($expand=groups), deceased($expand=deceasedNames),graves\"\n };\n break;\n case \"W\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"applicationLines,applicationPolygons\"\n };\n break;\n case \"A\":\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"point, polygon\",\n };\n break;\n default:\n params = {\n $filter: `moduleId eq ${selectedMapLocator.moduleId} and id eq ${selectedMapLocator.applicationId}`, $expand: \"properties\"\n };\n break;\n }\n return params;\n }\n getApplicationSelected(application) {\n // build switch based on selected application\n this.selectedApplicationService.setSelectedApplication(application);\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, application.jobId + \"\")]).then();\n }\n setMapLink(application) {\n return {\n text: SharedConstants.VIEW_ON_MAP_TEXT, address: \"\", clickAction: () => {\n const mapLocation = {\n moduleId: application.moduleId, applicationId: application.id, systemPrefix: application.systemPrefix\n };\n this.changeMapLocation(mapLocation);\n }\n };\n }\n changeMapLocation(mapLocation) {\n this.mapLocation.next(mapLocation);\n }\n clearURLList() {\n this.propertyUrl = \"\";\n }\n setURL(searchType, url) {\n switch (searchType) {\n case PropertySearchOption.Property:\n default:\n this.propertyUrl = url;\n break;\n }\n }\n findApplication(url, params, systemPrefix) {\n return this.selectedApplicationService.getSelectedApplicationGeometry(url, params).pipe(map(returnValue => {\n // @ts-ignore\n if (returnValue.value && returnValue.value.length > 0) {\n // @ts-ignore\n return this.setGeometry(systemPrefix, returnValue.value[0]);\n }\n }));\n }\n setGeometry(systemPrefix, application) {\n let searchApplicationGeometry;\n switch (systemPrefix) {\n case \"CM\":\n const cemeteryApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: null, systemPrefix, propertiesGeometry: []\n };\n cemeteryApplication.graves.forEach((grave) => {\n searchApplicationGeometry.propertiesGeometry.push(grave.shape);\n });\n break;\n case \"W\":\n const wayleaveApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: wayleaveApplication.shape, systemPrefix, propertiesGeometry: []\n };\n if (wayleaveApplication.applicationPolygons.length > 0) {\n wayleaveApplication.applicationPolygons.forEach((applicationPolygon) => {\n searchApplicationGeometry.propertiesGeometry.push(applicationPolygon.shape);\n });\n }\n if (wayleaveApplication.applicationLines.length > 0) {\n wayleaveApplication.applicationLines.forEach((applicationLine) => {\n searchApplicationGeometry.propertiesGeometry.push(applicationLine.shape);\n });\n }\n break;\n case \"A\":\n const advertisingApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: advertisingApplication.shape, systemPrefix, propertiesGeometry: []\n };\n if (advertisingApplication.polygon) {\n searchApplicationGeometry.propertiesGeometry.push(advertisingApplication.polygon.shape);\n }\n if (advertisingApplication.point) {\n searchApplicationGeometry.propertiesGeometry.push(advertisingApplication.point.shape);\n }\n break;\n default:\n const selectedApplication = application;\n searchApplicationGeometry = {\n applicationGeometry: selectedApplication.shape, systemPrefix, propertiesGeometry: []\n };\n selectedApplication.properties.forEach((property) => {\n searchApplicationGeometry.propertiesGeometry.push(property.shape);\n });\n break;\n }\n return searchApplicationGeometry;\n }\n static ctorParameters = () => [\n { type: Router },\n { type: SelectedApplicationService },\n { type: AppControllerService }\n ];\n};\nSearchApplicationsService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SearchApplicationsService);\nexport { SearchApplicationsService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nlet FormErrorStateMatcher = class FormErrorStateMatcher {\n isErrorState(control, form) {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\n }\n};\nFormErrorStateMatcher = __decorate([\n Injectable()\n], FormErrorStateMatcher);\nexport { FormErrorStateMatcher };\n","import { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../models/alert\";\nimport { SharedConstants } from \"../constants/shared.constants\";\nlet GlobalErrorHandler = class GlobalErrorHandler {\n appControllerService;\n esriBugExceptions = [\"Cannot set properties of undefined (setting 'stepIndex')\",\n \"abort(RuntimeError: abort(both async and sync fetching of the wasm failed). Build with -s ASSERTIONS=1 for more info.). Build with -s ASSERTIONS=1 for more info.\"];\n messagesToIgnore = [\n \"NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'false'. Current value: 'true'.. Find more at https://angular.io/errors/NG0100\", \"Cannot set properties of null (setting 'animationInProgress')\",\n \"NG0100: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'false'. Current value: 'true'. Expression location: AppComponent component. Find more at https://angular.dev/errors/NG0100\",\n \"Cannot destructure property 'ngbCollapse' of 'this._collapse' as it is undefined.\"\n ];\n // intended to be removed once we have feedback from esri inc\n constructor(appControllerService) {\n this.appControllerService = appControllerService;\n }\n handleError(error) {\n // @ts-ignore\n if (error.message && this.messagesToIgnore.includes(error.message)) {\n console.log(\"A non-fatal error occurred.\");\n return;\n // @ts-ignore\n }\n else if (error.rejection && this.messagesToIgnore.includes(error.rejection.message)) {\n console.log(\"A non-fatal error occurred.\");\n return;\n // @ts-ignore\n }\n else if (error.rejection && this.esriBugExceptions.includes(error.rejection.message)) {\n console.log(\"Please ignore esri error.\");\n return;\n }\n else if (error.message === \"Value must exist\") {\n console.log(\"Error: Value must exist.\");\n return;\n // @ts-ignore\n }\n else if (error.hasOwnProperty(\"status\") && error.status !== 500) {\n this.appControllerService.handleServerErrorMessage(\"\", error, null);\n return;\n }\n if (isDevMode()) {\n console.log(error);\n this.appControllerService.showMessage(error.message, AlertType.Error, false);\n }\n else {\n // TODO Dylan post error to server ?\n this.appControllerService.showMessage(SharedConstants.GLOBAL_ERROR_MESSAGE, AlertType.Error, false);\n }\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nGlobalErrorHandler = __decorate([\n Injectable()\n], GlobalErrorHandler);\nexport { GlobalErrorHandler };\n","export function minLengthArray(min) {\n return (c) => {\n if (c.value.length >= min)\n return null;\n return { minLengthArray: { valid: false } };\n };\n}\n","import libphonenumber from \"google-libphonenumber\";\nconst invalidErrorObj = { \"invalidPhoneNumber\": true };\nexport function phoneNumberValidator(control) {\n if (control.value != null && control.value != \"\") {\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n const validString = checkAgainstStrings(control);\n if (control.value.length > 5 && validString) {\n let stringValue = control.value.trim();\n try {\n if (stringValue[0] == \"0\") {\n stringValue = stringValue.replace(\"0\", \"+27\");\n }\n const number = phoneUtil.parseAndKeepRawInput(stringValue);\n const validNumber = phoneUtil.isValidNumber(number);\n if (validNumber) {\n return null;\n }\n else {\n setError(control);\n return invalidErrorObj;\n }\n }\n catch (err) {\n setError(control);\n return invalidErrorObj;\n }\n }\n else {\n setError(control);\n return invalidErrorObj;\n }\n }\n}\nfunction checkAgainstStrings(control) {\n const acceptableCharacters = [\"/\", \"-\"];\n let validCharacter = true;\n if (control.value.length > 5) {\n for (let i = 1; i < control.value.length; i++) {\n if (isNaN(control.value[i]) && acceptableCharacters.indexOf(control.value[i]) < 0) {\n validCharacter = false;\n break;\n }\n }\n }\n return validCharacter;\n}\nfunction setError(control) {\n control.setErrors(invalidErrorObj);\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nfunction _window() {\n return window;\n}\n// Window might not be available on every platform -> so make injectable wrapper\nlet WindowReference = class WindowReference {\n get nativeWindow() {\n return _window();\n }\n};\nWindowReference = __decorate([\n Injectable()\n], WindowReference);\nexport { WindowReference };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./alert.component.html?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AlertType } from \"../../models/alert\";\nlet AlertComponent = class AlertComponent {\n appController;\n id;\n alerts = [];\n constructor(appController) {\n this.appController = appController;\n }\n ngOnInit() {\n this.appController.getAlert(this.id).subscribe((alert) => {\n // if (alert.alertId === undefined) {\n // return;\n // }\n if (!alert.message) {\n // clear alerts when an empty alert is received\n this.alerts = [];\n return;\n }\n // add alert to array\n this.alerts.push(alert);\n if (this.alerts.length >= 6) {\n this.alerts.splice(0, 1);\n }\n setTimeout(() => {\n this.alerts.splice(0, 1);\n }, 10000);\n });\n }\n removeAlert(alert) {\n this.alerts = this.alerts.filter(x => x !== alert);\n }\n cssClass(alert) {\n if (!alert) {\n return;\n }\n // return css class based on alert type\n switch (alert.type) {\n case AlertType.Success:\n return \"alert alert-success\";\n case AlertType.Error:\n return \"alert alert-danger\";\n case AlertType.Info:\n return \"alert alert-info\";\n case AlertType.Warning:\n return \"alert alert-warning\";\n }\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n static propDecorators = {\n id: [{ type: Input }]\n };\n};\nAlertComponent = __decorate([\n Component({\n selector: \"app-alert\",\n template: __NG_CLI_RESOURCE__0,\n animations: [\n trigger(\"simpleFadeAnimation\", [\n // the \"restingState\" style determines the \"resting\" state of the element when it is visible.\n state(\"restingState\", style({ opacity: 1 })),\n // fade in when created.\n transition(\":enter\", [\n style({ opacity: 0 }),\n animate(350)\n ]),\n // fade out when destroyed.\n transition(\":leave\", animate(400, style({ opacity: 0 })))\n ])\n ]\n })\n], AlertComponent);\nexport { AlertComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./content-menu.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./content-menu.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport { UserInformationService } from \"../../services/user/user-information.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nlet ContentMenuComponent = class ContentMenuComponent {\n router;\n userInformationService;\n route;\n appControllerService;\n pageHeading;\n menuItems;\n relativeLinks = true;\n selectedModule;\n selectedModuleName = \"\";\n selectedOrganisationName = \"\";\n constructor(router, userInformationService, route, appControllerService) {\n this.router = router;\n this.userInformationService = userInformationService;\n this.route = route;\n this.appControllerService = appControllerService;\n this.selectedModule = this.userInformationService.getModuleInformation(+this.appControllerService.selectedModuleID);\n this.selectedModuleName = this.selectedModule?.name;\n this.selectedOrganisationName = this.selectedModule?.organisation?.name;\n this.checkState();\n }\n ngOnInit() {\n }\n routeToMenuItem(menuItem) {\n if (this.relativeLinks) {\n this.router.navigate([menuItem.address], { relativeTo: this.route });\n }\n else {\n this.router.navigate([menuItem.address]);\n }\n }\n checkState() {\n if (this.menuItems && this.pageHeading) {\n return;\n }\n }\n static ctorParameters = () => [\n { type: Router },\n { type: UserInformationService },\n { type: ActivatedRoute },\n { type: AppControllerService }\n ];\n static propDecorators = {\n pageHeading: [{ type: Input }],\n menuItems: [{ type: Input }],\n relativeLinks: [{ type: Input }]\n };\n};\nContentMenuComponent = __decorate([\n Component({\n selector: \"app-content-menu\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ContentMenuComponent);\nexport { ContentMenuComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./document-tree-view.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./document-tree-view.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nlet DocumentTreeViewComponent = class DocumentTreeViewComponent {\n nodes = [];\n displayField;\n descriptionField;\n downloadField;\n columns = [];\n options = {\n useVirtualScroll: false,\n nodeHeight: 30,\n isExpandedField: \"expanded\"\n };\n constructor() { }\n ngOnInit() {\n this.columns = [this.descriptionField, this.downloadField];\n this.options.displayField = this.displayField;\n }\n static ctorParameters = () => [];\n static propDecorators = {\n nodes: [{ type: Input }],\n displayField: [{ type: Input }],\n descriptionField: [{ type: Input }],\n downloadField: [{ type: Input }]\n };\n};\nDocumentTreeViewComponent = __decorate([\n Component({\n selector: \"app-document-tree-view\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DocumentTreeViewComponent);\nexport { DocumentTreeViewComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./help-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./help-modal.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet HelpModalComponent = class HelpModalComponent {\n activeModal;\n dialogTitle;\n helpMessage;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n closeBtnPlaceholder = \"Close\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n }\n onCloseBtnClicked() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n helpMessage: [{ type: Input }]\n };\n};\nHelpModalComponent = __decorate([\n Component({\n selector: \"app-help-modal\", template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], HelpModalComponent);\nexport { HelpModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./input.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./input.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet InputComponent = class InputComponent {\n placeHolder;\n label;\n parentFormGroup;\n required = false;\n formControlName;\n requiredErrorText;\n value = \"\";\n inputID = \"\";\n disabled;\n type = \"text\";\n /*constructor(\n // Retrieve the dependency only from the local injector,\n // not from parent or ancestors.\n @Self()\n // We want to be able to use the component without a form,\n // so we mark the dependency as optional.\n @Optional()\n private ngControl: NgControl\n ) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }*/\n ngOnInit() {\n this.setFormControlName();\n this.addToFormGroup();\n this.defaultPlaceHolder();\n this.requiredErrorText = `${this.label} is required`;\n this.inputID = `${this.label} ${Math.random()}`;\n }\n hasRequiredError() {\n return false;\n }\n getFormControl() {\n return this.parentFormGroup.get(this.formControlName);\n }\n hasErrors() {\n const formControl = this.getFormControl();\n return formControl.invalid && (formControl.dirty || formControl.touched);\n }\n getFirstErrorAvailable() {\n if (this.getFormControl().errors.required) {\n return `${this.label} is required`;\n }\n }\n addToFormGroup() {\n if (!this.parentFormGroup) {\n this.parentFormGroup = new FormGroup({});\n }\n this.parentFormGroup.addControl(this.formControlName, new FormControl({ value: \"\", disabled: this.disabled }, this.getValidators()));\n }\n getValidators() {\n const validatorsList = [];\n if (this.required) {\n validatorsList.push(Validators.required);\n }\n return validatorsList;\n }\n setFormControlName() {\n this.formControlName = this.label.toLocaleLowerCase();\n }\n defaultPlaceHolder() {\n if (!this.placeHolder) {\n this.placeHolder = `A value ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`;\n }\n }\n static propDecorators = {\n placeHolder: [{ type: Input }],\n label: [{ type: Input }],\n parentFormGroup: [{ type: Input }],\n required: [{ type: Input }]\n };\n};\nInputComponent = __decorate([\n Component({\n selector: \"app-input[label]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], InputComponent);\nexport { InputComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./page-heading.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./page-heading.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { RouterParamsService } from \"../../services/route-params.service\";\nimport { UserInformationService } from \"../../services/user/user-information.service\";\nimport { filter } from \"rxjs/operators\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nlet PageHeadingComponent = class PageHeadingComponent {\n routerParamsService;\n appController;\n changeDetectorRef;\n userInformationService;\n title;\n heading;\n subheading;\n moduleHeading;\n organisationHeading;\n currentModule;\n currentOrganisation;\n onlyValidParamsSubscription;\n systemModulesSubscription;\n constructor(routerParamsService, appController, changeDetectorRef, userInformationService) {\n this.routerParamsService = routerParamsService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.userInformationService = userInformationService;\n }\n ngOnInit() {\n this.listenForRouteParamChanges();\n this.setModuleHeadings();\n }\n listenForRouteParamChanges() {\n const onlyValidParams = this.routerParamsService.params.pipe(filter(param => param.moduleid || param.organisationid));\n this.onlyValidParamsSubscription = onlyValidParams.subscribe((params) => {\n if (params) {\n if (params.moduleid) {\n this.systemModulesSubscription = this.userInformationService.$systemModules.subscribe((modules) => {\n if (modules !== undefined && modules !== null && modules.length > 0) {\n this.currentModule = this.userInformationService.getModuleInformation(+params.moduleid);\n this.setModuleHeadings();\n }\n });\n }\n }\n });\n }\n setModuleHeadings() {\n if (this.currentModule) {\n this.moduleHeading = this.currentModule.name;\n this.organisationHeading = this.currentModule.organisation?.name;\n this.changeDetectorRef.markForCheck();\n }\n }\n static ctorParameters = () => [\n { type: RouterParamsService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: UserInformationService }\n ];\n static propDecorators = {\n title: [{ type: Input }],\n heading: [{ type: Input }],\n subheading: [{ type: Input }]\n };\n};\nPageHeadingComponent = __decorate([\n Component({\n selector: \"app-page-heading[heading]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], PageHeadingComponent);\nexport { PageHeadingComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./pop-up.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./pop-up.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet PopUpComponent = class PopUpComponent {\n activeModal;\n appController;\n title;\n contentMessage;\n data;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n updateBtnPlaceholder = SharedConstants.YES_LABEL;\n cancelBtnPlaceholder = SharedConstants.NO_LABEL;\n constructor(activeModal, appController) {\n this.activeModal = activeModal;\n this.appController = appController;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n onBtnOkClick() {\n this.activeModal.close(this.data);\n }\n onBtnCancel() {\n this.activeModal.close();\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n title: [{ type: Input }],\n contentMessage: [{ type: Input }],\n data: [{ type: Input }]\n };\n};\nPopUpComponent = __decorate([\n Component({\n selector: \"app-pop-up.component\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PopUpComponent);\nexport { PopUpComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./primary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./primary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nlet PrimaryButtonComponent = class PrimaryButtonComponent {\n displayText;\n clickCallBack = new EventEmitter();\n disabled;\n constructor() {\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nPrimaryButtonComponent = __decorate([\n Component({\n selector: \"app-primary-button\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PrimaryButtonComponent);\nexport { PrimaryButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./pwa-install-bottom-sheet.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./pwa-install-bottom-sheet.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { MatBottomSheetRef } from \"@angular/material/bottom-sheet\";\nimport { AppConfig } from \"src/app/app.config\";\nlet PwaInstallBottomSheetComponent = class PwaInstallBottomSheetComponent {\n bottomSheetRef;\n projectName;\n constructor(bottomSheetRef) {\n this.bottomSheetRef = bottomSheetRef;\n this.projectName = AppConfig.settings.projectSettings.projectName;\n }\n ngOnInit() {\n }\n install($event) {\n this.bottomSheetRef.dismiss(true);\n }\n dismiss($event) {\n this.bottomSheetRef.dismiss(false);\n }\n static ctorParameters = () => [\n { type: MatBottomSheetRef }\n ];\n};\nPwaInstallBottomSheetComponent = __decorate([\n Component({\n selector: \"app-pwa-install-bottom-sheet\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], PwaInstallBottomSheetComponent);\nexport { PwaInstallBottomSheetComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-list.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-list.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AddRecipientModalComponent } from \"../shared/modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { AlertType } from \"../../../models/alert\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { FormBuilder, NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { RecipientListConstant, RecipientsHeadingLookup } from \"./recipient-list.constant\";\nimport { EditRecipientModalComponent } from \"../shared/modal-components/edit-recipient-modal/edit-recipient-modal.component\";\nimport RecipientUtils from \"../../../utils/recipient-utils\";\nimport { SharedConstants } from \"../../../constants/shared.constants\";\nimport { ConfirmDeleteModalComponent } from \"../shared/modal-components/confirm-delete-modal/confirm-delete-modal.component\";\nimport { UserInformationService } from \"../../../services/user/user-information.service\";\nlet RecipientListComponent = class RecipientListComponent {\n appControllerService;\n formBuilder;\n userInformationService;\n changeDetectorRef;\n modalService;\n stepMetaRecipientGroups = [];\n showRecipientsGroupsDropdown = true;\n disableAddRecipientButton = false // show or hide the add recipient button\n ;\n disableEditRecipientButton = false // show or hide the edit recipient button\n ;\n disableDeleteRecipientButton = false // show or hide the delete recipient button\n ;\n showRecipientTypeColumn = true;\n hideFilter = false;\n configurableLabel = \"Recipient\";\n jobId;\n hideAddButton = false;\n hideEditButton = false;\n hideDeleteButton = false;\n disableEditing = false;\n showAllFormFields = true;\n formName;\n tableDataSource = new BehaviorSubject([]);\n tableMapper;\n tableSelection = [];\n recipientListForm;\n groupsOptions = [];\n modalBodyOptions = RecipientListConstant.modalBodyOptions;\n i;\n showDefaultCommunicationMethods = true;\n // Labels\n addBtnLabel = RecipientListConstant.addBtnLabel;\n editBtnLabel = RecipientListConstant.editBtnLabel;\n deleteBtnLabel = RecipientListConstant.deleteBtnLabel;\n // error messages\n metadataPropertyNotSetErrMsg = RecipientListConstant.metadataPropertyNotSetErrMsg;\n // metadata properties\n moduleId;\n componentName = \"recipient list\";\n constructor(appControllerService, formBuilder, userInformationService, changeDetectorRef, modalService) {\n this.appControllerService = appControllerService;\n this.formBuilder = formBuilder;\n this.userInformationService = userInformationService;\n this.changeDetectorRef = changeDetectorRef;\n this.modalService = modalService;\n this.moduleId = this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null;\n }\n get value() {\n return this.recipientListForm.value;\n }\n set value(recipients) {\n const newRecipients = [];\n if (recipients && recipients.length > 0) {\n recipients.forEach(recipient => {\n // builds the group objects\n recipient.groups = this.buildRecipientGroupsArray(recipient);\n newRecipients.push(recipient);\n });\n }\n else {\n this.tableDataSource.next([]);\n }\n if (newRecipients.length > 0) {\n this.tableSelection = [];\n this.tableDataSource.next([...newRecipients]);\n }\n this.onChange(newRecipients);\n this.onTouched();\n this.changeDetectorRef.detectChanges();\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n ngOnInit() {\n this.initialiseForm();\n this.initializeColumnToObjectMapping();\n this.configureComponentOnInit();\n }\n arrayReturned(recipients) {\n this.tableSelection = recipients;\n }\n writeValue(recipients) {\n if (recipients) {\n this.value = recipients;\n }\n if (recipients === null) {\n this.recipientListForm.reset();\n this.tableDataSource.next([]);\n }\n }\n setDisabledState(disabled) {\n if (disabled) {\n this.recipientListForm.disable();\n }\n else {\n this.recipientListForm.enable();\n }\n }\n validate(_) {\n return this.recipientListForm.valid ? null : { formName: { valid: false } };\n }\n onAddBtnClicked() {\n const modalRef = this.modalService.open(AddRecipientModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Add new ${this.configurableLabel?.toLowerCase()}` : `Add new recipient`;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsFromMetadata = this.stepMetaRecipientGroups;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.showRecipientsGroupsDropdown = this.showRecipientsGroupsDropdown;\n modalRef.componentInstance.showDefaultCommunicationMethod = this.showDefaultCommunicationMethods;\n modalRef.result.then((newRecipient) => {\n if (newRecipient) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const recipient = this.generateTempId(newRecipient);\n if (recipientsAlreadyInTheTable && recipientsAlreadyInTheTable.length > 0) {\n recipientsAlreadyInTheTable.push(recipient);\n this.value = recipientsAlreadyInTheTable;\n }\n else {\n this.value = [recipient];\n }\n }\n });\n }\n onEditBtnClicked() {\n if (this.tableSelection.length === 0) {\n this.appControllerService.showMessage(\"Please select a recipient to edit from the table\", AlertType.Warning); // put in constant file\n return;\n }\n if (this.tableSelection.length > 1) {\n this.appControllerService.showMessage(\"Please select only 1 recipient to edit from the table\", AlertType.Warning); // put in constant file\n return;\n }\n const originalRecipient = Object.assign({}, this.tableSelection[0]);\n let selectedRecipientGroups = null;\n if (this.tableSelection[0].groupsStringArray)\n selectedRecipientGroups = this.tableSelection[0].groupsStringArray.map((group) => {\n return group;\n });\n const modalRef = this.modalService.open(EditRecipientModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Edit ${this.configurableLabel?.toLowerCase()}` : `Edit recipient`;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsFromMetadata = this.stepMetaRecipientGroups;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.recipientToEdit = originalRecipient;\n modalRef.componentInstance.selectedRecipientGroups = selectedRecipientGroups;\n modalRef.componentInstance.showDefaultCommunicationMethods = this.showDefaultCommunicationMethods;\n if (this.stepMetaRecipientGroups.length > 1) {\n modalRef.componentInstance.showRecipientGroupsDropdown = true;\n }\n else {\n modalRef.componentInstance.showRecipientGroupsDropdown = false;\n }\n modalRef.result.then((editedRecipient) => {\n if (editedRecipient) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const ItemIndex = recipientsAlreadyInTheTable.findIndex(b => b.id === editedRecipient.id);\n recipientsAlreadyInTheTable[ItemIndex] = editedRecipient;\n this.value = recipientsAlreadyInTheTable;\n this.tableSelection = [];\n }\n });\n }\n onDeleteBtnClicked() {\n if (this.tableSelection.length > 0) {\n const modalRef = this.modalService.open(ConfirmDeleteModalComponent, this.modalBodyOptions);\n modalRef.componentInstance.label = this.configurableLabel ? `${this.configurableLabel?.toLowerCase()}` : \"recipient\";\n modalRef.result.then((deleteRecipients) => {\n if (deleteRecipients) {\n const recipientsAlreadyInTheTable = this.tableDataSource.value;\n const recipientsToBeDeleted = this.tableSelection;\n for (let i = 0, len = recipientsToBeDeleted.length; i < len; i++) {\n const ItemIndex = recipientsAlreadyInTheTable.findIndex(b => b.id === recipientsToBeDeleted[i].id);\n recipientsAlreadyInTheTable.splice(ItemIndex, 1);\n }\n this.value = recipientsAlreadyInTheTable;\n this.tableSelection = [];\n }\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n }\n }\n loadRecipient(recipient) {\n recipient.overrideGroup = true;\n recipient.appendToList = true;\n this.value = [recipient];\n }\n onRecipientTypeChanged(recipient, $event) {\n const selectedRecipient = recipient;\n const radioButtonValue = $event.target.value;\n selectedRecipient.emailField = radioButtonValue;\n this.value = [selectedRecipient];\n }\n loadAllRecipients(recipients) {\n this.value = recipients;\n }\n stepMetaPropertyNotSetErrMessage(propertyName) {\n // throws warning when one of the properties of the metadata is not set\n this.appControllerService.showMessage(`The ${propertyName} ${this.metadataPropertyNotSetErrMsg}`, AlertType.Warning);\n }\n initialiseForm() {\n this.recipientListForm = this.formBuilder.group({\n id: [],\n jobId: [],\n moduleId: [],\n name: [],\n surname: [],\n homePhone: [],\n telephone: [],\n cellphone: [],\n defaultCommunicationMethod: [\"Email\"],\n email: [],\n organisation: [],\n clientVatNumber: [],\n designation: [],\n professionalBody: [],\n professionalBodyRegNum: [],\n streetAddress: [],\n streetSuburb: [],\n streetCity: [],\n streetProvince: [],\n streetCountry: [],\n streetCode: [],\n postalAddress: [],\n postalSuburb: [],\n postalCity: [],\n postalProvince: [],\n postalCountry: [],\n postalCode: [],\n groupsStringArray: [],\n groups: []\n });\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = RecipientsHeadingLookup;\n }\n buildRecipientGroupsArray(recipient) {\n const recipientGroups = [];\n if (recipient.hasOwnProperty(\"groupsStringArray\")) {\n recipient.groupsStringArray.forEach((groupNameString) => {\n recipientGroups.push({\n groupName: groupNameString,\n groupType: this.stepMetaRecipientGroups[0].groupType\n });\n });\n }\n if (recipient.groups && recipient.groups.length > 0 && !recipient.hasOwnProperty(\"groupsStringArray\")) {\n recipient.groupsStringArray = recipient.groups.map((group) => {\n return group.groupName;\n });\n recipient.groupsStringArray.forEach((groupNameString) => {\n recipientGroups.push({\n groupName: groupNameString,\n groupType: this.stepMetaRecipientGroups[0].groupType\n });\n });\n }\n return recipientGroups;\n }\n configureComponentOnInit() {\n this.getGroupsFromMetadata();\n this.showOrHideAddRecipientButton();\n this.showOrHideEditRecipientButton();\n this.showOrHideDeleteRecipientButton();\n this.checkOrganisationSettings();\n }\n getGroupsFromMetadata() {\n // extract groups options for the dropdown\n if (this.stepMetaRecipientGroups.length === 0) {\n this.stepMetaPropertyNotSetErrMessage(\"stepMetaRecipientGroups\");\n return;\n }\n // standardize the casing on the stepMetaRecipientGroups object\n this.stepMetaRecipientGroups = RecipientUtils.standardizeRecipientGroupsObject(this.stepMetaRecipientGroups);\n // get group options to be used on the add recipient and edit recipient modal windows\n this.groupsOptions = this.stepMetaRecipientGroups.map((group => {\n return group.groupName;\n }));\n }\n showOrHideAddRecipientButton() {\n if (this.disableAddRecipientButton) {\n this.hideAddButton = true;\n }\n else {\n this.hideAddButton = false;\n }\n }\n showOrHideEditRecipientButton() {\n if (this.disableEditRecipientButton) {\n this.hideEditButton = true;\n }\n else {\n this.hideEditButton = false;\n }\n }\n showOrHideDeleteRecipientButton() {\n if (this.disableDeleteRecipientButton) {\n this.hideDeleteButton = true;\n }\n else {\n this.hideDeleteButton = false;\n }\n }\n generateTempId(recipient) {\n let uuidValue = \"\";\n for (let k = 0; k < 32; k++) {\n // tslint:disable-next-line:no-bitwise\n const randomValue = Math.random() * 16 | 0;\n if (k === 8 || k === 12 || k === 16 || k === 20) {\n uuidValue += \"-\";\n }\n // tslint:disable-next-line:no-bitwise\n uuidValue += (k === 12 ? 4 : (k === 16 ? (randomValue & 3 | 8) : randomValue)).toString(16);\n recipient.id = uuidValue;\n }\n return recipient;\n }\n checkOrganisationSettings() {\n const organisationSettings = this.getOrganisationSettings();\n if (organisationSettings) {\n this.setDefaultCommunicationSettings(organisationSettings);\n }\n else {\n this.disableCommunicationMethods();\n }\n }\n getOrganisationSettings() {\n const organisationId = Number(this.appControllerService.selectedOrganisationId);\n const organisationInformation = this.userInformationService.getOrganisationInformation(organisationId);\n if (organisationInformation?.settings) {\n return organisationInformation.settings;\n }\n else {\n return null;\n }\n }\n setDefaultCommunicationSettings(organisationSettings) {\n this.showDefaultCommunicationMethods = false;\n const isSMSEnabledFromOrganisationSettings = organisationSettings.enableSms;\n const hasSMSProvider = (!(organisationSettings.smsProvider === \"\" || organisationSettings.smsProvider === \"null\" || organisationSettings.smsProvider === null));\n if (isSMSEnabledFromOrganisationSettings && hasSMSProvider) {\n this.showDefaultCommunicationMethods = true;\n }\n else {\n this.disableCommunicationMethods();\n }\n this.changeDetectorRef.detectChanges();\n }\n disableCommunicationMethods() {\n this.showDefaultCommunicationMethods = false;\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: FormBuilder },\n { type: UserInformationService },\n { type: ChangeDetectorRef },\n { type: NgbModal }\n ];\n static propDecorators = {\n stepMetaRecipientGroups: [{ type: Input }],\n showRecipientsGroupsDropdown: [{ type: Input }],\n disableAddRecipientButton: [{ type: Input }],\n disableEditRecipientButton: [{ type: Input }],\n disableDeleteRecipientButton: [{ type: Input }],\n showRecipientTypeColumn: [{ type: Input }],\n hideFilter: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n jobId: [{ type: Input }]\n };\n};\nRecipientListComponent = __decorate([\n Component({\n selector: \"app-recipient-list\",\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RecipientListComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RecipientListComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RecipientListComponent);\nexport { RecipientListComponent };\n","import { RecipientHeadingEnum } from \"../shared/enums/recipient-heading.enum\";\nexport const RecipientsHeadingLookup = new Map([\n [RecipientHeadingEnum.name, \"name\"],\n [RecipientHeadingEnum.surname, \"surname\"],\n [RecipientHeadingEnum.designation, \"designation\"],\n [RecipientHeadingEnum.organisation, \"organisation\"],\n [RecipientHeadingEnum.telephone, \"telephone\"],\n [RecipientHeadingEnum.email, \"email\"],\n [RecipientHeadingEnum.defaultCommunicationMethod, \"defaultCommunicationMethod\"]\n]);\nexport class RecipientListConstant {\n // labels\n static addBtnLabel = \"Add\";\n static editBtnLabel = \"Edit\";\n static deleteBtnLabel = \"Delete\";\n // error message\n static metadataPropertyNotSetErrMsg = \"property is not set in the recipient metadata, please contact your system administrator.\";\n // modal body options\n static modalBodyOptions = {\n size: \"xl\",\n centered: true,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-select.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-select.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { take } from \"rxjs\";\nimport { RecipientSelectConstants } from \"./recipient-select.constants\";\nimport { FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from \"@angular/forms\";\nimport { RecipientService } from \"../shared/shared-services/recipient.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { DefaultRequiredFields } from \"../../../models/application/generic/recipient.model\";\nimport { SharedConstants } from \"../../../constants/shared.constants\";\nimport { CRUDOperation } from \"../../../models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../utils/recipient-utils\";\nimport { phoneNumberValidator } from \"../../../classes/phone-number-validator\";\nimport { UserInformationService } from \"../../../services/user/user-information.service\";\nimport { LookupConstants } from \"../../../constants/lookup.constants\";\nimport { AlertType } from \"src/app/shared/models/alert\";\nimport { UcFirstPipe } from \"ngx-pipes\";\nlet RecipientSelectComponent = class RecipientSelectComponent {\n recipientService;\n appControllerService;\n userInformationService;\n upperFirst;\n changeDetectorRef;\n overrideGroup = false;\n stepMetaRecipientGroups = [];\n isGroupsComingFromMetadata = true;\n showGroupsDropdown = true;\n disableEditing = false;\n showAllFormFields = true;\n disableFilter = true;\n jobId;\n formName;\n configurableLabel;\n showSACAPOptions = false;\n showRecipientGroupsDropdown = true;\n groupsOptions = [];\n hideFilter = false;\n hideAddButton = false;\n recipientForm;\n Validator = Validators;\n recipientFormLabelHeading = \"Recipient details\";\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n sameAsResidentialChecked = false;\n // moduleId;\n groupsFromMetadata;\n onChangeSubscription;\n defaultRequiredFields = DefaultRequiredFields;\n recipientGroupSettings = [];\n verifiedSACAPNumber = null;\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showClientVatNumberField = true;\n showIdNumberField = true;\n showMaritalStatusField = true;\n showRelativesFullNameField = true;\n showRelativesContactNumberField = true;\n showRelativesAddressField = true;\n showEmploymentStatusField = true;\n showEmployersNameField = true;\n showEmployersContactNumberField = true;\n showEmployersAddressField = true;\n // Form Labels\n nameLabel = RecipientSelectConstants.nameLabel;\n surnameLabel = RecipientSelectConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientSelectConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientSelectConstants.workTelephoneLabel;\n cellphoneLabel = RecipientSelectConstants.cellphoneLabel;\n defaultCommunicationMethodLabel = RecipientSelectConstants.defaultCommunicationMethodLabel;\n emailRadioButtonLabel = RecipientSelectConstants.emailRadioButtonLabel;\n smsRadioButtonLabel = RecipientSelectConstants.smsRadioButtonLabel;\n emailLabel = RecipientSelectConstants.emailLabel;\n organisationLabel = RecipientSelectConstants.organisationLabel;\n clientVatNumberLabel = RecipientSelectConstants.clientVatNumberLabel;\n designationLabel = RecipientSelectConstants.designationLabel;\n professionalBodyHeader = RecipientSelectConstants.professionalBodyHeader;\n professionalBodyLabel = RecipientSelectConstants.professionalBodyLabel;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n professionalBodyRegNoLabel = RecipientSelectConstants.professionalBodyRegNoLabel;\n streetAddressHeader = RecipientSelectConstants.streetAddressHeader;\n streetAddressLabel = RecipientSelectConstants.streetAddressLabel;\n streetSuburbLabel = RecipientSelectConstants.streetSuburbLabel;\n streetCityLabel = RecipientSelectConstants.streetCityLabel;\n streetProvinceLabel = RecipientSelectConstants.streetProvinceLabel;\n streetCountryLabel = RecipientSelectConstants.streetCountryLabel;\n streetCodeLabel = RecipientSelectConstants.streetCodeLabel;\n postalDetailsHeader = RecipientSelectConstants.postalDetailsHeader;\n postalAddressLabel = RecipientSelectConstants.postalAddressLabel;\n postalSuburbLabel = RecipientSelectConstants.postalSuburbLabel;\n postalCityLabel = RecipientSelectConstants.postalCityLabel;\n postalProvinceLabel = RecipientSelectConstants.postalProvinceLabel;\n postalCountryLabel = RecipientSelectConstants.postalCountryLabel;\n postalCodeLabel = RecipientSelectConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientSelectConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientSelectConstants.groups;\n groupsLabel = RecipientSelectConstants.groupsLabel;\n componentName = RecipientSelectConstants.defaultComponentName;\n validationMessage = RecipientSelectConstants.validationMessage;\n SACAPRegistrationLabel = RecipientSelectConstants.sacapRegistrationHeader;\n sacapRegistrationNumberLabel = RecipientSelectConstants.sacapRegistrationLabel;\n sacapVerificationLabel = RecipientSelectConstants.sacapVerificationButtonLabel;\n // Form Controls\n idFormControlName = RecipientSelectConstants.idFormControlName;\n jobIdFormControlName = RecipientSelectConstants.jobIdFormControlName;\n moduleIdFormControlName = RecipientSelectConstants.moduleIdFormControlName;\n nameFormControlName = RecipientSelectConstants.nameFormControl;\n surnameFormControlName = RecipientSelectConstants.surnameFormControl;\n homePhoneFormControlName = RecipientSelectConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientSelectConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientSelectConstants.cellphoneFormControlName;\n defaultCommunicationMethodFormControlName = RecipientSelectConstants.defaultCommunicationMethodFormControlName;\n emailFormControlName = RecipientSelectConstants.emailFormControlName;\n organisationFormControlName = RecipientSelectConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientSelectConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientSelectConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientSelectConstants.professionalBodyFormControlName;\n professionalBodyRegNoFormControlName = RecipientSelectConstants.professionalBodyRegNoFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.maritalStatusFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.relativesFullNameFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.relativesContactNumberFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.relativesAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employmentStatusFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersNameFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n streetAddressFormControlName = RecipientSelectConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientSelectConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientSelectConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientSelectConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientSelectConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientSelectConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientSelectConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientSelectConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientSelectConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientSelectConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientSelectConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientSelectConstants.postalCodeFormControlName;\n groupsFormControlName = RecipientSelectConstants.groupsFormControlName;\n groupsStringArrayFormControlName = RecipientSelectConstants.groupsStringArrayFormControlName;\n sacapRegistrationNumberFormControlName = RecipientSelectConstants.sacapRegistrationNumberFormControl;\n sacapRegistrationVerifiedFormControlName = RecipientSelectConstants.sacapRegistrationNumberVerifiedFormControl;\n selectOptionTextOption = RecipientSelectConstants.PLEASE_SELECT_AN_OPTION;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n showDefaultCommunicationMethods = true;\n requiredFieldsPlaceHolder = RecipientSelectConstants.requireFieldKey;\n getRecipientGroupSettingsSubscription;\n listenToClearRecipientSubscription;\n verifySACAPRegistrationSubscription;\n constructor(recipientService, appControllerService, userInformationService, upperFirst, changeDetectorRef) {\n this.recipientService = recipientService;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.upperFirst = upperFirst;\n this.changeDetectorRef = changeDetectorRef;\n this.initialiseForm();\n }\n get value() {\n return this.recipientForm.value;\n }\n set value(recipient) {\n if (recipient) {\n // set recipient data from the parent component.\n this.recipientForm.get(this.idFormControlName)?.patchValue(recipient.id ? recipient.id : null);\n this.recipientForm.get(this.jobIdFormControlName)?.patchValue(recipient.jobId ? recipient.jobId : null);\n this.recipientForm.get(this.moduleIdFormControlName)?.patchValue(recipient.moduleId ? recipient.moduleId : null);\n this.recipientForm.get(this.nameFormControlName)?.patchValue(recipient.name ? recipient.name : null);\n this.recipientForm.get(this.surnameFormControlName)?.patchValue(recipient.surname ? recipient.surname : null);\n this.recipientForm.get(this.homePhoneFormControlName)?.patchValue(recipient.homePhone ? recipient.homePhone : null);\n this.recipientForm.get(this.workTelephoneFormControlName)?.patchValue(recipient.telephone ? recipient.telephone : null);\n this.recipientForm.get(this.cellphoneFormControlName)?.patchValue(recipient.cellphone ? recipient.cellphone : null);\n this.recipientForm.get(this.emailFormControlName)?.patchValue(recipient.email ? recipient.email : null);\n this.recipientForm.get(this.defaultCommunicationMethodFormControlName)?.patchValue(recipient.defaultCommunicationMethod ? recipient.defaultCommunicationMethod : null);\n this.recipientForm.get(this.organisationFormControlName)?.patchValue(recipient.organisation ? recipient.organisation : null);\n this.recipientForm.get(this.clientVatNumberFormControlName)?.patchValue(recipient.clientVatNumber ? recipient.clientVatNumber : null);\n this.recipientForm.get(this.designationFormControlName)?.patchValue(recipient.designation ? recipient.designation : null);\n this.recipientForm.get(this.professionalBodyFormControlName)?.patchValue(recipient.professionalBody ? recipient.professionalBody : null);\n this.recipientForm.get(this.professionalBodyRegNoFormControlName)?.patchValue(recipient.professionalBodyRegNum ? recipient.professionalBodyRegNum : null);\n this.recipientForm.get(this.maritalStatusFormControlName)?.patchValue(recipient.maritalStatus ? recipient.maritalStatus : null);\n this.recipientForm.get(this.idNumberFormControlName)?.patchValue(recipient.idNumber ? recipient.idNumber : null);\n this.recipientForm.get(this.relativesFullNameFormControlName)?.patchValue(recipient.relativesFullName ? recipient.relativesFullName : null);\n this.recipientForm.get(this.relativesContactNumberFormControlName)?.patchValue(recipient.relativesContactNumber ? recipient.relativesContactNumber : null);\n this.recipientForm.get(this.relativesAddressFormControlName)?.patchValue(recipient.relativesAddress ? recipient.relativesAddress : null);\n this.recipientForm.get(this.employmentStatusFormControlName)?.patchValue(recipient.employmentStatus ? recipient.employmentStatus : null);\n this.recipientForm.get(this.employersNameFormControlName)?.patchValue(recipient.employersName ? recipient.employersName : null);\n this.recipientForm.get(this.employersContactNumberFormControlName)?.patchValue(recipient.employersContactNumber ? recipient.employersContactNumber : null);\n this.recipientForm.get(this.employersAddressFormControlName)?.patchValue(recipient.employersAddress ? recipient.employersAddress : null);\n this.recipientForm.get(this.streetAddressFormControlName)?.patchValue(recipient.streetAddress ? recipient.streetAddress : null);\n this.recipientForm.get(this.streetSuburbFormControlName)?.patchValue(recipient.streetSuburb ? recipient.streetSuburb : null);\n this.recipientForm.get(this.streetCityFormControlName)?.patchValue(recipient.streetCity ? recipient.streetCity : null);\n this.recipientForm.get(this.streetProvinceFormControlName)?.patchValue(recipient.streetProvince ? recipient.streetProvince : null);\n this.recipientForm.get(this.streetCountryFormControlName)?.patchValue(recipient.streetCountry ? recipient.streetCountry : null);\n this.recipientForm.get(this.streetCodeFormControlName)?.patchValue(recipient.streetCode ? recipient.streetCode : null);\n this.recipientForm.get(this.postalAddressFormControlName)?.patchValue(recipient.postalAddress ? recipient.postalAddress : null);\n this.recipientForm.get(this.postalSuburbFormControlName)?.patchValue(recipient.postalSuburb ? recipient.postalSuburb : null);\n this.recipientForm.get(this.postalCityFormControlName)?.patchValue(recipient.postalCity ? recipient.postalCity : null);\n this.recipientForm.get(this.postalProvinceFormControlName)?.patchValue(recipient.postalProvince ? recipient.postalProvince : null);\n this.recipientForm.get(this.postalCountryFormControlName)?.patchValue(recipient.postalCountry ? recipient.postalCountry : null);\n this.recipientForm.get(this.postalCodeFormControlName)?.patchValue(recipient.postalCode ? recipient.postalCode : null);\n if (recipient.hasOwnProperty(this.groupsStringArrayFormControlName) && recipient.groupsStringArray !== null && recipient.groupsStringArray.length > 0) {\n recipient.groups = this.setRecipientGroupsFromTheGroupsStringArray(recipient.groupsStringArray);\n this.recipientForm.get(this.groupsFormControlName).patchValue(recipient.groups);\n }\n }\n this.checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient);\n this.onChange(recipient);\n this.onTouched();\n }\n ngOnChanges(changes) {\n if (changes && changes.hasOwnProperty(\"stepMetaRecipientGroups\") && changes.stepMetaRecipientGroups.currentValue && changes.stepMetaRecipientGroups.currentValue.length > 0) {\n this.loadRecipientGroupSettings();\n this.configureComponentOnInit();\n }\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n setDisabledState(disabled) {\n if (disabled) {\n this.recipientForm.disable();\n this.disableEditing = true;\n this.recipientForm.get(this.postalProvinceFormControlName).disable();\n this.recipientForm.get(this.postalCountryFormControlName).disable();\n }\n else {\n this.recipientForm.enable();\n this.disableEditing = false;\n this.recipientForm.get(this.postalProvinceFormControlName).enable();\n this.recipientForm.get(this.postalCountryFormControlName).enable();\n }\n }\n writeValue(recipient) {\n if (recipient === null) {\n this.resetFormControls();\n return;\n }\n if (recipient) {\n this.value = recipient;\n }\n }\n // communicate the inner form validation-tab to the parent form\n validate(_) {\n return this.recipientForm.valid ? null : { formName: { valid: false } };\n }\n ngOnInit() {\n this.subscribeToFormChanges();\n this.configureComponentOnInit();\n this.subscribeToClearForm();\n this.checkOrganisationSettings();\n //this.populateVerifiedSACAPNumber();\n }\n ngOnDestroy() {\n if (this.onChangeSubscription !== undefined && this.onChangeSubscription !== null)\n this.onChangeSubscription.unsubscribe();\n if (this.getRecipientGroupSettingsSubscription !== undefined && this.getRecipientGroupSettingsSubscription !== null)\n this.getRecipientGroupSettingsSubscription.unsubscribe();\n if (this.listenToClearRecipientSubscription !== undefined && this.listenToClearRecipientSubscription !== null)\n this.listenToClearRecipientSubscription.unsubscribe();\n if (this.verifySACAPRegistrationSubscription !== undefined && this.verifySACAPRegistrationSubscription !== null)\n this.verifySACAPRegistrationSubscription.unsubscribe();\n }\n onResidentialInputEntered($event, formControlName) {\n if (this.sameAsResidentialChecked) {\n const inputValue = $event.target.value;\n const postalFormControl = this.recipientForm.get(formControlName);\n postalFormControl.patchValue(inputValue);\n }\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.recipientForm, true);\n RecipientUtils.clearPostalDetailsValidators(this.recipientForm, true);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.recipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.recipientForm, this.stepMetaRecipientGroups);\n this.recipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n if (this.sameAsResidentialChecked) {\n this.recipientForm.get(postalProvinceFormControlName).enable();\n }\n }\n disablePostalSelects(postalProvinceFormControlName) {\n if (this.sameAsResidentialChecked) {\n this.recipientForm.get(postalProvinceFormControlName).disable();\n }\n }\n markControlAsTouched(controlName) {\n if (controlName) {\n this.recipientForm.get(controlName).markAllAsTouched();\n this.recipientForm.get(controlName).updateValueAndValidity();\n }\n }\n loadRecipient(recipient) {\n if (recipient) {\n if (!this.disableEditing && this.showAllFormFields) {\n // enable postal formControls when loading recipient from the filter\n this.sameAsResidentialChecked = false; // reset sameAsResidential checkbox\n RecipientUtils.enablePostalDetails(this.recipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.recipientForm, this.stepMetaRecipientGroups);\n }\n this.value = recipient;\n }\n }\n updateModel() {\n if (this.stepMetaRecipientGroups.length > 0) {\n const currentGroupStringArray = this.recipientForm.get(this.groupsStringArrayFormControlName).value;\n const groups = currentGroupStringArray.map((groupStringValue) => {\n return {\n groupName: groupStringValue, groupType: this.stepMetaRecipientGroups[0].groupType\n };\n });\n this.recipientForm.get(this.groupsFormControlName).patchValue(groups);\n }\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.recipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.recipientForm.get(this.cellphoneFormControlName);\n const recipientGroup = this.stepMetaRecipientGroups[0];\n const isCellPhoneRequiredFromMetaData = this.isCellphoneFormFieldRequiredInTheMetadata(recipientGroup);\n const isEmailRequiredFromMetadata = this.isEmailFormFieldRequiredInTheMetadata(recipientGroup);\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"email\") {\n this.setEmailFormFieldAsRequired(emailFormControl);\n if (isCellPhoneRequiredFromMetaData) {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n }\n else {\n this.clearCellphoneFormFieldRequiredValidation(cellphoneFormControl);\n }\n }\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"sms\") {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n // if (isEmailRequiredFromMetadata) {\n // this.setEmailFormFieldAsRequired(emailFormControl);\n // } else {\n // this.clearEmailFormFieldRequiredValidation(emailFormControl);\n // }\n }\n }\n onVerifySacapDetails() {\n const constituentId = this.recipientForm.get(this.sacapRegistrationNumberFormControlName).value;\n this.verifySACAPRegistrationSubscription = this.recipientService.verifySACAPRegistration(constituentId).subscribe({\n next: (response) => {\n if (response && response.professionalNumber) {\n this.setVerifiedSACAPNumber(response.professionalNumber);\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).patchValue(response.professionalNumber);\n }\n this.setSACAPRecipientData(response);\n this.setSACAPRecipientVerification();\n this.appControllerService.showMessage(\"membership validated\", AlertType.Success);\n }, error: (error) => {\n this.clearSACAPRecipientVerification();\n switch (error.status) {\n case 404: {\n this.appControllerService.showMessage(error.error, AlertType.Error);\n break;\n }\n case 403: {\n this.appControllerService.showMessage(error.error, AlertType.Error);\n break;\n }\n default: {\n this.appControllerService.handleServerErrorMessage(\"Recipient verification\", error, CRUDOperation.Get);\n }\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.showSACAPOptions) {\n this.checkSACAPOptions();\n this.populateVerifiedSACAPNumber();\n this.changeDetectorRef.detectChanges();\n }\n }\n markFormControlsAsTouched() {\n this.recipientForm.markAllAsTouched();\n if (this.showSACAPOptions) {\n if (!this.recipientForm.get(this.sacapRegistrationNumberFormControlName).hasValidator(Validators.required)) {\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).addValidators([Validators.required, Validators.minLength(0)]);\n }\n this.recipientForm.updateValueAndValidity();\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).markAsTouched();\n }\n this.recipientForm.updateValueAndValidity();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.setRequiredFields();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n checkSACAPOptions() {\n if (this.showSACAPOptions) {\n // add sacap controls\n this.recipientForm.addControl(this.sacapRegistrationNumberFormControlName, new FormControl(null, [Validators.required, Validators.minLength(0)]));\n this.recipientForm.addControl(this.sacapRegistrationVerifiedFormControlName, new FormControl(null, Validators.required));\n this.recipientForm.updateValueAndValidity();\n }\n }\n getOrganisationSettings() {\n const organisationId = Number(this.appControllerService.selectedOrganisationId);\n const organisationInformation = this.userInformationService.getOrganisationInformation(organisationId);\n if (organisationInformation?.settings) {\n return organisationInformation.settings;\n }\n else {\n return null;\n }\n }\n setRecipientGroupsFromTheGroupsStringArray(groupsStringArray) {\n // builds group object from the metadata and the groupStringArray\n const recipientGroups = [];\n groupsStringArray.forEach((groupNameFromStringArray) => {\n for (const groupFromMetadata of this.stepMetaRecipientGroups) {\n if (groupFromMetadata.groupName.toLowerCase().trim() === groupNameFromStringArray.toLowerCase().trim()) {\n recipientGroups.push({ groupName: groupNameFromStringArray, groupType: groupFromMetadata.groupType });\n }\n }\n });\n return recipientGroups;\n }\n initialiseForm() {\n // initialise formControls\n this.recipientForm = new FormGroup({\n id: new FormControl(),\n sacapRegistrationNumber: new FormControl(0),\n jobId: new FormControl(this.jobId ? +this.jobId : null),\n moduleId: new FormControl(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null),\n name: new FormControl(),\n surname: new FormControl(),\n homePhone: new FormControl(null, phoneNumberValidator),\n telephone: new FormControl(null, phoneNumberValidator),\n cellphone: new FormControl(null, phoneNumberValidator),\n defaultCommunicationMethod: new FormControl(this.emailRadioButtonLabel),\n email: new FormControl(null, Validators.email),\n organisation: new FormControl(),\n clientVatNumber: new FormControl(),\n designation: new FormControl(),\n professionalBody: new FormControl(),\n professionalBodyRegNum: new FormControl(),\n maritalStatus: new FormControl(),\n relativesFullName: new FormControl(),\n relativesContactNumber: new FormControl(),\n relativesAddress: new FormControl(),\n employmentStatus: new FormControl(),\n employersName: new FormControl(),\n employersContactNumber: new FormControl(null, phoneNumberValidator),\n employersAddress: new FormControl(),\n idNumber: new FormControl(),\n streetAddress: new FormControl(),\n streetSuburb: new FormControl(),\n streetCity: new FormControl(),\n streetProvince: new FormControl(),\n streetCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n streetCode: new FormControl(),\n postalAddress: new FormControl(),\n postalSuburb: new FormControl(),\n postalCity: new FormControl(),\n postalProvince: new FormControl(),\n postalCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n postalCode: new FormControl(),\n groupsStringArray: new FormControl([]),\n groups: new FormControl(null)\n });\n }\n subscribeToFormChanges() {\n // any time the inner form changes update the parent of any change\n this.onChangeSubscription = this.recipientForm.valueChanges.subscribe(recipient => {\n this.onChange(recipient);\n this.onTouched();\n });\n }\n populateGroupsDropdown() {\n // Populates the groups dropdown\n if (this.isGroupsComingFromMetadata) {\n if (this.stepMetaRecipientGroups.length === 0) {\n this.stepMetaPropertyNotSetErrMessage(\"stepMetaRecipientGroups\");\n return;\n }\n this.stepMetaRecipientGroups = RecipientUtils.standardizeRecipientGroupsObject(this.stepMetaRecipientGroups);\n this.groupsOptions = this.stepMetaRecipientGroups.map((group => {\n return group.groupName;\n }));\n }\n else {\n // if groups are not coming from the metadata fetch them from the lookups\n this.getRecipientGroupsSettings();\n }\n }\n getRecipientGroupsSettings() {\n // Fetch groups from the recipientGroups lookup\n this.getRecipientGroupSettingsSubscription = this.recipientService.getRecipientGroupSettings(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null, true).subscribe({\n next: (groupSettings) => {\n if (groupSettings && groupSettings.length > 0) {\n this.populateRecipientGroups(groupSettings);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n populateRecipientGroups(groupSettings) {\n // populates the dropdown with groups from the lookups\n groupSettings.forEach(groupLookup => {\n const lookup = groupLookup;\n this.groupsOptions.push(lookup.name);\n });\n this.groupsOptions.sort((a, b) => a?.localeCompare(b));\n this.changeDetectorRef.markForCheck();\n }\n stepMetaPropertyNotSetErrMessage(propertyName) {\n // throws warning when one of the properties of the metadata is not set\n // this.appControllerService.showMessage(`The ${propertyName} ${this.metadataPropertyNotSetErrMsg}`, AlertType.Warning);\n }\n checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient) {\n const postalDetailsMatchResidentialDetails = RecipientUtils.checkAddressDetails(recipient, this.recipientForm);\n if (postalDetailsMatchResidentialDetails) {\n RecipientUtils.disablePostalDetails(this.recipientForm);\n this.sameAsResidentialChecked = true;\n this.changeDetectorRef.detectChanges();\n }\n }\n configureComponentOnInit() {\n // configures the component when it is initialized\n this.populateGroupsDropdown();\n this.setGroupsFromMetadata();\n this.setDisableEditing();\n this.setConfigurableLabel();\n this.setJobId();\n this.showOrHideGroupsDropdown();\n this.changeDetectorRef.detectChanges();\n }\n setRequiredFields() {\n if (this.stepMetaRecipientGroups.length > 0) {\n const group = this.stepMetaRecipientGroups[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => x.name.trim() === group.groupName.trim() && x.type === group.groupType);\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n }\n else {\n this.appControllerService.showMessage(`Configuration for recipient group settings incomplete GroupName: ${group.groupName}`, AlertType.Error);\n }\n }\n else {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n }\n setGroupsFromMetadata() {\n // sets the recipient groups from the metadata and hides the group dropdown if only 1 group is available from metadata\n if (this.stepMetaRecipientGroups.length === 1) {\n const groups = this.stepMetaRecipientGroups.map(((group) => {\n return {\n groupName: group.groupName, groupType: group.groupType\n };\n }));\n if (this.isGroupsComingFromMetadata && this.recipientForm) {\n this.recipientForm.get(this.groupsStringArrayFormControlName).setValue([groups[0].groupName]);\n this.recipientForm.get(this.groupsFormControlName).setValue([groups[0]]);\n this.showRecipientGroupsDropdown = false;\n }\n }\n }\n showOrHideGroupsDropdown() {\n // shows or hides the recipient groups dropdown\n if (this.showGroupsDropdown) {\n this.showRecipientGroupsDropdown = true;\n }\n else {\n this.showRecipientGroupsDropdown = false;\n }\n }\n setDisableEditing() {\n if (this.disableEditing) {\n this.setDisabledState(this.disableEditing);\n }\n }\n setConfigurableLabel() {\n this.recipientFormLabelHeading = this.configurableLabel ? `${this.configurableLabel} details` : `Personal details`;\n this.recipientFormLabelHeading = this.upperFirst.transform(this.recipientFormLabelHeading.toLowerCase());\n if (this.recipientFormLabelHeading === null || this.recipientFormLabelHeading === undefined) {\n this.stepMetaPropertyNotSetErrMessage(\"label\");\n }\n }\n subscribeToClearForm() {\n this.listenToClearRecipientSubscription = this.recipientService.listenToClearRecipient().subscribe(isCleaned => {\n if (!isCleaned)\n return;\n this.value = null;\n this.recipientForm.reset();\n });\n }\n resetFormControls() {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.recipientForm);\n this.recipientForm.reset();\n if (this.showDefaultCommunicationMethods) {\n this.recipientForm.get(this.defaultCommunicationMethodFormControlName).setValue(this.emailRadioButtonLabel);\n }\n this.recipientForm.get(this.streetCountryFormControlName)?.patchValue(SharedConstants.DEFAULT_COUNTRY);\n this.recipientForm.get(this.postalCountryFormControlName)?.patchValue(SharedConstants.DEFAULT_COUNTRY);\n this.recipientForm.get(this.moduleIdFormControlName).patchValue(this.appControllerService.selectedModuleID ? Number(this.appControllerService.selectedModuleID) : null);\n this.configureComponentOnInit();\n this.checkSACAPOptions();\n }\n setJobId() {\n if (this.jobId && +this.jobId >= 0) {\n this.recipientForm.get(this.jobIdFormControlName).patchValue(+this.jobId);\n }\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.recipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === this.homePhoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.workTelephoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.cellphoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === this.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === this.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === this.emailFormControlName) {\n control.addValidators([Validators.email]);\n }\n this.checkSACAPOptions();\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.recipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n isCellphoneFormFieldRequiredInTheMetadata(recipientGroup) {\n let isCellphoneRequired = false;\n if (this.stepMetaRecipientGroups.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Cellphone\", \"cellphone\")) {\n isCellphoneRequired = true;\n }\n return isCellphoneRequired;\n }\n isEmailFormFieldRequiredInTheMetadata(recipientGroup) {\n let isEsmailRequired = false;\n if (this.stepMetaRecipientGroups.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Email\", \"email\")) {\n isEsmailRequired = true;\n }\n return isEsmailRequired;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n getPropertyThatMatchesDataCase(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n setDefaultCommunicationSettings(organisationSettings) {\n this.showDefaultCommunicationMethods = false;\n const isSMSEnabledFromOrganisationSettings = organisationSettings.enableSms;\n const hasSMSProvider = (!(organisationSettings.smsProvider === \"\" || organisationSettings.smsProvider === \"null\" || organisationSettings.smsProvider === null));\n if (isSMSEnabledFromOrganisationSettings && hasSMSProvider) {\n this.showDefaultCommunicationMethods = true;\n }\n else {\n this.disableCommunicationMethods();\n }\n this.changeDetectorRef.detectChanges();\n }\n checkOrganisationSettings() {\n const organisationSettings = this.getOrganisationSettings();\n if (organisationSettings) {\n this.setDefaultCommunicationSettings(organisationSettings);\n }\n else {\n this.disableCommunicationMethods();\n }\n }\n disableCommunicationMethods() {\n this.showDefaultCommunicationMethods = false;\n }\n setSACAPRecipientData(memberData) {\n this.recipientForm.get(this.nameFormControlName).patchValue(memberData.firstname);\n this.recipientForm.get(this.nameFormControlName).disable();\n this.recipientForm.get(this.surnameFormControlName).patchValue(memberData.lastname);\n this.recipientForm.get(this.surnameFormControlName).disable();\n this.recipientForm.get(this.professionalBodyFormControlName).patchValue(\"SACAP\");\n this.recipientForm.get(this.professionalBodyFormControlName).disable();\n this.recipientForm.get(this.professionalBodyRegNoFormControlName).patchValue(memberData.professionalNumber);\n this.recipientForm.get(this.professionalBodyRegNoFormControlName).disable();\n this.recipientForm.get(this.emailFormControlName).patchValue(memberData.email);\n this.recipientForm.get(this.emailFormControlName).disable();\n this.recipientForm.get(this.cellphoneFormControlName).patchValue(memberData.telephone);\n this.recipientForm.get(this.cellphoneFormControlName).disable();\n }\n setSACAPRecipientVerification() {\n const control = this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName);\n if (control) {\n control.setValue(true);\n }\n }\n clearSACAPRecipientVerification() {\n const control = this.recipientForm.get(this.sacapRegistrationVerifiedFormControlName);\n if (control) {\n control.reset();\n }\n }\n // Method to set the verified SACAP number\n setVerifiedSACAPNumber(number) {\n this.verifiedSACAPNumber = number;\n }\n populateVerifiedSACAPNumber() {\n if (this.verifiedSACAPNumber) {\n const sacapControl = this.recipientForm.get(this.sacapRegistrationNumberFormControlName);\n if (sacapControl) {\n sacapControl.patchValue(this.verifiedSACAPNumber);\n sacapControl.markAsTouched();\n }\n }\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n markAllAsTouched() {\n this.recipientForm.markAllAsTouched();\n if (this.showSACAPOptions) {\n this.recipientForm.get(this.sacapRegistrationNumberFormControlName).markAsTouched();\n }\n this.recipientForm.updateValueAndValidity();\n }\n static ctorParameters = () => [\n { type: RecipientService },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: UcFirstPipe },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n overrideGroup: [{ type: Input }],\n stepMetaRecipientGroups: [{ type: Input }],\n isGroupsComingFromMetadata: [{ type: Input }],\n showGroupsDropdown: [{ type: Input }],\n disableEditing: [{ type: Input }],\n showAllFormFields: [{ type: Input }],\n disableFilter: [{ type: Input }],\n jobId: [{ type: Input }],\n formName: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n showSACAPOptions: [{ type: Input }]\n };\n};\nRecipientSelectComponent = __decorate([\n Component({\n selector: \"app-recipient-select\",\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RecipientSelectComponent), multi: true\n }, {\n provide: NG_VALIDATORS, useExisting: forwardRef(() => RecipientSelectComponent), multi: true\n }],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], RecipientSelectComponent);\nexport { RecipientSelectComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class RecipientSelectConstants {\n // Form labels\n static nameLabel = \"Name\";\n static surnameLabel = \"Surname\";\n static homeTelePhoneLabel = \"Home telephone\";\n static workTelephoneLabel = \"Work telephone\";\n static cellphoneLabel = \"Cellphone\";\n static defaultCommunicationMethodLabel = \"Preferred method of communication\";\n static emailRadioButtonLabel = \"Email\";\n static smsRadioButtonLabel = \"SMS\";\n static emailLabel = \"Email\";\n static organisationLabel = \"Organisation\";\n static clientVatNumberLabel = \"Client VAT number\";\n static designationLabel = \"Designation\";\n static professionalBodyHeader = \"Professional body details\";\n static professionalBodyLabel = \"Professional body\";\n static relativeDetailsBodyLabel = \"Relative's details\";\n static employerDetailsHeader = \"Employer's details\";\n static maritalStatusLabel = \"Marital status\";\n static idNumberLabel = \"ID Number\";\n static relativesFullNameLabel = \"Relative's full name\";\n static relativesContactNumberLabel = \"Relative's contact number\";\n static relativesAddressLabel = \"Relative's address\";\n static employmentStatusLabel = \"Employment status\";\n static employersNameLabel = \"Employer's name\";\n static employersContactNumberLabel = \"Employer's contact number\";\n static employersAddressLabel = \"Employer's address\";\n static professionalBodyRegNoLabel = \"Professional body registration number\";\n static streetAddressHeader = \"Street address details\";\n static streetAddressLabel = \"Street address\";\n static streetSuburbLabel = \"Suburb\";\n static streetCityLabel = \"City\";\n static streetProvinceLabel = \"Province\";\n static streetCountryLabel = \"Country\";\n static streetCodeLabel = \"Code\";\n static postalAddressLabel = \"Postal address\";\n static postalSuburbLabel = \"Suburb\";\n static postalCityLabel = \"City\";\n static postalProvinceLabel = \"Province\";\n static postalCountryLabel = \"Country\";\n static postalCodeLabel = \"Code\";\n static postalDetailsHeader = \"Postal address details\";\n static sameAsStreetAddressLabel = \"Same as street address\";\n static groups = \"Group Details\";\n static groupsLabel = \"Groups\";\n static selectGroupsLabel = \"Select group(s)\";\n static requireFieldKey = \"requiredFields\";\n static sacapRegistrationLabel = \"SACAP registration number\";\n static sacapVerificationButtonLabel = \"Verify with SACAP\";\n static sacapRegistrationHeader = \"SACAP verification\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n // Form Controls\n static idFormControlName = \"id\";\n static jobIdFormControlName = \"jobId\";\n static moduleIdFormControlName = \"moduleId\";\n static nameFormControl = \"name\";\n static surnameFormControl = \"surname\";\n static homeTelePhoneFormControl = \"homePhone\";\n static workTelephoneFormControl = \"telephone\";\n static cellphoneFormControlName = \"cellphone\";\n static defaultCommunicationMethodFormControlName = \"defaultCommunicationMethod\";\n static emailFormControlName = \"email\";\n static organisationFormControlName = \"organisation\";\n static clientVatNumberFormControlName = \"clientVatNumber\";\n static designationFormControlName = \"designation\";\n static professionalBodyFormControlName = \"professionalBody\";\n static professionalBodyRegNoFormControlName = \"professionalBodyRegNum\";\n static maritalStatusFormControlName = \"maritalStatus\";\n static idNumberFormControlName = \"idNumber\";\n static relativesFullNameFormControlName = \"relativesFullName\";\n static relativesContactNumberFormControlName = \"relativesContactNumber\";\n static relativesAddressFormControlName = \"relativesAddress\";\n static employmentStatusFormControlName = \"employmentStatus\";\n static employersNameFormControlName = \"employersName\";\n static employersContactNumberFormControlName = \"employersContactNumber\";\n static employersAddressFormControlName = \"employersAddress\";\n static streetAddressFormControlName = \"streetAddress\";\n static streetSuburbFormControlName = \"streetSuburb\";\n static streetCityFormControlName = \"streetCity\";\n static streetProvinceFormControlName = \"streetProvince\";\n static streetCountryFormControlName = \"streetCountry\";\n static streetCodeFormControlName = \"streetCode\";\n static postalAddressFormControlName = \"postalAddress\";\n static postalSuburbFormControlName = \"postalSuburb\";\n static postalCityFormControlName = \"postalCity\";\n static postalProvinceFormControlName = \"postalProvince\";\n static postalCountryFormControlName = \"postalCountry\";\n static postalCodeFormControlName = \"postalCode\";\n static groupsFormControlName = \"groups\";\n static groupsStringArrayFormControlName = \"groupsStringArray\";\n static defaultComponentName = \"recipient-select\";\n static sacapRegistrationNumberFormControl = \"sacapRegistrationNumber\";\n static sacapRegistrationNumberVerifiedFormControl = \"sacapRegistrationNumberVerified\";\n // Validation Messages\n static validationMessage = {\n name: {\n name: \"Please enter name\",\n maxlength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n surname: {\n surname: \"Please enter surname.\",\n maxlength: `Surname ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n telephone: {\n telephone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Telephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n homePhone: {\n homePhone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Homephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n cellphone: {\n cellphone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Cellphone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n organisation: {\n organisation: \"Please enter organisation name.\",\n maxlength: `Organisation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n clientVatNumber: {\n clientVatNumber: \"Please enter the client's vat number.\",\n maxlength: `Client Vat Number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n designation: {\n designation: \"Please enter designation.\",\n maxlength: `Designation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n professionalBody: {\n professionalBody: \"Please enter professional body.\",\n maxlength: `Professional body ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"500\")}`,\n },\n professionalBodyRegNum: {\n professionalBodyRegNum: \"Please enter the professional body's registration number.\",\n maxlength: `Professional body Registration number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n maritalStatus: {\n maritalStatus: \"Please select your marital status.\",\n },\n idNumber: {\n idNumber: \"Please enter your ID number.\",\n maxlength: `ID number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n relativesFullName: {\n relativesFullName: \"Please enter your relative's full name.\",\n },\n relativesContactNumber: {\n relativesContactNumber: \"Please enter your relative's contact number.\",\n },\n relativesAddress: {\n relativesAddress: \"Please enter your relative's address.\",\n },\n employmentStatus: {\n employmentStatus: \"Please select your employment status.\",\n },\n employersName: {\n employersName: \"Please enter your employer's name.\",\n },\n employersContactNumber: {\n employersContactNumber: \"Please enter your employer's number.\",\n },\n employersAddress: {\n employersAddress: \"Please enter your employer's address.\",\n },\n email: {\n email: \"Please enter a valid email address, for example, JDoe@gmail.com.\",\n maxlength: `Email ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetAddress: {\n streetAddress: \"Please enter address.\",\n maxlength: `Street address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetSuburb: {\n streetSuburb: \"Please enter suburb.\",\n maxlength: `Street suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n streetCity: {\n streetCity: \"Please enter city.\",\n maxlength: `Street City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetProvince: {\n streetProvince: \"Please select a province.\",\n maxlength: `Street Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCountry: {\n streetCountry: \"Please select a country.\",\n maxlength: `Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCode: {\n streetCode: \"Please enter a street code.\",\n maxlength: `Street Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalAddress: {\n postalAddress: \"Please enter a postal address.\",\n maxlength: `Postal Address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n postalSuburb: {\n postalSuburb: \"Please enter suburb.\",\n maxlength: `Postal Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n postalCity: {\n postalCity: \"Please enter a city.\",\n maxlength: `Postal City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalProvince: {\n postalProvince: \"Please select a province.\",\n maxlength: `Postal Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCountry: {\n postalCountry: \"Please select a country.\",\n maxlength: `Postal Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCode: {\n postalCode: \"Please enter a postal code.\",\n maxlength: `Postal Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n groups: \"Please select a group.\",\n sacapRegistrationNumber: \"Please enter registration number.\",\n };\n // Error messages\n static metadataPropertyNotSetErrMsg = \"property is not set in the recipient metadata, please contact your system administrator.\";\n}\n","export var RecipientHeadingEnum;\n(function (RecipientHeadingEnum) {\n RecipientHeadingEnum[\"name\"] = \"Name\";\n RecipientHeadingEnum[\"surname\"] = \"Surname\";\n RecipientHeadingEnum[\"designation\"] = \"Designation\";\n RecipientHeadingEnum[\"organisation\"] = \"Organisation\";\n RecipientHeadingEnum[\"telephone\"] = \"Telephone\";\n RecipientHeadingEnum[\"email\"] = \"Email\";\n RecipientHeadingEnum[\"defaultCommunicationMethod\"] = \"Communication method\";\n})(RecipientHeadingEnum || (RecipientHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-recipient-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-recipient-modal.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { DefaultRequiredFields } from \"../../../../../models/application/generic/recipient.model\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { RecipientFormConstants } from \"../../shared-contants/recipient-shared.constants\";\nimport { RecipientService } from \"../../shared-services/recipient.service\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../../app-controller.service\";\nimport RecipientUtils from \"../../../../../utils/recipient-utils\";\nimport { AlertType } from \"../../../../../models/alert\";\nimport { phoneNumberValidator } from \"../../../../../classes/phone-number-validator\";\nimport { RecipientSelectConstants } from \"../../../recipient-select/recipient-select.constants\";\nimport { LookupConstants } from \"../../../../../constants/lookup.constants\";\nimport { take } from \"rxjs\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddRecipientModalComponent = class AddRecipientModalComponent {\n changeDetectorRef;\n recipientService;\n activeModal;\n appControllerService;\n dialogTitle = \"Add new recipient\";\n configurableLabel = \"Recipient details\";\n groupsFromMetadata = [];\n jobId;\n moduleId;\n groupsOptions = [];\n showRecipientsGroupsDropdown = true;\n showDefaultCommunicationMethod = false;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n newRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n emailRequired = false;\n smsRequired = false;\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n defaultRequiredFields = DefaultRequiredFields;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n recipientGroupSettings = [];\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n formName = \"addNewRecipient\";\n validationMessage = RecipientFormConstants.validationMessage;\n nameLabel = RecipientFormConstants.nameLabel;\n surnameLabel = RecipientFormConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientFormConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientFormConstants.workTelephoneLabel;\n cellphoneLabel = RecipientFormConstants.cellphoneLabel;\n emailLabel = RecipientFormConstants.emailLabel;\n smsRadioButtonLabel = RecipientFormConstants.smsRadioButtonLabel;\n defaultCommunicationMethodLabel = RecipientFormConstants.defaultCommunicationMethodLabel;\n emailRadioButtonLabel = RecipientFormConstants.emailRadioButtonLabel;\n organisationLabel = RecipientFormConstants.organisationLabel;\n clientVatNumberLabel = RecipientFormConstants.clientVatNumberLabel;\n designationLabel = RecipientFormConstants.designationLabel;\n professionalBodyHeader = RecipientFormConstants.professionalBodyHeader;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n professionalBodyLabel = RecipientFormConstants.professionalBodyLabel;\n professionalBodyRegNoLabel = RecipientFormConstants.professionalBodyRegNoLabel;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n streetAddressHeader = RecipientFormConstants.streetAddressHeader;\n streetAddressLabel = RecipientFormConstants.streetAddressLabel;\n streetSuburbLabel = RecipientFormConstants.streetSuburbLabel;\n streetCityLabel = RecipientFormConstants.streetCityLabel;\n streetProvinceLabel = RecipientFormConstants.streetProvinceLabel;\n streetCountryLabel = RecipientFormConstants.streetCountryLabel;\n streetCodeLabel = RecipientFormConstants.streetCodeLabel;\n postalDetailsHeader = RecipientFormConstants.postalDetailsHeader;\n postalAddressLabel = RecipientFormConstants.postalAddressLabel;\n postalSuburbLabel = RecipientFormConstants.postalSuburbLabel;\n postalCityLabel = RecipientFormConstants.postalCityLabel;\n postalProvinceLabel = RecipientFormConstants.postalProvinceLabel;\n postalCountryLabel = RecipientFormConstants.postalCountryLabel;\n postalCodeLabel = RecipientFormConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientFormConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientFormConstants.groups;\n groupsLabel = RecipientFormConstants.groupsLabel;\n // Form Controls\n nameFormControlName = RecipientFormConstants.nameFormControl;\n surnameFormControlName = RecipientFormConstants.surnameFormControl;\n homePhoneFormControlName = RecipientFormConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientFormConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientFormConstants.cellphoneFormControlName;\n defaultCommunicationMethodFormControlName = RecipientFormConstants.defaultCommunicationMethodFormControlName;\n emailFormControlName = RecipientFormConstants.emailFormControlName;\n organisationFormControlName = RecipientFormConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientFormConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientFormConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientFormConstants.professionalBodyFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.maritalStatusFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.relativesFullNameFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.relativesContactNumberFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.relativesAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employmentStatusFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersNameFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n professionalBodyRegNoFormControlName = RecipientFormConstants.professionalBodyRegNoFormControlName;\n streetAddressFormControlName = RecipientFormConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientFormConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientFormConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientFormConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientFormConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientFormConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientFormConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientFormConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientFormConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientFormConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientFormConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientFormConstants.postalCodeFormControlName;\n groupsStringArrayFormControlName = RecipientFormConstants.groupsStringArrayFormControlName;\n selectOptionTextOption = RecipientFormConstants.PLEASE_SELECT_AN_OPTION;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n newRecipientFormLabelHeading = \"Recipient details\";\n requiredFieldsPlaceHolder = RecipientFormConstants.requireFieldKey;\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showMaritalStatusField = false;\n showRelativesFullNameField = false;\n showRelativesContactNumberField = false;\n showRelativesAddressField = false;\n showEmploymentStatusField = false;\n showEmployersNameField = false;\n showEmployersContactNumberField = false;\n showEmployersAddressField = false;\n showIdNumberField = false;\n showClientVatNumberField = false;\n showSave = true;\n constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.loadRecipientGroupSettings();\n this.populateRecipientGroups();\n this.showOrHideGroupsDropdown();\n this.setConfigurableLabel();\n this.changeDetectorRef.markForCheck();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.checkRequiredFields();\n this.checkCommunicationMethods();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n onResidentialInputEntered($event, postalAddressFormControlName) {\n RecipientUtils.onResidentialInputEntered($event, postalAddressFormControlName, this.newRecipientForm, this.sameAsResidentialChecked);\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.newRecipientForm, this.sameAsResidentialChecked);\n RecipientUtils.clearPostalDetailsValidators(this.newRecipientForm, this.sameAsResidentialChecked);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.restorePostalDetailsValidators(this.newRecipientForm, this.groupsFromMetadata);\n this.newRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.enablePostalSelects(this.newRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n disablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.disablePostalSelects(this.newRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n this.newRecipientForm.updateValueAndValidity();\n if (this.newRecipientForm.valid) {\n const newRecipient = this.newRecipientForm.value;\n newRecipient.id = 0;\n newRecipient.jobId = this.jobId ? this.jobId : null;\n newRecipient.moduleId = this.moduleId;\n this.activeModal.close(newRecipient);\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.newRecipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.newRecipientForm.get(this.cellphoneFormControlName);\n emailFormControl.clearValidators();\n cellphoneFormControl.clearValidators();\n if (preferredMethodOfCommunication === \"email\") {\n if (this.emailRequired) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n }\n cellphoneFormControl.clearValidators();\n }\n else if (preferredMethodOfCommunication === \"sms\") {\n if (this.smsRequired) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n }\n emailFormControl.clearValidators();\n }\n else {\n emailFormControl.clearValidators();\n cellphoneFormControl.clearValidators();\n }\n emailFormControl.updateValueAndValidity();\n cellphoneFormControl.updateValueAndValidity();\n }\n initForm() {\n this.newRecipientForm = new FormGroup({\n id: new FormControl(),\n jobId: new FormControl(),\n moduleId: new FormControl(),\n name: new FormControl(),\n surname: new FormControl(),\n homePhone: new FormControl(null, phoneNumberValidator),\n telephone: new FormControl(null, phoneNumberValidator),\n cellphone: new FormControl(null, phoneNumberValidator),\n defaultCommunicationMethod: new FormControl(\"Email\"),\n email: new FormControl(null, Validators.email),\n organisation: new FormControl(),\n clientVatNumber: new FormControl(),\n designation: new FormControl(),\n professionalBody: new FormControl(),\n professionalBodyRegNum: new FormControl(),\n maritalStatus: new FormControl(),\n relativesFullName: new FormControl(),\n relativesContactNumber: new FormControl(null, phoneNumberValidator),\n idNumber: new FormControl(),\n relativesAddress: new FormControl(),\n employmentStatus: new FormControl(),\n employersName: new FormControl(),\n employersContactNumber: new FormControl(),\n employersAddress: new FormControl(),\n streetAddress: new FormControl(),\n streetSuburb: new FormControl(),\n streetCity: new FormControl(),\n streetProvince: new FormControl(),\n streetCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n streetCode: new FormControl(),\n postalAddress: new FormControl(),\n postalSuburb: new FormControl(),\n postalCity: new FormControl(),\n postalProvince: new FormControl(),\n postalCountry: new FormControl(SharedConstants.DEFAULT_COUNTRY),\n postalCode: new FormControl(),\n groupsStringArray: new FormControl([], Validators.required),\n groups: new FormControl([])\n });\n }\n populateRecipientGroups() {\n // populates the groups dropdown\n this.groupsOptions?.sort((a, b) => a?.localeCompare(b));\n if (this.groupsOptions.length === 1) {\n this.newRecipientForm.get(this.groupsStringArrayFormControlName).setValue([this.groupsOptions[0]]);\n }\n }\n checkRequiredFields() {\n const group = this.groupsFromMetadata[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => (x.name === group.groupName || x.name === group?.GroupName) && (x.type === group.groupType || x.type === group?.GroupType));\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n this.newRecipientForm.updateValueAndValidity();\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n showOrHideGroupsDropdown() {\n if (this.showRecipientsGroupsDropdown && this.groupsOptions.length > 1) {\n this.showRecipientsGroupsDropdown = true;\n }\n else {\n this.showRecipientsGroupsDropdown = false;\n }\n }\n setConfigurableLabel() {\n this.newRecipientFormLabelHeading = this.configurableLabel;\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.newRecipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === RecipientFormConstants.homeTelePhoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.workTelephoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.cellphoneFormControlName) {\n this.smsRequired = true;\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.emailFormControlName) {\n this.emailRequired = true;\n control.addValidators([Validators.email]);\n }\n if (item.name === RecipientFormConstants.defaultCommunicationMethodFormControlName) {\n // Optional: If this is a requirement for email or SMS, handle it here.\n }\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.newRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n ngAfterViewInit() {\n this.setFormDefaults();\n }\n setFormDefaults() {\n this.newRecipientForm.get(this.postalCountryFormControlName).setValue(SharedConstants.DEFAULT_COUNTRY);\n this.newRecipientForm.get(this.streetCountryFormControlName).setValue(SharedConstants.DEFAULT_COUNTRY);\n this.changeDetectorRef.detectChanges();\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n checkCommunicationMethods() {\n if (this.showDefaultCommunicationMethod) {\n const defaultCommunicationMethod = this.newRecipientForm.get(this.defaultCommunicationMethodFormControlName).value;\n this.onRadioButtonChanged(defaultCommunicationMethod);\n console.log(defaultCommunicationMethod);\n }\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n groupsFromMetadata: [{ type: Input }],\n jobId: [{ type: Input }],\n moduleId: [{ type: Input }],\n groupsOptions: [{ type: Input }],\n showRecipientsGroupsDropdown: [{ type: Input }],\n showDefaultCommunicationMethod: [{ type: Input }]\n };\n};\nAddRecipientModalComponent = __decorate([\n Component({\n selector: \"app-add-recipient-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], AddRecipientModalComponent);\nexport { AddRecipientModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./confirm-delete-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./confirm-delete-modal.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet ConfirmDeleteModalComponent = class ConfirmDeleteModalComponent {\n activeModalService;\n label;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n dialogTitle;\n deleteConfirmationText;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n deleteBtnPlaceholder = SharedConstants.DELETE_LABEL;\n constructor(activeModalService) {\n this.activeModalService = activeModalService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.dialogTitle = `Delete ${this.label}`;\n this.deleteConfirmationText = `Are you sure you want to delete the selected ${this.label}?`;\n }\n onBtnCancelClicked() {\n this.activeModalService.close();\n }\n onBtnDeleteClicked() {\n this.activeModalService.close(true);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n label: [{ type: Input }]\n };\n};\nConfirmDeleteModalComponent = __decorate([\n Component({\n selector: \"app-confirm-delete-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ConfirmDeleteModalComponent);\nexport { ConfirmDeleteModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-recipient-modal.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-recipient-modal.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { DefaultRequiredFields } from \"../../../../../models/application/generic/recipient.model\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../../constants/shared.constants\";\nimport { Subject, take } from \"rxjs\";\nimport { RecipientFormConstants } from \"../../shared-contants/recipient-shared.constants\";\nimport { RecipientService } from \"../../shared-services/recipient.service\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../../../app-controller.service\";\nimport RecipientUtils from \"../../../../../utils/recipient-utils\";\nimport { AlertType } from \"../../../../../models/alert\";\nimport { phoneNumberValidator } from \"../../../../../classes/phone-number-validator\";\nimport { RecipientSelectConstants } from \"../../../recipient-select/recipient-select.constants\";\nimport { LookupConstants } from \"../../../../../constants/lookup.constants\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditRecipientModalComponent = class EditRecipientModalComponent {\n changeDetectorRef;\n recipientService;\n activeModal;\n appControllerService;\n dialogTitle = \"Add new recipient\";\n groupsFromMetadata = [];\n jobId;\n moduleId;\n groupsOptions = [];\n recipientToEdit;\n selectedRecipientGroups;\n showRecipientGroupsDropdown = true;\n showDefaultCommunicationMethods = true;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n editRecipientForm;\n Validator = Validators;\n sameAsResidentialChecked = false;\n disableEditing = false;\n provinceOptions = LookupConstants.PROVINCE;\n countryOptions = LookupConstants.COUNTRIES;\n groupsOptionsObservable = new Subject();\n selectedGroupsOptionsSubject = new Subject();\n defaultRequiredFields = DefaultRequiredFields;\n requiredFieldsPlaceHolder = RecipientFormConstants.requireFieldKey;\n selectOptionText = SharedConstants.NO_OPTION_SELECTED;\n maritalStatusOptions = LookupConstants.MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n relativeDetailsBodyLabel = RecipientSelectConstants.relativeDetailsBodyLabel;\n employersDetailsHeader = RecipientSelectConstants.employerDetailsHeader;\n employmentStatusOptions = LookupConstants.EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS;\n recipientGroupSettings = [];\n formName = \"editRecipient\";\n validationMessage = RecipientFormConstants.validationMessage;\n nameLabel = RecipientFormConstants.nameLabel;\n surnameLabel = RecipientFormConstants.surnameLabel;\n homePhoneTelephoneLabel = RecipientFormConstants.homeTelePhoneLabel;\n workTelephoneLabel = RecipientFormConstants.workTelephoneLabel;\n cellphoneLabel = RecipientFormConstants.cellphoneLabel;\n emailLabel = RecipientFormConstants.emailLabel;\n defaultCommunicationMethodLabel = RecipientFormConstants.defaultCommunicationMethodLabel;\n organisationLabel = RecipientFormConstants.organisationLabel;\n clientVatNumberLabel = RecipientFormConstants.clientVatNumberLabel;\n designationLabel = RecipientFormConstants.designationLabel;\n professionalBodyHeader = RecipientFormConstants.professionalBodyHeader;\n professionalBodyLabel = RecipientFormConstants.professionalBodyLabel;\n professionalBodyRegNoLabel = RecipientFormConstants.professionalBodyRegNoLabel;\n maritalStatusLabel = RecipientSelectConstants.maritalStatusLabel;\n idNumberLabel = RecipientSelectConstants.idNumberLabel;\n relativesFullNameLabel = RecipientSelectConstants.relativesFullNameLabel;\n relativesContactNumberLabel = RecipientSelectConstants.relativesContactNumberLabel;\n relativesAddressLabel = RecipientSelectConstants.relativesAddressLabel;\n employmentStatusLabel = RecipientSelectConstants.employmentStatusLabel;\n employersNameLabel = RecipientSelectConstants.employersNameLabel;\n employersContactNumberLabel = RecipientSelectConstants.employersContactNumberLabel;\n employersAddressLabel = RecipientSelectConstants.employersAddressLabel;\n streetAddressHeader = RecipientFormConstants.streetAddressHeader;\n streetAddressLabel = RecipientFormConstants.streetAddressLabel;\n streetSuburbLabel = RecipientFormConstants.streetSuburbLabel;\n streetCityLabel = RecipientFormConstants.streetCityLabel;\n streetProvinceLabel = RecipientFormConstants.streetProvinceLabel;\n streetCountryLabel = RecipientFormConstants.streetCountryLabel;\n streetCodeLabel = RecipientFormConstants.streetCodeLabel;\n postalDetailsHeader = RecipientFormConstants.postalDetailsHeader;\n postalAddressLabel = RecipientFormConstants.postalAddressLabel;\n postalSuburbLabel = RecipientFormConstants.postalSuburbLabel;\n postalCityLabel = RecipientFormConstants.postalCityLabel;\n postalProvinceLabel = RecipientFormConstants.postalProvinceLabel;\n postalCountryLabel = RecipientFormConstants.postalCountryLabel;\n postalCodeLabel = RecipientFormConstants.postalCodeLabel;\n sameAsStreetAddressLabel = RecipientFormConstants.sameAsStreetAddressLabel;\n groupsHeader = RecipientFormConstants.groups;\n groupsLabel = RecipientFormConstants.groupsLabel;\n selectOptionTextOption = RecipientSelectConstants.PLEASE_SELECT_AN_OPTION;\n // Form Controls\n nameFormControlName = RecipientFormConstants.nameFormControl;\n surnameFormControlName = RecipientFormConstants.surnameFormControl;\n homePhoneFormControlName = RecipientFormConstants.homeTelePhoneFormControl;\n workTelephoneFormControlName = RecipientFormConstants.workTelephoneFormControl;\n cellphoneFormControlName = RecipientFormConstants.cellphoneFormControlName;\n emailFormControlName = RecipientFormConstants.emailFormControlName;\n defaultCommunicationMethodFormControlName = RecipientSelectConstants.defaultCommunicationMethodFormControlName;\n emailRadioButtonLabel = RecipientFormConstants.emailRadioButtonLabel;\n smsRadioButtonLabel = RecipientSelectConstants.smsRadioButtonLabel;\n organisationFormControlName = RecipientFormConstants.organisationFormControlName;\n clientVatNumberFormControlName = RecipientFormConstants.clientVatNumberFormControlName;\n designationFormControlName = RecipientFormConstants.designationFormControlName;\n professionalBodyFormControlName = RecipientFormConstants.professionalBodyFormControlName;\n professionalBodyRegNoFormControlName = RecipientFormConstants.professionalBodyRegNoFormControlName;\n maritalStatusFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n idNumberFormControlName = RecipientSelectConstants.idNumberFormControlName;\n relativesFullNameFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n relativesContactNumberFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n relativesAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employmentStatusFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employersNameFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n employersContactNumberFormControlName = RecipientSelectConstants.employersContactNumberFormControlName;\n employersAddressFormControlName = RecipientSelectConstants.employersAddressFormControlName;\n streetAddressFormControlName = RecipientFormConstants.streetAddressFormControlName;\n streetSuburbFormControlName = RecipientFormConstants.streetSuburbFormControlName;\n streetCityFormControlName = RecipientFormConstants.streetCityFormControlName;\n streetProvinceFormControlName = RecipientFormConstants.streetProvinceFormControlName;\n streetCountryFormControlName = RecipientFormConstants.streetCountryFormControlName;\n streetCodeFormControlName = RecipientFormConstants.streetCodeFormControlName;\n postalAddressFormControlName = RecipientFormConstants.postalAddressFormControlName;\n postalSuburbFormControlName = RecipientFormConstants.postalSuburbFormControlName;\n postalCityFormControlName = RecipientFormConstants.postalCityFormControlName;\n postalProvinceFormControlName = RecipientFormConstants.postalProvinceFormControlName;\n postalCountryFormControlName = RecipientFormConstants.postalCountryFormControlName;\n postalCodeFormControlName = RecipientFormConstants.postalCodeFormControlName;\n groupsStringArrayFormControlName = RecipientFormConstants.groupsStringArrayFormControlName;\n maximunLengthForThentyWord = 20;\n maximunLengthForFiftyWord = 50;\n maximunLengthForHundredWord = 100;\n maximunLengthForTwoFiftyWord = 250;\n maximunLengthFiveHundredWord = 500;\n cancelBtnPlaceholder = SharedConstants.CANCEL_LABEL;\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n newRecipientFormLabelHeading = \"Recipient details\";\n // control visibility\n showNameField = true;\n showSurnameField = true;\n showHomeTelephoneField = true;\n showWorkTelephoneField = true;\n showCellphoneField = true;\n showEmailField = true;\n showOrganisationField = true;\n showDesignationField = true;\n showProfessionalBodyField = true;\n showProfessionalBodyRegNumField = true;\n showStreetAddressField = true;\n showStreetSuburbField = true;\n showStreetCityField = true;\n showStreetProvinceField = true;\n showStreetCountryField = true;\n showStreetCodeField = true;\n showPostalAddressField = true;\n showPostalSuburbField = true;\n showPostalCityField = true;\n showPostalProvinceField = true;\n showPostalCountryField = true;\n showPostalCodeField = true;\n showClientVatNumberField = true;\n showMaritalStatusField = true;\n showRelativesFullNameField = true;\n showRelativesContactNumberField = true;\n showRelativesAddressField = true;\n showEmploymentStatusField = true;\n showEmployersNameField = true;\n showEmployersContactNumberField = true;\n showEmployersAddressField = true;\n showIdNumberField = true;\n showSave = true;\n constructor(changeDetectorRef, recipientService, activeModal, appControllerService) {\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.editRecipientForm = new FormGroup({\n id: new FormControl(this.recipientToEdit.id),\n jobId: new FormControl(this.recipientToEdit.jobId ? this.recipientToEdit.jobId : null),\n moduleId: new FormControl(this.recipientToEdit.moduleId ? this.recipientToEdit.moduleId : null),\n name: new FormControl(this.recipientToEdit.name ? this.recipientToEdit.name : null),\n surname: new FormControl(this.recipientToEdit.surname ? this.recipientToEdit.surname : null),\n homePhone: new FormControl(this.recipientToEdit.homePhone ? this.recipientToEdit.homePhone : null, phoneNumberValidator),\n telephone: new FormControl(this.recipientToEdit.telephone ? this.recipientToEdit.telephone : null, phoneNumberValidator),\n cellphone: new FormControl(this.recipientToEdit.cellphone ? this.recipientToEdit.cellphone : null, phoneNumberValidator),\n email: new FormControl(this.recipientToEdit.email ? this.recipientToEdit.email : null, Validators.email),\n defaultCommunicationMethod: new FormControl(this.recipientToEdit.defaultCommunicationMethod ? this.recipientToEdit.defaultCommunicationMethod : null),\n organisation: new FormControl(this.recipientToEdit.organisation ? this.recipientToEdit.organisation : null),\n clientVatNumber: new FormControl(this.recipientToEdit.clientVatNumber ? this.recipientToEdit.clientVatNumber : null),\n designation: new FormControl(this.recipientToEdit.designation ? this.recipientToEdit.designation : null),\n professionalBody: new FormControl(this.recipientToEdit.professionalBody ? this.recipientToEdit.professionalBody : null),\n professionalBodyRegNum: new FormControl(this.recipientToEdit.professionalBodyRegNum ? this.recipientToEdit.professionalBodyRegNum : null),\n maritalStatus: new FormControl(this.recipientToEdit.maritalStatus ? this.recipientToEdit.maritalStatus : null),\n idNumber: new FormControl(this.recipientToEdit.idNumber ? this.recipientToEdit.idNumber : null),\n relativesFullName: new FormControl(this.recipientToEdit.relativesFullName ? this.recipientToEdit.relativesFullName : null),\n relativesContactNumber: new FormControl(this.recipientToEdit.relativesContactNumber ? this.recipientToEdit.relativesContactNumber : null),\n relativesAddress: new FormControl(this.recipientToEdit.relativesAddress ? this.recipientToEdit.relativesAddress : null),\n employmentStatus: new FormControl(this.recipientToEdit.employmentStatus ? this.recipientToEdit.employmentStatus : null),\n employersName: new FormControl(this.recipientToEdit.employersName ? this.recipientToEdit.employersName : null),\n employersContactNumber: new FormControl(this.recipientToEdit.employersContactNumber ? this.recipientToEdit.employersContactNumber : null),\n employersAddress: new FormControl(this.recipientToEdit.employersAddress ? this.recipientToEdit.employersAddress : null),\n streetAddress: new FormControl(this.recipientToEdit.streetAddress ? this.recipientToEdit.streetAddress : null),\n streetSuburb: new FormControl(this.recipientToEdit.streetSuburb ? this.recipientToEdit.streetSuburb : null),\n streetCity: new FormControl(this.recipientToEdit.streetCity ? this.recipientToEdit.streetCity : null),\n streetProvince: new FormControl(this.recipientToEdit.streetProvince ? this.recipientToEdit.streetProvince : null),\n streetCountry: new FormControl(this.recipientToEdit.streetCountry ? this.recipientToEdit.streetCountry : null),\n streetCode: new FormControl(this.recipientToEdit.streetCode ? this.recipientToEdit.streetCode : null),\n postalAddress: new FormControl(this.recipientToEdit.postalAddress ? this.recipientToEdit.postalAddress : null),\n postalSuburb: new FormControl(this.recipientToEdit.postalSuburb ? this.recipientToEdit.postalSuburb : null),\n postalCity: new FormControl(this.recipientToEdit.postalCity ? this.recipientToEdit.postalCity : null),\n postalProvince: new FormControl(this.recipientToEdit.postalProvince ? this.recipientToEdit.postalProvince : null),\n postalCountry: new FormControl(this.recipientToEdit.postalCountry ? this.recipientToEdit.postalCountry : null),\n postalCode: new FormControl(this.recipientToEdit.postalCode ? this.recipientToEdit.postalCode : null),\n groupsStringArray: new FormControl(this.getGroupsStringArray(this.recipientToEdit.groups)),\n groups: new FormControl(this.recipientToEdit.groups ? this.recipientToEdit.groups : null)\n });\n this.loadRecipientGroupSettings();\n }\n loadRecipientGroupSettings() {\n if (this.recipientGroupSettings.length === 0) {\n this.recipientService.getRecipientGroupSettings(+this.appControllerService.selectedModuleID, false).pipe(take(1)).subscribe({\n next: (response) => {\n this.recipientGroupSettings = response;\n this.checkRequiredFields();\n }, error: (error) => {\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n });\n }\n }\n ngAfterViewInit() {\n this.populateRecipientGroups();\n this.checkIfPostalDetailsIsTheSameAsResidentialDetails(this.recipientToEdit);\n }\n ngOnDestroy() {\n this.selectedGroupsOptionsSubject.unsubscribe();\n this.groupsOptionsObservable.unsubscribe();\n }\n onResidentialInputEntered($event, postalAddressFormControlName) {\n RecipientUtils.onResidentialInputEntered($event, postalAddressFormControlName, this.editRecipientForm, this.sameAsResidentialChecked);\n }\n onSameAsResidentialChecked($event) {\n const checkBoxStatus = $event.target.checked;\n if (checkBoxStatus) {\n this.sameAsResidentialChecked = true; // checks the checkbox and disables fields\n RecipientUtils.copyStreetDetailsDataToPostalDetailsFields(this.editRecipientForm, this.sameAsResidentialChecked);\n RecipientUtils.clearPostalDetailsValidators(this.editRecipientForm, this.sameAsResidentialChecked);\n }\n else {\n this.sameAsResidentialChecked = false;\n RecipientUtils.enablePostalDetails(this.editRecipientForm);\n RecipientUtils.restorePostalDetailsValidators(this.editRecipientForm, this.groupsFromMetadata);\n this.editRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.detectChanges();\n }\n }\n enablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.enablePostalSelects(this.editRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n disablePostalSelects(postalProvinceFormControlName) {\n RecipientUtils.disablePostalSelects(this.editRecipientForm, postalProvinceFormControlName, this.sameAsResidentialChecked);\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editRecipientForm.valid) {\n this.editRecipientForm.enable();\n const newRecipient = this.editRecipientForm.value;\n console.log(newRecipient);\n newRecipient.jobId = this.jobId ? +this.jobId : null;\n newRecipient.moduleId = this.moduleId;\n if (newRecipient.groupsStringArray && newRecipient.groupsStringArray.groups) {\n newRecipient.groupsStringArray = newRecipient.groupsStringArray.groups;\n }\n else {\n newRecipient.groups = [];\n }\n delete newRecipient.groups;\n this.activeModal.close(newRecipient);\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n updateModel() {\n }\n onRadioButtonChanged(selectedMethodOfCommunication) {\n const preferredMethodOfCommunication = selectedMethodOfCommunication.trim().toLowerCase();\n const emailFormControl = this.editRecipientForm.get(this.emailFormControlName);\n const cellphoneFormControl = this.editRecipientForm.get(this.cellphoneFormControlName);\n const recipientGroup = this.groupsFromMetadata[0];\n const isCellPhoneRequiredFromMetaData = this.isCellphoneFormFieldRequiredInTheMetadata(recipientGroup);\n const isEmailRequiredFromMetadata = this.isEmailFormFieldRequiredInTheMetadata(recipientGroup);\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"email\") {\n this.setEmailFormFieldAsRequired(emailFormControl);\n if (isCellPhoneRequiredFromMetaData) {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n }\n else {\n this.clearCellphoneFormFieldRequiredValidation(cellphoneFormControl);\n }\n }\n if (preferredMethodOfCommunication.toLowerCase().trim() === \"sms\") {\n this.setCellphoneFormFieldAsRequired(cellphoneFormControl);\n // if (isEmailRequiredFromMetadata) {\n // this.setEmailFormFieldAsRequired(emailFormControl);\n // } else {\n // this.clearEmailFormFieldRequiredValidation(emailFormControl);\n // }\n }\n }\n populateRecipientGroups() {\n // populates the groups\n this.groupsOptions?.sort((a, b) => a?.localeCompare(b));\n this.changeDetectorRef.detectChanges();\n }\n checkRequiredFields() {\n const group = this.groupsFromMetadata[0];\n if (this.recipientGroupSettings.length > 0) {\n const settings = this.recipientGroupSettings.find(x => x.name === group.groupName && x.type === group.groupType);\n if (settings) {\n group.requiredFields = JSON.parse(settings.configuration);\n this.loadRequiredFields(group);\n this.editRecipientForm.updateValueAndValidity();\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n else {\n this.showSave = false;\n this.appControllerService.showMessage(\"Configuration for recipient group settings incomplete\", AlertType.Error);\n }\n }\n checkIfPostalDetailsIsTheSameAsResidentialDetails(recipient) {\n const postalDetailsMatchResidentialDetails = RecipientUtils.checkAddressDetails(recipient, this.editRecipientForm);\n if (postalDetailsMatchResidentialDetails) {\n RecipientUtils.disablePostalDetails(this.editRecipientForm);\n this.sameAsResidentialChecked = true;\n this.changeDetectorRef.detectChanges();\n }\n }\n getGroupsStringArray(groups) {\n const groupsStringArray = [];\n if (groups && groups.length > 0) {\n groups.forEach((group) => {\n groupsStringArray.push(group.groupName);\n });\n }\n return groupsStringArray;\n }\n loadRequiredFields(data) {\n data.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n const control = this.editRecipientForm.get(item.name);\n if (item.required) {\n control.addValidators([Validators.required]);\n if (item.name === RecipientFormConstants.homeTelePhoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.workTelephoneFormControl) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.cellphoneFormControlName) {\n control.addValidators([phoneNumberValidator]);\n }\n if (item.name === RecipientFormConstants.streetCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.postalCodeFormControlName) {\n control.addValidators([Validators.minLength(4)]);\n }\n if (item.name === RecipientFormConstants.emailFormControlName) {\n control.addValidators([Validators.email]);\n }\n control.updateValueAndValidity();\n }\n this.showOrHideControl(item.name, item.visible);\n });\n this.editRecipientForm.updateValueAndValidity();\n this.changeDetectorRef.markForCheck();\n }\n formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n isCellphoneFormFieldRequiredInTheMetadata(recipientGroup) {\n let isCellphoneRequired = false;\n if (this.groupsFromMetadata.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Cellphone\", \"cellphone\")) {\n isCellphoneRequired = true;\n }\n return isCellphoneRequired;\n }\n isEmailFormFieldRequiredInTheMetadata(recipientGroup) {\n let isEsmailRequired = false;\n if (this.groupsFromMetadata.length > 0 && recipientGroup.hasOwnProperty(this.requiredFieldsPlaceHolder) && this.getPropertyThatMatchesDataCase(recipientGroup.requiredFields, \"Email\", \"email\")) {\n isEsmailRequired = true;\n }\n return isEsmailRequired;\n }\n setEmailFormFieldAsRequired(emailFormControl) {\n emailFormControl.setValidators([Validators.required, Validators.email]);\n emailFormControl.updateValueAndValidity();\n }\n setCellphoneFormFieldAsRequired(cellphoneFormControl) {\n cellphoneFormControl.setValidators([Validators.required, phoneNumberValidator]);\n cellphoneFormControl.updateValueAndValidity();\n }\n clearCellphoneFormFieldRequiredValidation(cellphoneFormControl) {\n cellphoneFormControl.clearValidators();\n cellphoneFormControl.addValidators(phoneNumberValidator);\n }\n clearEmailFormFieldRequiredValidation(emailFormControl) {\n emailFormControl.clearValidators();\n emailFormControl.addValidators(Validators.email);\n }\n getPropertyThatMatchesDataCase(propertyObject, name1, name2) {\n let returnVal = null;\n for (const [key, value] of Object.entries(propertyObject)) {\n if (key === name1) {\n returnVal = propertyObject.hasOwnProperty(name1) && value !== null ? value : null;\n break;\n }\n else if (key === name1.toLowerCase()) {\n returnVal = propertyObject.hasOwnProperty(name1.toLowerCase()) && value !== null ? value : null;\n break;\n }\n else if (name2 && key === name2) {\n returnVal = propertyObject.hasOwnProperty(name2) && value !== null ? value : null;\n break;\n }\n }\n return returnVal;\n }\n showOrHideControl(controlName, visible) {\n switch (controlName) {\n case this.nameFormControlName:\n this.showNameField = visible;\n break;\n case this.surnameFormControlName:\n this.showSurnameField = visible;\n break;\n case this.homePhoneFormControlName:\n this.showHomeTelephoneField = visible;\n break;\n case this.workTelephoneFormControlName:\n this.showWorkTelephoneField = visible;\n break;\n case this.cellphoneFormControlName:\n this.showCellphoneField = visible;\n break;\n case this.emailFormControlName:\n this.showEmailField = visible;\n break;\n case this.idNumberFormControlName:\n this.showIdNumberField = visible;\n break;\n case this.organisationFormControlName:\n this.showOrganisationField = visible;\n break;\n case this.designationFormControlName:\n this.showDesignationField = visible;\n break;\n case this.professionalBodyFormControlName:\n this.showProfessionalBodyField = visible;\n break;\n case this.professionalBodyRegNoFormControlName:\n this.showProfessionalBodyRegNumField = visible;\n break;\n case this.maritalStatusFormControlName:\n this.showMaritalStatusField = visible;\n break;\n case this.relativesFullNameFormControlName:\n this.showRelativesFullNameField = visible;\n break;\n case this.clientVatNumberFormControlName:\n this.showClientVatNumberField = visible;\n break;\n case this.relativesContactNumberFormControlName:\n this.showRelativesContactNumberField = visible;\n break;\n case this.relativesAddressFormControlName:\n this.showRelativesAddressField = visible;\n break;\n case this.employmentStatusFormControlName:\n this.showEmploymentStatusField = visible;\n break;\n case this.employersNameFormControlName:\n this.showEmployersNameField = visible;\n break;\n case this.employersContactNumberFormControlName:\n this.showEmployersContactNumberField = visible;\n break;\n case this.employersAddressFormControlName:\n this.showEmployersAddressField = visible;\n break;\n case this.streetAddressFormControlName:\n this.showStreetAddressField = visible;\n break;\n case this.streetCityFormControlName:\n this.showStreetCityField = visible;\n break;\n case this.streetSuburbFormControlName:\n this.showStreetSuburbField = visible;\n break;\n case this.streetProvinceFormControlName:\n this.showStreetProvinceField = visible;\n break;\n case this.streetCountryFormControlName:\n this.showStreetCountryField = visible;\n break;\n case this.streetCodeFormControlName:\n this.showStreetCodeField = visible;\n break;\n case this.postalAddressFormControlName:\n this.showPostalAddressField = visible;\n break;\n case this.postalCityFormControlName:\n this.showPostalCityField = visible;\n break;\n case this.postalSuburbFormControlName:\n this.showPostalSuburbField = visible;\n break;\n case this.postalProvinceFormControlName:\n this.showPostalProvinceField = visible;\n break;\n case this.postalCountryFormControlName:\n this.showPostalCountryField = visible;\n break;\n case this.postalCodeFormControlName:\n this.showPostalCodeField = visible;\n break;\n default:\n break;\n }\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: NgbActiveModal },\n { type: AppControllerService }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n groupsFromMetadata: [{ type: Input }],\n jobId: [{ type: Input }],\n moduleId: [{ type: Input }],\n groupsOptions: [{ type: Input }],\n recipientToEdit: [{ type: Input }],\n selectedRecipientGroups: [{ type: Input }],\n showRecipientGroupsDropdown: [{ type: Input }],\n showDefaultCommunicationMethods: [{ type: Input }]\n };\n};\nEditRecipientModalComponent = __decorate([\n Component({\n selector: \"app-edit-recipient-modal\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], EditRecipientModalComponent);\nexport { EditRecipientModalComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./recipient-filter.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./recipient-filter.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { RecipientService } from \"../shared-services/recipient.service\";\nimport { CRUDOperation } from \"../../../../models/crud-operation-enum.model\";\nimport { take } from \"rxjs/operators\";\nimport { AlertType } from \"../../../../models/alert\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AddRecipientModalComponent } from \"../modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { RecipientFormConstants } from \"../shared-contants/recipient-shared.constants\";\nimport { RecipientFilterConstants } from \"./recipient-filter.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet RecipientFilterComponent = class RecipientFilterComponent {\n appControllerService;\n recipientFilterService;\n modalService;\n changeDetectorRef;\n disableAddRecipientBtn;\n configurableLabel;\n isUsedInRecipientSelect = true;\n jobId;\n formName;\n loadAllRecipientsEventEmitted = new EventEmitter();\n loadRecipientEventEmitted = new EventEmitter();\n groupsOptions = [];\n stepMetaGroups = [];\n // Labels\n displayGroupsLabel = RecipientFilterConstants.displayGroupsLabel;\n selectGroupsLabel = RecipientFilterConstants.selectGroupsLabel;\n selectAllFromGroupBtnLabel = RecipientFilterConstants.selectAllFromGroupBtnLabel;\n selectedGroupsFromDropdown;\n selectedGroupOptions = [\"All\"];\n selectedRecipientFromDropdown;\n selectedRecipientOptions = [];\n displayFilterGroups;\n showSelectRecipientBtn = false; // only show filter is attached to recipient-list\n recipientsFromDb = [];\n showSelectAllRecipientsBtn = true;\n AddOrSelectRecipientLabel = \"Select recipient\";\n displayAddButton = true;\n displayGroupsChecked;\n addRecipientBtnLabel = \"Add recipient\"; // configurable variable\n componentName = RecipientFilterConstants.componentName;\n moduleId;\n recipientGroupsFromMetadata;\n getRecipientsByGroupSubscription;\n constructor(appControllerService, recipientFilterService, modalService, changeDetectorRef) {\n this.appControllerService = appControllerService;\n this.recipientFilterService = recipientFilterService;\n this.modalService = modalService;\n this.changeDetectorRef = changeDetectorRef;\n this.moduleId = Number(this.appControllerService.selectedModuleID);\n }\n ngOnChanges(changes) {\n if (changes && changes.hasOwnProperty(\"stepMetaGroups\") && changes.stepMetaGroups.currentValue && changes.stepMetaGroups.currentValue.length > 0) {\n const groups = changes.stepMetaGroups.currentValue;\n this.recipientGroupsFromMetadata = groups;\n this.getRecipients(groups);\n }\n }\n ngOnInit() {\n this.showOrRemoveFilterButtons();\n }\n onDisplayGroupsChangedChecked($event) {\n const displayGroupsChecked = $event.target.checked;\n if (displayGroupsChecked) {\n this.displayFilterGroups = true;\n this.selectedRecipientOptions.sort((a, b) => (a.consolidatedGroup?.localeCompare(b.consolidatedGroup)));\n }\n else {\n this.displayFilterGroups = false;\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n }\n }\n onSelectGroupsChanged($event) {\n // triggered by checkbox from recipient select filter\n const groupSelected = $event.target.value;\n this.filterRecipients(groupSelected);\n }\n onSelectRecipientBtnClicked() {\n this.loadRecipients();\n }\n onSelectedRecipientChanged() {\n if (this.isUsedInRecipientSelect) {\n this.loadRecipients();\n }\n }\n loadRecipients() {\n if (this.selectedRecipientFromDropdown !== undefined) {\n this.loadRecipientEventEmitted.emit(this.selectedRecipientFromDropdown);\n }\n else {\n this.appControllerService.showMessage(\"Please make a selection from the drop down before adding\", AlertType.Warning);\n }\n }\n onSelectAllFromGroupBtnClicked() {\n if (this.selectedRecipientOptions.length > 0) {\n this.loadAllRecipientsEventEmitted.emit(this.selectedRecipientOptions);\n }\n }\n onAddRecipientBtnClicked() {\n const modalRef = this.modalService.open(AddRecipientModalComponent, RecipientFormConstants.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.configurableLabel ? `Add ${this.configurableLabel}` : `Add recipient`;\n modalRef.componentInstance.configurableLabel = this.configurableLabel ? `${this.configurableLabel} details` : `Add recipient`;\n modalRef.componentInstance.moduleId = +this.moduleId;\n modalRef.componentInstance.groupsOptions = this.groupsOptions;\n modalRef.componentInstance.jobId = +this.jobId;\n modalRef.componentInstance.groupsFromMetadata = this.recipientGroupsFromMetadata;\n if (this.recipientGroupsFromMetadata.length > 1) {\n modalRef.componentInstance.showRecipientsGroupsDropdown = true;\n }\n else {\n modalRef.componentInstance.showRecipientsGroupsDropdown = false;\n }\n modalRef.result.then((newRecipient) => {\n if (newRecipient) {\n this.recipientsFromDb.push(newRecipient);\n newRecipient.fullName = `${newRecipient.name} ${newRecipient.surname}`;\n newRecipient.consolidatedGroup = this.createConsolidatedGroups(newRecipient);\n this.selectedRecipientOptions.push(newRecipient);\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n this.loadRecipientEventEmitted.emit(newRecipient);\n }\n });\n }\n getRecipients(recipientGroups) {\n if (recipientGroups && recipientGroups.length > 0) {\n this.getRecipientsByGroupSubscription =\n this.recipientFilterService.getRecipientsByGroup(this.generateFilterObject(recipientGroups)).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.recipients.length > 0) {\n this.recipientsFromDb = recipients.recipients;\n this.populateGroupsDropDown();\n this.populateRecipientsDropDown();\n this.configureFilterComponent();\n this.changeDetectorRef.detectChanges();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(this.componentName, error, CRUDOperation.Add);\n }\n });\n }\n }\n configureFilterComponent() {\n if (this.isUsedInRecipientSelect) {\n this.configureForRecipientSelect();\n }\n if (!this.isUsedInRecipientSelect) {\n this.configureForRecipientList();\n }\n }\n setConfigurableLabel(addOrSelectText) {\n const textLabel = this.configurableLabel;\n if (textLabel !== undefined && textLabel !== \"\") {\n this.addRecipientBtnLabel = `${addOrSelectText} ${textLabel}`[0].toUpperCase() + `${addOrSelectText} ${textLabel}`.substr(1).toLowerCase();\n this.AddOrSelectRecipientLabel = `Select ${textLabel.toLowerCase()}`;\n }\n else {\n this.isUsedInRecipientSelect ? this.addRecipientBtnLabel = \"Add recipient\" : this.addRecipientBtnLabel = \"Select recipient\";\n }\n }\n configureForRecipientSelect() {\n this.showOrRemoveFilterButtons();\n this.setConfigurableLabel(\"Add\");\n }\n configureForRecipientList() {\n this.showOrRemoveFilterButtons();\n this.setConfigurableLabel(\"Select\");\n }\n showOrRemoveFilterButtons() {\n if (this.isUsedInRecipientSelect) {\n // show recipient select button configuration\n this.showSelectRecipientBtn = false; // removes the selectRecipient button into the viewer\n this.showSelectAllRecipientsBtn = false; // removes the selectAllRecipient button into the viewer\n if (this.disableAddRecipientBtn) {\n this.displayAddButton = false; // adds the addRecipient button from the viewer\n }\n }\n else {\n // show recipient list button configuration\n this.showSelectRecipientBtn = true; // adds the selectRecipient button into the viewer\n this.showSelectAllRecipientsBtn = true; // add the selectAllRecipient button into the viewer\n this.displayAddButton = false; // removes the add recipient button , should only be shown on the recipient select\n }\n }\n generateFilterObject(recipientGroups) {\n const recipientSelect = {\n jobId: this.jobId,\n moduleId: this.moduleId,\n groups: []\n };\n if (recipientGroups.length > 0) {\n recipientGroups.forEach((group, i) => {\n const ggroup = {\n groupType: group.groupType,\n groupName: group.groupName\n };\n recipientSelect.groups.push(ggroup);\n });\n }\n return recipientSelect;\n }\n populateGroupsDropDown() {\n this.groupsOptions = [];\n this.recipientGroupsFromMetadata.forEach(group => {\n this.groupsOptions.push(group.groupName);\n this.selectedGroupOptions.push(group.groupName);\n });\n this.groupsOptions.sort((a, b) => (a?.localeCompare(b)));\n }\n createConsolidatedGroups(recipient) {\n const groups = [];\n recipient.groups?.forEach(group => groups.push(group.groupName));\n return groups.join(\", \");\n }\n filterRecipients(groupSelected) {\n this.selectedRecipientOptions = [];\n if (groupSelected === \"All\") {\n this.selectedRecipientOptions = this.recipientsFromDb;\n }\n else {\n this.selectedRecipientOptions = this.recipientsFromDb.filter((recipient) => {\n for (const recipientGroup of recipient.groups) {\n if (recipientGroup.groupName === groupSelected) {\n return recipient;\n }\n }\n });\n }\n this.sortGroupsAlphabetically();\n this.selectedRecipientFromDropdown = this.selectedRecipientOptions[0];\n this.changeDetectorRef.detectChanges();\n }\n sortGroupsAlphabetically() {\n if (this.displayFilterGroups) {\n this.selectedRecipientOptions.sort((a, b) => (a.consolidatedGroup?.localeCompare(b.consolidatedGroup)));\n }\n else {\n this.selectedRecipientOptions.sort((a, b) => (a.name?.localeCompare(b.name)));\n }\n }\n populateRecipientsDropDown() {\n this.recipientsFromDb.forEach(recipient => {\n recipient.consolidatedGroup = this.createConsolidatedGroups(recipient);\n this.selectedRecipientOptions.push(recipient);\n });\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: RecipientService },\n { type: NgbModal },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n disableAddRecipientBtn: [{ type: Input }],\n configurableLabel: [{ type: Input }],\n isUsedInRecipientSelect: [{ type: Input }],\n jobId: [{ type: Input }],\n formName: [{ type: Input }],\n loadAllRecipientsEventEmitted: [{ type: Output }],\n loadRecipientEventEmitted: [{ type: Output }],\n groupsOptions: [{ type: Input }],\n stepMetaGroups: [{ type: Input }]\n };\n};\nRecipientFilterComponent = __decorate([\n Component({\n selector: \"app-recipient-filter\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], RecipientFilterComponent);\nexport { RecipientFilterComponent };\n","export class RecipientFilterConstants {\n // Labels\n static displayGroupsLabel = \"Display groups\";\n static selectGroupsLabel = \"Select group\";\n static componentName = \"recipient filter\";\n static selectAllFromGroupBtnLabel = \"Select all from group\";\n}\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class RecipientFormConstants {\n // Form labels\n static nameLabel = \"Name\";\n static surnameLabel = \"Surname\";\n static homeTelePhoneLabel = \"Home telephone\";\n static workTelephoneLabel = \"Work telephone\";\n static cellphoneLabel = \"Cellphone\";\n static emailLabel = \"Email\";\n static smsRadioButtonLabel = \"SMS\";\n static defaultCommunicationMethodLabel = \"Preferred method of communication\";\n static emailRadioButtonLabel = \"Email\";\n static organisationLabel = \"Organisation\";\n static clientVatNumberLabel = \"Client VAT number\";\n static designationLabel = \"Designation\";\n static professionalBodyHeader = \"Professional body details\";\n static professionalBodyLabel = \"Professional body\";\n static professionalBodyRegNoLabel = \"Professional body registration number\";\n static streetAddressHeader = \"Street address details\";\n static streetAddressLabel = \"Street address\";\n static streetSuburbLabel = \"Suburb\";\n static streetCityLabel = \"City\";\n static streetProvinceLabel = \"Province\";\n static streetCountryLabel = \"Country\";\n static streetCodeLabel = \"Code\";\n static postalAddressLabel = \"Postal address\";\n static postalSuburbLabel = \"Suburb\";\n static postalCityLabel = \"City\";\n static postalProvinceLabel = \"Province\";\n static postalCountryLabel = \"Country\";\n static postalCodeLabel = \"Code\";\n static postalDetailsHeader = \"Postal address details\";\n static sameAsStreetAddressLabel = \"Same as street address\";\n static groups = \"Group Details\";\n static groupsLabel = \"Groups\";\n static selectGroupsLabel = \"Select group(s)\";\n static PLEASE_SELECT_AN_OPTION = \"Please select an option\";\n // Form Controls\n static nameFormControl = \"name\";\n static surnameFormControl = \"surname\";\n static homeTelePhoneFormControl = \"homePhone\";\n static workTelephoneFormControl = \"telephone\";\n static cellphoneFormControlName = \"cellphone\";\n static defaultCommunicationMethodFormControlName = \"defaultCommunicationMethod\";\n static emailFormControlName = \"email\";\n static organisationFormControlName = \"organisation\";\n static clientVatNumberFormControlName = \"clientVatNumber\";\n static designationFormControlName = \"designation\";\n static professionalBodyFormControlName = \"professionalBody\";\n static professionalBodyRegNoFormControlName = \"professionalBodyRegNum\";\n static streetAddressFormControlName = \"streetAddress\";\n static streetSuburbFormControlName = \"streetSuburb\";\n static streetCityFormControlName = \"streetCity\";\n static streetProvinceFormControlName = \"streetProvince\";\n static streetCountryFormControlName = \"streetCountry\";\n static streetCodeFormControlName = \"streetCode\";\n static postalAddressFormControlName = \"postalAddress\";\n static postalSuburbFormControlName = \"postalSuburb\";\n static postalCityFormControlName = \"postalCity\";\n static postalProvinceFormControlName = \"postalProvince\";\n static postalCountryFormControlName = \"postalCountry\";\n static postalCodeFormControlName = \"postalCode\";\n static groupsFormControlName = \"groups\";\n static groupsStringArrayFormControlName = \"groupsStringArray\";\n static validationMessage = {\n name: {\n name: \"Please enter name\",\n maxlength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n surname: {\n surname: \"Please enter surname.\",\n maxlength: `Surname ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n telephone: {\n telephone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Telephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n homePhone: {\n homePhone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Homephone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n cellphone: {\n cellphone: \"Please enter a valid phone number in the format +27123457788.\",\n maxlength: `Cellphone ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"20\")}`,\n },\n organisation: {\n organisation: \"Please enter organisation name.\",\n maxlength: `Organisation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n clientVatNumber: {\n clientVatNumber: \"Please enter the client's vat number.\",\n maxlength: `Client Vat Number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n designation: {\n designation: \"Please enter designation.\",\n maxlength: `Designation ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n professionalBody: {\n professionalBody: \"Please enter professional body.\",\n maxlength: `Professional body ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"500\")}`,\n },\n professionalBodyRegNum: {\n professionalBodyRegNum: \"Please enter the professional body's registration number.\",\n maxlength: `Professional body Registration number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n email: {\n email: \"Please enter a valid email address, for example, JDoe@gmail.com.\",\n maxlength: `Email ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n maritalStatus: {\n maritalStatus: \"Please select your marital status.\",\n },\n relativesFullName: {\n relativesFullName: \"Please enter your relative's full name.\",\n },\n relativesContactNumber: {\n relativesContactNumber: \"Please enter your relative's contact number.\",\n },\n relativesAddress: {\n relativesAddress: \"Please enter your relative's address.\",\n },\n employmentStatus: {\n employmentStatus: \"Please select your employment status.\",\n },\n employersName: {\n employersName: \"Please enter your employer's name.\",\n },\n idNumber: {\n idNumber: \"Please enter your ID number.\",\n maxlength: `ID number ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n employersContactNumber: {\n employersContactNumber: \"Please enter your employer's number.\",\n },\n employersAddress: {\n employersAddress: \"Please enter your employer's address.\",\n },\n streetAddress: {\n streetAddress: \"Please enter address.\",\n maxlength: `Street address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n streetSuburb: {\n streetSuburb: \"Please enter suburb.\",\n maxlength: `Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n streetCity: {\n streetCity: \"Please enter city.\",\n maxlength: `City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetProvince: {\n streetProvince: \"Please select a province.\",\n maxlength: `Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCountry: {\n streetCountry: \"Please select a country.\",\n maxlength: `Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n streetCode: {\n streetCode: \"Please enter a street code.\",\n maxlength: `Street Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalAddress: {\n postalAddress: \"Please enter a postal address.\",\n maxlength: `Postal Address ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"250\")}`,\n },\n postalSuburb: {\n postalSuburb: \"Please enter suburb.\",\n maxlength: `Postal Suburb ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"100\")}`,\n },\n postalCity: {\n postalCity: \"Please enter a city.\",\n maxlength: `Postal City ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalProvince: {\n postalProvince: \"Please select a province.\",\n maxlength: `Postal Province ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCountry: {\n postalCountry: \"Please select a country.\",\n maxlength: `Postal Country ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n postalCode: {\n postalCode: \"Please enter a postal code.\",\n maxlength: `Postal Code ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"50\")}`,\n },\n groups: \"Please select a group.\",\n sacapRegistrationNumber: \"Please enter registration number.\",\n };\n static modalBodyOptions = {\n size: \"xl\", centered: true, backdrop: \"static\"\n };\n static requireFieldKey = \"requiredFields\";\n}\n","import { __decorate } from \"tslib\";\nimport { EventEmitter, Injectable } from \"@angular/core\";\nimport { map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport RecipientUtils from \"../../../../../shared/utils/recipient-utils\";\nimport { ApiRecipientConstants } from \"../../../../constants/api-constants/api-recipient.constants\";\nimport { ApiLookupConstants } from \"../../../../constants/api-constants/api-lookup.constants\";\nimport { AppControllerService } from \"../../../../../app-controller.service\";\nimport { ApiUserSettingsConstants } from \"../../../../constants/api-constants/api-user-settings.constants\";\nimport { ApiRecipientVerificationConstants } from \"../../../../constants/api-constants/api-recipient-verification.constants\";\nimport { ApiRecipientGroupSettingsConstants } from \"src/app/shared/constants/api-constants/api-recipient-group-settings.constants\";\nlet RecipientService = class RecipientService {\n appControllerService;\n http;\n clearRecipientEvent = new EventEmitter();\n constructor(appControllerService, http) {\n this.appControllerService = appControllerService;\n this.http = http;\n }\n getRecipientsObservable(params) {\n return this.http.get(`${ApiRecipientConstants.URL}/${ApiRecipientConstants.FUNCTION_GET_PORTAL_RECIPIENT}`, { params }).pipe(map((recipients) => {\n return recipients.value;\n }));\n }\n getRecipientsByGroup(params) {\n return this.http.post(`${ApiRecipientConstants.URL}/${ApiRecipientConstants.FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP}`, params);\n }\n getRecipientGroupsLookupObservable(moduleId) {\n const params = {\n $filter: `name eq 'RecipientGroup' and moduleId eq ${moduleId} and deleted eq false`,\n $orderBy: \"name\"\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map((lookups) => {\n return lookups.value;\n }));\n }\n checkStepMetaRecipientGroups(stepMetaGroups) {\n return stepMetaGroups.length > 0 ? RecipientUtils.mapStepMetaRecipientGroups(stepMetaGroups) : [];\n }\n clearRecipientTrigger(isCleared) {\n this.clearRecipientEvent.emit(isCleared);\n }\n listenToClearRecipient() {\n return this.clearRecipientEvent;\n }\n getApplicantDataFromUserSettings(userId, key) {\n const params = {\n $filter: `userId eq ${userId} and key eq '${key}' and deleted eq false`\n };\n return this.http.get(`${ApiUserSettingsConstants.URL}`, { params }).pipe(map((response) => {\n return response.value;\n }));\n }\n verifySACAPRegistration(constituentId) {\n return this.http.get(`${ApiRecipientVerificationConstants.URL}/${constituentId}`, {});\n }\n getRecipientGroupSettings(moduleId, isInternal = false) {\n let params = { $filter: `moduleId eq ${moduleId}` };\n if (isInternal) {\n params = { $filter: `moduleId eq ${moduleId} and type eq 'Internal'` };\n }\n return this.http.get(`${ApiRecipientGroupSettingsConstants.URL}/${ApiRecipientGroupSettingsConstants.FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS}`, { params }).pipe(map((settings) => {\n return settings.value;\n }));\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: HttpClient }\n ];\n};\nRecipientService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RecipientService);\nexport { RecipientService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./secondary-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./secondary-button.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nlet SecondaryButtonComponent = class SecondaryButtonComponent {\n displayText;\n clickCallBack = new EventEmitter();\n disabled;\n constructor() {\n }\n ngOnInit() {\n this.displayText = this.displayText.toLowerCase();\n }\n onclick($event) {\n this.clickCallBack.emit($event);\n }\n static ctorParameters = () => [];\n static propDecorators = {\n displayText: [{ type: Input }],\n clickCallBack: [{ type: Output }],\n disabled: [{ type: Input }]\n };\n};\nSecondaryButtonComponent = __decorate([\n Component({\n selector: \"app-secondary-button[displayText]\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], SecondaryButtonComponent);\nexport { SecondaryButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-stepper.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-stepper.component.scss?ngResource\";\nimport { Component } from '@angular/core';\nlet ViewApplicationStepperComponent = class ViewApplicationStepperComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nViewApplicationStepperComponent = __decorate([\n Component({\n selector: 'app-view-application-stepper',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationStepperComponent);\nexport { ViewApplicationStepperComponent };\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiAdvertisingConstants {\n static URL = UrlConstants.API_V2 + \"Advertising\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetAdvertisingApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetAdvertisingProperties\";\n static FUNCTION_RESET_APPLICATION_VALUES = \"resetApplicationValues\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateAdvertisingInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS = \"GetMyAFLAPortalAdvertisingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetAApplicationTypes\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalAdvertisingApplication\";\n static FUNCTION_GET_GENERATE_REQUIRED_DOCUMENTS_CHECKLIST = \"GetAdvertisingRequiredDocumentsChecklist\";\n}\n","export class ApiApplicationSearchConstants {\n static 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_GTIA_APPLICATIONS_BY_USER = \"GetGtiaApplicationsByUser\";\n static FUNCTION_GET_EH_APPLICATIONS_BY_USER = \"GetEhApplicationsByUser\";\n static FUNCTION_GET_BP_APPLICATIONS_BY_USER = \"GetBpApplicationsByUser\";\n static FUNCTION_GET_PL_APPLICATIONS_BY_USER = \"GetPlApplicationsByUser\";\n static FUNCTION_GET_CM_APPLICATIONS_BY_USER = \"GetCmApplicationsByUser\";\n static FUNCTION_GET_W_APPLICATIONS_BY_USER = \"GetWApplicationsByUser\";\n static FUNCTION_GET_DM_APPLICATIONS_BY_USER = \"GetDMApplicationsByUser\";\n static FUNCTION_GET_RC_APPLICATIONS_BY_USER = \"GetRcApplicationsByUser\";\n static FUNCTION_GET_EC_APPLICATIONS_BY_USER = \"GetECpplicationsByUser\";\n static FUNCTION_GET_TM_APPLICATION_BY_USER = \"GetTmApplicationByUser\";\n static FUNCTION_GET_CM_APPLICATIONS_WITH_FAMILIES = \"GetCmApplicationsWithFamilies\";\n static FUNCTION_GET_CM_APPLICATIONS_WITH_GRAVE = \"GetCmApplicationsWithGrave\";\n static FUNCTION_GET_PL_APPLICATIONS_WITH_GROUPS = \"GetPlApplicationsWithGroups\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiAttachmentConstants {\n static URL = UrlConstants.API_V2 + \"Attachment\";\n static FUNCTION_DELETE_MULTIPLE_ATTACHMENTS = \"DeleteMultipleAttachments\";\n static FUNCTION_GET_ATTACHMENT_CONTENT = \"GetAttachmentContent\";\n static FUNCTION_UPLOAD_ATTACHMENT = \"UploadAttachment\";\n static FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL = \"UploadAttachmentFromAFLAPortal\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS = \"GetMyAFLAPortalDocuments\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiBuildingPlansConstants {\n static URL = UrlConstants.API_V2 + \"BuildingPlans\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetBuildingPlansApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateBuildingPlansInvoiceReport\";\n static FUNCTION_SET_PROFESSIONAL_BODIES = \"SetBuildingPlansProfessionalBodies\";\n static FUNCTION_SET_PROPERTIES = \"SetBuildingPlansProperties\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalBuildingPlansApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS = \"GetMyAFLAPortalBuildingPlansApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiBusinessLicenceConstants {\n static URL = UrlConstants.API_V2 + \"BusinessLicence\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalBusinessLicenceApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetBusinessLicenceApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetBusinessLicenceProperties\";\n static FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS = \"GetMyAFLAPortalBusinessLicenceApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetBlApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiCemeteryConstants {\n static URL = UrlConstants.API_V2 + \"Cemetery\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetCemeteryApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateCemeteryInvoiceReport\";\n static FUNCTION_GET_FAMILY = \"GetFamily\";\n static FUNCTION_SET_FAMILY = \"SetFamily\";\n static FUNCTION_SET_DETAILS = \"SetPropertyAndLeaseDetails\";\n static FUNCTION_SET_DECEASED = \"SetDeceased\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalCemeteryApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS = \"GetMyAFLAPortalCemeteryApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiCommunicationConstants {\n static URL = UrlConstants.API_V2 + \"Communication\";\n static FUNCTION_GET_COMMUNICATION_BY_JOBID = \"GetAFLAPortalCommunicationsForApplicantByJobID\";\n static FUNCTION_GENERATE_EMAIL = \"GenerateEmail\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiDemolitionManagementConstants {\n static URL = UrlConstants.API_V2 + \"DemolitionManagement\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalDemolitionManagementApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS = \"GetMyAflaPortalDemolitionManagementApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiElectricalConnectionConstants {\n static URL = UrlConstants.API_V2 + \"ElectricalConnection\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalElectricalConnectionApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS = \"GetMyAFLAPortalElectricalConnectionApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiGautrainConstants {\n static URL = UrlConstants.API_V2 + \"Gautrain\";\n static FUNCTION_SET_ZONES = \"SetTownPlanningZones\";\n static FUNCTION_SET_APPLICATION_TYPES = \"SetGautrainApplicationTypes\";\n static FUNCTION_GET_DISTINCT_APPLICATION_TYPES = \"GetDistinctApplicationTypes\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetGautrainApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetProperties\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateGautrainInvoiceReport\";\n static FUNCTION_GET_APPLICATION_TYPES = \"GetGtApplicationTypes\";\n static FUNCTION_GET_MY_AFLA_PORTAL_GAUTAIN_APPLICATIONS = \"GetMyAFLAPortalGautrainApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalGautrainApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiInformalTradeConstants {\n static URL = UrlConstants.API_V2 + \"InformalTrading\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalInformalTradingApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetInformalTradingApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateInformalTradingInvoiceReport\";\n static FUNCTION_SET_PROPERTIES = \"SetInformalTradingBays\";\n static FUNCTION_SET_TRADERS = \"SetTraders\";\n static FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS = \"GetMyAFLAPortalInformalTradingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetItApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiLookupConstants {\n static URL = UrlConstants.API_V2 + \"Lookup\";\n static FUNCTION_DELETE_MULTIPLE_LOOKUPS = \"DeleteMultipleLookups\";\n static FUNCTION_GET_LOOKUP_ATTACHMENT = \"GetLookupAttachment\";\n static FUNCTION_UPLOAD_LOOKUP_ATTACHMENT = \"UploadLookupAttachment\";\n static FUNCTION_DELETE_ALL_LOOKUPS = \"DeleteAllLookups\";\n static FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL = \"GetLookupsForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleMapConstants {\n static URL = UrlConstants.API_V2 + \"ModuleMap\";\n static FUNCTION_DELETE_MULTIPLE_MODULE_MAPS = \"DeleteMultipleModuleMaps\";\n static FUNCTION_DELETE_ALL_MODULE_MAPS = \"DeleteAllModuleMaps\";\n static FUNCTION_GET_MODULE_FOR_AFLA_PORTAL = \"GetModuleMapForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleSettingConstants {\n static URL = UrlConstants.API_V2 + \"ModuleSetting\";\n static FUNCTION_GET_AFLA_PORTAL_SETTINGS = \"GetAFLAPortalSettings\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiModuleConstants {\n static URL = UrlConstants.API_V2 + \"Module\";\n static MISSING_LOOKUP_EMAIL_REQUEST_URL = \"SendMissingLookupEmail\";\n static GET_PORTAL_MODULES = \"GetPortalModules\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiNotesConstants {\n static URL = UrlConstants.API_V2 + \"Notes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiOrganisationConstants {\n static URL = UrlConstants.API_V2 + \"Organisation\";\n static FUNCTION_REJECT_APPLICATION = \"RejectApplication\";\n static FUNCTION_ACCEPT_APPLICATION = \"AcceptApplication\";\n static FUNCTION_GET_APPLICATIONS = \"GetApplications\";\n static FUNCTION_REINSTATE_ORGANISATION = \"ReinstateOrganisation\";\n static FUNCTION_SUSPEND_ORGANISATION = \"SuspendOrganisation\";\n static FUNCTION_UNSUSPEND_USER_FROM_ORGANISATION = \"UnsuspendUserFromOrganisation\";\n static FUNCTION_SUSPEND_USER_FROM_ORGANISATION = \"SuspendUserFromOrganisation\";\n static FUNCTION_REMOVE_USERS_FROM_ORGANISATION = \"RemoveUsersFromOrganisation\";\n static FUNCTION_REMOVE_USER_FROM_ORGANISATION = \"RemoveUsersFromOrganisation\";\n static FUNCTION_GET_USERS = \"GetUsers\";\n static FUNCTION_APPLY_TO_ORGANISATION = \"ApplyToOrganisation\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiPropertyAndLeaseConstants {\n static URL = UrlConstants.API_V2 + \"PropertyAndLease\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetPropertyAndLeaseApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GeneratePropertyAndLeaseInvoiceReport\";\n static FUNCTION_GET_LESSEES = \"GetLesseesPortal\";\n static FUNCTION_GET_BUYERS = \"GetBuyersPortal\";\n static FUNCTION_GET_SELLERS = \"GetSellersPortal\";\n static FUNCTION_SET_DETAILS = \"SetPropertyAndLeaseDetails\";\n static FUNCTION_SET_PROPERTIES = \"SetPropertyAndLeaseProperties\";\n static FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS = \"GetMyAFLAPortalPropertyAndLeaseApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiProxyConstants {\n static URL = `${UrlConstants.API_V2}Proxy`;\n static URL_POST = `${UrlConstants.API_V2}Proxy/ProxyPost`;\n static URL_LAYER_TOKEN = `${UrlConstants.API_V2}Proxy/GetLayerToken`;\n static FUNCTION_CHECK_SECURE_URL = `${UrlConstants.API_V2}CheckSecureURL`;\n static QUERY_PREFIX = `?`;\n static PARAMETER_PREFIX = `&`;\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRatesCertificateConstants {\n static URL = UrlConstants.API_V2 + \"RatesCertificate\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalRatesCertificateApplication\";\n static FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS = \"GetMyAFLAPortalRatesCertificateApplications\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientGroupSettingsConstants {\n static URL = UrlConstants.API_V2 + \"RecipientGroupSetting\";\n static FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS = \"GetAFLAPortalRecipientGroups\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientVerificationConstants {\n static URL = UrlConstants.API_V2 + \"RecipientVerification\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiRecipientConstants {\n static URL = UrlConstants.API_V2 + \"Recipient\";\n static FUNCTION_DELETE_MULTIPLE_RECIPIENTS = \"DeleteMultipleRecipients\";\n static FUNCTION_DELETE_GROUPS = \"DeleteGroups\";\n static FUNCTION_ADD_GROUPS = \"AddGroups\";\n static FUNCTION_GET_RECIPIENT_FROM_TABLE_AND_FIELD = \"GetRecipientFromTableAndField\";\n static FUNCTION_GET_RECIPIENTS_BY_GROUP = \"GetRecipientsByGroup\";\n static FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP = \"GetPortalRecipientsByGroup\";\n static FUNCTION_GET_PORTAL_RECIPIENT = \"GetPortalRecipients\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiStepMetaConstants {\n static URL = UrlConstants.API_V2 + \"StepMeta\";\n static FUNCTION_GET_STEP_META_CONFIGURATION = \"GetStepMetaConfiguration\";\n static FUNCTION_VALIDATE_STEP_META_JSON_SCHEMA = \"ValidateStepMetaJsonSchema\";\n static FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL = \"GetStepMetaForAFLAPortal\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiStreetNamingConstants {\n static URL = UrlConstants.API_V2 + \"StreetNaming\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalStreetNamingApplication\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetStreetNamingApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateStreetNamingInvoiceReport\";\n static FUNCTION_SET_PROPERTIES = \"SetStreetNamingLocation\";\n static FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS = \"GetMyAFLAPortalStreetNamingApplications\";\n static FUNCTION_GET_APPLICATION_TYPE = \"GetStreetNamingApplicationTypes\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiTownPlanningConstants {\n static URL = UrlConstants.API_V2 + \"TownPlanning\";\n static FUNCTION_SET_ZONES = \"SetTownPlanningZones\";\n static FUNCTION_SET_APPLICATION_TYPES = \"SetTownPlanningApplicationTypes\";\n static FUNCTION_GET_DISTINCT_APPLICATION_TYPES = \"GetDistinctApplicationTypes\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetTownPlanningApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetTownPlanningProperties\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateTownPlanningInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS = \"GetMyAFLAPortalTownPlanningApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalTownPlanningApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiTrainingConstants {\n static URL = UrlConstants.API_V2 + \"TrainingModule\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetApplicantAndApplicantAgent\";\n static FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS = \"GetAflaPortalTrainingModuleApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalTrainingModuleApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiUserSettingsConstants {\n static URL = UrlConstants.API_V2 + \"UserSettings\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiUserConstants {\n static URL = UrlConstants.API_V2 + \"User\";\n static FUNCTION_DELINK_MODULE_ROLE = \"DelinkModuleRole\";\n static FUNCTION_DELINK_SYSTEM_ROLE = \"DelinkSystemRole\";\n static FUNCTION_LINK_MODULE_ROLE = \"LinkModuleRole\";\n static FUNCTION_LINK_SYSTEM_ROLE = \"LinkSystemRole\";\n static FUNCTION_ACCEPT_DISCLAIMER = \"AcceptDisclaimer\";\n static RETRIEVE_MY_PORTAL_APPLICATIONS_URL = \"RetrieveMyPortalApplications\";\n static HAS_OPEN_PORTAL_APPLICATIONS = \"HasOpenPortalApplications\";\n static SAVE_DEFAULT_APPLICANT_AGENT = \"SaveDefaultApplicantAgent\";\n static RETRIEVE_DEFAULT_APPLICANT_AGENT = \"RetrieveDefaultApplicantAgent\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiWayleaveConstants {\n static URL = UrlConstants.API_V2 + \"Wayleave\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetWayleaveApplicantAndApplicantAgent\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateWayleaveInvoiceReport\";\n static FUNCTION_SET_PROFESSIONAL_BODIES = \"SetWayleaveProfessionalBodies\";\n static FUNCTION_GET_WAYLEAVE_APPLICATIONS_BY_USER = \"GetWApplicationsByUser\";\n static FUNCTION_SET_LOCATION = \"SetWayleaveLocation\";\n static FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS = \"GetMyAFLAPortalWayleaveApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalWayleaveApplication\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiWorkflowConstants {\n static URL = UrlConstants.API_V2 + \"Workflow\";\n static FUNCTION_SAVE = \"StepSave\";\n static FUNCTION_CONTINUE = \"StepContinue\";\n static FUNCTION_AD_HOC_MOVE_TO_WORKFLOW_STEP = \"AdHocMoveToWorkflowStep\";\n static FUNCTION_WITHDRAW_APPLICATION = \"WithdrawApplication\";\n static FUNCTION_GET_WORKFLOW_CLOSED_STATES = \"GetWorkflowClosedStates\";\n static FUNCTION_GET_WORKFLOW_STEP_NAMES = \"GetWorkflowStepNames\";\n static FUNCTION_GET_STEP_META = \"GetStepMeta\";\n static FUNCTION_JOB_CURRENT_STEPS = \"GetJobCurrentSteps\";\n static FUNCTION_GET_ALL_MOVABLE_STEP_TYPES = \"GetAllMovableStepTypes\";\n static FUNCTION_MOVE_TO_WORKFLOW_STEP = \"MoveToWorkflowStep\";\n static FUNCTION_GET_JOB_TRACKER_DATA = \"GetJobTrackerData\";\n static FUNCTION_GET_JOB_WORKFLOW_IMAGE = \"GetJobWorkflowImage\";\n static FUNCTION_FLUSH_CACHES = \"FlushCaches\";\n static FUNCTION_GET_ALL_STEP_TYPES = \"GetAllStepTypes\";\n static FUNCTION_SAVE_START = \"StepSaveStart\";\n static FUNCTION_CONTINUE_START = \"StepContinueStart\";\n static FUNCTION_SAVE_CREATE_INVOICE = \"StepSaveCreateInvoice\";\n static FUNCTION_CONTINUE_CREATE_INVOICE = \"StepContinueCreateInvoice\";\n static FUNCTION_SAVE_END = \"StepSaveEnd\";\n static FUNCTION_CONTINUE_END = \"StepContinueEnd\";\n static FUNCTION_SAVE_GEN_ASSIGN_RECIPIENT = \"StepSaveGenAssignRecipient\";\n static FUNCTION_CONTINUE_GEN_ASSIGN_RECIPIENT = \"StepContinueGenAssignRecipient\";\n static FUNCTION_SAVE_GEN_AWAIT = \"StepSaveGenAwait\";\n static FUNCTION_CONTINUE_GEN_AWAIT = \"StepContinueGenAwait\";\n static FUNCTION_SAVE_GEN_CAPTURE_ASSESSMENT = \"StepSaveGenCaptureAssessment\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_ASSESSMENT = \"StepContinueGenCaptureAssessment\";\n static FUNCTION_SAVE_GEN_CAPTURE_PROOF_OF_PAYMENT = \"StepSaveGenCaptureProofOfPayment\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_PROOF_OF_PAYMENT = \"StepContinueGenCaptureProofOfPayment\\\"\";\n static FUNCTION_SAVE_GEN_CAPTURE_RESULT = \"StepSaveGenCaptureResult\";\n static FUNCTION_CONTINUE_GEN_CAPTURE_RESULT = \"StepContinueGenCaptureResult\";\n static FUNCTION_SAVE_GEN_PLACEHOLDER = \"StepSaveGenPlaceholder\";\n static FUNCTION_CONTINUE_GEN_PLACEHOLDER = \"StepContinueGenPlaceholder\";\n static FUNCTION_SAVE_GEN_QUESTION = \"StepSaveGenQuestion\";\n static FUNCTION_CONTINUE_GEN_QUESTION = \"StepContinueGenQuestion\";\n static FUNCTION_SAVE_GEN_RECIEVE_COMMS = \"StepSaveGenReceiveComms\";\n static FUNCTION_CONTINUE_GEN_RECIEVE_COMMS = \"StepContinueGenReceiveComms\";\n static FUNCTION_SAVE_GEN_REPORT = \"StepSaveGenReport\";\n static FUNCTION_CONTINUE_GEN_REPORT = \"StepContinueGenReport\";\n static FUNCTION_SAVE_GEN_REQUEST_SURVEY_123 = \"StepSaveGenRequestSurvey123\";\n static FUNCTION_CONTINUE_GEN_REQUEST_SURVEY_123 = \"StepContinueGenRequestSurvey123\";\n static FUNCTION_SAVE_GEN_SEND_COMMS = \"StepSaveGenSendComms\";\n static FUNCTION_CONTINUE_GEN_SEND_COMMS = \"StepContinueGenSendComms\";\n static FUNCTION_SAVE_GEN_SET_CONDITIONS = \"StepSaveGenSetConditions\";\n static FUNCTION_CONTINUE_GEN_SET_CONDITIONS = \"StepContinueGenSetConditions\";\n static FUNCTION_SAVE_GEN_SET_FIELDS = \"StepSaveGenSetFields\";\n static FUNCTION_CONTINUE_GEN_SET_FIELDS = \"StepContinueGenSetFields\";\n static FUNCTION_SAVE_GEN_SET_GRAVE = \"StepSaveGenSetGrave\";\n static FUNCTION_CONTINUE_GEN_SET_GRAVE = \"StepContinueGenSetGrave\";\n static FUNCTION_SAVE_GEN_START_TIMEOUT = \"StepSaveGenStartTimeout\";\n static FUNCTION_CONTINUE_GEN_START_TIMEOUT = \"StepContinueGenStartTimeout\";\n static FUNCTION_SAVE_GEN_STOP_TIMEOUT = \"StepSaveGenStopTimeout\";\n static FUNCTION_CONTINUE_GEN_STOP_TIMEOUT = \"StepContinueGenStopTimeout\";\n static FUNCTION_SAVE_GEN_UPDATE_CHECKLIST = \"StepSaveGenUpdateChecklist\";\n static FUNCTION_CONTINUE_GEN_UPDATE_CHECKLIST = \"StepContinueGenUpdateChecklist\";\n static FUNCTION_SAVE_VERIFY_INVOICE = \"StepSaveVerifyInvoice\";\n static FUNCTION_CONTINUE_VERIFY_INVOICE = \"StepContinueVerifyInvoice\";\n}\n","import { UrlConstants } from \"../url.constants\";\nexport class ApiZoningCertificateConstants {\n static URL = UrlConstants.API_V2 + \"ZoningCertificate\";\n static FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT = \"SetZoningCertificateApplicantAndApplicantAgent\";\n static FUNCTION_SET_PROPERTIES = \"SetZoningCertificateProperties\";\n static FUNCTION_GET_GENERATE_INVOICE = \"GenerateZoningCertificateInvoiceReport\";\n static FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS = \"GetMyAFLAPortalZoningCertificateApplications\";\n static FUNCTION_CREATE_PARTIAL_APPLICATION = \"CreatePartialPortalZoningCertificateApplication\";\n}\n","export class LookupConstants {\n static TEMPLATE_TYPES = [\"Email\", \"Letter\", \"SMS\"];\n static YES_NO = [\"Yes\", \"No\"];\n static PROVINCE = [\n \"Eastern Cape\",\n \"Free State\",\n \"Gauteng\",\n \"KwaZulu-Natal\",\n \"Limpopo\",\n \"Mpumalanga\",\n \"North West\",\n \"Northern Cape\",\n \"Western Cape\",\n ];\n static COUNTRIES = [\n \"Afghanistan\",\n \"Albania\",\n \"Algeria\",\n \"Andorra\",\n \"Angola\",\n \"Anguilla\",\n \"Antigua & Barbuda\",\n \"Argentina\",\n \"Armenia\",\n \"Aruba\",\n \"Australia\",\n \"Austria\",\n \"Azerbaijan\",\n \"Bahamas\",\n \"Bahrain\",\n \"Bangladesh\",\n \"Barbados\",\n \"Belarus\",\n \"Belgium\",\n \"Belize\",\n \"Benin\",\n \"Bermuda\",\n \"Bhutan\",\n \"Bolivia\",\n \"Bosnia & Herzegovina\",\n \"Botswana\",\n \"Brazil\",\n \"British Virgin Islands\",\n \"Brunei\",\n \"Bulgaria\",\n \"Burkina Faso\",\n \"Burundi\",\n \"Cambodia\",\n \"Cameroon\",\n \"Canada\",\n \"Cape Verde\",\n \"Cayman Islands\",\n \"Chad\",\n \"Chile\",\n \"China\",\n \"Colombia\",\n \"Congo\",\n \"Cook Islands\",\n \"Costa Rica\",\n \"Cote D Ivoire\",\n \"Croatia\",\n \"Cruise Ship\",\n \"Cuba\",\n \"Cyprus\",\n \"Czech Republic\",\n \"Denmark\",\n \"Djibouti\",\n \"Dominica\",\n \"Dominican Republic\",\n \"Ecuador\",\n \"Egypt\",\n \"El Salvador\",\n \"Equatorial Guinea\",\n \"Estonia\",\n \"Ethiopia\",\n \"Falkland Islands\",\n \"Faroe Islands\",\n \"Fiji\",\n \"Finland\",\n \"France\",\n \"French Polynesia\",\n \"French West Indies\",\n \"Gabon\",\n \"Gambia\",\n \"Georgia\",\n \"Germany\",\n \"Ghana\",\n \"Gibraltar\",\n \"Greece\",\n \"Greenland\",\n \"Grenada\",\n \"Guam\",\n \"Guatemala\",\n \"Guernsey\",\n \"Guinea\",\n \"Guinea Bissau\",\n \"Guyana\",\n \"Haiti\",\n \"Honduras\",\n \"Hong Kong\",\n \"Hungary\",\n \"Iceland\",\n \"India\",\n \"Indonesia\",\n \"Iran\",\n \"Iraq\",\n \"Ireland\",\n \"Isle of Man\",\n \"Israel\",\n \"Italy\",\n \"Jamaica\",\n \"Japan\",\n \"Jersey\",\n \"Jordan\",\n \"Kazakhstan\",\n \"Kenya\",\n \"Kuwait\",\n \"Kyrgyz Republic\",\n \"Laos\",\n \"Latvia\",\n \"Lebanon\",\n \"Lesotho\",\n \"Liberia\",\n \"Libya\",\n \"Liechtenstein\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Macau\",\n \"Macedonia\",\n \"Madagascar\",\n \"Malawi\",\n \"Malaysia\",\n \"Maldives\",\n \"Mali\",\n \"Malta\",\n \"Mauritania\",\n \"Mauritius\",\n \"Mexico\",\n \"Moldova\",\n \"Monaco\",\n \"Mongolia\",\n \"Montenegro\",\n \"Montserrat\",\n \"Morocco\",\n \"Mozambique\",\n \"Namibia\",\n \"Nepal\",\n \"Netherlands\",\n \"Netherlands Antilles\",\n \"New Caledonia\",\n \"New Zealand\",\n \"Nicaragua\",\n \"Niger\",\n \"Nigeria\",\n \"Norway\",\n \"Oman\",\n \"Pakistan\",\n \"Palestine\",\n \"Panama\",\n \"Papua New Guinea\",\n \"Paraguay\",\n \"Peru\",\n \"Philippines\",\n \"Poland\",\n \"Portugal\",\n \"Puerto Rico\",\n \"Qatar\",\n \"Reunion\",\n \"Romania\",\n \"Russia\",\n \"Rwanda\",\n \"Saint Pierre & Miquelon\",\n \"Samoa\",\n \"San Marino\",\n \"Satellite\",\n \"Saudi Arabia\",\n \"Senegal\",\n \"Serbia\",\n \"Seychelles\",\n \"Sierra Leone\",\n \"Singapore\",\n \"Slovakia\",\n \"Slovenia\",\n \"South Africa\",\n \"South Korea\",\n \"Spain\",\n \"Sri Lanka\",\n \"St Kitts & Nevis\",\n \"St Lucia\",\n \"St Vincent\",\n \"St. Lucia\",\n \"Sudan\",\n \"Suriname\",\n \"Swaziland\",\n \"Sweden\",\n \"Switzerland\",\n \"Syria\",\n \"Taiwan\",\n \"Tajikistan\",\n \"Tanzania\",\n \"Thailand\",\n \"Timor L\\\"Este\",\n \"Togo\",\n \"Tonga\",\n \"Trinidad & Tobago\",\n \"Tunisia\",\n \"Turkey\",\n \"Turkmenistan\",\n \"Turks & Caicos\",\n \"Uganda\",\n \"Ukraine\",\n \"United Arab Emirates\",\n \"United Kingdom\",\n \"United States\",\n \"United States Minor Outlying Islands\",\n \"Uruguay\",\n \"Uzbekistan\",\n \"Venezuela\",\n \"Vietnam\",\n \"Virgin Islands (US)\",\n \"Yemen\",\n \"Zambia\",\n \"Zimbabwe\",\n ];\n // advertising module start\n static REMOVAL_PERIOD_LOOKUPS_A = [\n { code: \"60 days\", value: \"60 days\" },\n { code: \"90 days\", value: \"90 days\" }\n ];\n static NON_ILLUMINATED_BILLBOARD_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double Sided\", value: \"Double Sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static NON_ILLUMINATED_GANTRY_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static DIGITAL_GANTRY_A = [\n { code: \"Not applicable\", value: \"Not applicable\" },\n { code: \"Double sided\", value: \"Double sided\" },\n { code: \"Single sided\", value: \"Single sided\" }\n ];\n static APPLICATION_DURATION_LOOKUPS_A = [\n { code: \"1 year application\", value: \"1 year application\" },\n { code: \"5 years application\", value: \"5 years application\" }\n ];\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [\n { code: \"permanent\", value: \"permanent\" },\n { code: \"temporary\", value: \"temporary\" }\n ];\n static AREA_OF_DISPLAY_LOOKUPS_A = [\n { code: \"Ballito\", value: \"Ballito\" },\n { code: \"KwaDukuza\", value: \"KwaDukuza\" },\n { code: \"Salt rock /Umhlali\", value: \"Salt rock /Umhlali\" },\n { code: \"Shakaskraal\", value: \"Shakaskraal\" },\n ];\n static MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS = [\n \"Divorced\",\n \"Married\",\n \"Never married\",\n \"Registered partnership\",\n \"Separated\"\n ];\n static EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS = [\n \"Employed\",\n \"Retired\",\n \"Unemployed\"\n ];\n}\n","import { SharedConstants } from \"./shared.constants\";\nexport class MapServiceConstants {\n static MODULE_ID_FILTER_STRING = \"moduleId eq \";\n static REMOVE_TITLE = `${SharedConstants.REMOVE_TITLE} map service`;\n static REMOVE_MESSAGE = `${SharedConstants.REMOVE_MESSAGE} map service(s)?`;\n static EDIT_TITLE = \"Edit Map Service\";\n static ADD_TITLE = \"Add Map Service\";\n static NAME_FORM_CONTROL = \"name\";\n static TYPE_FORM_CONTROL = \"type\";\n static URL_FORM_CONTROL = \"url\";\n static IS_AUTHENTICATED_CONTROL = \"isAuth\";\n static AUTH_TYPE_CONTROL = \"authType\";\n static CLIENT_ID_CONTROL = \"clientId\";\n static SECRET_CONTROL = \"secret\";\n static USERNAME_CONTROL = \"username\";\n static PASSWORD_CONTROL = \"password\";\n static MAP_ORDER_CONTROL = \"mapOrder\";\n static SELECTION_LAYER_CONTROL = \"selectionLayerType\";\n static DEFAULT_VISIBILITY_CONTROL = \"defaultVisibility\";\n static SHOW_POPUPS_CONTROL = \"showPopups\";\n static NAME_FORM_TEXT = \"Service name\";\n static TYPE_FORM_TEXT = \"Service type\";\n static URL_FORM_TEXT = \"Map shared-services url\";\n static IS_AUTHENTICATED_TEXT = \"Service is authenticated\";\n static AUTH_TYPE_TEXT = \"Authentication type\";\n static CLIENT_ID_TEXT = \"Client ID\";\n static SECRET_TEXT = \"Secret\";\n static USERNAME_TEXT = \"Username\";\n static PASSWORD_TEXT = \"Password\";\n static MAP_ORDER_TEXT = \"Map order\";\n static SELECTION_LAYER_TEXT = \"Selection layer\";\n static DEFAULT_VISIBILITY_TEXT = \"Default visibility\";\n static SHOW_POPUPS_TEXT = \"Show popups\";\n static NAME_FORM_PLACEHOLDER = \"e.g. TownPlanningBaseMap\";\n static TYPE_FORM_PLACEHOLDER = \"Choose your option\";\n static URL_FORM_PLACEHOLDER = \"e.g.https://sampleserver.arcgisonline.com/ArcGIS/rest/services/Townplanning/MapServer\";\n static AUTH_TYPE_FORM_PLACEHOLDER = SharedConstants.PLACEHOLDER_TEXT;\n static CLIENT_ID_FORM_PLACEHOLDER = \"e.g. 1234\";\n static SECRET_FORM_PLACEHOLDER = \"e.g. xxxx\";\n static USERNAME_FORM_PLACEHOLDER = \"e.g. John117\";\n static PASSWORD_FORM_PLACEHOLDER = \"e.g. xxxx\";\n static MAP_SERVICE_TEXT = \"Map shared-services\";\n static INVALID_ESRI_URL = \"Url not a valid Esri endpoint\";\n static INVALID_ESRI_AUTH = \"Map shared-services authentication failed\";\n static DUPLICATE_NAME_MESSAGE = \"A map shared-services with the provided name already exists. Please supply a new name.\";\n static DUPLICATE_URL_MESSAGE = \"A map shared-services with the provided url already exists, Please supply a new url.\";\n static PROPERTY_LAYER = \"Property\";\n static PROPERTY_OWNER_LAYER = \"Property owner\";\n static PROPERTY_ZONING_LAYER = \"Property zone\";\n static CEMETERY_LAYER = \"Cemetery\";\n static GRAVE_LAYER = \"Grave\";\n static SERVICE_NAME_MAX_LENGTH = 150;\n static APPLICATION_LAYER = \"Application\";\n static AFLA_PORTAL_APPLICATION_LAYER = \"AFLA Portal Application\";\n static APPLICATION_LAYER_ID_COLUMN = \"JobID\";\n}\nexport const validationMessage = {\n url: {\n required: `Url ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n pattern: \"Not a valid url format\"\n },\n type: {\n required: `Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n maxLength: `Name ${SharedConstants.MAX_LENGTH_INPUT_CONTROL_VALIDATION.replace(\"yyy\", \"150\")}`\n },\n authType: {\n required: `Authentication Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n clientId: {\n required: `Client Id ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n secret: {\n required: `Secret ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n username: {\n required: `Username ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n password: {\n required: `Password ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n mapOrder: {\n required: `Map order ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n selectionLayerType: {\n required: `Selection Layer Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n },\n};\n","export class SharedConstants {\n static GLOBAL_ERROR_MESSAGE = \"Something went wrong. Please try again or contact your system administrator.\";\n // Labels for Buttons\n static ADD_LABEL = \"Add\";\n static EDIT_LABEL = \"Edit\";\n static DELETE_LABEL = \"Delete\";\n static REMOVE_LABEL = \"Delete\";\n static SAVE_LABEL = \"Save\";\n static CANCEL_LABEL = \"Cancel\";\n static UPDATE_LABEL = \"Update\";\n static CREATE_LABEL = \"Create\";\n static SUSPEND_LABEL = \"Suspend\";\n static REINSTATE_LABEL = \"Reinstate\";\n static YES_LABEL = \"Yes\";\n static NO_LABEL = \"No\";\n static CLEAR_LABEL = \"Clear\";\n static CLOSE_LABEL = \"Close\";\n static SELECT_LABEL = \"Select\";\n static SEND_LABEL = \"Send\";\n static REFRESH_LABEL = \"Refresh\";\n static OK_LABEL = \"Ok\";\n static SUBMIT_LABEL = \"Submit\";\n /* headings */\n static HELP_INFO_TEXT = \"Show help / further information\";\n /* Forms */\n // Messages for Form Validation\n static INVALID_METADATA = \"Invalid metadata, please contact the system administrator\";\n static FORM_NOT_VALID = \"Please complete all fields to continue\"; // Use as Alert warning when trying to update/save form\n static FILE_CONTROL_DEFAULT = \"Please upload a file\";\n static PHONE_NUMBER_VALIDATION_MESSAGE = \"Please enter a valid phone number in the format +27123457788.\";\n static EMAIL_VALIDATION_MESSAGE = \"Please enter a valid email address, for example, JDoe@gmail.com.\";\n static REQUIRED_INPUT_CONTROL_VALIDATION = \"is required.\";\n static NUMERIC_INPUT_CONTROL_VALIDATION = \"must be a number.\";\n static DATE_INPUT_CONTROL_VALIDATION = \"Please select a valid date\";\n static DECIMAL_INPUT_CONTROL_VALIDATION = \"must be a decimal number.\";\n static INVALID_INPUT_CONTROL_VALIDATION = \"is not valid.\";\n static MINIMUM_NUMERIC_INPUT_CONTROL_VALIDATION = \"must be a number not less than\";\n static UNIQUE_INPUT_CONTROL_VALIDATION = \"must be unique.\";\n static MAX_LENGTH_INPUT_CONTROL_VALIDATION = \"must have no more than yyy characters.\";\n static USED_VALUE_INPUT_CONTROL_VALIDATION = \"already in use. Please supply new yyy.\";\n static EMAIL_NOT_SENT = \"Please send the email before continuing to the next step\";\n static CONTINUE_CREATE_APPLICATION = \"All data saved successfully. Please create the application\";\n static FORM_DATA_CLEARED = \"Data cleared\";\n static FORM_DATA_SAVED = \"Current form data saved\";\n static BOOKMARK_SAVED = \"Bookmark saved\";\n // Patterns\n static PHONE_VALIDATOR_PATTERN = new RegExp(/^((?:\\+|0)[17](?: |\\-)?|(?:\\+|00)[1-9]\\d{0,2}(?: |\\-)?|(?:\\+|00)1\\-\\d{3}(?: |\\-)?)?(0\\d|\\([0-9]{3}\\)|[1-9]{0,3})(?:((?: |\\-)[0-9]{2}){4}|((?:[0-9]{2}){4})|((?: |\\-)[0-9]{3}(?: |\\-)[0-9]{4})|([0-9]{7}))$/);\n static URL_VALIDATOR_PATTERN = new RegExp(\"(https://)([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?\");\n static DECIMAL_VALIDATOR_PATERN = new RegExp(/^\\d*(\\.\\d{2})$/);\n // Message & Title when removing an item from a list\n static REMOVE_TITLE = \"Delete \"; // add to title e.g. REMOVE_TITLE + \"template(s)\"\n static REASSIGN_TITLE = \"Reassign \"; // add to title e.g. REMOVE_TITLE + \"step(s)\"\n static REMOVE_MESSAGE = \"Are you sure you want to delete the selected\"; // add to message e.g. REMOVE_MESSAGE + \"template(s)\"\n static SUSPEND_MESSAGE = \"Are you sure you want to suspend the selected\"; // add to message e.g. SUSPEND_MESSAGE + \"user\"\n static UNSUSPEND_MESSAGE = \"Are you sure you want to reinstate the selected \"; // add to message e.g. UNSUSPEND_MESSAGE + \"user\"\n static REASSIGN_MESSAGE = \"Are you sure you want to reassign \"; // add to message e.g. REASSIGN_MESSAGE + \"step\"\n // Alert Messages\n static ADD_SUCCESS = \"Item added successfully.\";\n static ADD_FAILED = \"Adding of item failed.\";\n static UPDATE_SUCCESS = \"Item updated successfully.\";\n static UPLOAD_SUCCESS = \"Item uploaded successfully.\";\n static UPDATE_FAILED = \"Updating of item failed.\";\n static ADD_DOCUMENT_FAIL = \"Something went wrong uploading the selected attachment. Please contact your system administrator.\";\n static REMOVE_SUCCESS = \"Item deleted successfully.\";\n static REMOVE_FAILED = \"Deleting of item failed.\";\n static SUSPEND_SUCCESS = \"Suspended successfully.\";\n static SUSPEND_FAILED = \"Suspending failed.\";\n static REINSTATE_SUCCESS = \"Reinstatement successful.\";\n static ITEM_NOT_SUSPENDED_LABEL = \"is not suspended.\"; // If you try to unsuspend item that is not suspended\n static ITEM_ALREADY_SUSPENDED_LABEL = \"is already suspended.\"; // If you try to suspend item that is already suspended\n static ITEM_SUSPENDED = \"is suspended.\";\n static SUBMIT_SUCCESS = \"Feedback submitted successfully.\";\n static APPLICATION_CREATED_PART1;\n static APPLICATION_CREATED_PART2;\n static CLIPBOARD_MESSAGE = \"Item was copied to clipboard\"; // used to signify if text is copied to clipboard in-app\n static CLIPBOARD_NO_DATA = \"No data to copy to clipboard\";\n static BAD_REQUEST_MESSAGE = \"Invalid data provided for operation\";\n static EXPORT_NO_DATA_MESSAGE = \"No data to export\";\n static FORBIDDEN_MESSAGE = \"You are not allowed to access this resource. Please contact your system administrator.\";\n static NOT_FOUND_MESSAGE = \"Data not found\";\n static CONFLICT_MESSAGE = \"The operation could not be completed due to a conflict.\";\n static UNKNOWN_ERROR_MESSAGE = \"Unknown server error with\";\n static UNKNOWN_MODULE_ERROR_MESSAGE = \"Module has not been configured correctly. Please contact your system administrator\";\n static NO_ITEMS_AVAILABLE_MESSAGE = \"There are no items to display\";\n static NO_FILTER_SELECTED_MESSAGE = \"Please select a filter option\";\n static NO_SEARCH_TEXT_ENTERED_MESSAGE = \"Please enter text to filter search\";\n static NO_SEARCH_SELECTED_MESSAGE = \"Please select a search option\";\n // Warning messages for either too many or too few items selected OR not step selected from a drop down\n static NO_OPTION_SELECTED = \"Please select an option\"; // Used if a dropdown item must be selected\n static NO_ITEM_SELECTED = \"Please select an item from the list\"; // Used if no item selected from a table\n static MORE_THAN_ONE_SELECTED = \"Only one item may be edited at a time\"; // Used if only 1 item should be selected\n static INSUFFICIENT_PERMISSIONS = \"You do not have sufficient permissions to perform this operation. Please contact your system administrator\";\n static MISSING_METADATA = \"No metadata for the step. Please contact your system administrator.\";\n static STEP_CONTINUE_FALSE = \"Not allowed to continue.\";\n /* Search Filter */\n static SEARCH_NOT_BLANK = \"Search criteria may not be blank\";\n // Filter labels\n static FILTER_BY_DEFAULT = \"All columns\";\n static FILTER_BY_PLACEHOLDER = \"Filter by none\";\n static FILTER_ITEMS_PLACEHOLDER = \"Filter items\";\n static FILTER_PREFIX = \"Filter by\";\n static SEARCH_PREFIX = \"Search\"; // Placeholder on table search\n static FILTER_DEFAULT = \"All\"; // used on recipients select and recipients list filters\n static DASHBOARD_FILTERS = {\n LatestApplications: \"LatestApplications\",\n OverdueApplications: \"OverdueApplications\",\n ApplicationStatus: \"status\"\n };\n static OPTION_CHECKBOX_ID = \"optionCheckboxId\";\n static NOT_APPLICABLE_MESSAGE = \"Not applicable\";\n // Attachment type restricted names\n static ATTACHMENT_TYPE = [\n \"proof of payments\",\n \"invoices\",\n \"proof of payment\",\n \"invoice\"\n ];\n // Search Types and Maps\n static SEARCH_BY_DEFAULT = \"Please select\";\n static MAP_TEXT = \"Map\";\n static ENLARGE_MAP_TEXT = \"Enlarge Map\";\n static SHRINK_MAP_TEXT = \"Shrink Map\";\n static ADVANCED_SEARCH_TEXT = \"Advanced\";\n static PLACEHOLDER_TEXT = \"Please select an option\"; // Dropdown place holder used dropdowns\n static NO_FILTER_RESULTS = \"Filter yielded no results\"; // Shows when no results from a search in the table\n static VIEW_ON_MAP_TEXT = \"View on map\";\n static CREATE_APPLICATION_TEXT = \"Create application\";\n static OPEN_APPLICATION_TEXT = \"Open\";\n static CONTINUE_STEP_TEXT = \"Continue\";\n static BACK_STEP_TEXT = \"Back\";\n static NEXT_STEP_TEXT = \"Next\";\n static SAVE_STEP_TEXT = \"Save\";\n static VIEW_APPLICATION_TEXT = \"View application\";\n static NEXT_STEPS_LABEL_TEXT = \"Next steps\";\n static UNKNOWN_ORGANISATION = \"Unknown organisation\";\n static PROPERTY_SEARCH_STATUS = \"PropertySearch\";\n static APPLICATION_SEARCH_STATUS = \"ApplicationSearch\";\n static ARCGIS_COLUMN_ID = \"OBJECTID\";\n static CLASS_REQUIRED_TEXT = \"text-danger\";\n static REQUIRED_TEXT_INDICATOR = \"*\";\n static INPUT_TYPE_TEXT = \"text\";\n static INPUT_TYPE_TEXTAREA = \"textarea\";\n static CLASS_DESCRIPTION_TEXT = \"description-text\";\n // Decimal values properties\n static CURRENCY_SYMBOL = \"R\";\n static DECIMAL_PLACES = 2;\n static NO_APPLICATION_LAYER = \"No application layer has been set up for this module: Map searches are not allowed\";\n static EXPORT_LABEL = \"Export\";\n static EXPORT_FILENAME_PLACEHOLDER_TEXT = \"ExportValues\";\n static ENTER_FILENAME_LABEL = \"Enter filename\";\n static DEFAULT_COUNTRY = \"South Africa\";\n static MODAL_SIZE = {\n large: \"lg\",\n small: \"sm\",\n extraLarge: \"xl\"\n };\n static ROLES_ENUM = {\n Admin: \"Admin\",\n Login: \"Login\",\n User: \"User\",\n };\n static YES_NO_ENUM = {\n Yes: \"Yes\",\n No: \"No\",\n };\n static SYSTEM_ROLES_ENUM = {\n SuperAdmin: \"Super Admin\",\n OrganisationAdmin: \"Organisation Admin\",\n User: \"User\",\n };\n static FIELD_TYPE = {\n NumberType: \"Number\",\n StringType: \"Text\",\n DateType: \"Date\",\n DecimalType: \"Decimal\",\n DropdownType: \"Dropdown\"\n };\n static TABLE_COLUMN_MAPPING_EXISTS_ERROR = \"No column-to-item property mapping exists for table\";\n static INVALID_TABLE_VALUE_ERROR = \"Invalid table value exists\";\n static SYSTEM_DATE_FORMAT_DEFAULT = \"yyyy/MM/dd\";\n static SERVER_MESSAGE_LISTENER_EVENT = \"Notify\";\n static SEND_SERVER_MESSAGE_ACTION = \"\";\n static SERVER_HUB_CONNECTION_ERROR_MESSAGE = \"Error while establishing connection: \";\n static PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR = \"Permission not granted for web notifications\";\n static NO_NOTIFICATION_BROWSER_SUPPORT_ERROR = \"Browser does not support web notifications\";\n static DAYS_LIMIT = 5;\n // Note constants\n static ADD_NOTE_PLACEHOLDER = \"Start typing a new note...\";\n static NOTE_CHARACTER_LIMIT = 500;\n // labels for internal fields\n static CREATED_USER_LABEL = \"Created User\";\n static CREATED_DATE_LABEL = \"Created Date\";\n static LAST_EDITED_USER_LABEL = \"Last Edited User\";\n static LAST_EDITED_DATE_LABEL = \"Last Edited Date\";\n static OBJECT_ID = \"Object ID\";\n static GLOBAL_ID = \"Global ID\";\n static MODULE_ID = \"Module ID\";\n static JOB_ID = \"Job ID\";\n // List of fields that can be hidden\n static SYSTEM_FIELD_LIST = [\"objectid\", \"globalid\", \"rowid\", \"parentrowid\", \"jobid\", \"moduleid\", \"uniquerowid\", \"id\", \"deleted\"];\n // List of labels for Recipient fields\n static RECIPIENT_FIELDLIST = {\n id: \"Application Ref No\",\n name: \"Name\",\n surname: \"Surname\",\n idNumber: \"ID Number\",\n organisation: \"Organisation\",\n designation: \"Designation\",\n telephone: \"Telephone\",\n homePhone: \"Home phone\",\n cellphone: \"Cellphone\",\n fax: \"Fax\",\n email: \"Email\",\n streetAddress: \"Street Address\",\n streetSuburb: \"Street Address Suburb\",\n streetCity: \"Street Address City\",\n streetProvince: \"Street Address Province\",\n streetCode: \"Street Address Code\",\n postalAddress: \"Postal Address\",\n postalSuburb: \"Postal Address Suburb\",\n postalCity: \"Postal Address City\",\n postalProvince: \"Postal Address Province\",\n postalCode: \"Postal Address Code\",\n professionalBody: \"Professional Body\",\n professionalBodyRegNum: \"Professional Body Reg. No.\",\n postalCountry: \"Postal Address Country\",\n streetCountry: \"Street Address Country\",\n representative: \"Representative\",\n organisationRegistrationNumber: \"Organisation Registration Number\"\n };\n // combine address into single label\n // @ts-ignore\n static ADDRESS_JOINED = \"{address}, {suburb}, {city}, {code}, {province}, {country}\";\n static INVOICE_DETAILS_LABEL = \"Invoice details\";\n // Constant used for keeping the main busy indicator from showing\n static NOT_BUSY_INDICATOR = \"-DO-NOT-SHOW-BUSY-INDICATOR-\";\n // Commonly used Lookup names\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static ZONING_LOOKUP_NAME = \"Zoning\";\n // Theming\n static DEFAULT_COLOR = \"#055C8D\";\n static DEFAULT_DARKER_COLOR = \"#053551\";\n static DEFAULT_HEADER_BORDER_COLOR = \"#8DE7E3\";\n static DEFAULT_ACTIVE_COLOR = \"#243391\";\n static DEFAULT_ACTIVE_ALTERNATE_COLOR = \"#859296\";\n static DEFAULT_PRIMARY_BUTTON_COLOR = \"#055C8D\";\n}\n","import { AppRoutingConstants } from \"../../app-routing.constants\";\nexport class UrlConstants {\n static API_V2 = \"api/v2/\";\n static GET_MY_PORTAL_INFORMATION_URL = AppRoutingConstants.createEndpointRoutev2(\"User\", \"GetMyPortalInformation\");\n static SIGNAL_R_HUB_SUFFIX = \"notifyHub\";\n static GEO_PROCESSING = \"Geoprocessing\";\n static GET_TRUE_CENTROID = \"GetTrueCentroid\";\n static EXECUTE = \"execute\";\n static GP_SERVER = \"GPServer\";\n}\n","export function AutoUnsubPortal() {\n // tslint:disable-next-line:only-arrow-functions\n return function (constructor) {\n const original = constructor.prototype.ngOnDestroy;\n constructor.prototype.ngOnDestroy = function () {\n // tslint:disable-next-line:forin\n for (const prop in this) {\n const property = this[prop];\n if (property !== undefined && property !== null && property.hasOwnProperty(\"_finalizers\") && property[\"_finalizers\"] !== null && property[\"_finalizers\"].length > 0) {\n try {\n property.unsubscribe();\n }\n catch (e) {\n // ignore the erorr, if the function does not have unsubscribe it should not cause the viewer to show an error\n }\n }\n }\n original?.apply(this);\n };\n };\n}\n","import { __decorate } from \"tslib\";\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from \"@angular/core\";\nlet DragDropDirective = class DragDropDirective {\n el;\n background = \"#f5fcff\";\n opacity = \"1\";\n uponFileDropped = new EventEmitter();\n constructor(el) {\n this.el = el;\n }\n onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"#243391\";\n this.background = \"#9ecbec\";\n this.opacity = \"0.8\";\n }\n onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"#243391\";\n this.background = \"#f5fcff\";\n this.opacity = \"1\";\n }\n ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = \"#f5fcff\";\n this.opacity = \"1\";\n this.el.nativeElement.querySelector(\".drag-drop-label\").style.color = \"gray\";\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.uponFileDropped.emit(files);\n }\n }\n static ctorParameters = () => [\n { type: ElementRef }\n ];\n static propDecorators = {\n background: [{ type: HostBinding, args: [\"style.background-color\",] }],\n opacity: [{ type: HostBinding, args: [\"style.opacity\",] }],\n uponFileDropped: [{ type: Output }],\n onDragOver: [{ type: HostListener, args: [\"dragover\", [\"$event\"],] }],\n onDragLeave: [{ type: HostListener, args: [\"dragleave\", [\"$event\"],] }],\n ondrop: [{ type: HostListener, args: [\"drop\", [\"$event\"],] }]\n };\n};\nDragDropDirective = __decorate([\n Directive({\n selector: \"[appDragDrop]\"\n })\n], DragDropDirective);\nexport { DragDropDirective };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AuthService } from \"../../services/auth/auth.service\";\nlet AuthGuard = class AuthGuard {\n authService;\n $iAuthenticated;\n isAuthenticated;\n constructor(authService) {\n this.authService = authService;\n this.$iAuthenticated = authService.$isAuthenticated;\n this.$iAuthenticated.subscribe(next => this.isAuthenticated = next);\n }\n canActivate(route, state) {\n return this.handleActivation();\n }\n canActivateChild(childRoute, state) {\n return this.handleActivation();\n }\n handleActivation() {\n if (this.isAuthenticated) {\n return true;\n }\n else {\n this.authService.authenticate().then(r => {\n });\n return false;\n }\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n};\nAuthGuard = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], AuthGuard);\nexport { AuthGuard };\n","export class Alert {\n type;\n message;\n alertId;\n keepAfterRouteChange;\n constructor(init) {\n Object.assign(this, init);\n }\n}\nexport var AlertType;\n(function (AlertType) {\n AlertType[AlertType[\"Success\"] = 0] = \"Success\";\n AlertType[AlertType[\"Error\"] = 1] = \"Error\";\n AlertType[AlertType[\"Info\"] = 2] = \"Info\";\n AlertType[AlertType[\"Warning\"] = 3] = \"Warning\";\n})(AlertType || (AlertType = {}));\n","export const DefaultRequiredFields = {\n Name: true,\n Surname: true,\n Telephone: true,\n Homephone: true,\n Cellphone: true,\n Email: true,\n StreetAddress: true,\n StreetSuburb: true,\n StreetCity: true,\n StreetProvince: true,\n StreetCountry: true,\n StreetCode: true,\n PostalAddress: true,\n PostalSuburb: true,\n PostalCity: true,\n PostalProvince: true,\n PostalCountry: true,\n PostalCode: true,\n Organisation: true,\n Designation: true,\n ProfessionalBodyRegNum: true,\n ProfessionalBody: true,\n};\n","export var CRUDOperation;\n(function (CRUDOperation) {\n CRUDOperation[\"Get\"] = \"fetching\";\n CRUDOperation[\"Update\"] = \"updating\";\n CRUDOperation[\"Delete\"] = \"deleting\";\n CRUDOperation[\"Add\"] = \"adding\";\n CRUDOperation[\"Selecting\"] = \"selecting\";\n CRUDOperation[\"Saving\"] = \"saving\";\n})(CRUDOperation || (CRUDOperation = {}));\n","class TrueCentroidResultErrorObject {\n code;\n details;\n message;\n}\nexport class TrueCentroidResultsModel {\n results;\n messages;\n error;\n constructor() { }\n deserialize(input) {\n Object.assign(this, input);\n return this;\n }\n}\n","export var HttpStatusCodeEnum;\n(function (HttpStatusCodeEnum) {\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"OK\"] = 200] = \"OK\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"UnAuthorized\"] = 401] = \"UnAuthorized\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"NotFound\"] = 404] = \"NotFound\";\n HttpStatusCodeEnum[HttpStatusCodeEnum[\"Conflict\"] = 409] = \"Conflict\";\n})(HttpStatusCodeEnum || (HttpStatusCodeEnum = {}));\n","export class Link {\n text;\n address;\n data;\n clickAction;\n constructor(text, address, data = null) {\n this.text = text;\n this.address = address;\n this.data = data;\n }\n}\n","export var ModuleConfig;\n(function (ModuleConfig) {\n ModuleConfig[\"Advertising\"] = \"AdvertisingConfig\";\n ModuleConfig[\"TownPlanning\"] = \"TownPlanningConfig\";\n ModuleConfig[\"Gautrain\"] = \"GautrainGenericTemplateConfig\";\n ModuleConfig[\"BuildingPlans\"] = \"BuildingPlansConfig\";\n ModuleConfig[\"BusinessLicence\"] = \"BusinessLicenceConfig\";\n ModuleConfig[\"Wayleaves\"] = \"WayleavesConfig\";\n ModuleConfig[\"PropertyAndLease\"] = \"PropertyAndLeaseConfig\";\n ModuleConfig[\"Cemetery\"] = \"CemeteryConfig\";\n ModuleConfig[\"PropertyValuation\"] = \"PropertyValuationConfig\";\n ModuleConfig[\"DemolitionManagement\"] = \"DemolitionManagementConfig\";\n ModuleConfig[\"TrainingModule\"] = \"TrainingModuleConfig\";\n ModuleConfig[\"ElectricalConnection\"] = \"ElectricalConnectionConfig\";\n ModuleConfig[\"InformalTrade\"] = \"InformalTradeConfig\";\n ModuleConfig[\"StreetNaming\"] = \"StreetNamingConfig\";\n ModuleConfig[\"RatesCertificate\"] = \"RatesCertificateConfig\";\n ModuleConfig[\"ZoningCertificate\"] = \"ZoningCertificateConfig\";\n})(ModuleConfig || (ModuleConfig = {}));\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet AppViewShortDatePipe = class AppViewShortDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd\") + \" at \" + super.transform(value, \"HH:mm\");\n }\n};\n__decorate([\n memo()\n], AppViewShortDatePipe.prototype, \"transform\", null);\nAppViewShortDatePipe = __decorate([\n Pipe({\n name: \"appViewShortDate\"\n })\n], AppViewShortDatePipe);\nexport { AppViewShortDatePipe };\n","var HighlightWithColumnPipe_1;\nimport { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet HighlightWithColumnPipe = class HighlightWithColumnPipe {\n static { HighlightWithColumnPipe_1 = this; }\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n static checkColumnsEqual(firstColumn, secondColumn) {\n firstColumn = HighlightWithColumnPipe_1.formatColumnValue(firstColumn);\n secondColumn = HighlightWithColumnPipe_1.formatColumnValue(secondColumn);\n return firstColumn === secondColumn;\n }\n static formatColumnValue(value) {\n return value.toString().trim().replace(\" \", \"\");\n }\n transform(value, searchTerm, column, currentColumn) {\n if (!searchTerm) {\n return value;\n }\n if (!value) {\n return value;\n }\n if (!currentColumn && !column) {\n return value;\n }\n if (!HighlightWithColumnPipe_1.checkColumnsEqual(currentColumn, column) && (currentColumn !== SharedConstants.FILTER_BY_DEFAULT)) {\n return value;\n }\n const stringValue = value.toString();\n const re = new RegExp(searchTerm, \"gi\");\n const match = stringValue.match(re);\n if (!match) {\n return value;\n }\n const replacedValue = stringValue.replace(re, ` ${match[0]} `);\n return this.sanitizer.bypassSecurityTrustHtml(replacedValue);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nHighlightWithColumnPipe = HighlightWithColumnPipe_1 = __decorate([\n Pipe({\n name: \"highlightWithColumn\"\n })\n], HighlightWithColumnPipe);\nexport { HighlightWithColumnPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nlet HighlightPipe = class HighlightPipe {\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n transform(value, searchTerm) {\n if (!searchTerm) {\n return value;\n }\n const re = new RegExp(searchTerm, \"gi\");\n const match = value.match(re);\n if (!match) {\n return value;\n }\n const replacedValue = value.replace(re, ` ${match[0]} `);\n return this.sanitizer.bypassSecurityTrustHtml(replacedValue);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nHighlightPipe = __decorate([\n Pipe({\n name: \"highlight\"\n })\n], HighlightPipe);\nexport { HighlightPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet SaLongDatePipe = class SaLongDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd HH:mm\");\n }\n};\n__decorate([\n memo()\n], SaLongDatePipe.prototype, \"transform\", null);\nSaLongDatePipe = __decorate([\n Pipe({\n name: \"saLongDate\"\n })\n], SaLongDatePipe);\nexport { SaLongDatePipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DatePipe } from \"@angular/common\";\nimport memo from \"memo-decorator\";\nlet SaShortDatePipe = class SaShortDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy/MM/dd\");\n }\n};\n__decorate([\n memo()\n], SaShortDatePipe.prototype, \"transform\", null);\nSaShortDatePipe = __decorate([\n Pipe({\n name: \"saShortDate\"\n })\n], SaShortDatePipe);\nexport { SaShortDatePipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nlet SafeHtmlPipe = class SafeHtmlPipe {\n sanitizer;\n constructor(sanitizer) {\n this.sanitizer = sanitizer;\n }\n transform(value) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n static ctorParameters = () => [\n { type: DomSanitizer }\n ];\n};\nSafeHtmlPipe = __decorate([\n Pipe({\n name: \"safeHtml\",\n })\n], SafeHtmlPipe);\nexport { SafeHtmlPipe };\n","import { __decorate } from \"tslib\";\nimport { Pipe } from \"@angular/core\";\nimport memo from \"memo-decorator\";\nimport { DatePipe } from \"@angular/common\";\nlet UtcDatePipe = class UtcDatePipe extends DatePipe {\n transform(value, args) {\n if (!value) {\n return \"\";\n }\n return super.transform(value, \"yyyy-MM-dd\") + \"T23:59:59Z\";\n }\n};\n__decorate([\n memo()\n], UtcDatePipe.prototype, \"transform\", null);\nUtcDatePipe = __decorate([\n Pipe({\n name: \"odataDate\"\n })\n], UtcDatePipe);\nexport { UtcDatePipe };\n","var AStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { ViewApplicationDetailsAComponent } from \"../../../view-application/modules/a/view-application-details-a/view-application-details-a.component\";\nimport { ViewApplicationLocationAComponent } from \"../../../view-application/modules/a/view-application-location-a/view-application-location-a.component\";\nimport { CreateApplicationDetailsAComponent } from \"../../../create-application/modules/a/create-application-details-a/create-application-details-a.component\";\nimport { CreateApplicationLocationAComponent } from \"../../../create-application/modules/a/create-application-location-a/create-application-location-a.component\";\nimport { ApiAdvertisingConstants } from \"../../constants/api-constants/api-advertising.constants\";\nimport { phoneNumberValidator } from \"../../classes/phone-number-validator\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { CreateApplicationLocationAConstants } from \"../../../create-application/modules/a/create-application-location-a/create-application-location-a.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.component\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.ApplicationType, \"type\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([[ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"], [ApplicationSummaryColumnsEnum.ApplicationType, \"type\"], [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"], [ApplicationSummaryColumnsEnum.Phase, \"phase\"], [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"], [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"]]);\nexport const AExpandListForApplicationSearch = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_A;\nexport var CreateApplicationMenuHeadings;\n(function (CreateApplicationMenuHeadings) {\n CreateApplicationMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationMenuHeadings[\"Location\"] = \"Location details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Location help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet AStrategyService = class AStrategyService extends AflaModuleStrategyService {\n static { AStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Advertising;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiAdvertisingConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = AExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, 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 = `${ApiAdvertisingConstants.URL}/${ApiAdvertisingConstants.FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, AExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = AStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: AStrategyService_1.getRecipientName(AStrategyService_1.getFirstRecipient(application.applicant)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsAComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationAComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsAComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationAComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\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.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (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: (error) => {\n this.appController.handleServerErrorMessage(\"create advertising 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.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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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 aApplication: application, moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest property owners\n const params = {\n $expand: \"point,polygon,personResponsible,notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const point = response.value[0]?.point;\n const polygon = response.value[0]?.polygon;\n savedApplication.point = point;\n savedApplication.polygon = polygon;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(AStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.aApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(AStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiAdvertisingConstants.URL}/${applicationId}/${ApiAdvertisingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"advertisementsForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"advertisementsForm\").get(\"advertisements\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiAdvertisingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), lastEditedUser, notes\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiAdvertisingConstants.URL}/${jobId}/${ApiAdvertisingConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"advertisementsForm\") && this.form.get(\"advertisementsForm\").get(\"advertisements\")) {\n const advertisementsArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n if (advertisementsArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationAConstants.FEATURE_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationAConstants.FEATURE_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"displayStartDate\").reset();\n this.form.get(\"detailsForm\").get(\"displayEndDate\").reset();\n this.form.get(\"detailsForm\").get(\"permanentApplicationDuration\").reset();\n this.form.get(\"detailsForm\").get(\"displayRemovalDate\").reset();\n this.form.get(\"detailsForm\").get(\"numberOfPosters\").reset();\n this.form.get(\"detailsForm\").get(\"nameOfBusiness\").reset();\n this.form.get(\"detailsForm\").get(\"notifySignageRemovalPeriod\").reset();\n this.form.get(\"detailsForm\").get(\"positionOfDisplay\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsH\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsW\").reset();\n this.form.get(\"detailsForm\").get(\"dimensionsD\").reset();\n this.form.get(\"detailsForm\").get(\"material\").reset();\n this.form.get(\"detailsForm\").get(\"colours\").reset();\n this.form.get(\"detailsForm\").get(\"frontalArea\").reset();\n this.form.get(\"detailsForm\").get(\"totalArea\").reset();\n this.form.get(\"detailsForm\").get(\"signType\").reset();\n this.form.get(\"detailsForm\").get(\"weight\").reset();\n this.form.get(\"detailsForm\").get(\"wattage\").reset();\n this.form.get(\"detailsForm\").get(\"contractorName\").reset();\n this.form.get(\"detailsForm\").get(\"contractorAddress\").reset();\n this.form.get(\"detailsForm\").get(\"contractorTelephone\").reset();\n this.form.get(\"detailsForm\").get(\"forSale\").reset();\n this.form.get(\"detailsForm\").get(\"onShow\").reset();\n this.form.get(\"detailsForm\").get(\"toLet\").reset();\n this.form.get(\"detailsForm\").get(\"sold\").reset();\n this.form.get(\"detailsForm\").get(\"constructionBoardSign\").reset();\n this.form.get(\"detailsForm\").get(\"otherOneYear\").reset();\n this.form.get(\"detailsForm\").get(\"groundSign\").reset();\n this.form.get(\"detailsForm\").get(\"flag\").reset();\n this.form.get(\"detailsForm\").get(\"sandwichBoard\").reset();\n this.form.get(\"detailsForm\").get(\"pylon\").reset();\n this.form.get(\"detailsForm\").get(\"wallSign\").reset();\n this.form.get(\"detailsForm\").get(\"billboard\").reset();\n this.form.get(\"detailsForm\").get(\"buildingAttachment\").reset();\n this.form.get(\"detailsForm\").get(\"projectingWallSign\").reset();\n this.form.get(\"detailsForm\").get(\"wallPainted\").reset();\n this.form.get(\"detailsForm\").get(\"roofSign\").reset();\n this.form.get(\"detailsForm\").get(\"skySign\").reset();\n this.form.get(\"detailsForm\").get(\"veranda\").reset();\n this.form.get(\"detailsForm\").get(\"aerialSign\").reset();\n this.form.get(\"detailsForm\").get(\"windowSign\").reset();\n this.form.get(\"detailsForm\").get(\"schoolSign\").reset();\n this.form.get(\"detailsForm\").get(\"combinationSign\").reset();\n this.form.get(\"detailsForm\").get(\"underAwningSign\").reset();\n this.form.get(\"detailsForm\").get(\"flagSign\").reset();\n this.form.get(\"detailsForm\").get(\"canopy\").reset();\n this.form.get(\"detailsForm\").get(\"balcony\").reset();\n this.form.get(\"detailsForm\").get(\"electronicSign\").reset();\n this.form.get(\"detailsForm\").get(\"developmentBoard\").reset();\n this.form.get(\"detailsForm\").get(\"otherFiveYear\").reset();\n this.form.get(\"detailsForm\").get(\"nonIlluminatedBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"digitalBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"nonIlluminatedGantry\").reset();\n this.form.get(\"detailsForm\").get(\"digitalGantry\").reset();\n this.form.get(\"detailsForm\").get(\"internallyIlluminatedBillboard\").reset();\n this.form.get(\"detailsForm\").get(\"internallyIlluminatedGantry\").reset();\n this.form.get(\"detailsForm\").get(\"municipalConsumerAccountNumber\").reset();\n this.form.get(\"detailsForm\").get(\"personResponsibleId\").reset();\n this.form.get(\"detailsForm\").get(\"referenceNumber\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"advertisementsForm\").get(\"advertisements\").clear();\n this.form.get(\"advertisementsForm\").get(\"isAdvetisingPermanentOrTemporary\").reset();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n setAdvertisementsGeometry(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const applicationTypeValue = selectedPropertyFormGroup.get(\"type\").value;\n const isAdvertisingPermanentOrTemporaryValue = this.form.get(\"advertisementsForm\").get(\"isAdvetisingPermanentOrTemporary\").value;\n if (existingApplication) {\n application = existingApplication;\n application.isAdvetisingPermanentOrTemporary = isAdvertisingPermanentOrTemporaryValue;\n application.type = applicationTypeValue;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n isAdvetisingPermanentOrTemporary: isAdvertisingPermanentOrTemporaryValue,\n type: applicationTypeValue,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n shape: \"\",\n wkid: 102100\n };\n if (isAdvertisingPermanentOrTemporaryValue === \"permanent\") {\n this.setApplicationPointData(application);\n }\n if (isAdvertisingPermanentOrTemporaryValue === \"temporary\") {\n this.setApplicationPolygonData(application);\n }\n return application;\n }\n setApplicationPointData(application) {\n const points = [];\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const centroid = selectedPropertyFormGroup.get(\"centroid\").value;\n const geometry = selectedPropertyFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n points.push(`(${centroid.x} ${centroid.y})`);\n const pointShape = `POINT ${points.join(\", \")}`;\n application.point = {\n id: 0,\n addressStreetInformation: selectedPropertyFormGroup.get(\"addressStreetInformation\").value,\n shape: geometryJSON,\n wkid: 102100,\n deleted: false\n };\n application.shape = pointShape;\n }\n setApplicationPolygonData(application) {\n const points = [];\n const propertyArray = this.form.get(\"advertisementsForm\").get(\"advertisements\");\n propertyArray.controls.forEach((selectedPropertyControl) => {\n const centroid = selectedPropertyControl.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const polygonShape = `POINT ${points.join(\", \")}`;\n const selectedPropertyFormGroup = propertyArray.controls[0];\n const geometry = selectedPropertyFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.polygon = {\n id: 0,\n areaOfDisplay: selectedPropertyFormGroup.get(\"areaOfDisplay\").value,\n streetNames: selectedPropertyFormGroup.get(\"streetNames\").value,\n propertyDescription: selectedPropertyFormGroup.get(\"propertyDescription\").value,\n shape: geometryJSON,\n wkid: 102100,\n deleted: false\n };\n application.shape = polygonShape;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.shape = existingApplication.shape;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n };\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.displayStartDate = this.form.get(\"detailsForm\").get(\"displayStartDate\").value;\n application.displayEndDate = this.form.get(\"detailsForm\").get(\"displayEndDate\").value;\n application.permanentApplicationDuration = this.form.get(\"detailsForm\").get(\"permanentApplicationDuration\").value;\n application.displayRemovalDate = this.form.get(\"detailsForm\").get(\"displayRemovalDate\").value;\n application.numberOfPosters = this.form.get(\"detailsForm\").get(\"numberOfPosters\").value === null ? 0 : this.form.get(\"detailsForm\").get(\"numberOfPosters\").value;\n application.nameOfBusiness = this.form.get(\"detailsForm\").get(\"nameOfBusiness\").value;\n application.notifySignageRemovalPeriod = this.form.get(\"detailsForm\").get(\"notifySignageRemovalPeriod\").value;\n application.positionOfDisplay = this.form.get(\"detailsForm\").get(\"positionOfDisplay\").value;\n application.dimensionsH = this.form.get(\"detailsForm\").get(\"dimensionsH\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsH\").value;\n application.dimensionsW = this.form.get(\"detailsForm\").get(\"dimensionsW\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsW\").value;\n application.dimensionsD = this.form.get(\"detailsForm\").get(\"dimensionsD\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"dimensionsD\").value;\n application.material = this.form.get(\"detailsForm\").get(\"material\").value;\n application.colours = this.form.get(\"detailsForm\").get(\"colours\").value;\n application.frontalArea = this.form.get(\"detailsForm\").get(\"frontalArea\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"frontalArea\").value;\n application.totalArea = this.form.get(\"detailsForm\").get(\"totalArea\").value === null ? 0.00 : this.form.get(\"detailsForm\").get(\"totalArea\").value;\n application.signType = this.form.get(\"detailsForm\").get(\"signType\").value;\n application.weight = this.form.get(\"detailsForm\").get(\"weight\").value;\n application.wattage = this.form.get(\"detailsForm\").get(\"wattage\").value;\n application.contractorName = this.form.get(\"detailsForm\").get(\"contractorName\").value;\n application.contractorAddress = this.form.get(\"detailsForm\").get(\"contractorAddress\").value;\n application.contractorTelephone = this.form.get(\"detailsForm\").get(\"contractorTelephone\").value;\n application.forSale = this.form.get(\"detailsForm\").get(\"forSale\").value === null ? false : this.form.get(\"detailsForm\").get(\"forSale\").value;\n application.onShow = this.form.get(\"detailsForm\").get(\"onShow\").value === null ? false : this.form.get(\"detailsForm\").get(\"onShow\").value;\n application.toLet = this.form.get(\"detailsForm\").get(\"toLet\").value === null ? false : this.form.get(\"detailsForm\").get(\"toLet\").value;\n application.sold = this.form.get(\"detailsForm\").get(\"sold\").value === null ? false : this.form.get(\"detailsForm\").get(\"sold\").value;\n application.constructionBoardSign = this.form.get(\"detailsForm\").get(\"constructionBoardSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"constructionBoardSign\").value;\n application.otherOneYear = this.form.get(\"detailsForm\").get(\"otherOneYear\").value;\n application.groundSign = this.form.get(\"detailsForm\").get(\"groundSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"groundSign\").value;\n application.flag = this.form.get(\"detailsForm\").get(\"flag\").value === null ? false : this.form.get(\"detailsForm\").get(\"flag\").value;\n application.sandwichBoard = this.form.get(\"detailsForm\").get(\"sandwichBoard\").value === null ? false : this.form.get(\"detailsForm\").get(\"sandwichBoard\").value;\n application.pylon = this.form.get(\"detailsForm\").get(\"pylon\").value === null ? false : this.form.get(\"detailsForm\").get(\"pylon\").value;\n application.wallSign = this.form.get(\"detailsForm\").get(\"wallSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"wallSign\").value;\n application.billboard = this.form.get(\"detailsForm\").get(\"billboard\").value === null ? false : this.form.get(\"detailsForm\").get(\"billboard\").value;\n application.buildingAttachment = this.form.get(\"detailsForm\").get(\"buildingAttachment\").value === null ? false : this.form.get(\"detailsForm\").get(\"buildingAttachment\").value;\n application.projectingWallSign = this.form.get(\"detailsForm\").get(\"projectingWallSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"projectingWallSign\").value;\n application.wallPainted = this.form.get(\"detailsForm\").get(\"wallPainted\").value === null ? false : this.form.get(\"detailsForm\").get(\"wallPainted\").value;\n application.roofSign = this.form.get(\"detailsForm\").get(\"roofSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"roofSign\").value;\n application.skySign = this.form.get(\"detailsForm\").get(\"skySign\").value === null ? false : this.form.get(\"detailsForm\").get(\"skySign\").value;\n application.veranda = this.form.get(\"detailsForm\").get(\"veranda\").value === null ? false : this.form.get(\"detailsForm\").get(\"veranda\").value;\n application.aerialSign = this.form.get(\"detailsForm\").get(\"aerialSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"aerialSign\").value;\n application.windowSign = this.form.get(\"detailsForm\").get(\"windowSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"windowSign\").value;\n application.schoolSign = this.form.get(\"detailsForm\").get(\"schoolSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"schoolSign\").value;\n application.combinationSign = this.form.get(\"detailsForm\").get(\"combinationSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"combinationSign\").value;\n application.underAwningSign = this.form.get(\"detailsForm\").get(\"underAwningSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"underAwningSign\").value;\n application.flagSign = this.form.get(\"detailsForm\").get(\"flagSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"flagSign\").value;\n application.canopy = this.form.get(\"detailsForm\").get(\"canopy\").value === null ? false : this.form.get(\"detailsForm\").get(\"canopy\").value;\n application.balcony = this.form.get(\"detailsForm\").get(\"balcony\").value === null ? false : this.form.get(\"detailsForm\").get(\"balcony\").value;\n application.electronicSign = this.form.get(\"detailsForm\").get(\"electronicSign\").value === null ? false : this.form.get(\"detailsForm\").get(\"electronicSign\").value;\n application.developmentBoard = this.form.get(\"detailsForm\").get(\"developmentBoard\").value === null ? false : this.form.get(\"detailsForm\").get(\"developmentBoard\").value;\n application.otherFiveYear = this.form.get(\"detailsForm\").get(\"otherFiveYear\").value;\n application.nonIlluminatedBillboard = this.form.get(\"detailsForm\").get(\"nonIlluminatedBillboard\").value;\n application.digitalBillboard = this.form.get(\"detailsForm\").get(\"digitalBillboard\").value;\n application.nonIlluminatedGantry = this.form.get(\"detailsForm\").get(\"nonIlluminatedGantry\").value;\n application.digitalGantry = this.form.get(\"detailsForm\").get(\"digitalGantry\").value;\n application.internallyIlluminatedBillboard = this.form.get(\"detailsForm\").get(\"internallyIlluminatedBillboard\").value;\n application.internallyIlluminatedGantry = this.form.get(\"detailsForm\").get(\"internallyIlluminatedGantry\").value;\n application.municipalConsumerAccountNumber = this.form.get(\"detailsForm\").get(\"municipalConsumerAccountNumber\").value;\n application.personResponsibleId = this.form.get(\"detailsForm\").get(\"personResponsibleId\").value;\n application.referenceNumber = this.form.get(\"detailsForm\").get(\"referenceNumber\").value;\n const personResponsibleValue = this.form.get(\"detailsForm\").get(\"personResponsible\").value;\n const personResponsible = RecipientUtils.removeInvalidRecipientProperties(personResponsibleValue);\n application.personResponsible = personResponsible ? [personResponsible] : [];\n return application;\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n wkid: 102100,\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n advertisementsForm: new FormGroup({\n advertisements: new FormArray([], [minLengthArray(1), Validators.required]),\n isAdvetisingPermanentOrTemporary: new FormControl(null, Validators.required),\n type: new FormControl(null, Validators.required)\n }), detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]), permanentApplicationDuration: new FormControl(null), // will the permanent advertising be there for 1 year or 5 years?\n displayStartDate: new FormControl(null), // temporary application types\n displayEndDate: new FormControl(null), // temporary application types\n displayRemovalDate: new FormControl(null), // temporary application types\n numberOfPosters: new FormControl(0), // temporary application types\n applicationDuration: new FormControl(null), // permanent application types\n nameOfBusiness: new FormControl(null), // permanent application types\n notifySignageRemovalPeriod: new FormControl(null), // permanent application types\n positionOfDisplay: new FormControl(null), // permanent application types\n dimensionsH: new FormControl(0.0), // permanent application types\n dimensionsW: new FormControl(0.0), // permanent application types\n dimensionsD: new FormControl(0.0), // permanent application types\n material: new FormControl(null), // permanent application types\n colours: new FormControl(null), // permanent application types\n frontalArea: new FormControl(0.0), // permanent application types\n totalArea: new FormControl(0.0), // permanent application types\n signType: new FormControl(null), // permanent application types\n weight: new FormControl(0.0), // permanent application types\n wattage: new FormControl(0.0), // permanent application types\n contractorName: new FormControl(null), // permanent application types\n contractorAddress: new FormControl(null), // permanent application types\n contractorTelephone: new FormControl(null, phoneNumberValidator), // permanent application types\n forSale: new FormControl(false), // permanent application types\n onShow: new FormControl(false), // permanent application types\n toLet: new FormControl(false), // permanent application types\n sold: new FormControl(false), // permanent application types\n constructionBoardSign: new FormControl(false), // permanent application types\n otherOneYear: new FormControl(null), // permanent application types\n groundSign: new FormControl(false), // permanent application types\n flag: new FormControl(false), // permanent application types\n sandwichBoard: new FormControl(false), // permanent application types\n pylon: new FormControl(false), // permanent application types\n wallSign: new FormControl(false), // permanent application types\n billboard: new FormControl(false), // permanent application types\n buildingAttachment: new FormControl(false), // permanent application types\n projectingWallSign: new FormControl(false), // permanent application types\n wallPainted: new FormControl(false), // permanent application types\n roofSign: new FormControl(false), // permanent application types\n skySign: new FormControl(false), // permanent application types\n veranda: new FormControl(false), // permanent application types\n aerialSign: new FormControl(false), // permanent application types\n windowSign: new FormControl(false), // permanent application types\n schoolSign: new FormControl(false), // permanent application types\n combinationSign: new FormControl(false), // permanent application types\n underAwningSign: new FormControl(false), // permanent application types\n flagSign: new FormControl(false), // permanent application types\n canopy: new FormControl(false), // permanent application types\n balcony: new FormControl(false), // permanent application types\n electronicSign: new FormControl(false), // permanent application types\n developmentBoard: new FormControl(false), // permanent application types\n otherFiveYear: new FormControl(null), // permanent application types\n nonIlluminatedBillboard: new FormControl(null), // permanent application types\n digitalBillboard: new FormControl(null), // permanent application types\n nonIlluminatedGantry: new FormControl(null), // permanent application types\n digitalGantry: new FormControl(null), // permanent application types\n internallyIlluminatedBillboard: new FormControl(null), // permanent application types\n internallyIlluminatedGantry: new FormControl(null), // permanent application types\n municipalConsumerAccountNumber: new FormControl(null), // permanent application types\n personResponsibleId: new FormControl(null), // permanent application types\n personResponsible: new FormControl([]), referenceNumber: new FormControl(null)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nAStrategyService = AStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], AStrategyService);\nexport { AStrategyService };\n","import { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfigService } from \"../module-config/module-config.service\";\nimport { TpamsStrategyService } from \"./tpams-strategy.service\";\nimport { BpamsStrategyService } from \"./bpams-strategy.service\";\nimport { CemeteryStrategyService } from \"./cemetery-strategy.service\";\nimport { WamsStrategyService } from \"./wams-strategy-service\";\nimport { PlamsStrategyService } from \"./plams-strategy.service\";\nimport { DamsStrategyService } from \"./dams-strategy.service\";\nimport { TmamsStrategyService } from \"./tmams-strategy.service\";\nimport { EcStrategyService } from \"./ec-strategy.service\";\nimport { ItamsStrategyService } from \"./itams-strategy.service\";\nimport { RcStrategyService } from \"./rc-strategy.service\";\nimport { ZcamsStrategyService } from \"./zcams-strategy.service\";\nimport { SnStrategyService } from \"./sn-strategy.service\";\nimport { AStrategyService } from \"./a-strategy.service\";\nimport { BlStrategyService } from \"./bl-strategy.service\";\nimport { GtiaStrategyService } from \"./gtia-strategy.service\";\nexport const aflaModuleStrategyServiceFactory = (moduleConfigService, tpamsStrategyService, bpamsStrategyService, cemeteryStrategyService, plamsStrategyService, wamsStrategyService, damsStrategyService, tmamsStrategyService, ecStrategyService, itamsStrategyService, rcStrategyService, zcamsStrategyService, snStrategyService, aStrategyService, blStrategyService, gtiaStrategyService) => {\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 case gtiaStrategyService.name: {\n return gtiaStrategyService;\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 GtiaStrategyService\n ]\n};\n","import { EventEmitter } from \"@angular/core\";\nimport { map } from \"rxjs\";\n// This serves as the strategy interface , since javascript has no comprehension of interfaces for providers\nexport class AflaModuleStrategyService {\n onCleanFormEvent = new EventEmitter();\n constructor() {\n }\n static buildModuleIDFilter(moduleID) {\n return `moduleID eq ${moduleID}`;\n }\n static buildJobIDFilter(jobId) {\n return `jobId eq ${jobId}`;\n }\n static successMessage(referenceNumber, section) {\n return `Application ${referenceNumber} ${section} saved successfully`;\n }\n setIsFormValidSubject(valid) {\n this.isFormValidSubject.next(valid);\n }\n getConfigurationTextLookup(moduleId) {\n return this.queryConfigurableTextLookup(this.configurableTextFilter(moduleId)).pipe(map(odataCollection => {\n const contents = new Array();\n odataCollection.value.forEach(vl => {\n try {\n contents.push(JSON.parse(vl.content));\n }\n catch {\n }\n });\n return contents;\n }));\n }\n init() {\n this.initializeViewApplicationComponents();\n this.initializeCreateApplicationComponents();\n this.initializeApplicationSummaryColumnsMap();\n this.initialiseCreateApplicationSteps();\n this.initialiseViewApplicationSteps();\n }\n configurableTextFilter(moduleId) {\n return `moduleId eq ${moduleId} and name eq 'ConfigurableText' and deleted eq false`;\n }\n}\n","var BlStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ApiBusinessLicenceConstants } from \"../../constants/api-constants/api-business-licence.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ViewApplicationDetailsBlComponent } from \"../../../view-application/modules/bl/view-application-details-bl/view-application-details-bl.component\";\nimport { ViewApplicationLocationBlComponent } from \"../../../view-application/modules/bl/view-application-location-bl/view-application-location-bl.component\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { CreateApplicationDetailsBlComponent } from \"../../../create-application/modules/bl/craate-application-details-bl/create-application-details-bl.component\";\nimport { CreateApplicationLocationBlComponent } from \"../../../create-application/modules/bl/create-application-location-bl/create-application-location-bl.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationBlConstants } from \"../../../create-application/modules/bl/create-application-location-bl/create-application-location-bl.constants\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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\"] = \"Property details\";\n CreateApplicationMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationMenuHeadings[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet BlStrategyService = class BlStrategyService extends AflaModuleStrategyService {\n static { BlStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.BusinessLicence;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiBusinessLicenceConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = blExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiBusinessLicenceConstants.URL}/${ApiBusinessLicenceConstants.FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, blExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = BlStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: BlStrategyService_1.getRecipientName(BlStrategyService_1.getFirstRecipient(application.applicant)),\n agent: BlStrategyService_1.getRecipientName(BlStrategyService_1.getFirstRecipient(application.applicantAgent)),\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsBlComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationBlComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsBlComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationBlComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = BlStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, BlStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create business licence application\", error, CRUDOperation.Add);\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $expand: \"properties, businessOwner($expand=groups),notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.blApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BlStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiBusinessLicenceConstants.URL}/${applicationId}/${ApiBusinessLicenceConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiBusinessLicenceConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiBusinessLicenceConstants.URL}/${jobId}/${ApiBusinessLicenceConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBlConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBlConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n this.form.get(\"detailsForm\").get(\"tradeName\").reset();\n this.form.get(\"detailsForm\").get(\"businessOwner\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const property = {\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n unitNumber: item.get(\"unitNumber\").value?.toString(),\n shopNumber: item.get(\"shopNumber\").value,\n titleDeedNumber: item.get(\"titleDeedNumber\").value,\n titleDeedDescription: item.get(\"titleDeedDescription\").value,\n accommodationName: item.get(\"accommodationName\").value\n };\n application.properties.push(property);\n });\n const shape = `POINT ${points.join(\", \")}`;\n application.shape = shape;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n const businessOwnerFormValue = this.form.get(\"detailsForm\").get(\"businessOwner\").value;\n const businessOwner = RecipientUtils.removeInvalidRecipientProperties(businessOwnerFormValue);\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n application.tradeName = this.form.get(\"detailsForm\").get(\"tradeName\").value;\n application.businessOwner = [businessOwner];\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n tradeName: this.form.get(\"detailsForm\").get(\"tradeName\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value,\n businessOwner: [businessOwner],\n };\n return application;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n properties: [],\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [minLengthArray(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n type: new FormControl(null, Validators.required),\n referenceNumber: new FormControl(),\n tradeName: new FormControl(null, Validators.required),\n businessOwner: new FormControl(null, Validators.required)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nBlStrategyService = BlStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], BlStrategyService);\nexport { BlStrategyService };\n","var BpamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiBuildingPlansConstants } from \"../../constants/api-constants/api-building-plans.constants\";\nimport { CreateApplicationLocationBpamsComponent } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.component\";\nimport { CreateApplicationDetailsBpamsComponent } from \"../../../create-application/modules/bp/create-application-details-bpams/create-application-details-bpams.component\";\nimport { CreateApplicationProfessionalBodiesBpamsComponent } from \"../../../create-application/modules/bp/create-application-professional-bodies-bpams/create-application-professional-bodies-bpams.component\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ViewApplicationDetailsBpamsComponent } from \"../../../view-application/modules/bp/view-application-details-bpams/view-application-details-bpams.component\";\nimport { ViewApplicationLocationBpamsComponent } from \"../../../view-application/modules/bp/view-application-location-bpams/view-application-location-bpams.component\";\nimport { ViewApplicationProfessionalBodiesBpamsComponent } from \"../../../view-application/modules/bp/view-application-professional-bodies-bpams/view-application-professional-bodies-bpams.component\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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 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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationBpamsMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationBpamsMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationBpamsMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationBpamsMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationBpamsMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationBpamsMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationBpamsMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationBpamsMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationBpamsMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet BpamsStrategyService = class BpamsStrategyService extends AflaModuleStrategyService {\n static { BpamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.BuildingPlans;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiBuildingPlansConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = BPExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiBuildingPlansConstants.URL}/${ApiBuildingPlansConstants.FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationBpamsMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, BPExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = BpamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n applicationType: application.applicationType,\n applicant: BpamsStrategyService_1.getRecipientName(BpamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: BpamsStrategyService_1.getRecipientName(BpamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null\n ? this.saShortDatePipe.transform(application.lastEditedDate)\n : \"\",\n moduleId: application.moduleId,\n sector: application.sector,\n isRDP: application.isRdp,\n buildingUse: application.buildingUse,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [\n ViewApplicationMenuHeadings.Details,\n ViewApplicationDetailsBpamsComponent,\n ],\n [\n ViewApplicationMenuHeadings.Location,\n ViewApplicationLocationBpamsComponent,\n ],\n [\n ViewApplicationMenuHeadings.Notes,\n ViewApplicationNotesComponent,\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.Notes,\n CreateApplicationNotesComponent,\n ],\n [\n CreateApplicationBpamsMenuHeadings.ProfessionalBodies,\n CreateApplicationProfessionalBodiesBpamsComponent,\n ],\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = BpamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, BpamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription =\n this.postApplicationService(application).subscribe({\n next: (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 },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n }\n });\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").reset();\n this.form.get(\"detailsForm\").get(\"sector\").reset();\n this.form.get(\"detailsForm\").get(\"isRDP\").reset();\n this.form.get(\"detailsForm\").get(\"buildingUse\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").reset();\n this.form.get(\"detailsForm\").get(\"referenceNumber\").reset();\n this.form.get(\"detailsForm\").get(\"isResubmission\").reset();\n this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").reset();\n this.form.get(\"notesForm\").get(\"note\").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 case CreateApplicationBpamsMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $expand: \"properties($expand=owners($expand=groups),zonings,buildings),notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n savedApplication.properties = response.value[0]?.properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX 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.bpApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(BpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n isResubmission: false,\n previousReferenceNumber: null,\n };\n }\n return application;\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiBuildingPlansConstants.URL}/${applicationId}/${ApiBuildingPlansConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationBpamsMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n case CreateApplicationBpamsMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationBpamsMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationBpamsMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").reset();\n this.form.get(\"detailsForm\").get(\"sector\").reset();\n this.form.get(\"detailsForm\").get(\"isRDP\").reset();\n this.form.get(\"detailsForm\").get(\"buildingUse\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").reset();\n this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").reset();\n this.form.get(\"detailsForm\").get(\"isResubmission\").reset();\n this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").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(\"fireConsultantRecipients\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"otherProfessionalRecipients\").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(\"markFireConsultantAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markOtherProfessionalAsRequired\").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(\"copyApplicantToFireConsultant\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToOtherProfessional\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToContractor\").reset();\n break;\n case CreateApplicationBpamsMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n case CreateApplicationBpamsMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n default:\n break;\n }\n }\n postApplicationService(params) {\n return this.http.post(ApiBuildingPlansConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, properties, lastEditedUser, notes\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_BP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationBpamsMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationBpamsMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiBuildingPlansConstants.URL}/${jobId}/GetBpApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null)\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n isMinorBuildingWork: new FormControl(null, [Validators.required]),\n sector: new FormControl(null, [Validators.required]),\n isRDP: new FormControl(null, [Validators.required]),\n buildingUse: new FormControl(null, [Validators.required]),\n applicationType: new FormControl(null, [Validators.required]),\n applicationEstimatedBy: new FormControl(null, [Validators.required]),\n applicationEstimatedCost: new FormControl(null, [Validators.required]),\n referenceNumber: new FormControl(null),\n isResubmission: new FormControl(null),\n previousReferenceNumber: new FormControl(null),\n }),\n professionalBodiesForm: new FormGroup({\n sacapRegistrationNumber: new FormControl(null),\n architectRecipient: new FormControl(null),\n engineerRecipients: new FormControl(null),\n fireConsultantRecipients: new FormControl(null),\n otherProfessionalRecipients: new FormControl(null),\n electricalContractorRecipient: new FormControl(null),\n markArchitectAsRequired: new FormControl(null),\n markEngineerAsRequired: new FormControl(null),\n markFireConsultantAsRequired: new FormControl(null),\n markOtherProfessionalAsRequired: new FormControl(null),\n markElectricalContractorAsRequired: new FormControl(null),\n copyApplicantToArchitect: new FormControl(null),\n copyApplicantToEngineer: new FormControl(null),\n copyApplicantToContractor: new FormControl(null),\n copyApplicantToFireConsultant: new FormControl(null),\n copyApplicantToOtherProfessional: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 return {\n id: existingApplication ? existingApplication.id : 0,\n decision: \"\",\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n isMinorBuildingWork: this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value,\n sector: this.form.get(\"detailsForm\").get(\"sector\").value.value,\n isRdp: this.form.get(\"detailsForm\").get(\"isRDP\").value,\n buildingUse: this.form.get(\"detailsForm\").get(\"buildingUse\").value.value,\n applicationType: this.form.get(\"detailsForm\").get(\"applicationType\").value.value,\n applicationEstimatedBy: this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value.value,\n applicationEstimatedCost: this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value,\n isResubmission: this.form.get(\"detailsForm\").get(\"isResubmission\").value,\n previousReferenceNumber: this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value,\n shape: \"\",\n wkid: 102100,\n applicant: applicant ? [applicant] : [],\n applicantAgent: [],\n architect: [],\n engineer: [],\n fireConsultant: [],\n otherProfessional: [],\n electricalContractor: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\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 isResubmission: false,\n previousReferenceNumber: null,\n };\n // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n erfSize: item.get(\"erfSize\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeed: item.get(\"titleDeed\").value,\n updateGeometry: false,\n wkid: 102100,\n applicationDescription: item.get(\"propertyDescription\").value,\n applicationRestrictions: item.get(\"titleDeedRestrictions\").value,\n externalWalls: item.get(\"externalWalls\").value?.value,\n internalWalls: item.get(\"internalWalls\").value?.value,\n roofing: item.get(\"roofing\").value?.value,\n numberOfHouses: item.get(\"numberOfHousesUnits\").value,\n patioCoveredExisting: item.get(\"coveredExisting\").value,\n patioCoveredAdded: item.get(\"coveredAdded\").value,\n patioOpenExisting: item.get(\"openExisting\").value,\n patioOpenAdded: item.get(\"openAdded\").value,\n pool: item.get(\"pool\").value,\n boundaryWallHeight: item.get(\"boundaryWallHeight\").value,\n boundaryWallRunning: item.get(\"boundaryWallRunning\").value,\n coverage: item.get(\"coverage\").value,\n bulkCalculation: item.get(\"bulkCalculation\").value,\n zonings: [],\n buildings: [],\n owners,\n };\n // mainBuildings: new FormArray([], [Validators.min(1)]),\n const mainBuildingsArray = item.get(\"mainBuildings\");\n mainBuildingsArray.controls.forEach((mainBuilding) => {\n const building = {\n deleted: false,\n type: \"Main Building\",\n floor: mainBuilding.get(\"floor\").value.toString(),\n existingSize: mainBuilding.get(\"existingSize\").value,\n addedSize: mainBuilding.get(\"addedSize\").value,\n buildingNameNumber: mainBuilding.get(\"buildingNameNumber\").value\n };\n property.buildings.push(building);\n });\n const outBuildingsArray = item.get(\"outBuildings\");\n outBuildingsArray.controls.forEach((outBuilding) => {\n const building = {\n deleted: false,\n type: \"Additional Building\",\n floor: outBuilding.get(\"floor\").value.toString(),\n existingSize: outBuilding.get(\"existingSize\").value,\n addedSize: outBuilding.get(\"addedSize\").value,\n buildingNameNumber: outBuilding.get(\"buildingNameNumber\").value\n };\n property.buildings.push(building);\n });\n const propertyZonesArray = item.get(\"zones\");\n propertyZonesArray?.controls.forEach((zoneItem) => {\n const zone = {\n deleted: false,\n zoning: zoneItem?.get(\"zone\")?.value?.value,\n };\n property.zonings.push(zone);\n });\n // ensure that the existing zones that are not in a lookup (or form) are kept\n if (missingLookupsForZones) {\n missingLookupsForZones.forEach((missingZone) => {\n const zone = {\n deleted: false, zoning: missingZone,\n };\n property.zonings.push(zone);\n });\n }\n application.properties.push(property);\n });\n application.shape = `MULTIPOINT (${points.join(\", \")})`;\n return application;\n }\n // TODO: Check Fields for BP_DETAILS\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.isMinorBuildingWork = this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value;\n application.sector = this.form.get(\"detailsForm\").get(\"sector\").value;\n application.isRdp = this.form.get(\"detailsForm\").get(\"isRDP\").value;\n application.buildingUse = this.form.get(\"detailsForm\").get(\"buildingUse\").value;\n application.applicationType = this.form.get(\"detailsForm\").get(\"applicationType\").value;\n application.applicationEstimatedBy = this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value;\n application.applicationEstimatedCost = this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value;\n application.isResubmission = this.form.get(\"detailsForm\").get(\"isResubmission\").value,\n application.previousReferenceNumber = this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value,\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n isMinorBuildingWork: this.form.get(\"detailsForm\").get(\"isMinorBuildingWork\").value,\n sector: this.form.get(\"detailsForm\").get(\"sector\").value,\n isRdp: this.form.get(\"detailsForm\").get(\"isRDP\").value,\n buildingUse: this.form.get(\"detailsForm\").get(\"buildingUse\").value,\n applicationType: this.form.get(\"detailsForm\").get(\"applicationType\").value,\n applicationEstimatedBy: this.form.get(\"detailsForm\").get(\"applicationEstimatedBy\").value,\n applicationEstimatedCost: this.form.get(\"detailsForm\").get(\"applicationEstimatedCost\").value,\n isResubmission: this.form.get(\"detailsForm\").get(\"isResubmission\").value,\n previousReferenceNumber: this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").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 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 isResubmission: false,\n previousReferenceNumber: null,\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 isResubmission: false,\n previousReferenceNumber: null,\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 const fireConsultantIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markFireConsultantAsRequired\").value;\n const otherProfessionalIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markOtherProfessionalAsRequired\").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 if (fireConsultantIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"fireConsultantRecipients\").enable();\n if (otherProfessionalIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"otherProfessionalRecipients\").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 professionalBodiesFireConsultantFormValue = this.form.get(\"professionalBodiesForm\").get(\"fireConsultantRecipients\").value;\n const fireConsultant = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesFireConsultantFormValue);\n const professionalBodiesOtherProfessionalFormValue = this.form.get(\"professionalBodiesForm\").get(\"otherProfessionalRecipients\").value;\n const otherProfessional = RecipientUtils.removeInvalidRecipientProperties(professionalBodiesOtherProfessionalFormValue);\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.fireConsultant = fireConsultantIsRequired ? [fireConsultant] : [];\n application.otherProfessional = otherProfessionalIsRequired ? [otherProfessional] : [];\n application.electricalContractor = electricalContractorIsRequired ? [electricalContractor] : [];\n application.eLodgementStep = stepIndex;\n application.architectNa = !architectIsRequired;\n application.engineerNa = !engineerIsRequired;\n application.fireConsultantNa = !fireConsultantIsRequired;\n application.otherProfessionalNa = !otherProfessionalIsRequired;\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 isResubmission: false,\n previousReferenceNumber: null,\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nBpamsStrategyService = BpamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], BpamsStrategyService);\nexport { BpamsStrategyService };\n","var CemeteryStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiCemeteryConstants } from \"../../constants/api-constants/api-cemetery.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { CreateBurialDetailsCmComponent } from \"../../../create-application/modules/cm/create-burial-details-cm/create-burial-details-cm.component\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ViewFuneralParlourCmComponent } from \"../../../view-application/modules/cm/view-funeral-parlour-cm/view-funeral-parlour-cm.component\";\nimport { ViewFamilyMemberCmComponent } from \"../../../view-application/modules/cm/view-family-member-cm/view-family-member-cm.component\";\nimport { CreateFamilyMemberDetCmComponent } from \"../../../create-application/modules/cm/create-family-member-det-cm/create-family-member-det-cm.component\";\nimport { ViewDeceasedDetailsCmComponent } from \"../../../view-application/modules/cm/view-deceased-details-cm/view-deceased-details-cm.component\";\nimport { ViewBurialDetailsCmComponent } from \"../../../view-application/modules/cm/view-burial-details-cm/view-burial-details-cm.component\";\nimport { CreateDeceasedDetailsCmComponent } from \"../../../create-application/modules/cm/create-deceased-details-cm/create-deceased-details-cm.component\";\nimport { CreateFuneralParlourCmComponent } from \"../../../create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour-cm.component\";\nimport { DeceasedDtailsCustomValidators } from \"../../../create-application/modules/cm/shared/custom-validators\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.component\";\nimport { CreateApplicationMenuHeadings } from \"./bl-strategy.service\";\nexport var ApplicationHeadingEnum;\n(function (ApplicationHeadingEnum) {\n ApplicationHeadingEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationHeadingEnum[\"Applicant\"] = \"Applicant\";\n ApplicationHeadingEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationHeadingEnum[\"ApplicationStatus\"] = \"Application Status\";\n ApplicationHeadingEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationHeadingEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationHeadingEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationHeadingEnum[\"BurialDate\"] = \"Burial Date\";\n ApplicationHeadingEnum[\"DateOfBirth\"] = \"Date Of Birth\";\n ApplicationHeadingEnum[\"BurialOrderNumber\"] = \"Burial Order Number\";\n ApplicationHeadingEnum[\"SerialNo\"] = \"Serial Number\";\n})(ApplicationHeadingEnum || (ApplicationHeadingEnum = {}));\nexport const applicationHeadingLookup = new Map([[ApplicationHeadingEnum.ReferenceNumber, \"referenceNumber\"], [ApplicationHeadingEnum.Applicant, \"applicant\"], [ApplicationHeadingEnum.CreatedDate, \"startDate\"], [ApplicationHeadingEnum.ApplicationStatus, \"phase\"], [ApplicationHeadingEnum.DaysLeft, \"daysLeft\"], [ApplicationHeadingEnum.LastEditedBy, \"lastEditedBy\"], [ApplicationHeadingEnum.LastEditedOn, \"lastEditedOn\"], [ApplicationHeadingEnum.BurialDate, \"burialDate\"], [ApplicationHeadingEnum.DateOfBirth, \"dateOfBirth\"], [ApplicationHeadingEnum.BurialOrderNumber, \"burialOrderNumber\"], [ApplicationHeadingEnum.SerialNo, \"serialNo\"],]);\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n ApplicationSummaryColumnsEnum[\"BurialDate\"] = \"Burial Date\";\n ApplicationSummaryColumnsEnum[\"DateOfBirth\"] = \"Date Of Birth\";\n ApplicationSummaryColumnsEnum[\"BurialOrderNumber\"] = \"Burial Order Number\";\n ApplicationSummaryColumnsEnum[\"SerialNo\"] = \"Serial Number\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n [ApplicationSummaryColumnsEnum.BurialDate, \"burialDate\"],\n [ApplicationSummaryColumnsEnum.DateOfBirth, \"dateOfBirth\"],\n [ApplicationSummaryColumnsEnum.BurialOrderNumber, \"burialOrderNumber\"],\n [ApplicationSummaryColumnsEnum.SerialNo, \"serialNo\"]\n]);\nexport const CMExpandListForApplicationSearch = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_CM;\nexport var CreateApplicationCemeteryMenuHeadings;\n(function (CreateApplicationCemeteryMenuHeadings) {\n CreateApplicationCemeteryMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationCemeteryMenuHeadings[\"BurialDetails\"] = \"Burial\";\n CreateApplicationCemeteryMenuHeadings[\"DeceasedDetails\"] = \"Deceased\";\n CreateApplicationCemeteryMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationCemeteryMenuHeadings[\"FamilyMemberDetails\"] = \"Family member\";\n CreateApplicationCemeteryMenuHeadings[\"FuneralParlour\"] = \"Funeral parlour\";\n CreateApplicationCemeteryMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationCemeteryMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationCemeteryMenuHeadings || (CreateApplicationCemeteryMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"BurialDetails\"] = \"Burial details help\";\n HeaderConfigurableTextTypes[\"DeceasedDetails\"] = \"Deceased details help\";\n HeaderConfigurableTextTypes[\"FamilyMemberDetails\"] = \"Family member details help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"FuneralParlour\"] = \"Funeral parlour help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationCemeteryMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationCemeteryMenuHeadings.BurialDetails, HeaderConfigurableTextTypes.BurialDetails)\n .set(CreateApplicationCemeteryMenuHeadings.DeceasedDetails, HeaderConfigurableTextTypes.DeceasedDetails)\n .set(CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails, HeaderConfigurableTextTypes.FamilyMemberDetails)\n .set(CreateApplicationCemeteryMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationCemeteryMenuHeadings.FuneralParlour, HeaderConfigurableTextTypes.FuneralParlour)\n .set(CreateApplicationCemeteryMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationCemeteryMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationCemeteryMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"BurialDetails\"] = \"Burial\";\n ViewApplicationMenuHeadings[\"DeceasedDetails\"] = \"Deceased\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"FamilyMemberDetails\"] = \"Family member\";\n ViewApplicationMenuHeadings[\"FuneralParlour\"] = \"Funeral parlour\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewApplicationMenuConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.BurialDetails, HeaderConfigurableTextTypes.BurialDetails)\n .set(ViewApplicationMenuHeadings.DeceasedDetails, HeaderConfigurableTextTypes.DeceasedDetails)\n .set(ViewApplicationMenuHeadings.FamilyMemberDetails, HeaderConfigurableTextTypes.FamilyMemberDetails)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.FuneralParlour, HeaderConfigurableTextTypes.FuneralParlour)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet CemeteryStrategyService = class CemeteryStrategyService extends AflaModuleStrategyService {\n static { CemeteryStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n viewApplicationSteps = [];\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Cemetery;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiCemeteryConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = CMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewApplicationMenuConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, 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 static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n // TODO Correct 2n arg: TPExpandListForApplicationPartial\n static buildExpand(params) {\n return params.set(ODataAction.Expand, CMExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = CemeteryStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n // TODO: Fix Application Search\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: CemeteryStrategyService_1.getRecipientName(CemeteryStrategyService_1.getFirstRecipient(application.applicant)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n burialDate: \"Burial Date\",\n dateOfBirth: \"Date Of Birth\",\n burialOrderNumber: \"Burial Order Number\",\n serialNo: \"Serial Number\"\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.BurialDetails, ViewBurialDetailsCmComponent],\n [ViewApplicationMenuHeadings.DeceasedDetails, ViewDeceasedDetailsCmComponent],\n [ViewApplicationMenuHeadings.FamilyMemberDetails, ViewFamilyMemberCmComponent],\n [ViewApplicationMenuHeadings.FuneralParlour, ViewFuneralParlourCmComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent]\n ]);\n }\n // TODO: setup correct component for each step\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationCemeteryMenuHeadings.BurialDetails, CreateBurialDetailsCmComponent,],\n [CreateApplicationCemeteryMenuHeadings.DeceasedDetails, CreateDeceasedDetailsCmComponent],\n [CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails, CreateFamilyMemberDetCmComponent],\n [CreateApplicationCemeteryMenuHeadings.FuneralParlour, CreateFuneralParlourCmComponent],\n [CreateApplicationCemeteryMenuHeadings.Notes, CreateApplicationNotesComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = CemeteryStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, CemeteryStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (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 },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"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 CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n application = this.buildBurialDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n application = this.buildDeceasedStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n application = this.buildFamilyMemberStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n application = this.buildFuneralParlourStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationCemeteryMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $expand: \"family($expand=groups), deceased($expand=deceasedNames),notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const family = response.value[0]?.family;\n const deceased = response.value[0]?.deceased;\n savedApplication.family = family;\n savedApplication.deceased = deceased;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(CemeteryStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX 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.cmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(CemeteryStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n // TODO Correct the routing here\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiCemeteryConstants.URL}/${applicationId}/${ApiCemeteryConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n // TODO Add steps\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n formName = \"burialForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n formName = \"deceasedForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n formName = \"familyMemberForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n this.requestStatusService.removeBusySpinner(\"CreateCMApplication\");\n formName = \"applicantForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n this.requestStatusService.removeBusySpinner(\"CreateCMApplication\");\n formName = \"funeralParlourForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationCemeteryMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n // TODO\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationCemeteryMenuHeadings.BurialDetails.toLocaleLowerCase():\n this.form.get(\"burialForm\").get(\"type\").reset();\n this.form.get(\"burialForm\").get(\"burialDate\").reset();\n this.form.get(\"burialForm\").get(\"description\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.DeceasedDetails.toLocaleLowerCase():\n this.form.get(\"deceasedForm\").get(\"sex\").reset();\n this.form.get(\"deceasedForm\").get(\"nationality\").reset();\n this.form.get(\"deceasedForm\").get(\"idNumber\").reset();\n this.form.get(\"deceasedForm\").get(\"idType\").reset();\n this.form.get(\"deceasedForm\").get(\"burialOrderNumber\").reset();\n this.form.get(\"deceasedForm\").get(\"serialNo\").reset();\n this.form.get(\"deceasedForm\").get(\"verticalPosition\").reset();\n this.form.get(\"deceasedForm\").get(\"dateOfBirth\").reset();\n this.form.get(\"deceasedForm\").get(\"dateOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"placeOfBirth\").reset();\n this.form.get(\"deceasedForm\").get(\"placeOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"maidenName\").reset();\n this.form.get(\"deceasedForm\").get(\"undertaker\").reset();\n this.form.get(\"deceasedForm\").get(\"provinceOfDeath\").reset();\n this.form.get(\"deceasedForm\").get(\"deceasedNames\").reset();\n this.selectedApplicationService.clearDeceasedNamesTableSubject$.next(true);\n break;\n case CreateApplicationCemeteryMenuHeadings.FamilyMemberDetails.toLocaleLowerCase():\n this.form.get(\"familyMemberForm\").get(\"family\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.FuneralParlour.toLocaleLowerCase():\n this.form.get(\"funeralParlourForm\").get(\"parlourRecipient\").reset();\n this.form.get(\"funeralParlourForm\").get(\"parlourSelector\").reset();\n this.form.get(\"funeralParlourForm\").get(\"funeralParlourIsNull\").reset();\n break;\n case CreateApplicationCemeteryMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n case CreateApplicationCemeteryMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n default:\n break;\n }\n }\n resetForm() {\n this.form.reset();\n }\n // TODO correct the URL\n postApplicationService(params) {\n return this.http.post(ApiCemeteryConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, lastEditedUser, notes\";\n }\n // TODO: Correct Constants\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationCemeteryMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationCemeteryMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiCemeteryConstants.URL}/${jobId}/GetCmApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n return true;\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n burialForm: new FormGroup({\n type: new FormControl(null, [Validators.required]),\n burialDate: new FormControl(null),\n description: new FormControl(null, [Validators.required])\n }),\n deceasedForm: new FormGroup({\n sex: new FormControl(null, [Validators.required]),\n nationality: new FormControl(null, [Validators.required]),\n idNumber: new FormControl(null, [Validators.required]),\n idType: new FormControl(null, [Validators.required]),\n burialOrderNumber: new FormControl(null, [Validators.required]),\n serialNo: new FormControl(null),\n verticalPosition: new FormControl(null, [Validators.required]),\n dateOfBirth: new FormControl(null, [Validators.required, DeceasedDtailsCustomValidators.CompareDateToToday]),\n dateOfDeath: new FormControl(null),\n placeOfBirth: new FormControl(null, [Validators.required]),\n placeOfDeath: new FormControl(null),\n maidenName: new FormControl(null),\n undertaker: new FormControl(null),\n provinceOfDeath: new FormControl(null),\n deceasedNames: new FormControl(null, [Validators.required]),\n }, DeceasedDtailsCustomValidators.CompareDateToDateOfDeath), familyMemberForm: new FormGroup({\n family: new FormControl(null),\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n funeralParlourForm: new FormGroup({\n parlourRecipient: new FormControl(null, [Validators.required]),\n parlourSelector: new FormControl(null, [Validators.required]),\n funeralParlourIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]), referenceNumber: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicant: [applicant],\n notes: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n }\n buildBurialDetailsStep(stepIndex, existingApplication) {\n const burialFormValue = this.form.get(\"burialForm\").value;\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = burialFormValue.type;\n application.burialDate = burialFormValue.burialDate;\n application.description = burialFormValue.description;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: burialFormValue.type,\n burialDate: burialFormValue.burialDate,\n description: burialFormValue.description\n };\n return application;\n }\n buildDeceasedStep(stepIndex, existingApplication) {\n const deceasedFormValue = this.form.get(\"deceasedForm\").value;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.deceased = [deceasedFormValue];\n if (existingApplication.deceased == null && !existingApplication.deceased[0].dateOfDeath)\n existingApplication.deceased[0].dateOfDeath = null;\n // tslint:disable-next-line:prefer-for-of\n if (existingApplication.deceased && existingApplication.deceased.length > 0) {\n if (existingApplication.deceased[0].deceasedNames != null) {\n for (let index = 0; index < existingApplication.deceased[0].deceasedNames.length; index++) {\n if (existingApplication.deceased[0].deceasedNames[index].id < 0)\n existingApplication.deceased[0].deceasedNames[index].id = 0;\n }\n }\n }\n return existingApplication;\n }\n buildFamilyMemberStep(stepIndex, existingApplication) {\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n const familyMemberForm = this.form.get(\"familyMemberForm\").value;\n if (familyMemberForm.hasOwnProperty(\"family\")) {\n const familyMemberFormValue = familyMemberForm.family;\n for (let index = 0; index < familyMemberFormValue.length; index++) {\n if (familyMemberFormValue[index].id < 1) {\n familyMemberFormValue[index].id = 0;\n }\n familyMemberFormValue[index] = RecipientUtils.removeInvalidRecipientProperties(familyMemberFormValue[index]);\n }\n const deletedMembers = [];\n // tslint:disable-next-line:prefer-for-of\n for (let index = 0; index < existingApplication.family.length; index++) {\n const family = familyMemberFormValue.find(f => f.id === existingApplication.family[index].id);\n if (!family) {\n existingApplication.family[index].deleted = true;\n deletedMembers.push(existingApplication.family[index]);\n }\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.family = familyMemberFormValue;\n existingApplication.family.push(...deletedMembers);\n }\n return existingApplication;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appController.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildFuneralParlourStep(stepIndex, existingApplication) {\n const funeralParlourIsNullValue = this.form.get(\"funeralParlourForm\").get(\"funeralParlourIsNull\").value;\n const funeralParlourIDValue = this.form.get(\"funeralParlourForm\").get(\"parlourSelector\").value;\n if (existingApplication) {\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.funeralParlourId = funeralParlourIsNullValue ? null : funeralParlourIDValue;\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nCemeteryStrategyService = CemeteryStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], CemeteryStrategyService);\nexport { CemeteryStrategyService };\n","var DamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ApiDemolitionManagementConstants } from \"../../constants/api-constants/api-demolition-management.constamt\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { Router } from \"@angular/router\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ViewApplicationDetailsDmComponent } from \"../../../view-application/modules/dm/view-application-details-dm/view-application-details-dm.component\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ViewLocationDmComponent } from \"../../../view-application/modules/dm/view-location-dm/view-location-dm.component\";\nimport { CreateLocationDmComponent } from \"../../../create-application/modules/dm/create-location-dm/create-location-dm.component\";\nimport { CreateApplicationDetailsDmComponent } from \"../../../create-application/modules/dm/create-application-details-dm/create-application-details-dm.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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\"] = \"Property details\";\n CreateApplicationDemolitionMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationDemolitionMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationDemolitionMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationDemolitionMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationDemolitionMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationDemolitionMenuHeadings || (CreateApplicationDemolitionMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationDemolitionMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationDemolitionMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationDemolitionMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationDemolitionMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationDemolitionMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationDemolitionMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationDemolitionMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet DamsStrategyService = class DamsStrategyService extends AflaModuleStrategyService {\n static { DamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n appController;\n router;\n name = ModuleConfig.DemolitionManagement;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiDemolitionManagementConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = DMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiDemolitionManagementConstants.URL}/${ApiDemolitionManagementConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationDemolitionMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, DMExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = DamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsDmComponent],\n [ViewApplicationMenuHeadings.Location, ViewLocationDmComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationDemolitionMenuHeadings.Details, CreateApplicationDetailsDmComponent],\n [CreateApplicationDemolitionMenuHeadings.Location, CreateLocationDmComponent],\n [CreateApplicationDemolitionMenuHeadings.Notes, CreateApplicationNotesComponent]\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationDemolitionMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationDemolitionMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = DamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, DamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiDemolitionManagementConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: DamsStrategyService_1.getRecipientName(DamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: DamsStrategyService_1.getRecipientName(DamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiDemolitionManagementConstants.URL}/${applicationId}/${ApiDemolitionManagementConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationDemolitionMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildDemolitionDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationDemolitionMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.dmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(DamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationDemolitionMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationDemolitionMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n // (this.form.get(\"detailsForm\").get(\"applicationType\") as FormGroup).reset();\n // (this.form.get(\"detailsForm\").get(\"description\") as FormGroup).reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationDemolitionMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationDemolitionMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n case CreateApplicationDemolitionMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiDemolitionManagementConstants.URL}/${jobId}/GetDmApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required])\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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.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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const over60 = item.get(\"over60\").value;\n const worthyOfPreservation = item.get(\"worthyOfPreservation\").value;\n let amafaPermission = \"\";\n if (over60 === \"Yes\" || worthyOfPreservation === \"Yes\") {\n amafaPermission = item.get(\"amafaPermission\").value;\n }\n ;\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n amafaPermission,\n cadastralDescription: item.get(\"cadastralDescription\").value,\n existingUse: item.get(\"existingUse\").value,\n over60,\n rateNumber: item.get(\"rateNumber\").value,\n reason: item.get(\"reason\").value,\n worthyOfPreservation,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n const propertyZonesArray = item.get(\"zones\");\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nDamsStrategyService = DamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], DamsStrategyService);\nexport { DamsStrategyService };\n","var EcStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ApiElectricalConnectionConstants } from \"../../constants/api-constants/api-electrical-conection.constant\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ViewApplicationDetailsEcComponent } from \"../../../view-application/modules/ec/view-application-details-ec/view-application-details-ec.component\";\nimport { ViewApplicationProfessionalBodiesEcComponent } from \"../../../view-application/modules/ec/view-application-professional-bodies-ec/view-application-professional-bodies-ec.component\";\nimport { CreateApplicationDetailsEcComponent } from \"../../../create-application/modules/ec/create-application-details-ec/create-application-details-ec.component\";\nimport { CreateApplicationLocationEcComponent } from \"../../../create-application/modules/ec/create-application-location-ec/create-application-location-ec.component\";\nimport { CreateApplicationProfessionalBodiesEcComponent } from \"../../../create-application/modules/ec/create-application-professional-bodies-ec/create-application-professional-bodies-ec.component\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ViewApplicationLocationEcComponent } from \"../../../view-application/modules/ec/view-application-location-ec/view-application-location-ec.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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[\"Notes\"] = \"Notes\";\n CreateApplicationECMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationECMenuHeadings || (CreateApplicationECMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"ProfessionalBodies\"] = \"Professional bodies help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationECMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationECMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationECMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationECMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationECMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationECMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationECMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationECMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"ProfessionalBodies\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet EcStrategyService = class EcStrategyService extends AflaModuleStrategyService {\n static { EcStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.ElectricalConnection;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiElectricalConnectionConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = ECExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiElectricalConnectionConstants.URL}/${ApiElectricalConnectionConstants.FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationECMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ECExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = EcStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsEcComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationEcComponent],\n [ViewApplicationMenuHeadings.ProfessionalBodies, ViewApplicationProfessionalBodiesEcComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationECMenuHeadings.Details, CreateApplicationDetailsEcComponent],\n [CreateApplicationECMenuHeadings.Location, CreateApplicationLocationEcComponent],\n [CreateApplicationECMenuHeadings.Notes, CreateApplicationNotesComponent],\n [CreateApplicationECMenuHeadings.ProfessionalBodies, CreateApplicationProfessionalBodiesEcComponent]\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationECMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationECMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = EcStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, EcStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (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 },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n }\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiElectricalConnectionConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: EcStrategyService_1.getRecipientName(EcStrategyService_1.getFirstRecipient(application.applicant)),\n agent: EcStrategyService_1.getRecipientName(EcStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiElectricalConnectionConstants.URL}/${applicationId}/${ApiElectricalConnectionConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildEConnectionDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n application = this.buildProfessionalBodiesStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationECMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(EcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX 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.ecApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(EcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationECMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationECMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationECMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n // (this.form.get(\"detailsForm\").get(\"applicationType\") as FormGroup).reset();\n // (this.form.get(\"detailsForm\").get(\"description\") as FormGroup).reset();\n break;\n case CreateApplicationECMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationECMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationECMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationECMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n this.form.get(\"professionalBodiesForm\").get(\"electricalEngineerRecipients\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"electricalContractorRecipient\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalEngineerAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToElectricalEngineer\").reset();\n this.form.get(\"professionalBodiesForm\").get(\"copyApplicantToContractor\").reset();\n break;\n case CreateApplicationECMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").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 notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 return {\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 }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\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) {\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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroidControl = item.get(\"centroid\");\n if (centroidControl && centroidControl.value) {\n const centroid = centroidControl.value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n buildingName: item.get(\"buildingName\").value,\n floor: item.get(\"floor\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners,\n };\n // const propertyZonesArray = item.get(\"zones\") as FormArray;\n application.properties.push(property);\n }\n });\n application.shape = `MULTIPOINT (${points.join(\", \")})`;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nEcStrategyService = EcStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], EcStrategyService);\nexport { EcStrategyService };\n","var GtiaStrategyService_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 { ObjectUtils } from \"../../utils/object-utils\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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 { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { CreateApplicationLocationTpamsConstants } from \"../../../create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ApiGautrainConstants } from \"../../constants/api-constants/api-gautrain.constants\";\nimport { CreateApplicationDetailsGtiaComponent } from \"../../../create-application/modules/gtia/create-application-details-gtia/create-application-details-gtia.component\";\nimport { CreateApplicationLocationGtiaComponent } from \"../../../create-application/modules/gtia/create-application-location-gtia/create-application-location-gtia.component\";\nimport { ViewApplicationLocationGtiaComponent } from \"../../../view-application/modules/gtia/view-application-location-gtia/view-application-location-gtia.component\";\nimport { ViewApplicationDetailsGtiaComponent } from \"../../../view-application/modules/gtia/view-application-details-gtia/view-application-details-gtia.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 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 GTIAExpandListForApplicationPartial = ApplicationSearchConstants.APP_EXPAND_PORTAL_APP_GTIA;\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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet GtiaStrategyService = class GtiaStrategyService extends AflaModuleStrategyService {\n static { GtiaStrategyService_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.Gautrain;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiGautrainConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = GTIAExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiGautrainConstants.URL}/${ApiGautrainConstants.FUNCTION_GET_MY_AFLA_PORTAL_GAUTAIN_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, GTIAExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = GtiaStrategyService_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: GtiaStrategyService_1.getRecipientName(GtiaStrategyService_1.getFirstRecipient(application.applicant)),\n agent: GtiaStrategyService_1.getRecipientName(GtiaStrategyService_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([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsGtiaComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationGtiaComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsGtiaComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationGtiaComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = GtiaStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, GtiaStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (savedApplication) => {\n this.appController.showMessage(GtiaStrategyService_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 gautrain application\", error, CRUDOperation.Add);\n }\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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 gtApplication: 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,notes\",\n $expand: \"properties($expand=owners($expand=groups),zonings),notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(GtiaStrategyService_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... FILL FREE TO REMOVE IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.gtApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(GtiaStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiGautrainConstants.URL}/${applicationId}/${ApiGautrainConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\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(\"applicationTypes\").push(new FormGroup({\n type: new FormControl(null, [Validators.required]),\n }));\n }\n postApplicationService(params) {\n return this.http.post(ApiGautrainConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_GTIA_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiGautrainConstants.URL}/${jobId}/${ApiGautrainConstants.FUNCTION_GET_APPLICATION_TYPES}`;\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(\"fileNumber\").reset();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").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.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\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 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 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.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.amendmentSchemeNumber = this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value;\n application.fileNumber = this.form.get(\"detailsForm\").get(\"fileNumber\").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 fileNumber: this.form.get(\"detailsForm\").get(\"fileNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicationTypes: [],\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 return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 description: new FormControl(null, [Validators.required]),\n amendmentSchemeNumber: new FormControl(null),\n fileNumber: 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 }),\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.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value,\n fileNumber: this.form.get(\"detailsForm\").get(\"fileNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n applicationTypes: [],\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};\nGtiaStrategyService = GtiaStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], GtiaStrategyService);\nexport { GtiaStrategyService };\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 { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { CreateApplicationDetailsItamsComponent } from \"../../../create-application/modules/it/create-application-details-itams/create-application-details-itams.component\";\nimport { CreateApplicationLocationItamsComponent } from \"../../../create-application/modules/it/create-application-location-itams/create-application-location-itams.component\";\nimport { CreateApplicationStakeholdersItamsComponent } from \"../../../create-application/modules/it/create-application-stakeholders-itams/create-application-stakeholders-itams.component\";\nimport { ViewApplicationDetailsItamsComponent } from \"../../../view-application/modules/it/view-application-details-itams/view-application-details-itams.component\";\nimport { ViewApplicationLocationItamsComponent } from \"../../../view-application/modules/it/view-application-location-itams/view-application-location-itams.component\";\nimport { ViewApplicationStakeholdersItamsComponent } from \"../../../view-application/modules/it/view-application-stakeholders-itams/view-application-stakeholders-itams.component\";\nimport { ApiInformalTradeConstants } from \"../../constants/api-constants/api-informal-trade.constants\";\nimport { CreateApplicationLocationItamsConstants } from \"../../../create-application/modules/it/create-application-location-itams/create-application-location-itams.constants\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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([[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.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[\"Traders\"] = \"Traders\";\n CreateApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationMenuHeadings || (CreateApplicationMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Bays help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Traders\"] = \"Traders help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Traders, HeaderConfigurableTextTypes.Traders)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Bay details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Traders\"] = \"Traders\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Traders, HeaderConfigurableTextTypes.Traders)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet ItamsStrategyService = class ItamsStrategyService extends AflaModuleStrategyService {\n static { ItamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.InformalTrade;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiInformalTradeConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = ItExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, 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 = `${ApiInformalTradeConstants.URL}/${ApiInformalTradeConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ItExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = ItamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: ItamsStrategyService_1.getRecipientName(ItamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: ItamsStrategyService_1.getRecipientName(ItamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([[ViewApplicationMenuHeadings.Details, ViewApplicationDetailsItamsComponent], [ViewApplicationMenuHeadings.Location, ViewApplicationLocationItamsComponent], [ViewApplicationMenuHeadings.Traders, ViewApplicationStakeholdersItamsComponent], [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent], [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([[CreateApplicationMenuHeadings.Details, CreateApplicationDetailsItamsComponent], [CreateApplicationMenuHeadings.Location, CreateApplicationLocationItamsComponent], [CreateApplicationMenuHeadings.Traders, CreateApplicationStakeholdersItamsComponent], [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent], [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = ItamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, ItamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (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: (error) => {\n this.appController.handleServerErrorMessage(\"create informal trade application\", error, CRUDOperation.Add);\n }\n });\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\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.Traders.toLocaleLowerCase():\n application = this.buildStakeholderStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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 itApplication: application, moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this because the saved application object does not return with the latest bays\n const params = {\n $select: \"bays,tradeGoods,notes\",\n $expand: \"bays,tradeGoods,notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const bays = response.value[0]?.bays;\n const tradeGoods = response.value[0]?.tradeGoods;\n savedApplication.bays = bays;\n savedApplication.tradeGoods = tradeGoods;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(ItamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.itApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(ItamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiInformalTradeConstants.URL}/${applicationId}/${ApiInformalTradeConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"baysForm\";\n break;\n case CreateApplicationMenuHeadings.Traders.toLocaleLowerCase():\n formName = \"tradersForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"baysForm\").get(\"bays\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiInformalTradeConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, bays, traders($expand=groups), lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiInformalTradeConstants.URL}/${jobId}/${ApiInformalTradeConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"baysForm\") && this.form.get(\"baysForm\").get(\"bays\")) {\n const baysArray = this.form.get(\"baysForm\").get(\"bays\");\n if (baysArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.BAY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationItamsConstants.BAY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n const previousApplicationValidated = this.form.get(\"detailsForm\").get(\"previousApplicationValidated\").value;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"baysForm\").get(\"bays\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n if (!previousApplicationValidated) {\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoods\").reset();\n this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").reset();\n this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").reset();\n this.applicationCreateService.$clearApplicationVerificationSubject.next(true);\n }\n else {\n this.appController.showMessage(\"Form cannot be cleared after previous application has been validated\", AlertType.Warning);\n }\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Traders.toLocaleLowerCase():\n if (!previousApplicationValidated) {\n this.form.get(\"tradersForm\").get(\"traders\").reset();\n }\n else {\n this.appController.showMessage(\"Form cannot be cleared after previous application has been validated\", AlertType.Warning);\n }\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.bays = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n bays: [],\n shape: \"\",\n wkid: 102100\n };\n const points = [];\n const baysArray = this.form\n .get(\"baysForm\")\n .get(\"bays\");\n baysArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const bay = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n bayNumber: item.get(\"bayNumber\").value,\n baySize: item.get(\"baySize\").value,\n shape: geometryJSON,\n updateGeometry: false,\n wkid: 102100\n };\n application.bays.push(bay);\n });\n application.shape = `MULTIPOINT (${points.join(\", \")})`;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n const tradeGoodsFormArray = this.form.get(\"detailsForm\").get(\"tradeGoods\");\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n application.previousReferenceNumber = this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value;\n application.tradeGoods = [];\n }\n else {\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value,\n tradingGoods: this.form.get(\"detailsForm\").get(\"tradingGoods\").value,\n tradingGoodsDescription: this.form.get(\"detailsForm\").get(\"tradingGoodsDescription\").value,\n previousReferenceNumber: this.form.get(\"detailsForm\").get(\"previousReferenceNumber\").value,\n tradeGoods: []\n };\n }\n tradeGoodsFormArray.controls.forEach((tradeGoodsControl) => {\n const tradeGoods = {\n id: tradeGoodsControl.get(\"id\") != null ? tradeGoodsControl.get(\"id\").value : 0,\n tradeGoods: tradeGoodsControl.get(\"tradeGoods\").value,\n description: tradeGoodsControl.get(\"tradingGoodsDescription\").value,\n };\n application.tradeGoods.push(tradeGoods);\n });\n return application;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: \"\",\n type: \"\",\n tradingGoods: \"\",\n tradingGoodsDescription: \"\",\n previousReferenceNumber: \"\",\n traders: [],\n tradeGoods: [],\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n notes: [],\n bays: [],\n eLodgementStep: 0,\n eLodgementComplete: true,\n };\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null),\n tradeGoods: new FormArray([new FormGroup({\n tradeGoods: new FormControl(null, [Validators.required]),\n tradingGoodsDescription: new FormControl({ value: null, disabled: true })\n })], [minLengthArray(1), Validators.required]),\n previousApplicationValidated: new FormControl(false),\n previousReferenceNumber: new FormControl(null),\n referenceNumber: new FormControl(null),\n }),\n tradersForm: new FormGroup({\n traders: new FormControl({ recipients: [] }, Validators.required),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n baysForm: new FormGroup({\n bays: new FormArray([], [minLengthArray(1), Validators.required]),\n }),\n });\n }\n buildStakeholderStep(stepIndex, existingApplication) {\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: AppControllerService },\n { type: Router }\n ];\n};\nItamsStrategyService = ItamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ItamsStrategyService);\nexport { ItamsStrategyService };\n","var PlamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiPropertyAndLeaseConstants } from \"../../constants/api-constants/api-property-and-lease.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { 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 { 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 { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { CreateApplicationLocationPlamsConstants } from \"../../../create-application/modules/pl/create-application-location-plams/create-application-location-plams.constants\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.component\";\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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet PlamsStrategyService = class PlamsStrategyService extends AflaModuleStrategyService {\n static { PlamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\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 savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${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 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 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.Notes, ViewApplicationNotesComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationPlamsComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [\n CreateApplicationMenuHeadings.Details,\n CreateApplicationDetailsPlamsComponent,\n ],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationPlamsComponent],\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 createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application)\n .subscribe({\n next: (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 ]).then();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"create property and lease application\", error, CRUDOperation.Add);\n }\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $expand: \"properties($expand=owners($expand=groups)),leaseAreas,notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n const leaseAreas = response.value[0]?.leaseAreas;\n savedApplication.properties = properties;\n savedApplication.leaseAreas = leaseAreas;\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(`Application ${savedApplication.referenceNumber} ${step.stepTitle} saved successfully`, AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IF IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.plApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(`Application ${savedApplication.referenceNumber} ${step.stepTitle} saved successfully`, AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${applicationId}/${ApiPropertyAndLeaseConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"applicationType\").reset();\n this.form.get(\"detailsForm\").get(\"leaseType\").reset();\n this.form.get(\"detailsForm\").get(\"lesseeType\").reset();\n this.form.get(\"detailsForm\").get(\"leaseReason\").reset();\n this.form.get(\"detailsForm\").get(\"saleAmountAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"dateOfDeedTransferAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"evaluationAmountAlienation\").reset();\n this.form.get(\"detailsForm\").get(\"lesseeRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n // TODO: Define and Correct these forms\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiPropertyAndLeaseConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n // TODO: Correct these return values\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_PL_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiPropertyAndLeaseConstants.URL}/${jobId}/GetPlApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationPlamsConstants.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 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 referenceNumber: new FormControl(null),\n description: new FormControl(null, [Validators.required]),\n applicationType: new FormControl(null, [Validators.required]),\n leaseType: new FormControl(null, [Validators.required]),\n leaseReason: new FormControl(null, [Validators.required]),\n lesseeType: new FormControl(null, [Validators.required]),\n lesseeRecipient: new FormControl(null, [Validators.required]),\n leaseUse: new FormControl(null, [Validators.required]),\n leaseRentalAgreementAmount: new FormControl(null, [Validators.required]),\n leaseStartDate: new FormControl(null, [Validators.required]),\n leaseEndDate: new FormControl(null, [Validators.required]),\n saleAmount: new FormControl(null, [Validators.required]),\n dateOfDeedTransfer: new FormControl(null, [Validators.required]),\n evaluationAmount: new FormControl(null, [Validators.required]),\n buyerRecipient: new FormControl(null, [Validators.required]),\n leaseContractNumber: new FormControl(null),\n leaseAccountNumber: new FormControl(null),\n leaseContractEscalation: new FormControl(null),\n leasePeriod: new FormControl(null),\n leaseNoticePeriod: new FormControl(null),\n sellerRecipient: new FormControl(null, [Validators.required]),\n saleAmountAlienation: new FormControl(null, [Validators.required]),\n dateOfDeedTransferAlienation: new FormControl(null, [Validators.required]),\n evaluationAmountAlienation: new FormControl(null, [Validators.required]),\n transferringAttorneyRecipient: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n propertiesForm: new FormGroup({\n applicationType: new FormControl(null, [Validators.required]),\n properties: new FormArray([]),\n leaseArea: new FormControl(null),\n leaseAreaId: new FormControl(null)\n })\n });\n }\n 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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n application.applicationType = this.form.get(\"propertiesForm\").get(\"applicationType\").value?.value;\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n zoning: item.get(\"zoning\").value,\n streetNumber: item.get(\"streetNumber\").value,\n streetName: item.get(\"streetName\").value,\n town: item.get(\"town\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n if (item.get(\"property\") && item.get(\"property\").value.id > 0) {\n property.id = +item.get(\"property\").value.id;\n property.applicationId = application.appId;\n property.jobId = application.jobId;\n }\n application.properties.push(property);\n });\n application.shape = `MULTIPOINT (${points.join(\", \")})`;\n // only save the lease area if the application has not been saved previously\n if (application.applicationType === \"Lease\") {\n const geomLease = this.form.get(\"propertiesForm\").get(\"leaseArea\").value;\n if (geomLease === null) {\n return null;\n }\n const leaseAreaGeometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geomLease);\n const leaseArea = {\n wkid: 102100,\n shape: leaseAreaGeometryJSON\n };\n if (existingApplication) {\n leaseArea.id = this.form.get(\"propertiesForm\").get(\"leaseAreaId\").value;\n leaseArea.applicationId = existingApplication.id;\n }\n application.leaseAreas = [leaseArea];\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else {\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n shape: \"\"\n };\n }\n application.applicationType = this.form.get(\"detailsForm\").get(\"applicationType\").value?.value;\n if (application.applicationType === \"Lease\") {\n application.leaseReason = this.form.get(\"detailsForm\").get(\"leaseReason\").value;\n application.leaseUse = this.form.get(\"detailsForm\").get(\"leaseUse\").value;\n application.leaseRentalAgreementAmount = this.form.get(\"detailsForm\").get(\"leaseRentalAgreementAmount\").value;\n application.leaseStartDate = this.form.get(\"detailsForm\").get(\"leaseStartDate\").value;\n application.leaseEndDate = this.form.get(\"detailsForm\").get(\"leaseEndDate\").value;\n application.leaseType = this.form.get(\"detailsForm\").get(\"leaseType\").value?.value;\n application.leaseLesseeType = this.form.get(\"detailsForm\").get(\"lesseeType\").value?.value;\n let lessees = this.form.get(\"detailsForm\").get(\"lesseeRecipient\").value;\n if (lessees && lessees.length > 0) {\n lessees = lessees.map((lessee) => {\n lessee = RecipientUtils.removeInvalidRecipientProperties(lessee);\n lessee.id = 0;\n return lessee;\n });\n }\n else {\n lessees = [];\n }\n application.lessees = lessees;\n }\n if (application.applicationType === \"Acquisition\") {\n application.saleAmount = Number(this.form.get(\"detailsForm\").get(\"saleAmount\").value);\n application.dateOfDeedTransfer = this.form.get(\"detailsForm\").get(\"dateOfDeedTransfer\").value;\n application.evaluationAmount = Number(this.form.get(\"detailsForm\").get(\"evaluationAmount\").value);\n let sellers = this.form.get(\"detailsForm\").get(\"sellerRecipient\").value;\n if (sellers && sellers.length > 0) {\n sellers = sellers.map((seller) => {\n seller = RecipientUtils.removeInvalidRecipientProperties(seller);\n seller.id = 0;\n return seller;\n });\n }\n else {\n sellers = [];\n }\n application.sellers = sellers;\n }\n if (application.applicationType === \"Alienation\") {\n application.saleAmount = Number(this.form.get(\"detailsForm\").get(\"saleAmountAlienation\").value);\n application.dateOfDeedTransfer = this.form.get(\"detailsForm\").get(\"dateOfDeedTransferAlienation\").value;\n application.evaluationAmount = Number(this.form.get(\"detailsForm\").get(\"evaluationAmountAlienation\").value);\n let buyers = this.form.get(\"detailsForm\").get(\"buyerRecipient\").value;\n if (buyers && buyers.length > 0) {\n buyers = buyers.map((buyer) => {\n buyer = RecipientUtils.removeInvalidRecipientProperties(buyer);\n buyer.id = 0;\n return buyer;\n });\n }\n else {\n buyers = [];\n }\n application.buyers = buyers;\n }\n const properties = this.cleanPropertyOwners(application);\n if (properties.length > 0) {\n application.properties = properties;\n }\n return application;\n }\n cleanPropertyOwners(application) {\n const properties = [];\n if (application.hasOwnProperty(\"properties\") && application.properties) {\n application.properties.forEach(prop => {\n if (prop.hasOwnProperty(\"owners\") && prop.owners) {\n const owners = [];\n prop.owners.forEach(owner => {\n owners.push(RecipientUtils.removeInvalidRecipientProperties(owner));\n });\n }\n properties.push(prop);\n });\n }\n return properties;\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n return {\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 }\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: Router }\n ];\n};\nPlamsStrategyService = PlamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], PlamsStrategyService);\nexport { PlamsStrategyService };\n","var RcStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiRatesCertificateConstants } from \"../../constants/api-constants/api-rates-certificate.constants\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ViewApplicationDetailsRcComponent } from \"../../../view-application/modules/rc/view-application-details-rc/view-application-details-rc.component\";\nimport { ViewApplicationLocationRcComponent } from \"../../../view-application/modules/rc/view-application-location-rc/view-application-location-rc.component\";\nimport { CreateApplicationDetailsRcComponent } from \"../../../create-application/modules/rc/create-application-details-rc/create-application-details-rc.component\";\nimport { CreateApplicationLocationRcComponent } from \"../../../create-application/modules/rc/create-application-location-rc/create-application-location-rc.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { map } from \"rxjs/operators\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { ViewApplicationPeopleOfInterestComponent } from \"../../../view-application/view-application-people-of-interest/view-application-people-of-interest.component\";\nimport { CreateApplicationPeopleOfInterestComponent } from \"../../../create-application/create-application-people-of-interest/create-application-people-of-interest.component\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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 RCExpandListForApplicationSearch = ApplicationSearchConstants.APP_SEARCH_EXPAND_FULL_LIST_RC;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationRcMenuHeadings;\n(function (CreateApplicationRcMenuHeadings) {\n CreateApplicationRcMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationRcMenuHeadings[\"Location\"] = \"Property details\";\n CreateApplicationRcMenuHeadings[\"Details\"] = \"Application details\";\n CreateApplicationRcMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationRcMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationRcMenuHeadings[\"PeopleOfInterest\"] = \"People of interest\";\n CreateApplicationRcMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationRcMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationRcMenuHeadings || (CreateApplicationRcMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"PeopleOfInterest\"] = \"People of interest help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationRcMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationRcMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationRcMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationRcMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationRcMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationRcMenuHeadings.PeopleOfInterest, HeaderConfigurableTextTypes.PeopleOfInterest)\n .set(CreateApplicationRcMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationRcMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationRcMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"PeopleOfInterest\"] = \"People of interest\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.PeopleOfInterest, HeaderConfigurableTextTypes.PeopleOfInterest)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet RcStrategyService = class RcStrategyService extends AflaModuleStrategyService {\n static { RcStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.RatesCertificate;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiRatesCertificateConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = RCExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiRatesCertificateConstants.URL}/${ApiRatesCertificateConstants.FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationRcMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, RCExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = RcStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_RC_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsRcComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationRcComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n [ViewApplicationMenuHeadings.PeopleOfInterest, ViewApplicationPeopleOfInterestComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationRcMenuHeadings.Details, CreateApplicationDetailsRcComponent],\n [CreateApplicationRcMenuHeadings.Location, CreateApplicationLocationRcComponent],\n [CreateApplicationRcMenuHeadings.Notes, CreateApplicationNotesComponent],\n [CreateApplicationRcMenuHeadings.PeopleOfInterest, CreateApplicationPeopleOfInterestComponent]\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationRcMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationRcMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = RcStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, RcStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (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 + \"\")]).then();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n }\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiRatesCertificateConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: RcStrategyService_1.getRecipientName(RcStrategyService_1.getFirstRecipient(application.applicant)),\n agent: RcStrategyService_1.getRecipientName(RcStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiRatesCertificateConstants.URL}/${applicationId}/${ApiRatesCertificateConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave) {\n let application;\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n application = this.buildRcDetailsStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n application = this.buildLocationStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n application = this.buildPeopleOfInterestStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n application = this.buildApplicantStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n application = this.buildApplicantAgentStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(step.stepIndex, existingApplication);\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n application = this.buildDocumentationStep(step.stepIndex, existingApplication);\n break;\n default:\n break;\n }\n if (application) {\n const applicationId = application.id > 0 ? application.id : 0;\n this.savedApplication = undefined;\n const applicationRequestDto = {\n rcApplication: application,\n moveApplicationToNextStepAfterSave: continueAfterSave\n };\n this.createPartialApplicationObservable(applicationId, applicationRequestDto).subscribe({\n next: (savedApplication) => {\n // had to do this as the saved application does not return with the updated family members\n const params = {\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID} and deleted eq false`,\n $expand: \"applicant,applicantAgent,transferor,transferee,conveyancer,properties($expand=managingAgent($expand=groups)),attachments,notes\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(RcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.rcApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(RcStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n formName = \"peopleOfInterestForm\";\n break;\n case CreateApplicationRcMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationRcMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").reset();\n this.form.get(\"detailsForm\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationRcMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationRcMenuHeadings.PeopleOfInterest.toLocaleLowerCase():\n this.form.get(\"peopleOfInterestForm\").get(\"transferor\").reset();\n this.form.get(\"peopleOfInterestForm\").get(\"transferee\").reset();\n this.form.get(\"peopleOfInterestForm\").get(\"conveyancer\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\n break;\n case CreateApplicationRcMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiRatesCertificateConstants.URL}/${jobId}/GetRcApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(\"Please select a property before continuing with the create application process\", AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, Validators.required),\n applicationType: new FormControl(null, Validators.required),\n reasonForApplication: new FormControl(null, Validators.required),\n typeOfTransfer: new FormControl(null, Validators.required),\n propertyType: new FormControl(null, Validators.required),\n ratesAccountNumber: new FormControl(null, Validators.required),\n electronicReference: new FormControl(null, Validators.required),\n attorneyReference: new FormControl(null, Validators.required),\n councilReference: new FormControl(null, Validators.required),\n referenceNumber: new FormControl(null)\n }),\n peopleOfInterestForm: new FormGroup({\n transferor: new FormControl(null, [Validators.required]),\n transferee: new FormControl(null, [Validators.required]),\n conveyancer: new FormControl(null, [Validators.required]),\n copyApplicantToTransferee: new FormControl(false)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n })\n });\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: 0,\n wkid: 102100\n };\n }\n buildRcDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.type = this.form.get(\"detailsForm\").get(\"applicationType\").value;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.reasonForApplication = this.form.get(\"detailsForm\").get(\"reasonForApplication\").value;\n application.typeOfTransfer = this.form.get(\"detailsForm\").get(\"typeOfTransfer\").value;\n application.propertyType = this.form.get(\"detailsForm\").get(\"propertyType\").value;\n application.ratesAccountNumber = this.form.get(\"detailsForm\").get(\"ratesAccountNumber\").value;\n application.electronicReference = this.form.get(\"detailsForm\").get(\"electronicReference\").value;\n application.attorneyReference = this.form.get(\"detailsForm\").get(\"attorneyReference\").value;\n application.councilReference = this.form.get(\"detailsForm\").get(\"councilReference\").value;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementComplete: false,\n eLodgementStep: stepIndex,\n type: this.form.get(\"detailsForm\").get(\"applicationType\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n reasonForApplication: this.form.get(\"detailsForm\").get(\"reasonForApplication\").value,\n typeOfTransfer: this.form.get(\"detailsForm\").get(\"typeOfTransfer\").value,\n propertyType: this.form.get(\"detailsForm\").get(\"propertyType\").value,\n ratesAccountNumber: this.form.get(\"detailsForm\").get(\"ratesAccountNumber\").value,\n electronicReference: this.form.get(\"detailsForm\").get(\"electronicReference\").value,\n attorneyReference: this.form.get(\"detailsForm\").get(\"attorneyReference\").value,\n councilReference: this.form.get(\"detailsForm\").get(\"councilReference\").value,\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.properties = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appControllerService.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n properties: [],\n wkid: 102100\n };\n const points = [];\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n const item = propertiesArray.controls[0];\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n const managingAgent = item.get(\"managingAgent\").value;\n RecipientUtils.removeInvalidRecipientProperties(managingAgent);\n const extentStringValue = item.get(\"extent\").value;\n const purchasePriceStringValue = item.get(\"purchasePrice\").value;\n const extentDecimalValue = parseFloat(extentStringValue);\n const purchasePriceDecimalValue = parseFloat(purchasePriceStringValue);\n const property = {\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeedNumber: item.get(\"titleDeedNumber\").value,\n zoning: item.get(\"zoning\").value,\n sectionalTitleSchemeName: item.get(\"sectionalTitleSchemeName\").value,\n sectionalTitleSchemeNumber: item.get(\"sectionalTitleSchemeNumber\").value,\n sectionalTitleSchemeUnit: item.get(\"sectionalTitleSchemeUnit\").value,\n extent: extentDecimalValue,\n purchasePrice: purchasePriceDecimalValue,\n dateOfSale: item.get(\"dateOfSale\").value,\n electricityAccountNumber: item.get(\"electricityAccountNumber\").value,\n waterAccountNumber: item.get(\"waterAccountNumber\").value,\n refuseAccountNumber: item.get(\"refuseAccountNumber\").value,\n updateGeometry: false,\n wkid: 102100,\n managingAgent: [managingAgent]\n };\n application.properties = [property];\n application.shape = `MULTIPOINT (${points.join(\", \")})`;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n buildPeopleOfInterestStep(stepIndex, existingApplication) {\n let transferee;\n const transfereeFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"transferee\").value;\n transferee = RecipientUtils.removeInvalidRecipientProperties(transfereeFormControlValue);\n let transferor;\n const transferorFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"transferor\").value;\n transferor = RecipientUtils.removeInvalidRecipientProperties(transferorFormControlValue);\n let conveyancer;\n const conveyancerFormControlValue = this.form.get(\"peopleOfInterestForm\").get(\"conveyancer\").value;\n conveyancer = RecipientUtils.removeInvalidRecipientProperties(conveyancerFormControlValue);\n let application;\n application = existingApplication;\n application.transferee = [transferee];\n application.transferor = [transferor];\n application.conveyancer = [conveyancer];\n application.eLodgementStep = stepIndex;\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nRcStrategyService = RcStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], RcStrategyService);\nexport { RcStrategyService };\n","var SnStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Router } from \"@angular/router\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ViewApplicationDocumentationComponent } from \"../../../view-application/view-application-documentation/view-application-documentation.component\";\nimport { CreateApplicationDocumentationComponent } from \"../../../create-application/create-application-documentation/create-application-documentation.component\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { minLengthArray } from \"../../classes/min-length-array-validator\";\nimport { ViewApplicationDetailsSnComponent } from \"../../../view-application/modules/sn/view-application-details-sn/view-application-details-sn.component\";\nimport { ViewApplicationLocationSnComponent } from \"../../../view-application/modules/sn/view-application-location-sn/view-application-location-sn.component\";\nimport { CreateApplicationDetailsSnComponent } from \"../../../create-application/modules/sn/create-application-details-sn/create-application-details-sn.component\";\nimport { CreateApplicationLocationSnComponent } from \"../../../create-application/modules/sn/create-application-location-sn/create-application-location-sn.component\";\nimport { ApiStreetNamingConstants } from \"../../constants/api-constants/api-street-naming.constants\";\nimport { CreateApplicationLocationSnConstants } from \"../../../create-application/modules/sn/create-application-location-sn/create-application-location-sn.constant\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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.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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Location details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet SnStrategyService = class SnStrategyService extends AflaModuleStrategyService {\n static { SnStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.StreetNaming;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiStreetNamingConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = SNExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiStreetNamingConstants.URL}/${ApiStreetNamingConstants.FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, SNExpandListForApplicationSearch);\n }\n buildListFilter(list, column) {\n const params = SnStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: SnStrategyService_1.getRecipientName(SnStrategyService_1.getFirstRecipient(application.applicant)),\n agent: SnStrategyService_1.getRecipientName(SnStrategyService_1.getFirstRecipient(application.applicantAgent)),\n type: application.type,\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId) {\n userName = `${user.lastName}, ${user.firstName}`;\n }\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsSnComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationSnComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n [ViewApplicationMenuHeadings.Documentation, ViewApplicationDocumentationComponent]\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsSnComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationSnComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n [CreateApplicationMenuHeadings.Documentation, CreateApplicationDocumentationComponent]\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = SnStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, SnStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe({\n next: (savedApplication) => {\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(\"create informal trade application\", error, CRUDOperation.Add);\n }\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n saveApplicationStep(step, existingApplication, missingLookupsForZones, continueAfterSave = true) {\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $expand: \"location($expand=alternativeNames),line,polygon,notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n savedApplication.location = response.value[0]?.location;\n savedApplication.line = response.value[0]?.line;\n savedApplication.polygon = response.value[0]?.polygon;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX THE ISSUE WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FEEL FREE TO REMOVE IT IF YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.snApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(SnStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiStreetNamingConstants.URL}/${applicationId}/${ApiStreetNamingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n response.eLodgementStep = response.elodgementStep;\n response.eLodgementComplete = response.elodgementComplete;\n delete response.elodgementStep;\n delete response.elodgementComplete;\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"locationForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"locationForm\").get(\"features\").clear();\n }\n postApplicationService(params) {\n return this.http.post(ApiStreetNamingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, location, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n stepId: `step_${key}`,\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */,\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiStreetNamingConstants.URL}/${jobId}/${ApiStreetNamingConstants.FUNCTION_GET_APPLICATION_TYPE}`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"locationForm\") && this.form.get(\"locationForm\").get(\"features\")) {\n const featuresArray = this.form.get(\"locationForm\").get(\"features\");\n if (featuresArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationSnConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationSnConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"type\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"locationForm\").get(\"features\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n buildLocationStep(stepIndex, existingApplication) {\n let application;\n const locationArray = this.form.get(\"locationForm\").get(\"features\");\n const streetOrFeatureValue = locationArray.controls[0].get(\"streetOrFeature\").value;\n if (existingApplication) {\n application = existingApplication;\n application.location = existingApplication.location;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n RecipientUtils.cleanPropertyOwners(application);\n }\n else {\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n location: null,\n shape: \"\",\n wkid: 102100\n };\n }\n this.setLocationDetails(application, locationArray);\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.setApplicationPolygon(application, locationArray);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.setApplicationLine(application, locationArray);\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.type = this.form.get(\"detailsForm\").get(\"type\").value;\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n type: this.form.get(\"detailsForm\").get(\"type\").value\n };\n return application;\n }\n buildApplication(existingApplication) {\n return {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n wkid: 102100,\n moduleId: Number(this.appControllerService.selectedModuleID),\n decision: \"\"\n };\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null),\n }),\n documentForm: new FormGroup({\n documents: new FormArray([]),\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n referenceNumber: new FormControl(null)\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: new FormControl(null)\n }),\n locationForm: new FormGroup({\n features: new FormArray([], [minLengthArray(1), Validators.required])\n }),\n });\n }\n setLocationDetails(application, locationArray) {\n locationArray.controls.forEach((selectedLocationItem) => {\n const location = {\n id: 0,\n streetOrFeature: selectedLocationItem.get(\"streetOrFeature\").value,\n publicOrPrivate: selectedLocationItem.get(\"publicOrPrivate\").value,\n areaEstateName: selectedLocationItem.get(\"areaEstateName\").value,\n isNewDevelopment: selectedLocationItem.get(\"isNewDevelopment\").value,\n haveExistingName: selectedLocationItem.get(\"haveExistingName\").value,\n currentName: selectedLocationItem.get(\"currentName\").value,\n locationDescription: selectedLocationItem.get(\"locationDescription\").value,\n ward: selectedLocationItem.get(\"ward\").value,\n proposedName: selectedLocationItem.get(\"proposedName\").value,\n proposedNameLanguage: selectedLocationItem.get(\"proposedNameLanguage\").value,\n proposedNameMeaning: selectedLocationItem.get(\"proposedNameMeaning\").value,\n proposedNameOrigin: selectedLocationItem.get(\"proposedNameOrigin\").value,\n featureType: selectedLocationItem.get(\"featureType\").value,\n reasonForChange: selectedLocationItem.get(\"reasonForChange\").value,\n alternativeNames: selectedLocationItem.get(\"alternativeNames\").value,\n deleted: false,\n };\n application.location = location;\n });\n }\n setApplicationPolygon(application, locationArray) {\n const points = [];\n locationArray.controls.forEach((selectedLocationItem) => {\n const centroid = selectedLocationItem.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const polygonShape = `Point ${points.join(\", \")}`;\n const selectedLocationFormGroup = locationArray.controls[0];\n const geometry = selectedLocationFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.polygon = {\n id: 0,\n deleted: false,\n shape: geometryJSON,\n wkid: 102100,\n };\n application.shape = polygonShape;\n }\n setApplicationLine(application, locationArray) {\n const points = [];\n locationArray.controls.forEach((selectedLocationItem) => {\n const centroid = selectedLocationItem.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n });\n const lineShape = `Point ${points.join(\", \")}`;\n const selectedLocationFormGroup = locationArray.controls[0];\n const geometry = selectedLocationFormGroup.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n application.line = {\n id: 0,\n deleted: false,\n shape: geometryJSON,\n wkid: 102100,\n };\n application.shape = lineShape;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nSnStrategyService = SnStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], SnStrategyService);\nexport { SnStrategyService };\n","var TmamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { Router } from \"@angular/router\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApiTrainingConstants } from \"../../constants/api-constants/api-training.constants\";\nimport { ViewApplicationDetailsTmamsComponent } from \"../../../view-application/modules/tm/view-application-details-tmams/view-application-details-tmams.component\";\nimport { ViewApplicationLocationTmamsComponent } from \"../../../view-application/modules/tm/view-application-location-tmams/view-application-location-tmams.component\";\nimport { CreateApplicationDetailsTmamsComponent } from \"../../../create-application/modules/tm/create-application-details-tmams/create-application-details-tmams.component\";\nimport { CreateApplicationLocationTmamsComponent } from \"../../../create-application/modules/tm/create-application-location-tmams/create-application-location-tmams.component\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.component\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.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_TM;\nexport var ApplicationSummaryColumnsEnum;\n(function (ApplicationSummaryColumnsEnum) {\n ApplicationSummaryColumnsEnum[\"ReferenceNumber\"] = \"Reference Number\";\n ApplicationSummaryColumnsEnum[\"Applicant\"] = \"Applicant\";\n ApplicationSummaryColumnsEnum[\"Agent\"] = \"Agent\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationTrainingMenuHeadings;\n(function (CreateApplicationTrainingMenuHeadings) {\n CreateApplicationTrainingMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationTrainingMenuHeadings[\"Location\"] = \"Properties\";\n CreateApplicationTrainingMenuHeadings[\"Details\"] = \"Application\";\n CreateApplicationTrainingMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationTrainingMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationTrainingMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationTrainingMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationTrainingMenuHeadings || (CreateApplicationTrainingMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Properties help\";\n HeaderConfigurableTextTypes[\"Application\"] = \"Training application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationTrainingMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationTrainingMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationTrainingMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationTrainingMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationTrainingMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationTrainingMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Properties\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet TmamsStrategyService = class TmamsStrategyService extends AflaModuleStrategyService {\n static { TmamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n name = ModuleConfig.TrainingModule;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiTrainingConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = DMExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiTrainingConstants.URL}/${ApiTrainingConstants.FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationTrainingMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, DMExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = TmamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TM_APPLICATION_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsTmamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationTmamsComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationTrainingMenuHeadings.Details, CreateApplicationDetailsTmamsComponent],\n [CreateApplicationTrainingMenuHeadings.Location, CreateApplicationLocationTmamsComponent],\n [CreateApplicationTrainingMenuHeadings.Notes, CreateApplicationNotesComponent],\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationTrainingMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationTrainingMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = TmamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, TmamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiTrainingConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: TmamsStrategyService_1.getRecipientName(TmamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: TmamsStrategyService_1.getRecipientName(TmamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiTrainingConstants.URL}/${applicationId}/${ApiTrainingConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appControllerService.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX 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.tmApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(TmamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationTrainingMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationTrainingMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\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.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").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 notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners,\n };\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router }\n ];\n};\nTmamsStrategyService = TmamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], TmamsStrategyService);\nexport { TmamsStrategyService };\n","var TpamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ObjectUtils } from \"../../utils/object-utils\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiTownPlanningConstants } from \"../../constants/api-constants/api-town-planning.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { CreateApplicationDetailsTpamsComponent } from \"../../../create-application/modules/tp/create-application-details-tpams/create-application-details-tpams.component\";\nimport { CreateApplicationLocationTpamsComponent } from \"../../../create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.component\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { ViewApplicationDetailsTpamsComponent } from \"../../../view-application/modules/tp/view-application-details-tpams/view-application-details-tpams.component\";\nimport { ViewApplicationLocationTpamsComponent } from \"../../../view-application/modules/tp/view-application-location-tpams/view-application-location-tpams.component\";\nimport { CreateApplicationLocationTpamsConstants } from \"../../../create-application/modules/tp/create-application-location-tpams/create-application-location-tpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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([[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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet TpamsStrategyService = class TpamsStrategyService extends AflaModuleStrategyService {\n static { TpamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n applicationCreateService;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.TownPlanning;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiTownPlanningConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = TPExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n savedApplication;\n postApplicationSubscription;\n getApplicationsSubscription;\n constructor(saShortDatePipe, applicationSearchService, applicationCreateService, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, appController, router) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.applicationCreateService = applicationCreateService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.initForm();\n this.applicationEndpoint = `${ApiTownPlanningConstants.URL}/${ApiTownPlanningConstants.FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, TPExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = TpamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: TpamsStrategyService_1.getRecipientName(TpamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: TpamsStrategyService_1.getRecipientName(TpamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n erfNumbers: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.properties, \"erfNumber\"),\n applicationType: ObjectUtils.getCommaSeparatedValuesFromListForKey(application.applicationTypes, \"applicationType\"),\n startDate: this.saShortDatePipe.transform(application.createdDate),\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([[ViewApplicationMenuHeadings.Details, ViewApplicationDetailsTpamsComponent,], [ViewApplicationMenuHeadings.Location, ViewApplicationLocationTpamsComponent,]]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsTpamsComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationTpamsComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n ]);\n }\n getApplicationsQuery(params) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = TpamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, TpamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]).then();\n }, (error) => {\n this.appController.handleServerErrorMessage(\"create town planning application\", error, CRUDOperation.Add);\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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 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,notes\",\n $expand: \"properties($expand=owners($expand=groups),zonings),notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const properties = response.value[0]?.properties;\n savedApplication.properties = properties;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.tpApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(TpamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiTownPlanningConstants.URL}/${applicationId}/${ApiTownPlanningConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\n break;\n case CreateApplicationMenuHeadings.Documentation.toLocaleLowerCase():\n formName = \"documentForm\";\n break;\n default:\n break;\n }\n return formName;\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").clear();\n this.form.get(\"detailsForm\").get(\"zones\").clear();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").push(new FormGroup({\n type: new FormControl(null, [Validators.required]),\n }));\n this.form.get(\"detailsForm\").get(\"zones\").push(new FormGroup({\n zone: new FormControl(null, [Validators.required]),\n }));\n }\n postApplicationService(params) {\n return this.http.post(ApiTownPlanningConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, applicationTypes, properties, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_TP_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiTownPlanningConstants.URL}/${jobId}/GetTpApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"propertiesForm\") && this.form.get(\"propertiesForm\").get(\"properties\")) {\n const propertiesArray = this.form.get(\"propertiesForm\").get(\"properties\");\n if (propertiesArray.controls.length > 0) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n else {\n this.appController.showMessage(CreateApplicationLocationTpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n resetFormForStep(step) {\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").reset();\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n this.form.get(\"detailsForm\").get(\"description\").reset();\n this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").reset();\n this.form.get(\"detailsForm\").get(\"applicationTypes\").reset();\n this.form.get(\"detailsForm\").get(\"zones\").reset();\n break;\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n this.applicationCreateService.$clearLayerGraphicsSubject.next(true);\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n this.form.get(\"notesForm\").get(\"note\").reset();\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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n buildingFloorArea: (parseFloat(item.get(\"buildingFloorArea\").value)),\n buildingUse: item.get(\"buildingUse\").value,\n erfNumber: item.get(\"erfNo\").value,\n erfSize: parseFloat(item.get(\"erfSize\").value),\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n titleDeed: item.get(\"titleDeed\").value,\n updateGeometry: false,\n wkid: 102100,\n zonings: [],\n owners,\n };\n const propertyZonesArray = item.get(\"zones\");\n propertyZonesArray?.controls.forEach((zoneItem) => {\n const zone = {\n deleted: false,\n zoning: zoneItem?.get(\"zone\")?.value?.value,\n };\n property.zonings.push(zone);\n });\n // ensure that the existing zones that are not in a lookup (or form) are kept\n if (missingLookupsForZones) {\n missingLookupsForZones.forEach((missingZone) => {\n const zone = {\n deleted: false, zoning: missingZone,\n };\n property.zonings.push(zone);\n });\n }\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicationTypes = [];\n application.applicationZonings = [];\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.amendmentSchemeNumber = this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n amendmentSchemeNumber: this.form.get(\"detailsForm\").get(\"amendmentSchemeNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n applicationTypes: [],\n applicationZonings: []\n };\n const typesArray = this.form\n .get(\"detailsForm\")\n .get(\"applicationTypes\");\n typesArray?.controls.forEach((item) => {\n if (item && item.get(\"type\").value) {\n const applicationType = {\n applicationId: application.id, applicationType: item.get(\"type\").value.value, jobId: application.jobId\n };\n application.applicationTypes.push(applicationType);\n }\n });\n const zonesArray = this.form.get(\"detailsForm\").get(\"zones\");\n zonesArray?.controls.forEach((item) => {\n if (item && item.get(\"zone\").value) {\n const zone = {\n applicationId: application.id, deleted: false, zoning: item.get(\"zone\").value.value, jobId: application.jobId\n };\n application.applicationZonings.push(zone);\n }\n });\n return application;\n }\n initForm() {\n this.form = new FormGroup({\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 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 }),\n propertiesForm: new FormGroup({\n properties: new FormArray([], [Validators.minLength(1), Validators.required]),\n }),\n });\n }\n buildApplication(existingApplication) {\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n const application = {\n id: existingApplication ? existingApplication.id : 0,\n decision: \"\",\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n amendmentSchemeNumber: this.form\n .get(\"detailsForm\")\n .get(\"amendmentSchemeNumber\").value,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n shape: \"\",\n wkid: 102100,\n applicant: [applicant],\n applicantAgent: [],\n applicationTypes: [],\n applicationZonings: [],\n notes: [],\n properties: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n RecipientUtils.cleanPropertyOwners(existingApplication);\n }\n else {\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n }\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: ApplicationCreateService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router }\n ];\n};\nTpamsStrategyService = TpamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], TpamsStrategyService);\nexport { TpamsStrategyService };\n","var WamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApplicationSearchService } from \"../../../view-application/shared/application-search.service\";\nimport { map } from \"rxjs/operators\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApiWayleaveConstants } from \"../../constants/api-constants/api-wayleave.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApplicationSearchConstants } from \"../../../view-application/shared/application-search-constants\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ViewApplicationRoutingConstants } from \"../../../view-application/view-application-routing.constants\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport RecipientUtils from \"../../../shared/utils/recipient-utils\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport { CreateApplicationDetailsWamsComponent } from \"../../../create-application/modules/w/create-application-details-wams/create-application-details-wams.component\";\nimport { CreateApplicationLocationWamsComponent } from \"../../../create-application/modules/w/create-application-location-wams/create-application-location-wams.component\";\nimport { CreateApplicationProfessionalBodiesWamsComponent } from \"../../../create-application/modules/w/create-application-professional-bodies-wams/create-application-professional-bodies-wams.component\";\nimport { ViewApplicationDetailsWamsComponent } from \"../../../view-application/modules/w/view-application-details-wams/view-application-details-wams.component\";\nimport { ViewApplicationLocationWamsComponent } from \"../../../view-application/modules/w/view-application-location-wams/view-application-location-wams.component\";\nimport { ViewApplicationProfessionalBodiesWamsComponent } from \"../../../view-application/modules/w/view-application-professional-bodies-wams/view-application-professional-bodies-wams.component\";\nimport { ApplicationCreateService } from \"../../../create-application/shared/application-create.service\";\nimport { CreateApplicationLocationBpamsConstants } from \"../../../create-application/modules/bp/create-application-location-bpams/create-application-location-bpams.constants\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.component\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\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[\"Notes\"] = \"Notes\";\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[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Summary help\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(CreateApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Application status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"ProfessionalBodies\"] = \"Professional bodies\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.ProfessionalBodies, HeaderConfigurableTextTypes.ProfessionalBodies)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet WamsStrategyService = class WamsStrategyService extends AflaModuleStrategyService {\n static { WamsStrategyService_1 = this; }\n saShortDatePipe;\n applicationSearchService;\n appControllerService;\n oDataQueryService;\n applicationCreateService;\n requestStatusService;\n selectedApplicationService;\n http;\n appController;\n router;\n route;\n viewApplicationSteps = [];\n createApplicationMenuHeadings;\n viewApplicationComponentLookup;\n name = ModuleConfig.Wayleaves;\n defaultSearchColumns;\n applicationEndpoint;\n createApplicationComponentLookup;\n viewApplicationMenuHeadings;\n applicationSummaryColumnsMap;\n applicationServiceUrl = ApiWayleaveConstants.URL;\n form;\n userId;\n moduleUsers;\n expandListForApplicationPartial = WExpandListForApplicationPartial;\n lookups = new Map();\n createApplicationSteps = [];\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n statusColumn = \"status/ workflowSection\";\n savedApplication;\n getApplicationsSubscription;\n createApplicationWamsSubscription;\n constructor(saShortDatePipe, applicationSearchService, appControllerService, oDataQueryService, applicationCreateService, requestStatusService, selectedApplicationService, http, appController, router, route) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.applicationSearchService = applicationSearchService;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.appController = appController;\n this.router = router;\n this.route = route;\n this.initForm();\n this.applicationEndpoint = `${ApiWayleaveConstants.URL}/${ApiWayleaveConstants.FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, WExpandListForApplicationPartial);\n }\n buildListFilter(list, column) {\n const params = WamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n // TODO: FIX THIS -> WAMS fields\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: WamsStrategyService_1.getRecipientName(WamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: WamsStrategyService_1.getRecipientName(WamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId,\n clientReferenceNumber: \"\",\n description: \"Description\",\n proposedStartDate: \"Proposed Start Date\",\n proposedEndDate: \"Proposed End Date\"\n };\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n getUserName(user) {\n return user ? `${user.lastName}, ${user.firstName}` : \"\";\n }\n getUserNameFromId(userId) {\n let userName = \"\";\n if (userId) {\n this.applicationSearchService.moduleUsers.forEach((user) => {\n if (Number(user.id) === userId)\n userName = `${user.lastName}, ${user.firstName}`;\n });\n }\n return userName;\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationMenuHeadings.Details, CreateApplicationDetailsWamsComponent],\n [CreateApplicationMenuHeadings.Location, CreateApplicationLocationWamsComponent],\n [CreateApplicationMenuHeadings.ProfessionalBodies, CreateApplicationProfessionalBodiesWamsComponent],\n [CreateApplicationMenuHeadings.Notes, CreateApplicationNotesComponent],\n ]);\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsWamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationWamsComponent],\n [ViewApplicationMenuHeadings.ProfessionalBodies, ViewApplicationProfessionalBodiesWamsComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent]\n ]);\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 createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.createApplicationWamsSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appController.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.ProfessionalBodies.toLocaleLowerCase():\n application = this.buildProfessionalBodiesStep(step.stepIndex, existingApplication);\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n const applicationLines = response.value[0]?.applicationLines;\n const applicationPolygons = response.value[0]?.applicationPolygons;\n savedApplication.applicationLines = applicationLines;\n savedApplication.applicationPolygons = applicationPolygons;\n if (continueAfterSave && !savedApplication.eLodgementComplete) {\n --savedApplication.eLodgementStep;\n }\n this.savedApplication = savedApplication;\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.wApplication.eLodgementStep;\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appController.showMessage(WamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success, true);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appController.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n });\n }\n else {\n this.appController.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (continueAfterSave && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n createPartialApplicationObservable(applicationId, params) {\n return this.http.post(`${ApiWayleaveConstants.URL}/${applicationId}/${ApiWayleaveConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, params)\n .pipe(map((response) => {\n return response;\n }));\n }\n // TODO: Defined and Correct these forms\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationMenuHeadings.Location.toLocaleLowerCase():\n formName = \"locationForm\";\n break;\n case CreateApplicationMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationMenuHeadings.ProfessionalBodies.toLocaleLowerCase():\n formName = \"professionalBodiesForm\";\n break;\n case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\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 case CreateApplicationMenuHeadings.Notes.toLocaleLowerCase():\n break;\n default:\n break;\n }\n }\n resetForm() {\n this.form.reset();\n }\n postApplicationService(params) {\n return this.http.post(ApiWayleaveConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n // TODO: Correct these return values\n getSelectedApplicationSummaryExpand() {\n return \"status, applicant, applicant($expand=groups), applicantAgent, lastEditedUser\";\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_W_APPLICATIONS_BY_USER;\n }\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === CreateApplicationMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getCreateApplicationStepsLookup(stepId) {\n const keys = [...this.createApplicationSteps.entries()]\n .filter(({ 1: v }) => v.stepId === stepId);\n if (keys.length > 0)\n return keys[0][1];\n }\n getApplicationTypes(jobId, moduleId) {\n const params = {\n moduleId\n };\n const url = `${ApiWayleaveConstants.URL}/${jobId}/GetWApplicationTypes`;\n return this.http.get(url, { params });\n }\n applicationHasGeometry() {\n if (this.form.get(\"locationForm\") && this.form.get(\"locationForm\").get(\"centroid\").value !== null) {\n return true;\n }\n else {\n this.appController.showMessage(CreateApplicationLocationBpamsConstants.PROPERTY_REQUIRED, AlertType.Warning);\n return false;\n }\n }\n queryConfigurableTextLookup(filter) {\n const params = {\n $filter: filter\n };\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params });\n }\n initForm() {\n this.form = new FormGroup({\n locationForm: new FormGroup({\n selectedGraphic: new FormControl(null),\n centroid: new FormControl(null, [Validators.required]),\n polyline: new FormControl(null),\n polygon: new FormControl(null),\n polylineDto: new FormControl(null),\n polygonDto: new FormControl(null)\n }),\n detailsForm: new FormGroup({\n description: new FormControl(null, [Validators.required]),\n clientReferenceNumber: new FormControl(null, [Validators.required]),\n applicantTelecommunicationLicenseNumber: new FormControl(null),\n scopeOfWork: new FormControl(null, [Validators.required]),\n estimatedConstructionCost: new FormControl(null, [Validators.required]),\n applicationFee: new FormControl(null, [Validators.required]),\n constructionPeriodInWeeks: new FormControl(null, [Validators.required]),\n proposedStartDate: new FormControl(null, [Validators.required]),\n proposedEndDate: new FormControl(null, [Validators.required]),\n laneClosureIsRequired: new FormControl(null, [Validators.required]),\n laneClosureExtent: new FormControl(null, [Validators.required]),\n electricalServices: new FormControl(null, [Validators.required]),\n actualStartDate: new FormControl(null),\n actualEndDate: new FormControl(null)\n }),\n applicantForm: new FormGroup({\n applicantRecipient: new FormControl(null, [Validators.required]),\n }),\n applicantAgentForm: new FormGroup({\n applicantAgentRecipient: new FormControl(null, [Validators.required]),\n applicantAgentIsNull: new FormControl(null)\n }),\n professionalBodiesForm: new FormGroup({\n markImplementingAgentAsRequired: new FormControl(null),\n implementingAgentRecipient: new FormControl(null),\n markEngineerAsRequired: new FormControl(null),\n engineerRecipients: new FormControl(null),\n markElectricalContractorAsRequired: new FormControl(null),\n responsibleContractorRecipient: new FormControl(null),\n copyApplicantToImplementingAgent: new FormControl(null),\n copyApplicantToEngineer: new FormControl(null),\n copyApplicantToContractor: new FormControl(null),\n }),\n notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 const application = {\n id: existingApplication ? existingApplication.id : 0,\n referenceNumber: \"\",\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n shape: \"\",\n wkid: 102100,\n applicant: [],\n applicantAgent: [],\n implementingAgent: [],\n engineer: [],\n contractor: [],\n eLodgementComplete: false,\n eLodgementStep: 0\n };\n return application;\n }\n buildLocationStep(stepIndex, existingApplication, missingLookupsForZones) {\n let application;\n const centroid = this.form.get(\"locationForm\").get(\"centroid\").value;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.shape = WktConverterUtils.ConvertArcGISJsonToWkt(centroid);\n }\n else\n application = {\n id: 0,\n moduleId: Number(this.appController.selectedModuleID),\n deleted: false,\n eLodgementStep: stepIndex,\n eLodgementComplete: false,\n shape: WktConverterUtils.ConvertArcGISJsonToWkt(centroid),\n wkid: 102100\n };\n const polyline = this.form.get(\"locationForm\").get(\"polyline\").value;\n const polygon = this.form.get(\"locationForm\").get(\"polygon\").value;\n if (application.applicationPolygons === undefined || application.applicationPolygons === null) {\n application.applicationPolygons = [];\n }\n if (application.applicationLines === undefined || application.applicationLines === null) {\n application.applicationLines = [];\n }\n if (polygon !== null) {\n const applicationPolygon = {\n wkid: 102100, shape: WktConverterUtils.ConvertArcGISJsonToWkt(polygon)\n };\n application.applicationPolygons.push(applicationPolygon);\n }\n if (polyline !== null) {\n const applicationLine = {\n wkid: 102100, shape: WktConverterUtils.ConvertArcGISJsonToWkt(polyline)\n };\n application.applicationLines.push(applicationLine);\n }\n return application;\n }\n buildDetailsStep(stepIndex, existingApplication) {\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = false;\n application.description = this.form.get(\"detailsForm\").get(\"description\").value;\n application.clientReferenceNumber = this.form.get(\"detailsForm\").get(\"clientReferenceNumber\").value;\n application.licenceNumber = this.form.get(\"detailsForm\").get(\"applicantTelecommunicationLicenseNumber\").value;\n application.scopeOfWork = this.form.get(\"detailsForm\").get(\"scopeOfWork\").value;\n application.estimatedCost = this.form.get(\"detailsForm\").get(\"estimatedConstructionCost\").value;\n application.applicationFee = this.form.get(\"detailsForm\").get(\"applicationFee\").value;\n application.constructionPeriod = this.form.get(\"detailsForm\").get(\"constructionPeriodInWeeks\").value;\n application.proposedStartDate = this.form.get(\"detailsForm\").get(\"proposedStartDate\").value;\n application.proposedEndDate = this.form.get(\"detailsForm\").get(\"proposedEndDate\").value;\n application.laneClosureRequired = this.form.get(\"detailsForm\").get(\"laneClosureIsRequired\").value;\n application.laneClosureExtent = this.form.get(\"detailsForm\").get(\"laneClosureExtent\").value;\n application.electricalServices = this.form.get(\"detailsForm\").get(\"electricalServices\").value;\n application.actualStartDate = this.form.get(\"detailsForm\").get(\"actualStartDate\").value;\n application.actualEndDate = this.form.get(\"detailsForm\").get(\"actualEndDate\").value;\n }\n else\n application = {\n id: 0,\n referenceNumber: \"\",\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: false,\n description: this.form.get(\"detailsForm\").get(\"description\").value,\n clientReferenceNumber: this.form.get(\"detailsForm\").get(\"clientReferenceNumber\").value,\n licenceNumber: this.form.get(\"detailsForm\").get(\"applicantTelecommunicationLicenseNumber\").value,\n scopeOfWork: this.form.get(\"detailsForm\").get(\"scopeOfWork\").value,\n estimatedCost: this.form.get(\"detailsForm\").get(\"estimatedConstructionCost\").value,\n applicationFee: this.form.get(\"detailsForm\").get(\"applicationFee\").value,\n constructionPeriod: this.form.get(\"detailsForm\").get(\"constructionPeriodInWeeks\").value,\n proposedStartDate: this.form.get(\"detailsForm\").get(\"proposedStartDate\").value,\n proposedEndDate: this.form.get(\"detailsForm\").get(\"proposedEndDate\").value,\n laneClosureRequired: this.form.get(\"detailsForm\").get(\"laneClosureIsRequired\").value,\n laneClosureExtent: this.form.get(\"detailsForm\").get(\"laneClosureExtent\").value,\n electricalServices: this.form.get(\"detailsForm\").get(\"electricalServices\").value,\n actualStartDate: this.form.get(\"detailsForm\").get(\"actualStartDate\").value,\n actualEndDate: this.form.get(\"detailsForm\").get(\"actualEndDate\").value\n };\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicant = [applicant];\n application.eLodgementStep = stepIndex;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicant: [applicant],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n return application;\n }\n // TODO: Check if Applicable on WAMS\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n application.applicantAgentNa = applicantAgentIsNullValue;\n application.eLodgementStep = stepIndex;\n }\n else\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n applicantAgent: [applicantAgent],\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return application;\n }\n buildProfessionalBodiesStep(stepIndex, existingApplication) {\n const engineerIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markEngineerAsRequired\").value;\n const contractorIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markElectricalContractorAsRequired\").value;\n const implementingAgentIsRequired = this.form.get(\"professionalBodiesForm\").get(\"markImplementingAgentAsRequired\").value;\n if (contractorIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"responsibleContractorRecipient\").enable();\n if (engineerIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").enable();\n if (implementingAgentIsRequired)\n this.form.get(\"professionalBodiesForm\").get(\"implementingAgentRecipient\").enable();\n const implementingAgentFormValue = this.form.get(\"professionalBodiesForm\").get(\"implementingAgentRecipient\").value;\n const implementingAgent = RecipientUtils.removeInvalidRecipientProperties(implementingAgentFormValue);\n const engineerFormValue = this.form.get(\"professionalBodiesForm\").get(\"engineerRecipients\").value;\n const engineer = RecipientUtils.removeInvalidRecipientProperties(engineerFormValue);\n const contractorFormValue = this.form.get(\"professionalBodiesForm\").get(\"responsibleContractorRecipient\").value;\n const contractor = RecipientUtils.removeInvalidRecipientProperties(contractorFormValue);\n let application;\n application = existingApplication;\n application.implementingAgent = implementingAgentIsRequired ? [implementingAgent] : [];\n application.engineer = engineerIsRequired ? [engineer] : [];\n application.contractor = contractorIsRequired ? [contractor] : [];\n application.implementingAgentNa = !implementingAgentIsRequired;\n application.engineerNa = !engineerIsRequired;\n application.contractorNa = !contractorIsRequired;\n application.eLodgementStep = stepIndex;\n return application;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appController.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: ApplicationSearchService },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: AppControllerService },\n { type: Router },\n { type: ActivatedRoute }\n ];\n};\nWamsStrategyService = WamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\",\n }),\n AutoUnsubPortal()\n], WamsStrategyService);\nexport { WamsStrategyService };\n","var ZcamsStrategyService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { ApplicationSearchConstants } from \"src/app/view-application/shared/application-search-constants\";\nimport { AflaModuleStrategyService } from \"./afla-module-strategy.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BehaviorSubject, map } from \"rxjs\";\nimport { SaShortDatePipe } from \"../../pipes/sa-short-date/sa-short-date.pipe\";\nimport { AppControllerService } from \"src/app/app-controller.service\";\nimport { OdataQueryService } from \"../odata-query/odata-query.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SelectedApplicationService } from \"../selected-application/selected-application.service\";\nimport { ApplicationCreateService } from \"src/app/create-application/shared/application-create.service\";\nimport { Router } from \"@angular/router\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ODataAction } from \"../odata-query/odata-action.model\";\nimport { ApiApplicationSearchConstants } from \"../../constants/api-constants/api-application-search.constants\";\nimport { AlertType } from \"../../models/alert\";\nimport { AppRoutingConstants } from \"src/app/app-routing.constants\";\nimport { ViewApplicationRoutingConstants } from \"src/app/view-application/view-application-routing.constants\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { ApiLookupConstants } from \"../../constants/api-constants/api-lookup.constants\";\nimport RecipientUtils from \"../../utils/recipient-utils\";\nimport { WktConverterUtils } from \"../../utils/wkt-converter-utils\";\nimport { ApiZoningCertificateConstants } from \"../../constants/api-constants/api-zoning-certificate.constants\";\nimport { ViewApplicationDetailsZcamsComponent } from \"../../../view-application/modules/zc/view-application-details-zcams/view-application-details-zcams.component\";\nimport { ViewApplicationLocationZcamsComponent } from \"../../../view-application/modules/zc/view-application-location-zcams/view-application-location-zcams.component\";\nimport { CreateApplicationDetailsZcamsComponent } from \"../../../create-application/modules/zc/create-application-details-zcams/create-application-details-zcams.component\";\nimport { CreateApplicationLocationZcamsComponent } from \"../../../create-application/modules/zc/create-application-location-zcams/create-application-location-zcams.component\";\nimport { ApiWorkflowConstants } from \"../../constants/api-constants/api-workflow.constants\";\nimport { AutoUnsubPortal } from \"../../decorators/autounsub-portal.decorator\";\nimport { ViewApplicationNotesComponent } from \"../../../view-application/view-application-notes/view-application-notes.component\";\nimport { CreateApplicationNotesComponent } from \"../../../create-application/create-application-notes/create-application-notes.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[\"Notes\"] = \"Notes\";\n ApplicationSummaryColumnsEnum[\"ErfNumber\"] = \"Erf Number\";\n ApplicationSummaryColumnsEnum[\"ApplicationType\"] = \"Application Type\";\n ApplicationSummaryColumnsEnum[\"CreatedDate\"] = \"Start Date\";\n ApplicationSummaryColumnsEnum[\"Phase\"] = \"Application status\";\n ApplicationSummaryColumnsEnum[\"DaysLeft\"] = \"Days left\";\n ApplicationSummaryColumnsEnum[\"LastEditedBy\"] = \"Last Edited By\";\n ApplicationSummaryColumnsEnum[\"LastEditedOn\"] = \"Last Edited On\";\n})(ApplicationSummaryColumnsEnum || (ApplicationSummaryColumnsEnum = {}));\nexport const applicationSummaryColumnsLookup = new Map([\n [ApplicationSummaryColumnsEnum.ReferenceNumber, \"referenceNumber\"],\n [ApplicationSummaryColumnsEnum.Applicant, \"applicant\"],\n [ApplicationSummaryColumnsEnum.Agent, \"agent\"],\n [ApplicationSummaryColumnsEnum.CreatedDate, \"startDate\"],\n [ApplicationSummaryColumnsEnum.Phase, \"phase\"],\n [ApplicationSummaryColumnsEnum.DaysLeft, \"daysLeft\"],\n [ApplicationSummaryColumnsEnum.LastEditedBy, \"lastEditedBy\"],\n [ApplicationSummaryColumnsEnum.LastEditedOn, \"lastEditedOn\"],\n]);\nexport var CreateApplicationZcMenuHeadings;\n(function (CreateApplicationZcMenuHeadings) {\n CreateApplicationZcMenuHeadings[\"Welcome\"] = \"Welcome\";\n CreateApplicationZcMenuHeadings[\"Location\"] = \"Property Details\";\n CreateApplicationZcMenuHeadings[\"Details\"] = \"Application Details\";\n CreateApplicationZcMenuHeadings[\"Applicant\"] = \"Applicant\";\n CreateApplicationZcMenuHeadings[\"Agent\"] = \"Agent\";\n CreateApplicationZcMenuHeadings[\"Notes\"] = \"Notes\";\n CreateApplicationZcMenuHeadings[\"Documentation\"] = \"Required documentation\";\n})(CreateApplicationZcMenuHeadings || (CreateApplicationZcMenuHeadings = {}));\nexport var HeaderConfigurableTextTypes;\n(function (HeaderConfigurableTextTypes) {\n HeaderConfigurableTextTypes[\"Welcome\"] = \"Welcome help\";\n HeaderConfigurableTextTypes[\"Location\"] = \"Property help\";\n HeaderConfigurableTextTypes[\"Details\"] = \"Application help\";\n HeaderConfigurableTextTypes[\"Applicant\"] = \"Applicant help\";\n HeaderConfigurableTextTypes[\"Agent\"] = \"Agent help\";\n HeaderConfigurableTextTypes[\"Notes\"] = \"Notes help\";\n HeaderConfigurableTextTypes[\"Documentation\"] = \"Required documentation help\";\n HeaderConfigurableTextTypes[\"Communication\"] = \"Communication help\";\n HeaderConfigurableTextTypes[\"Summary\"] = \"Application summary\";\n})(HeaderConfigurableTextTypes || (HeaderConfigurableTextTypes = {}));\nexport var PageConfigurableTextTypes;\n(function (PageConfigurableTextTypes) {\n PageConfigurableTextTypes[\"Welcome\"] = \"Welcome page\";\n})(PageConfigurableTextTypes || (PageConfigurableTextTypes = {}));\nexport const CreateAppHeadingConfigurableTextType = new Map()\n .set(CreateApplicationZcMenuHeadings.Welcome, HeaderConfigurableTextTypes.Welcome)\n .set(CreateApplicationZcMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(CreateApplicationZcMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(CreateApplicationZcMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(CreateApplicationZcMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(CreateApplicationZcMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(CreateApplicationZcMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation);\nexport const CreateAppPageConfigurableTextType = new Map()\n .set(CreateApplicationZcMenuHeadings.Welcome, PageConfigurableTextTypes.Welcome);\nexport var ViewApplicationMenuHeadings;\n(function (ViewApplicationMenuHeadings) {\n ViewApplicationMenuHeadings[\"Status\"] = \"Status\";\n ViewApplicationMenuHeadings[\"Location\"] = \"Property Details\";\n ViewApplicationMenuHeadings[\"Details\"] = \"Application Details\";\n ViewApplicationMenuHeadings[\"Applicant\"] = \"Applicant\";\n ViewApplicationMenuHeadings[\"Agent\"] = \"Agent\";\n ViewApplicationMenuHeadings[\"Notes\"] = \"Notes\";\n ViewApplicationMenuHeadings[\"Documentation\"] = \"Required documentation\";\n ViewApplicationMenuHeadings[\"Communication\"] = \"Communication\";\n})(ViewApplicationMenuHeadings || (ViewApplicationMenuHeadings = {}));\nexport const ViewAppHeadingConfigurableTextType = new Map()\n .set(ViewApplicationMenuHeadings.Status, HeaderConfigurableTextTypes.Summary)\n .set(ViewApplicationMenuHeadings.Location, HeaderConfigurableTextTypes.Location)\n .set(ViewApplicationMenuHeadings.Details, HeaderConfigurableTextTypes.Details)\n .set(ViewApplicationMenuHeadings.Applicant, HeaderConfigurableTextTypes.Applicant)\n .set(ViewApplicationMenuHeadings.Agent, HeaderConfigurableTextTypes.Agent)\n .set(ViewApplicationMenuHeadings.Documentation, HeaderConfigurableTextTypes.Documentation)\n .set(ViewApplicationMenuHeadings.Notes, HeaderConfigurableTextTypes.Notes)\n .set(ViewApplicationMenuHeadings.Communication, HeaderConfigurableTextTypes.Communication);\nlet ZcamsStrategyService = class ZcamsStrategyService extends AflaModuleStrategyService {\n static { ZcamsStrategyService_1 = this; }\n saShortDatePipe;\n appControllerService;\n oDataQueryService;\n requestStatusService;\n selectedApplicationService;\n http;\n applicationCreateService;\n router;\n appController;\n name = ModuleConfig.ZoningCertificate;\n applicationEndpoint;\n defaultSearchColumns;\n viewApplicationComponentLookup;\n createApplicationComponentLookup;\n createApplicationMenuHeadings;\n viewApplicationMenuHeadings;\n form;\n applicationServiceUrl = ApiZoningCertificateConstants.URL;\n moduleUsers;\n expandListForApplicationPartial = ZCExpandListForApplicationSearch;\n lookups = new Map();\n createApplicationSteps = [];\n viewApplicationSteps = [];\n createAppHeadingConfigurableTextType = CreateAppHeadingConfigurableTextType;\n viewAppHeadingConfigurableTextType = ViewAppHeadingConfigurableTextType;\n createAppPageConfigurableTextType = CreateAppPageConfigurableTextType;\n isFormValidSubject = new BehaviorSubject(false);\n isFormValidAsObservable = this.isFormValidSubject.asObservable();\n applicationSummaryColumnsMap;\n savedApplication;\n getApplicationsSubscription;\n postApplicationSubscription;\n constructor(saShortDatePipe, appControllerService, oDataQueryService, requestStatusService, selectedApplicationService, http, applicationCreateService, router, appController) {\n super();\n this.saShortDatePipe = saShortDatePipe;\n this.appControllerService = appControllerService;\n this.oDataQueryService = oDataQueryService;\n this.requestStatusService = requestStatusService;\n this.selectedApplicationService = selectedApplicationService;\n this.http = http;\n this.applicationCreateService = applicationCreateService;\n this.router = router;\n this.appController = appController;\n this.initForm();\n this.applicationEndpoint = `${ApiZoningCertificateConstants.URL}/${ApiZoningCertificateConstants.FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS}`;\n this.createApplicationMenuHeadings = CreateApplicationZcMenuHeadings;\n this.viewApplicationMenuHeadings = ViewApplicationMenuHeadings;\n super.init();\n }\n static buildExpand(params) {\n return params.set(ODataAction.Expand, ZCExpandListForApplicationSearch);\n }\n static getRecipientName(recipient) {\n if (!recipient) {\n return \"\";\n }\n return this.getRecipientFullName(recipient.name, recipient.surname);\n }\n static getFirstRecipient(recipients) {\n if (recipients && recipients.length > 0) {\n return recipients[0];\n }\n }\n static getRecipientFullName(firstName, surname) {\n if (!firstName && !surname) {\n return \"\";\n }\n if (!firstName) {\n return surname;\n }\n return `${firstName} ${surname}`;\n }\n buildListFilter(list, column) {\n const params = ZcamsStrategyService_1.buildExpand(new HttpParams());\n return this.oDataQueryService.buildFilterFromArray(params, column, list);\n }\n getSearchUrlForModule(selectedSearchOption) {\n switch (selectedSearchOption) {\n case ApiApplicationSearchConstants.FUNCTION_GET_APPLICATIONS_BY_USER:\n return ApiApplicationSearchConstants.FUNCTION_GET_DM_APPLICATIONS_BY_USER;\n }\n }\n mapFromApplicationEntityToApplicationSearchModel(application) {\n return this.defaultSearchModel(application);\n }\n getLastEditedByUser(lastEditedUser) {\n return lastEditedUser ? `${lastEditedUser.lastName}, ${lastEditedUser.firstName}` : \"\";\n }\n initializeViewApplicationComponents() {\n this.viewApplicationComponentLookup = new Map([\n [ViewApplicationMenuHeadings.Details, ViewApplicationDetailsZcamsComponent],\n [ViewApplicationMenuHeadings.Location, ViewApplicationLocationZcamsComponent],\n [ViewApplicationMenuHeadings.Notes, ViewApplicationNotesComponent],\n ]);\n }\n initializeCreateApplicationComponents() {\n this.createApplicationComponentLookup = new Map([\n [CreateApplicationZcMenuHeadings.Details, CreateApplicationDetailsZcamsComponent],\n [CreateApplicationZcMenuHeadings.Location, CreateApplicationLocationZcamsComponent],\n [CreateApplicationZcMenuHeadings.Notes, CreateApplicationNotesComponent],\n ]);\n }\n initializeApplicationSummaryColumnsMap() {\n this.applicationSummaryColumnsMap = applicationSummaryColumnsLookup;\n }\n initialiseCreateApplicationSteps() {\n this.createApplicationSteps = [];\n for (const [key, value] of Object.entries(CreateApplicationZcMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === CreateApplicationZcMenuHeadings.Welcome ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.createApplicationSteps.push(step);\n }\n }\n initialiseViewApplicationSteps() {\n this.viewApplicationSteps = [];\n for (const [key, value] of Object.entries(ViewApplicationMenuHeadings)) {\n const step = {\n // this will be fixed - the others will be configurable\n stepId: `step_${key}`, // TODO: Can use something like this if required `${stepName} Sub-title`\n stepSubtitle: \"\",\n stepTitle: `${value[0].toUpperCase()}${value.substring(1).toLowerCase()}`,\n stepType: key === ViewApplicationMenuHeadings.Status ? \"active\" /* CalciteStepperItemType.active */ : \"disabled\" /* CalciteStepperItemType.disabled */, // TODO: Can use something like this if required `content`\n stepContent: ``,\n };\n this.viewApplicationSteps.push(step);\n }\n }\n getApplicationsQuery(params, useCompleteListForSearch) {\n return this.http.get(this.applicationEndpoint, { params });\n }\n buildApplicationSearchBaseRequest(moduleID) {\n let params = ZcamsStrategyService_1.buildExpand(new HttpParams());\n params = this.oDataQueryService.filter(params, ZcamsStrategyService_1.buildModuleIDFilter(moduleID));\n return this.getApplicationsQuery(params);\n }\n createApplication(existingApplication) {\n const application = this.buildApplication(existingApplication);\n this.postApplicationSubscription = this.postApplicationService(application).subscribe((savedApplication) => {\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, \"\"), AlertType.Success);\n this.resetForm();\n this.router.navigate([AppRoutingConstants.createRouteToView(this.appControllerService.selectedModuleID + \"\", ViewApplicationRoutingConstants.VIEW_APPLICATION_ROUTE, savedApplication.jobId + \"\")]);\n }, (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Add);\n });\n }\n postApplicationService(params) {\n return this.http.post(ApiZoningCertificateConstants.URL, params);\n }\n withdrawApplication(params) {\n return this.http.post(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_WITHDRAW_APPLICATION, params);\n }\n getWorkflowClosedStates() {\n return this.http.get(ApiWorkflowConstants.URL + \"/\" + ApiWorkflowConstants.FUNCTION_GET_WORKFLOW_CLOSED_STATES);\n }\n defaultSearchModel(application) {\n return {\n id: application.id,\n appId: application.appId,\n jobId: application.jobId,\n referenceNumber: application.referenceNumber,\n applicant: ZcamsStrategyService_1.getRecipientName(ZcamsStrategyService_1.getFirstRecipient(application.applicant)),\n agent: ZcamsStrategyService_1.getRecipientName(ZcamsStrategyService_1.getFirstRecipient(application.applicantAgent)),\n startDate: this.saShortDatePipe.transform(application.createdDate), // TODO: we have relabelled all instances of \"Phase\" to \"Application status\"\n // - do we need to do the same for the property name \"phase\" => \"applicationStatus\" for consistency?\n // - don't forget to apply to all module services!!\n phase: application.status?.workflowSection,\n daysLeft: application.status?.daysUntilExpired,\n lastEditedBy: this.getLastEditedByUser(application.lastEditedUser),\n lastEditedOn: application.lastEditedDate !== null ? this.saShortDatePipe.transform(application.lastEditedDate) : \"\",\n moduleId: application.moduleId\n };\n }\n resetForm() {\n this.form.reset();\n this.form.get(\"propertiesForm\").get(\"properties\").clear();\n }\n createPartialApplicationObservable(applicationId, applicationRequestDto) {\n return this.http.post(`${ApiZoningCertificateConstants.URL}/${applicationId}/${ApiZoningCertificateConstants.FUNCTION_CREATE_PARTIAL_APPLICATION}`, applicationRequestDto)\n .pipe(map((response) => {\n return response;\n }));\n }\n setApplicationNotes(stepIndex, existingApplication) {\n const noteId = this.form.get(\"notesForm\").get(\"id\").value ? this.form.get(\"notesForm\").get(\"id\").value : 0;\n const noteValue = this.form.get(\"notesForm\").get(\"note\").value;\n let note;\n if (noteValue !== null && noteValue !== \"\") {\n note = [{ id: noteId, note: noteValue }];\n }\n let application;\n if (existingApplication) {\n application = existingApplication;\n application.notes = note;\n application.eLodgementStep = stepIndex;\n }\n else {\n application = {\n id: 0,\n deleted: false,\n moduleId: Number(this.appController.selectedModuleID),\n notes: note,\n eLodgementComplete: false,\n eLodgementStep: stepIndex\n };\n }\n return application;\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.Notes.toLocaleLowerCase():\n application = this.setApplicationNotes(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,notes\"\n };\n this.getApplicationsSubscription = this.getApplicationsQuery(params).subscribe({\n next: (response) => {\n this.savedApplication = response.value[0];\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }, complete: () => {\n if (this.savedApplication && continueAfterSave) {\n this.selectedApplicationService.setIncompleteJobId(this.savedApplication.jobId);\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n else {\n // NB: THIS WILL FIX ISSU WITH THE SAVE BUTTON JUMPING TO THE NEXT STEP, NOT SO ELEGANT I KNOW... FILL FREE TO REMOVE IT IT YOU HAVE BETTER IDEA.\n this.savedApplication.eLodgementStep = applicationRequestDto.zcApplication.eLodgementStep;\n // NB: DO NOT REMOVE THIS LINE UNLESS YOU HAVE A GOOD REASON! OTHERWISE, IT'S GOING TO CAUSE DUPLICATES!!!!\n this.selectedApplicationService.setSelectedApplication(this.savedApplication);\n this.appControllerService.showMessage(ZcamsStrategyService_1.successMessage(savedApplication.referenceNumber, step.stepTitle), AlertType.Success);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n this.requestStatusService.removeBusySpinner(\"TrueCentroid\");\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"application\", error, CRUDOperation.Saving);\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n },\n });\n }\n else {\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Error);\n if (this.savedApplication && continueAfterSave) {\n this.setIsFormValidSubject(false);\n }\n this.requestStatusService.removeBusySpinner(\"continueToNextStep\");\n }\n }\n getCurrentFormName(step) {\n if (step == null)\n return \"\";\n let formName = \"\";\n switch (step.stepTitle.toLocaleLowerCase()) {\n case CreateApplicationZcMenuHeadings.Details.toLocaleLowerCase():\n formName = \"detailsForm\";\n break;\n case CreateApplicationZcMenuHeadings.Location.toLocaleLowerCase():\n formName = \"propertiesForm\";\n break;\n case CreateApplicationZcMenuHeadings.Applicant.toLocaleLowerCase():\n formName = \"applicantForm\";\n break;\n case CreateApplicationZcMenuHeadings.Agent.toLocaleLowerCase():\n formName = \"applicantAgentForm\";\n break;\n case CreateApplicationZcMenuHeadings.Notes.toLocaleLowerCase():\n formName = \"notesForm\";\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.Notes.toLocaleLowerCase():\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 notesForm: new FormGroup({\n id: new FormControl(0),\n note: 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 // this should cover the copied applicant\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n if (applicantFormValue) {\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n application.applicant = [applicant];\n }\n const points = [];\n const propertiesArray = this.form\n .get(\"propertiesForm\")\n .get(\"properties\");\n console.log(\"propertiesArray\", propertiesArray);\n propertiesArray.controls.forEach((item) => {\n const centroid = item.get(\"centroid\").value;\n points.push(`(${centroid.x} ${centroid.y})`);\n const geometry = item.get(\"geometry\").value;\n const geometryJSON = WktConverterUtils.ConvertArcGISJsonToWkt(geometry);\n let owners = item.get(\"owners\").value ? item.get(\"owners\").value : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n const property = {\n id: item.get(\"id\").value,\n applicationId: item.get(\"applicationId\").value,\n address: item.get(\"address\").value,\n allotment: item.get(\"allotment\").value,\n erfNumber: item.get(\"erfNo\").value,\n farmNumber: item.get(\"farmNo\").value,\n isDummy: false,\n sgCode: item.get(\"sgCode\").value,\n shape: geometryJSON,\n subdivision: item.get(\"subdivision\").value,\n updateGeometry: false,\n wkid: 102100,\n owners\n };\n const propertyZonesArray = item.get(\"zones\");\n application.properties.push(property);\n });\n const shape = `MULTIPOINT (${points.join(\", \")})`;\n application.shape = shape;\n return application;\n }\n buildApplicantStep(stepIndex, existingApplication) {\n this.form.get(\"applicantForm\").get(\"applicantRecipient\").enable();\n const applicantFormValue = this.form.get(\"applicantForm\").get(\"applicantRecipient\").value;\n const applicant = RecipientUtils.removeInvalidRecipientProperties(applicantFormValue);\n if (!applicant.id)\n applicant.id = 0;\n if (!existingApplication) {\n existingApplication = {\n id: 0, deleted: false, moduleId: Number(this.appControllerService.selectedModuleID), eLodgementComplete: false,\n };\n }\n existingApplication.eLodgementStep = stepIndex;\n existingApplication.applicant = [applicant];\n return existingApplication;\n }\n buildApplicantAgentStep(stepIndex, existingApplication) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").enable();\n const applicantAgentIsNullValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentIsNull\").value;\n const applicantAgentFormValue = this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").value;\n const applicantAgent = RecipientUtils.removeInvalidRecipientProperties(applicantAgentFormValue);\n if (existingApplication) {\n existingApplication.applicantAgent = applicantAgentIsNullValue ? [] : [applicantAgent];\n existingApplication.applicantAgentNa = applicantAgentIsNullValue;\n existingApplication.eLodgementStep = stepIndex;\n }\n if (applicantAgentIsNullValue) {\n this.form.get(\"applicantAgentForm\").get(\"applicantAgentRecipient\").disable();\n }\n return existingApplication;\n }\n buildDocumentationStep(stepIndex, existingApplication) {\n let application;\n const attachments = this.form.get(\"documentForm\").get(\"documents\").value;\n if (existingApplication) {\n application = existingApplication;\n application.attachments = attachments;\n application.eLodgementStep = stepIndex;\n application.eLodgementComplete = true;\n }\n else\n application = {\n id: 0,\n attachments,\n moduleId: Number(this.appControllerService.selectedModuleID),\n eLodgementStep: stepIndex,\n deleted: false,\n eLodgementComplete: true\n };\n return application;\n }\n static ctorParameters = () => [\n { type: SaShortDatePipe },\n { type: AppControllerService },\n { type: OdataQueryService },\n { type: RequestStatusService },\n { type: SelectedApplicationService },\n { type: HttpClient },\n { type: ApplicationCreateService },\n { type: Router },\n { type: AppControllerService }\n ];\n};\nZcamsStrategyService = ZcamsStrategyService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ZcamsStrategyService);\nexport { ZcamsStrategyService };\n","import { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocalStorageService } from \"../storage/local-storage.service\";\nimport { OAuthService } from \"angular-oauth2-oidc\";\nimport { JwksValidationHandler } from \"angular-oauth2-oidc-jwks\";\nimport { AppConfig } from \"../../../app.config\";\nimport { SessionStorageService } from \"../storage/session-storage.service\";\nimport { SessionStorageEnum } from \"../storage/session-storage-constants\";\nlet AuthService = class AuthService {\n http;\n localStorage;\n sessionStorageService;\n oauthService;\n appConfig;\n $isNotAuthenticated;\n authenticationTokenSubject = new BehaviorSubject(\"\");\n $authenticationToken = this.authenticationTokenSubject.asObservable();\n isAuthenticatedSubject = new BehaviorSubject(false);\n $isAuthenticated = this.isAuthenticatedSubject.asObservable();\n constructor(http, localStorage, sessionStorageService, oauthService, appConfig) {\n this.http = http;\n this.localStorage = localStorage;\n this.sessionStorageService = sessionStorageService;\n this.oauthService = oauthService;\n this.appConfig = appConfig;\n this.setupListeners();\n this.listenForSecurityTokenServiceEvents();\n }\n configureAuth() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n this.oauthService.loadDiscoveryDocument();\n }\n authenticate() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n this.oauthService.loadDiscoveryDocument();\n if (this.checkIfLoggedIn()) {\n this.oauthService.setupAutomaticSilentRefresh();\n return Promise.resolve(true);\n }\n this.oauthService.setupAutomaticSilentRefresh();\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n const call = this.oauthService.loadDiscoveryDocumentAndLogin();\n call.then(() => {\n this.handleLoginAttempt();\n });\n return call;\n }\n unAuthenticate() {\n this.oauthService.revokeTokenAndLogout();\n this.oauthService.logOut();\n this.publishTokenValidityChange(false);\n }\n logOutRedirect() {\n //this.oauthService.logOut();\n const url = `${AppConfig.settings.ids.issuer}/Account/LogoutClient?returnUrl=${AppConfig.settings.ids.redirectUri}`;\n window.open(url, \"_self\");\n //this.publishTokenValidityChange(false);\n }\n unAuthenticateFrontChannel() {\n const authConfig = AppConfig.settings.ids;\n authConfig.useSilentRefresh = true;\n this.oauthService.configure(authConfig);\n const call = this.oauthService.loadDiscoveryDocument();\n call.then(() => {\n this.oauthService.revokeTokenAndLogout();\n this.publishTokenValidityChange(false);\n });\n }\n checkIfLoggedIn() {\n if (this.oauthService.hasValidAccessToken()) {\n this.handleTokenValid();\n return true;\n }\n return false;\n }\n localLogout() {\n this.oauthService.logOut(true);\n this.publishTokenValidityChange(false);\n }\n setupListeners() {\n this.$isNotAuthenticated = this.$isAuthenticated.pipe(map((isAuthenticated) => !isAuthenticated));\n }\n handleLoginAttempt() {\n const isTokenValid = this.oauthService.hasValidIdToken();\n if (isTokenValid) {\n this.handleTokenValid();\n }\n else {\n throw new Error(\"Unable to authenticate\");\n }\n }\n publishTokenValidityChange(value) {\n this.isAuthenticatedSubject.next(value);\n }\n publishToken(accessToken) {\n this.authenticationTokenSubject.next(accessToken);\n }\n handleTokenValid() {\n this.sessionStorageService.set(SessionStorageEnum.IsUserAuthenticated, \"true\");\n this.localStorage.set(SessionStorageEnum.IsUserAuthenticated, \"true\");\n this.publishToken(this.oauthService.getAccessToken());\n this.publishTokenValidityChange(true);\n }\n listenForSecurityTokenServiceEvents() {\n this.oauthService.events.subscribe((event) => {\n if (!isDevMode()) {\n console.log(event);\n }\n });\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: LocalStorageService },\n { type: SessionStorageService },\n { type: OAuthService },\n { type: AppConfig }\n ];\n};\nAuthService = __decorate([\n Injectable()\n], AuthService);\nexport { AuthService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { of } from \"rxjs\";\nlet BackgroundPreloadService = class BackgroundPreloadService {\n constructor() {\n }\n preload(route, load) {\n if (route.data && route.data.preload) {\n return load();\n }\n else {\n return of(null);\n }\n }\n static ctorParameters = () => [];\n};\nBackgroundPreloadService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], BackgroundPreloadService);\nexport { BackgroundPreloadService };\n","var LoginService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { LoginComponent } from \"../../../core/login/login.component\";\nimport { Router } from \"@angular/router\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { Subject } from \"rxjs\";\nimport { LocalStorageService } from \"../storage/local-storage.service\";\nimport { LocalStorageEnum } from \"../storage/local-storage-constants\";\nlet LoginService = class LoginService {\n static { LoginService_1 = this; }\n dialog;\n router;\n authService;\n localStorage;\n loginDialogues = new Array();\n ngUnsubscribe = new Subject();\n constructor(dialog, router, authService, localStorage) {\n this.dialog = dialog;\n this.router = router;\n this.authService = authService;\n this.localStorage = localStorage;\n }\n static getLoginDialogConfig() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n return dialogConfig;\n }\n openLoginDialog(returnURL, loginSuccessEvent) {\n if (this.loginDialogues.length > 0) {\n return;\n }\n this.localStorage.remove(LocalStorageEnum.Login);\n const dialogRef = this.dialog.open(LoginComponent, LoginService_1.getLoginDialogConfig());\n this.loginDialogues.push(dialogRef);\n this.handleDialogClosed(dialogRef, returnURL, loginSuccessEvent);\n return dialogRef;\n }\n closeAllDialogues() {\n if (this.loginDialogues.length > 0) {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = new Subject();\n this.loginDialogues.forEach(item => item.close());\n this.loginDialogues = new Array();\n }\n }\n logOut() {\n this.authService.unAuthenticate();\n this.openLoginDialog();\n }\n handleDialogClosed(dialogRef, returnURL, loginSuccessEvent) {\n dialogRef.afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(data => {\n if (data) {\n this.closeAllDialogues();\n this.checkReturnURL(returnURL);\n if (loginSuccessEvent) {\n loginSuccessEvent();\n }\n }\n });\n }\n checkReturnURL(returnURL) {\n if (returnURL) {\n this.navigateReturnURL(returnURL);\n }\n }\n navigateReturnURL(returnURL) {\n this.router.navigateByUrl(returnURL);\n }\n static ctorParameters = () => [\n { type: MatDialog },\n { type: Router },\n { type: AuthService },\n { type: LocalStorageService }\n ];\n};\nLoginService = LoginService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LoginService);\nexport { LoginService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { ModuleConfig } from \"../../models/module-config.model\";\nlet ModuleConfigService = class ModuleConfigService {\n appControllerService;\n _moduleConfigNameLookup;\n constructor(appControllerService) {\n this.appControllerService = appControllerService;\n this._moduleConfigNameLookup = new Map();\n }\n addModuleConfigName(moduleID, configName) {\n this._moduleConfigNameLookup.set(moduleID, configName);\n }\n removeModuleConfigName(moduleID) {\n return this._moduleConfigNameLookup.delete(moduleID);\n }\n getModuleConfigName(moduleID) {\n if (!moduleID) {\n throw new Error(\"Module ID not defined\");\n }\n if (this._moduleConfigNameLookup.size <= 0) {\n throw new Error(\"Module config lookup empty\");\n }\n return this._moduleConfigNameLookup.get(moduleID);\n }\n getCurrentlySelectedModuleConfigName() {\n if (!this.appControllerService.selectedModuleID) {\n throw new Error(\"Currently selected module ID not defined\");\n }\n return this.getModuleConfigName(+this.appControllerService.selectedModuleID);\n }\n checkModuleName(name) {\n const currentSelectedModuleConfigName = this.getCurrentlySelectedModuleConfigName();\n if (currentSelectedModuleConfigName === name) {\n return true;\n }\n else {\n return false;\n }\n }\n isPropertyValuationModule() {\n return this.checkModuleName(ModuleConfig.PropertyValuation);\n }\n isTownPlanningModule() {\n return this.checkModuleName(ModuleConfig.TownPlanning);\n }\n isGautrainModule() {\n return this.checkModuleName(ModuleConfig.Gautrain);\n }\n isBuildingPlanModule() {\n return this.checkModuleName(ModuleConfig.BuildingPlans);\n }\n isCemeteryModule() {\n return this.checkModuleName(ModuleConfig.Cemetery);\n }\n isWayleaveModule() {\n return this.checkModuleName(ModuleConfig.Wayleaves);\n }\n isPropertyAndLeaseModule() {\n return this.checkModuleName(ModuleConfig.PropertyAndLease);\n }\n isTrainingModule() {\n return this.checkModuleName(ModuleConfig.TrainingModule);\n }\n isInformalTradeModule() {\n return this.checkModuleName(ModuleConfig.InformalTrade);\n }\n isStreetNamingModule() {\n return this.checkModuleName(ModuleConfig.StreetNaming);\n }\n isAdvertisingModule() {\n return this.checkModuleName(ModuleConfig.Advertising);\n }\n isBusinessLicenceModule() {\n return this.checkModuleName(ModuleConfig.BusinessLicence);\n }\n static ctorParameters = () => [\n { type: AppControllerService }\n ];\n};\nModuleConfigService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ModuleConfigService);\nexport { ModuleConfigService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { map } from \"rxjs/operators\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ApiInformalTradeConstants } from \"../../constants/api-constants/api-informal-trade.constants\";\nlet InformalTradeService = class InformalTradeService {\n http;\n constructor(http) {\n this.http = http;\n }\n getInformalTradeApplicationObservable(params) {\n return this.http.get(ApiInformalTradeConstants.URL, { params })\n .pipe(map((response) => {\n return response.value;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nInformalTradeService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], InformalTradeService);\nexport { InformalTradeService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nimport { ApiPropertyAndLeaseConstants } from \"../../constants/api-constants/api-property-and-lease.constants\";\nlet PropertyAndLeaseService = class PropertyAndLeaseService {\n http;\n constructor(http) {\n this.http = http;\n }\n getLesseesObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_LESSEES}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getBuyersObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_BUYERS}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getSellersObservable(jobId) {\n return this.http.get(`${ApiPropertyAndLeaseConstants.URL}/${jobId}/${ApiPropertyAndLeaseConstants.FUNCTION_GET_SELLERS}?%24expand=groups`)\n .pipe(map((response) => {\n return response;\n }));\n }\n getApplicationSaveDetailsObservable(appId, params) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${appId}/${ApiPropertyAndLeaseConstants.FUNCTION_SET_DETAILS}`, params)\n .pipe(map(response => {\n return response;\n }));\n }\n getApplicationSavePropertiesObservable(appId, params) {\n return this.http.post(`${ApiPropertyAndLeaseConstants.URL}/${appId}/${ApiPropertyAndLeaseConstants.FUNCTION_SET_PROPERTIES}`, params)\n .pipe(map(response => {\n return response;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient }\n ];\n};\nPropertyAndLeaseService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], PropertyAndLeaseService);\nexport { PropertyAndLeaseService };\n","export var ODataAction;\n(function (ODataAction) {\n ODataAction[\"Filter\"] = \"$filter\";\n ODataAction[\"Expand\"] = \"$expand\";\n ODataAction[\"OrderBy\"] = \"$orderby\";\n ODataAction[\"Top\"] = \"$top\";\n ODataAction[\"Select\"] = \"$select\";\n})(ODataAction || (ODataAction = {}));\n","export var OdataOperator;\n(function (OdataOperator) {\n OdataOperator[\"Equals\"] = \"eq\";\n OdataOperator[\"Contains\"] = \"contains\";\n OdataOperator[\"And\"] = \"and\";\n OdataOperator[\"In\"] = \"in\";\n})(OdataOperator || (OdataOperator = {}));\n","var OdataQueryService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { OdataOperator } from \"./odata-operator.model\";\nimport { ODataAction } from \"./odata-action.model\";\nlet OdataQueryService = class OdataQueryService {\n static { OdataQueryService_1 = this; }\n constructor() {\n }\n static isStringCheck(maybeNumber) {\n const checkNumber = Number(maybeNumber);\n return isNaN(checkNumber);\n }\n expand(params, ...expandList) {\n return params.set(ODataAction.Expand, expandList.join(\",\"));\n }\n filter(params, ...filters) {\n params = params.append(ODataAction.Filter, filters.join(\" \" + OdataOperator.And + \" \"));\n return params;\n }\n buildOperation(firstOperand, operation, secondOperand) {\n if (operation === OdataOperator.Contains) {\n return `contains(cast(${firstOperand.toString()},'Edm.String'),'${secondOperand.trim()}')`;\n }\n if (OdataQueryService_1.isStringCheck(secondOperand)) {\n return `${firstOperand.toString()} ${operation} '${secondOperand.trim()}'`;\n }\n else {\n return `${firstOperand.toString()} ${operation} ${secondOperand}`;\n }\n }\n buildFilterWithCollectionSubQuery(group, filterList, operation) {\n let filter = \"\";\n let count = 0;\n filterList.forEach((item) => {\n if (count > 0)\n filter += ` ${operation} `;\n filter += `${group}/any(m:m/${item})`;\n count++;\n });\n return filter;\n }\n buildFilterWithSubQuery(group, filterList, operation) {\n let filter = \"\";\n let count = 0;\n filterList.forEach((item) => {\n if (count > 0)\n filter += ` ${operation} `;\n filter += `${group}/${item}`;\n count++;\n });\n return filter;\n }\n buildExpandWithFilter(group, filterList, operation) {\n let filter = group + \"($filter = \";\n if (filterList.length > 1 && operation)\n filter += filterList.join(\" \" + operation + \" \");\n else\n filter += filterList[0];\n filter += \")\";\n return filter;\n }\n buildFilterFromArray(params, column, filterList) {\n let value = `${column.trim()} ${OdataOperator.In} (`;\n let itemCount = 1;\n // tslint:disable-next-line:forin\n for (const filterListKey in filterList) {\n value += (OdataQueryService_1.isStringCheck(filterList[filterListKey].toString())\n ? `'${filterList[filterListKey].toString().trim()}'`\n : `${filterList[filterListKey].toString().trim()}`)\n + (itemCount < filterList.length ? \",\" : \")\");\n itemCount++;\n }\n params = params.append(ODataAction.Filter, value);\n return params;\n }\n static ctorParameters = () => [];\n};\nOdataQueryService = OdataQueryService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], OdataQueryService);\nexport { OdataQueryService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NavigationStart, Router } from \"@angular/router\";\nlet RequestStatusService = class RequestStatusService {\n router;\n busyRequests;\n countBusyRequests = 0;\n requestBusySubject = new BehaviorSubject(false);\n $requestBusy = this.requestBusySubject.asObservable();\n constructor(router) {\n this.router = router;\n this.busyRequests = new Set();\n this.clearRequestsOnRouteChange();\n }\n clearBusyRequestCounter() {\n this.countBusyRequests = 0;\n }\n showBusySpinner(key) {\n this.countBusyRequests++;\n // console.log(\"show \",key, this.countBusyRequests);\n if (!this.busyRequests.has(key)) {\n this.busyRequests.add(key);\n }\n this.updateSomeRequestBusy();\n }\n removeBusySpinner(key) {\n this.countBusyRequests--;\n // console.log(\"remove \",key, this.countBusyRequests);\n this.busyRequests.delete(key);\n this.updateSomeRequestBusy();\n }\n updateSomeRequestBusy() {\n this.requestBusySubject.next(this.countBusyRequests > 0);\n }\n clearRequestsOnRouteChange() {\n this.router.events.subscribe(change => {\n if (change instanceof NavigationStart) {\n if (this.router.url !== change.url) {\n this.busyRequests = new Set();\n }\n }\n });\n }\n printBusyIndicators() {\n this.busyRequests.forEach(key => {\n console.log(key);\n });\n }\n static ctorParameters = () => [\n { type: Router }\n ];\n};\nRequestStatusService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RequestStatusService);\nexport { RequestStatusService };\n","var RouterParamsService_1;\nimport { __decorate } from \"tslib\";\nimport { NavigationEnd, Router } from \"@angular/router\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\nimport { filter } from \"rxjs/operators\";\nlet RouterParamsService = class RouterParamsService {\n static { RouterParamsService_1 = this; }\n router;\n paramsSnapshot;\n params;\n _paramsSubject;\n url = null;\n constructor(router) {\n this.router = router;\n this.initializeParamData();\n this.handleNavigationEnd();\n this.listenForRouterEvents();\n }\n static checkIfUrlChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n static checkParamsAreDifferent(currentParams, nextParams) {\n const currentKeys = Object.keys(currentParams);\n const nextKeys = Object.keys(nextParams);\n if (currentKeys.length !== nextKeys.length) {\n return true;\n }\n for (let i = 0, length = currentKeys.length; i < length; i++) {\n const key = currentKeys[i];\n if (currentParams[key] !== nextParams[key]) {\n return true;\n }\n }\n return false;\n }\n getParams(root) {\n const params = {};\n (function mergeParamsFromSnapshot(snapshot) {\n Object.assign(params, snapshot.params);\n snapshot.children.forEach(mergeParamsFromSnapshot);\n })(root);\n return (params);\n }\n listenForRouterEvents() {\n this.router.events\n .pipe(filter((event) => {\n return (event instanceof NavigationEnd);\n }))\n .subscribe((event) => {\n if (!event.url.endsWith(\"/refresh\") && RouterParamsService_1.checkIfUrlChanged(event.url, this.url)) {\n this.url = event.url;\n this.handleNavigationEnd();\n }\n });\n }\n handleNavigationEnd() {\n const snapshot = this.router.routerState.snapshot.root;\n const nextParams = this.getParams(snapshot);\n if (RouterParamsService_1.checkParamsAreDifferent(this.paramsSnapshot, nextParams)) {\n this._paramsSubject.next(this.paramsSnapshot = nextParams);\n }\n }\n initializeParamData() {\n this.paramsSnapshot = {};\n this._paramsSubject = new BehaviorSubject(this.paramsSnapshot);\n this.params = this._paramsSubject.asObservable();\n }\n static ctorParameters = () => [\n { type: Router }\n ];\n};\nRouterParamsService = RouterParamsService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], RouterParamsService);\nexport { RouterParamsService };\n","var SelectedApplicationService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { SessionStorageService } from \"../storage/session-storage.service\";\nimport { SessionStorageEnum } from \"../storage/session-storage-constants\";\nimport { AflaModuleStrategyService } from \"../afla-module-strategy/afla-module-strategy.service\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nlet SelectedApplicationService = class SelectedApplicationService {\n static { SelectedApplicationService_1 = this; }\n sessionStorageService;\n http;\n $applicationSavedSubject = new BehaviorSubject(false);\n childRefreshedSubject = new BehaviorSubject({ applicationRefreshed: false, refreshUrl: \"\" });\n clearDeceasedNamesTableSubject$ = new BehaviorSubject(false);\n selectedApplicationSubject = new BehaviorSubject(null);\n $selectedApplication = this.selectedApplicationSubject.asObservable();\n incompleteJobId = new BehaviorSubject(0);\n $incompleteJobId = this.incompleteJobId.asObservable();\n startNewApplication = new BehaviorSubject(false);\n $startNewApplication = this.startNewApplication.asObservable();\n 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);\nexport { SelectedApplicationService };\n","var ServerNotificationService_1;\nimport { __decorate } from \"tslib\";\nimport { EventEmitter, Injectable, isDevMode } from \"@angular/core\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { AppConfig } from \"../../../app.config\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { UrlConstants } from \"../../constants/url.constants\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nimport { HubConnectionBuilder, LogLevel } from \"@microsoft/signalr\";\nlet ServerNotificationService = class ServerNotificationService {\n static { ServerNotificationService_1 = this; }\n authService;\n messageReceived = new EventEmitter();\n connectionEstablished = new EventEmitter();\n _connectionIsEstablished = false;\n _hubConnection;\n _authenticationToken;\n constructor(authService) {\n this.authService = authService;\n // TODO: implement signal R\n // this.listenForAuthenticationTokenChanges();\n }\n static buildHubUrl() {\n return AppConfig.settings.api.server + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.SIGNAL_R_HUB_SUFFIX;\n }\n static getLogLevel() {\n if (!isDevMode()) {\n return LogLevel.Debug;\n }\n else {\n return LogLevel.None;\n }\n }\n sendMessage(message) {\n this._hubConnection.invoke(SharedConstants.SEND_SERVER_MESSAGE_ACTION, message);\n }\n async setupConnection(authToken) {\n this.createConnection(authToken);\n this.registerServerEvents();\n await this.startConnection();\n }\n async listenForAuthenticationTokenChanges() {\n this.authService.$authenticationToken.subscribe(async (tokenChange) => {\n if (tokenChange && tokenChange !== \"\") {\n this._authenticationToken = tokenChange;\n // Need to recreate connection with new token, so close old connection first and then start new one\n await this.closeCurrentConnection();\n await this.setupConnection(this._authenticationToken);\n }\n });\n }\n createConnection(authToken) {\n this._hubConnection = new HubConnectionBuilder()\n .withUrl(ServerNotificationService_1.buildHubUrl(), {\n accessTokenFactory() {\n return authToken;\n },\n logger: ServerNotificationService_1.getLogLevel()\n })\n // .withAutomaticReconnect()\n .build();\n }\n async startConnection() {\n try {\n await this._hubConnection.start();\n this.handleConnectionEstablished();\n }\n catch (error) {\n if (!isDevMode()) {\n throw new Error(SharedConstants.SERVER_HUB_CONNECTION_ERROR_MESSAGE + error.toLocaleString());\n }\n }\n }\n registerServerEvents() {\n this._hubConnection.on(SharedConstants.SERVER_MESSAGE_LISTENER_EVENT, (data) => {\n this.messageReceived.emit(data);\n });\n }\n handleConnectionEstablished() {\n this._connectionIsEstablished = true;\n this.connectionEstablished.emit(true);\n }\n closeCurrentConnection() {\n if (this.isConnectionActive()) {\n return this._hubConnection.stop();\n }\n }\n isConnectionActive() {\n return !!this._hubConnection;\n }\n static ctorParameters = () => [\n { type: AuthService }\n ];\n};\nServerNotificationService = ServerNotificationService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ServerNotificationService);\nexport { ServerNotificationService };\n","var ServerInterceptor_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable, isDevMode } from \"@angular/core\";\nimport { HttpErrorResponse, HttpResponse } from \"@angular/common/http\";\nimport { throwError } from \"rxjs\";\nimport { AppConfig } from \"../../../app.config\";\nimport { catchError, tap } from \"rxjs/operators\";\nimport { AppRoutingConstants } from \"../../../app-routing.constants\";\nimport { HttpStatusCodeEnum } from \"../../models/http-status-code-enum.model\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { RequestStatusService } from \"../request-status/request-status.service\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nconst CONTENT_TYPE = \"application/json\";\nlet ServerInterceptor = class ServerInterceptor {\n static { ServerInterceptor_1 = this; }\n appControllerService;\n authService;\n requestStatusService;\n authenticationToken;\n constructor(appControllerService, authService, requestStatusService) {\n this.appControllerService = appControllerService;\n this.authService = authService;\n this.requestStatusService = requestStatusService;\n this.listenForAuthenticationTokenChanges();\n }\n static checkForUnAuthenticated(httpResponse) {\n return httpResponse.status === +HttpStatusCodeEnum.UnAuthorized;\n }\n static configureUrl(request) {\n const apiUrl = AppConfig.settings.api.server + \"/api\";\n return request.url.replace(AppRoutingConstants.API_PREFIX, apiUrl);\n }\n static isRequestValidForProgressUpdate(request) {\n const headers = request.headers;\n const showProgressHeader = headers.get(\"Progress\");\n if (headers.get(\"Progress\")) {\n if (showProgressHeader === \"false\") {\n return false;\n }\n }\n return true;\n }\n intercept(req, next) {\n if (!req.url.startsWith(AppRoutingConstants.API_PREFIX)) {\n return this.handleNonApiRequest(req, next);\n }\n else {\n return this.handleApiRequest(req, next);\n }\n }\n handleUnAuthenticated() {\n this.authService.authenticate();\n }\n listenForAuthenticationTokenChanges() {\n this.authService.$authenticationToken.subscribe((tokenChange) => {\n this.authenticationToken = tokenChange;\n });\n }\n handleNonApiRequest(request, next) {\n this.showBusySpinnerForRequest(request);\n return this.executePipelineActions(request, next, request);\n }\n handleApiRequest(request, next) {\n let url = ServerInterceptor_1.configureUrl(request);\n url = this.checkIfBusyIndicatorMustShow(url);\n this.showBusySpinnerForRequest(request, url);\n const serverRequest = this.setHeaders(request, url);\n return this.executePipelineActions(serverRequest, next, request);\n }\n checkIfBusyIndicatorMustShow(url) {\n return url.replace(SharedConstants.NOT_BUSY_INDICATOR, \"\");\n }\n executePipelineActions(request, next, oldRequest) {\n return next.handle(request).pipe(tap(evt => {\n if (evt instanceof HttpResponse) {\n this.handleResponse(evt, request, oldRequest);\n }\n }), catchError((err) => {\n return this.handleHttpError(err, request, oldRequest);\n }));\n }\n handleResponse(evt, request, oldRequest) {\n this.removeBusySpinnerForRequest(request, oldRequest);\n if (!isDevMode()) {\n this.showResponseContent(evt);\n }\n }\n showResponseContent(evt) {\n if (evt.body) {\n this.appControllerService.showConsoleMessage(evt.body);\n }\n else {\n this.appControllerService.showConsoleMessage(JSON.stringify(evt));\n }\n }\n setHeaders(request, url) {\n if (request.body instanceof FormData) {\n return request.clone({\n setHeaders: {\n Authorization: \"Bearer \" + this.authenticationToken\n },\n url,\n withCredentials: true\n });\n }\n else {\n return request.clone({\n setHeaders: {\n Accept: CONTENT_TYPE,\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n Authorization: \"Bearer \" + this.authenticationToken\n },\n url,\n body: JSON.stringify(request.body),\n withCredentials: true\n });\n }\n }\n handleHttpError(err, request, oldRequest) {\n this.removeBusySpinnerForRequest(request, oldRequest);\n if (err instanceof HttpErrorResponse) {\n if (ServerInterceptor_1.checkForUnAuthenticated(err)) {\n this.handleUnAuthenticated();\n }\n if (!isDevMode()) {\n this.appControllerService.showConsoleMessage(JSON.stringify(err));\n }\n }\n return throwError(err);\n }\n showBusySpinnerForRequest(request, url = null) {\n if (request.url.includes(SharedConstants.NOT_BUSY_INDICATOR) || url && url.includes(SharedConstants.NOT_BUSY_INDICATOR))\n return;\n if (ServerInterceptor_1.isRequestValidForProgressUpdate(request)) {\n if (url == null) {\n this.requestStatusService.showBusySpinner(request.url);\n }\n else {\n this.requestStatusService.showBusySpinner(url);\n }\n }\n }\n removeBusySpinnerForRequest(request, oldRequest) {\n if (oldRequest.url.includes(SharedConstants.NOT_BUSY_INDICATOR)) {\n return;\n }\n this.requestStatusService.removeBusySpinner(request.url);\n }\n static ctorParameters = () => [\n { type: AppControllerService },\n { type: AuthService },\n { type: RequestStatusService }\n ];\n};\nServerInterceptor = ServerInterceptor_1 = __decorate([\n Injectable()\n], ServerInterceptor);\nexport { ServerInterceptor };\n","export var LocalStorageEnum;\n(function (LocalStorageEnum) {\n LocalStorageEnum[\"Login\"] = \"Login\";\n LocalStorageEnum[\"Url\"] = \"Url\";\n LocalStorageEnum[\"SelectedJobID\"] = \"selectedJobID\";\n LocalStorageEnum[\"SelectedModuleID\"] = \"selectedModuleID\";\n LocalStorageEnum[\"IsLoggedIn\"] = \"IsLoggedIn\";\n})(LocalStorageEnum || (LocalStorageEnum = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { StorageBase } from \"./storage-base\";\nlet LocalStorageService = class LocalStorageService extends StorageBase {\n constructor() {\n super(window.localStorage);\n }\n static ctorParameters = () => [];\n};\nLocalStorageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], LocalStorageService);\nexport { LocalStorageService };\n","export var SessionStorageEnum;\n(function (SessionStorageEnum) {\n SessionStorageEnum[\"SelectedModuleID\"] = \"selectedModuleID\";\n SessionStorageEnum[\"SelectedJobID\"] = \"selectedJobID\";\n SessionStorageEnum[\"IsUserAuthenticated\"] = \"isUserAuthenticated\";\n SessionStorageEnum[\"Nonce\"] = \"nonce\";\n})(SessionStorageEnum || (SessionStorageEnum = {}));\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { StorageBase } from \"./storage-base\";\nlet SessionStorageService = class SessionStorageService extends StorageBase {\n constructor() {\n super(window.sessionStorage);\n }\n static ctorParameters = () => [];\n};\nSessionStorageService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SessionStorageService);\nexport { SessionStorageService };\n","const STORAGE_ERROR = \"Storage is not available\";\nexport class StorageBase {\n storage;\n constructor(storageType) {\n if (storageType) {\n this.storage = storageType;\n }\n else {\n throw new Error(STORAGE_ERROR);\n }\n }\n get(key) {\n return this.storage.getItem(key);\n }\n getStorage() {\n return this.storage;\n }\n remove(key) {\n this.storage.removeItem(key);\n }\n removeAll() {\n this.storage.clear();\n }\n set(key, value) {\n if (determineIfString(value)) {\n this.storage.setItem(key, value);\n }\n else {\n const serialized = JSON.stringify(value);\n this.storage.setItem(key, serialized);\n }\n }\n}\nfunction determineIfString(toBeDetermined) {\n if ((toBeDetermined instanceof String)) {\n return true;\n }\n return false;\n}\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { ModuleConfigService } from \"./module-config/module-config.service\";\nimport { map } from \"rxjs/operators\";\nimport { AuthService } from \"./auth/auth.service\";\nimport { ApiModuleSettingConstants } from \"../constants/api-constants/api-module-setting.constants\";\nlet SystemModuleSettingsService = class SystemModuleSettingsService {\n httpClient;\n moduleConfigService;\n authService;\n $systemModuleSettingsFetched;\n systemModuleSettingsSubject = new BehaviorSubject(null);\n $systemModuleSettings;\n _configName = \"ViewerConfigFile\";\n $isAuthenticated;\n constructor(httpClient, moduleConfigService, authService) {\n this.httpClient = httpClient;\n this.moduleConfigService = moduleConfigService;\n this.authService = authService;\n this.$systemModuleSettings = this.systemModuleSettingsSubject.asObservable();\n this.$isAuthenticated = this.authService.$isAuthenticated;\n this.setupSystemModuleSettingsFetched();\n this.listenForAuthenticationChanges();\n }\n getSystemModuleSettingsRequest() {\n const params = {\n $filter: `Key eq '${this._configName}'`\n };\n return this.httpClient\n .get(`${ApiModuleSettingConstants.URL}/${ApiModuleSettingConstants.FUNCTION_GET_AFLA_PORTAL_SETTINGS}`)\n .pipe(map((moduleSettings) => {\n this.setModuleConfigs(moduleSettings.value);\n this.systemModuleSettingsSubject.next(moduleSettings.value);\n return moduleSettings.value;\n }));\n }\n getSystemModuleSettings() {\n this.getSystemModuleSettingsRequest().subscribe();\n }\n setModuleConfigs(value) {\n value.forEach((systemModuleSetting) => {\n this.moduleConfigService.addModuleConfigName(systemModuleSetting.moduleId, systemModuleSetting.value);\n });\n }\n listenForAuthenticationChanges() {\n this.$isAuthenticated.subscribe((isAuthenticated) => {\n if (isAuthenticated) {\n this.getSystemModuleSettings();\n }\n });\n }\n setupSystemModuleSettingsFetched() {\n this.$systemModuleSettingsFetched = this.$systemModuleSettings.pipe(map((systemModuleSettings) => {\n return systemModuleSettings != null;\n }));\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: ModuleConfigService },\n { type: AuthService }\n ];\n};\nSystemModuleSettingsService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], SystemModuleSettingsService);\nexport { SystemModuleSettingsService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { Router } from \"@angular/router\";\nimport { AppControllerService } from \"../../../app-controller.service\";\nimport { CRUDOperation } from \"../../models/crud-operation-enum.model\";\nimport { UrlConstants } from \"../../constants/url.constants\";\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { DisclaimerDialogBodyComponent } from \"../../../core/dashboard/disclaimer-dialog-body/disclaimer-dialog-body.component\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { map } from \"rxjs/operators\";\nimport { ApiUserConstants } from \"../../constants/api-constants/api-user.constants\";\nexport const ANONYMOUS_USER = {\n email: \"\",\n firstName: \"\",\n id: undefined,\n lastName: \"\",\n organisationApplications: [],\n organisations: [],\n userId: \"\"\n};\nlet UserInformationService = class UserInformationService {\n http;\n router;\n appControllerService;\n matDialog;\n authService;\n systemModulesLoaded$ = new BehaviorSubject(false);\n systemOrganisationsSubject = new BehaviorSubject(null);\n $systemOrganisations;\n systemModulesSubject = new BehaviorSubject([]);\n $systemModules;\n userInformationFetchedSubject = new BehaviorSubject(false);\n $userInformationFetched;\n authenticatedUserSubject = new BehaviorSubject(ANONYMOUS_USER);\n $authenticatedUser;\n $isAuthenticated;\n constructor(http, router, appControllerService, matDialog, authService) {\n this.http = http;\n this.router = router;\n this.appControllerService = appControllerService;\n this.matDialog = matDialog;\n this.authService = authService;\n this.$systemOrganisations = this.systemOrganisationsSubject.asObservable();\n this.$systemModules = this.systemModulesSubject.asObservable();\n this.$systemModules = this.systemModulesSubject.asObservable();\n this.$userInformationFetched = this.userInformationFetchedSubject.asObservable();\n this.$authenticatedUser = this.authenticatedUserSubject.asObservable();\n this.$isAuthenticated = this.authService.$isAuthenticated;\n this.setUpListeners();\n }\n get userInformationFetchedValue() {\n return this.userInformationFetchedSubject.value;\n }\n getUserInformation() {\n this.getUserInformationRequest().subscribe({\n next: (userInformation) => {\n this.handleUserInformation(userInformation);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"user information\", error, CRUDOperation.Get);\n }\n });\n }\n getModuleInformation(moduleId) {\n let foundModule;\n this.getSystemModules()?.forEach((module) => {\n if (module.id === moduleId) {\n foundModule = module;\n return;\n }\n });\n return foundModule;\n }\n getOrganisationInformation(OrganisationId) {\n let foundOrganisation = null;\n this.getOrganisations().forEach((organisation) => {\n if (organisation.id === OrganisationId) {\n foundOrganisation = organisation;\n }\n });\n return foundOrganisation;\n }\n getOrganisationId(moduleId) {\n const module = this.getModuleInformation(moduleId);\n if (module) {\n return module.organisationId;\n }\n else {\n return null;\n }\n }\n retrieveMyPortalApplications() {\n return this.http.get(`${ApiUserConstants.URL}/${ApiUserConstants.RETRIEVE_MY_PORTAL_APPLICATIONS_URL}`)\n .pipe(map(response => {\n return response;\n }));\n }\n hasOpenPortalApplications(moduleId) {\n const params = {\n moduleId\n };\n return this.http.get(`${ApiUserConstants.URL}/${ApiUserConstants.HAS_OPEN_PORTAL_APPLICATIONS}`, { params })\n .pipe(map(response => {\n return response;\n }));\n }\n isSysadminAdmin() {\n return this.authenticatedUserSubject.value?.isSysAdmin;\n }\n handleUserInformation(userInfo) {\n this.publishAuthUserValue(userInfo);\n this.publishSystemModules(userInfo);\n this.publishSystemOrganisations(userInfo);\n this.showDisclaimer();\n }\n getSystemModules() {\n return this.systemModulesSubject.value;\n }\n getUserInformationRequest() {\n const params = {\n $expand: `Organisations($expand=UserSystemRoles,Settings,Modules($expand=userModuleRoles)),OrganisationApplications`,\n };\n return this.http.get(UrlConstants.GET_MY_PORTAL_INFORMATION_URL, { params });\n }\n publishAuthUserValue(value) {\n this.authenticatedUserSubject.next(value);\n this.userInformationFetchedSubject.next(true);\n }\n setUpListeners() {\n this.setupAuthenticationListener();\n }\n showDisclaimer() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n this.matDialog.open(DisclaimerDialogBodyComponent, dialogConfig);\n }\n publishSystemModules(user) {\n if (user) {\n const modules = [];\n user.organisations.forEach(organisation => {\n modules.push(...organisation.modules);\n });\n this.systemModulesSubject.next(modules.sort((a, b) => 0 - (a.name > b.name ? -1 : 1)));\n if (modules.length > 0) {\n this.systemModulesLoaded$.next(true);\n }\n else {\n this.systemModulesLoaded$.next(false);\n }\n }\n else {\n this.systemModulesSubject.next([]);\n }\n }\n publishSystemOrganisations(user) {\n const organisations = [];\n if (user) {\n organisations.push(...user.organisations);\n this.systemOrganisationsSubject.next(organisations.sort((a, b) => 0 - (a.name > b.name ? -1 : 1)));\n }\n else {\n this.systemOrganisationsSubject.next([]);\n }\n }\n setupAuthenticationListener() {\n this.$isAuthenticated.subscribe((isAuthenticated) => {\n if (isAuthenticated) {\n this.getUserInformation();\n }\n });\n }\n getOrganisations() {\n return this.systemOrganisationsSubject.value;\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: Router },\n { type: AppControllerService },\n { type: MatDialog },\n { type: AuthService }\n ];\n};\nUserInformationService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], UserInformationService);\nexport { UserInformationService };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { SharedConstants } from \"../../constants/shared.constants\";\nlet WebNotificationService = class WebNotificationService {\n _permissionGranted;\n constructor() {\n this.requestPermission();\n }\n showNotification(title, text) {\n if (this._permissionGranted) {\n this.createNewNotification(title, text);\n }\n else {\n throw new Error(SharedConstants.PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR);\n }\n }\n requestPermission() {\n if (!(\"Notification\" in window)) {\n throw new Error(SharedConstants.NO_NOTIFICATION_BROWSER_SUPPORT_ERROR);\n }\n this.getPermissionRequest().then((permissionResponse) => {\n this.handlePermissionResponse(permissionResponse);\n });\n }\n getPermissionRequest() {\n return Notification.requestPermission();\n }\n handlePermissionResponse(permissionResponse) {\n if (Notification.permission === \"granted\" && permissionResponse === \"granted\") {\n this._permissionGranted = true;\n }\n }\n removePermission() {\n this._permissionGranted = false;\n }\n createNewNotification(title, text) {\n return new Notification(title, { body: text });\n }\n static ctorParameters = () => [];\n};\nWebNotificationService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], WebNotificationService);\nexport { WebNotificationService };\n","import { __decorate } from \"tslib\";\nimport { NgModule } from \"@angular/core\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { PageHeadingComponent } from \"./components/page-heading/page-heading.component\";\nimport { HighlightPipe } from \"./pipes/highlight/highlight.pipe\";\nimport { HighlightWithColumnPipe } from \"./pipes/highlight/highlight-with-column.pipe\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { AlertComponent } from \"./components/alert/alert.component\";\nimport { CommonModule, DatePipe, TitleCasePipe } from \"@angular/common\";\nimport { PwaInstallBottomSheetComponent } from \"./components/pwa-install-bottom-sheet/pwa-install-bottom-sheet.component\";\nimport { PrimaryButtonComponent } from \"./components/primary-button/primary-button.component\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { SecondaryButtonComponent } from \"./components/secondary-button/secondary-button.component\";\nimport { InputComponent } from \"./components/input/input.component\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { SaShortDatePipe } from \"./pipes/sa-short-date/sa-short-date.pipe\";\nimport { NgPipesModule, UcFirstPipe } from \"ngx-pipes\";\nimport { ContentMenuComponent } from \"./components/content-menu/content-menu.component\";\nimport { RouterModule } from \"@angular/router\";\nimport { QuillModule } from \"ngx-quill\";\nimport { AppViewShortDatePipe } from \"./pipes/app-view-short-date/app-view-short-date.pipe\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { SaLongDatePipe } from \"./pipes/sa-long-date/sa-long-date.pipe\";\nimport { UtcDatePipe } from \"./pipes/utc-date/utc-date.pipe\";\nimport { RecipientFilterComponent } from \"./components/recipient-components/shared/recipient-filter/recipient-filter.component\";\nimport { RecipientSelectComponent } from \"./components/recipient-components/recipient-select/recipient-select.component\";\nimport { ZaesriAngularCalciteModule } from \"../../../../zaesri-angular-calcite/src/lib/zaesri-angular-calcite.module\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { AddRecipientModalComponent } from \"./components/recipient-components/shared/modal-components/add-recipient-modal/add-recipient-modal.component\";\nimport { AflaCommonModule } from \"../../../../afla-common/src/lib/afla-common.module\";\nimport { RecipientListComponent } from \"./components/recipient-components/recipient-list/recipient-list.component\";\nimport { EditRecipientModalComponent } from \"./components/recipient-components/shared/modal-components/edit-recipient-modal/edit-recipient-modal.component\";\nimport { HelpModalComponent } from \"./components/help-modal/help-modal.component\";\nimport { RefreshComponent } from \"../create-application/shared/refresh/refresh.component\";\nimport { DragDropDirective } from \"./directives/drag-drop.directive\";\nimport { ConfirmDeleteModalComponent } from \"./components/recipient-components/shared/modal-components/confirm-delete-modal/confirm-delete-modal.component\";\nimport { TreeModule } from \"@ali-hm/angular-tree-component\";\nimport { DocumentTreeViewComponent } from \"./components/document-tree-view/document-tree-view.component\";\nimport { PopUpComponent } from \"./components/pop-up/pop-up.component\";\nimport { ViewApplicationStepperComponent } from \"./components/view-application-stepper/view-application-stepper.component\";\nimport { ViewApplicationHostDirective } from \"../view-application/shared/view-application-host.directive\";\nimport { SafeHtmlPipe } from \"./pipes/safeHtml/safe-html.pipe\";\nlet SharedModule = class SharedModule {\n};\nSharedModule = __decorate([\n NgModule({\n declarations: [\n HighlightPipe,\n HighlightWithColumnPipe,\n AlertComponent,\n PageHeadingComponent,\n PwaInstallBottomSheetComponent,\n PrimaryButtonComponent,\n SecondaryButtonComponent,\n InputComponent,\n SaShortDatePipe,\n SaLongDatePipe,\n AppViewShortDatePipe,\n ContentMenuComponent,\n RecipientFilterComponent,\n RecipientSelectComponent,\n AddRecipientModalComponent,\n RecipientListComponent,\n EditRecipientModalComponent,\n HelpModalComponent,\n RefreshComponent,\n DragDropDirective,\n ConfirmDeleteModalComponent,\n DocumentTreeViewComponent,\n PopUpComponent,\n ViewApplicationStepperComponent,\n ViewApplicationHostDirective,\n SafeHtmlPipe\n ],\n imports: [\n CommonModule,\n MatSelectModule,\n MatIconModule,\n MatButtonModule,\n FormsModule,\n MatDialogModule,\n MatTableModule,\n MatPaginatorModule,\n MatInputModule,\n ReactiveFormsModule,\n NgPipesModule,\n RouterModule,\n QuillModule.forRoot(),\n MatDividerModule,\n ZaesriAngularCalciteModule,\n MatTooltipModule,\n AflaCommonModule,\n TreeModule\n ],\n exports: [\n HighlightPipe,\n AlertComponent,\n HighlightWithColumnPipe,\n PageHeadingComponent,\n PrimaryButtonComponent,\n SecondaryButtonComponent,\n InputComponent,\n ContentMenuComponent,\n RecipientSelectComponent,\n RecipientListComponent,\n RefreshComponent,\n DragDropDirective,\n DocumentTreeViewComponent,\n PopUpComponent,\n ViewApplicationHostDirective,\n SafeHtmlPipe,\n NgPipesModule\n ],\n providers: [\n SaShortDatePipe,\n AppViewShortDatePipe,\n UcFirstPipe,\n SaLongDatePipe,\n UtcDatePipe,\n DatePipe,\n TitleCasePipe,\n SafeHtmlPipe,\n ]\n })\n], SharedModule);\nexport { SharedModule };\n","// import {CreateApplicationDetailsWConstants} from \"../../create-application/modules/w/create-application-details-w/create-application-details-w.constants\";\n// TODO: add this back when we re-add Wayleaves application\nexport class CompareDatesUtil {\n static verifyProposedDates(form, startDateFormControlName, endDateFormControlName, sourceFormControl, appController) {\n const startDate = Date.parse(form.get(startDateFormControlName).value);\n const endDate = Date.parse(form.get(endDateFormControlName).value);\n if (startDate && endDate && (startDate > endDate)) {\n form.get(sourceFormControl).reset();\n // appController.showMessage(CreateApplicationDetailsWConstants.DATE_VALIDATION_ERROR, AlertType.Warning);\n }\n }\n}\n","import { saveAs } from \"file-saver\";\nexport class FileUtils {\n static ALLOWED_MIME_TYPES = {\n abs: \"audio/x-mpeg\",\n ai: \"application/postscript\",\n aif: \"audio/x-aiff\",\n aifc: \"audio/x-aiff\",\n aiff: \"audio/x-aiff\",\n aim: \"application/x-aim\",\n art: \"image/x-jg\",\n asf: \"video/x-ms-asf\",\n asx: \"video/x-ms-asf\",\n au: \"audio/basic\",\n avi: \"video/x-msvideo\",\n avx: \"video/x-rad-screenplay\",\n bcpio: \"application/x-bcpio\",\n bin: \"application/octet-stream\",\n bmp: \"image/bmp\",\n body: \"text/html\",\n cdf: \"application/x-cdf\",\n cer: \"application/pkix-cert\",\n class: \"application/java\",\n cpio: \"application/x-cpio\",\n csh: \"application/x-csh\",\n css: \"text/css\",\n dib: \"image/bmp\",\n doc: \"application/msword\",\n dtd: \"application/xml-dtd\",\n dv: \"video/x-dv\",\n dvi: \"application/x-dvi\",\n eot: \"application/vnd.ms-fontobject\",\n eps: \"application/postscript\",\n etx: \"text/x-setext\",\n exe: \"application/octet-stream\",\n gif: \"image/gif\",\n gtar: \"application/x-gtar\",\n gz: \"application/x-gzip\",\n hdf: \"application/x-hdf\",\n hqx: \"application/mac-binhex40\",\n htc: \"text/x-component\",\n htm: \"text/html\",\n html: \"text/html\",\n ief: \"image/ief\",\n jad: \"text/vnd.sun.j2me.app-descriptor\",\n jar: \"application/java-archive\",\n java: \"text/x-java-source\",\n jnlp: \"application/x-java-jnlp-file\",\n jpe: \"image/jpeg\",\n jpeg: \"image/jpeg\",\n jpg: \"image/jpeg\",\n js: \"application/javascript\",\n jsf: \"text/plain\",\n json: \"application/json\",\n jspf: \"text/plain\",\n kar: \"audio/midi\",\n latex: \"application/x-latex\",\n m3u: \"audio/x-mpegurl\",\n mac: \"image/x-macpaint\",\n man: \"text/troff\",\n mathml: \"application/mathml+xml\",\n me: \"text/troff\",\n mid: \"audio/midi\",\n midi: \"audio/midi\",\n mif: \"application/x-mif\",\n mov: \"video/quicktime\",\n movie: \"video/x-sgi-movie\",\n mp1: \"audio/mpeg\",\n mp2: \"audio/mpeg\",\n mp3: \"audio/mpeg\",\n mp4: \"video/mp4\",\n mpa: \"audio/mpeg\",\n mpe: \"video/mpeg\",\n mpeg: \"video/mpeg\",\n mpega: \"audio/x-mpeg\",\n mpg: \"video/mpeg\",\n mpv2: \"video/mpeg2\",\n ms: \"application/x-wais-source\",\n nc: \"application/x-netcdf\",\n oda: \"application/oda\",\n odb: \"application/vnd.oasis.opendocument.database\",\n odc: \"application/vnd.oasis.opendocument.chart\",\n odf: \"application/vnd.oasis.opendocument.formula\",\n odg: \"application/vnd.oasis.opendocument.graphics\",\n odi: \"application/vnd.oasis.opendocument.image\",\n odm: \"application/vnd.oasis.opendocument.text-master\",\n odp: \"application/vnd.oasis.opendocument.presentation\",\n ods: \"application/vnd.oasis.opendocument.spreadsheet\",\n odt: \"application/vnd.oasis.opendocument.text\",\n otg: \"application/vnd.oasis.opendocument.graphics-template\",\n oth: \"application/vnd.oasis.opendocument.text-web\",\n otp: \"application/vnd.oasis.opendocument.presentation-template\",\n ots: \"application/vnd.oasis.opendocument.spreadsheet-template\",\n ott: \"application/vnd.oasis.opendocument.text-template\",\n ogx: \"application/ogg\",\n ogv: \"video/ogg\",\n oga: \"audio/ogg\",\n ogg: \"audio/ogg\",\n otf: \"application/x-font-opentype\",\n spx: \"audio/ogg\",\n flac: \"audio/flac\",\n anx: \"application/annodex\",\n axa: \"audio/annodex\",\n axv: \"video/annodex\",\n xspf: \"application/xspf+xml\",\n pbm: \"image/x-portable-bitmap\",\n pct: \"image/pict\",\n pdf: \"application/pdf\",\n pgm: \"image/x-portable-graymap\",\n pic: \"image/pict\",\n pict: \"image/pict\",\n pls: \"audio/x-scpls\",\n png: \"image/png\",\n pnm: \"image/x-portable-anymap\",\n pnt: \"image/x-macpaint\",\n ppm: \"image/x-portable-pixmap\",\n ppt: \"application/vnd.ms-powerpoint\",\n pps: \"application/vnd.ms-powerpoint\",\n ps: \"application/postscript\",\n psd: \"image/vnd.adobe.photoshop\",\n qt: \"video/quicktime\",\n qti: \"image/x-quicktime\",\n qtif: \"image/x-quicktime\",\n ras: \"image/x-cmu-raster\",\n rdf: \"application/rdf+xml\",\n rgb: \"image/x-rgb\",\n rm: \"application/vnd.rn-realmedia\",\n roff: \"text/troff\",\n rtf: \"application/rtf\",\n rtx: \"text/richtext\",\n sfnt: \"application/font-sfnt\",\n sh: \"application/x-sh\",\n shar: \"application/x-shar\",\n sit: \"application/x-stuffit\",\n snd: \"audio/basic\",\n src: \"application/x-wais-source\",\n sv4cpio: \"application/x-sv4cpio\",\n sv4crc: \"application/x-sv4crc\",\n svg: \"image/svg+xml\",\n svgz: \"image/svg+xml\",\n swf: \"application/x-shockwave-flash\",\n t: \"text/troff\",\n tar: \"application/x-tar\",\n tcl: \"application/x-tcl\",\n tex: \"application/x-tex\",\n texi: \"application/x-texinfo\",\n texinfo: \"application/x-texinfo\",\n tif: \"image/tiff\",\n tiff: \"image/tiff\",\n tr: \"text/troff\",\n tsv: \"text/tab-separated-values\",\n ttf: \"application/x-font-ttf\",\n txt: \"text/plain\",\n ulw: \"audio/basic\",\n ustar: \"application/x-ustar\",\n vxml: \"application/voicexml+xml\",\n xbm: \"image/x-xbitmap\",\n xht: \"application/xhtml+xml\",\n xhtml: \"application/xhtml+xml\",\n xls: \"application/vnd.ms-excel\",\n xml: \"application/xml\",\n xpm: \"image/x-xpixmap\",\n xsl: \"application/xml\",\n xslt: \"application/xslt+xml\",\n xul: \"application/vnd.mozilla.xul+xml\",\n xwd: \"image/x-xwindowdump\",\n vsd: \"application/vnd.visio\",\n wav: \"audio/x-wav\",\n wbmp: \"image/vnd.wap.wbmp\",\n wml: \"text/vnd.wap.wml\",\n wmlc: \"application/vnd.wap.wmlc\",\n wmls: \"text/vnd.wap.wmlsc\",\n wmlscriptc: \"application/vnd.wap.wmlscriptc\",\n wmv: \"video/x-ms-wmv\",\n woff: \"application/font-woff\",\n woff2: \"application/font-woff2\",\n wrl: \"model/vrml\",\n wspolicy: \"application/wspolicy+xml\",\n z: \"application/x-compress\",\n zip: \"application/zip\"\n };\n static openFile(fileName, response) {\n const fileExtension = fileName.substring(fileName.lastIndexOf(\".\") + 1);\n const mime = this.ALLOWED_MIME_TYPES[fileExtension];\n const newAttachementContent = new Blob([response, \"blob\"], { type: mime });\n if (mime) {\n const fileURL = URL.createObjectURL(newAttachementContent);\n window.open(fileURL, \"_blank\");\n }\n else {\n saveAs(newAttachementContent, fileName);\n }\n }\n}\n","export default class GeometryUtils {\n static mapGeometryToDTO(geometry) {\n return {\n cache: geometry.cache,\n centroid: geometry.get(\"centroid\"),\n extent: geometry.get(\"extent\"),\n hasM: geometry.hasM,\n hasZ: geometry.hasZ,\n isSelfIntersecting: geometry.get(\"isSelfIntersecting\"),\n rings: geometry.get(\"rings\"),\n spatialReference: geometry.get(\"spatialReference\"),\n type: geometry.type\n };\n }\n}\n","export class ObjectUtils {\n static getCommaSeparatedValuesFromListForKey(list, key) {\n let commaSeparated = \"\";\n if (!list || list.length <= 0) {\n return commaSeparated;\n }\n list.forEach((item) => {\n const value = item[key];\n if (!value) {\n return;\n }\n if (item === list[list.length - 1]) {\n commaSeparated += `${value}`;\n }\n else {\n commaSeparated += `${value},`;\n }\n });\n return commaSeparated;\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { RecipientFormConstants } from \"../components/recipient-components/shared/shared-contants/recipient-shared.constants\";\nimport { phoneNumberValidator } from \"../classes/phone-number-validator\";\nimport { isString } from \"underscore\";\nexport default class RecipientUtils {\n http;\n constructor(http) {\n this.http = http;\n }\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, groupType: groupObj.GroupType, 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\") && 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)) && ((streetSuburbValue !== null) && (streetSuburbValue === postalSuburbValue)) && ((streetCityValue !== null) && (streetCityValue === postalCityValue)) && ((streetProvinceValue !== null) && (streetProvinceValue === postalProvinceValue)) && ((streetCountryValue !== null) && (streetCountryValue === postalCountryValue)) && ((streetCodeValue !== null) && (streetCodeValue === postalCodeValue))) {\n sameAsResidential = true;\n }\n else {\n sameAsResidential = false;\n }\n return sameAsResidential;\n }\n static disablePostalDetails(recipientForm) {\n // disables all fields under the 'Postal details' section\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).disable();\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).clearValidators();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).clearValidators();\n recipientForm.updateValueAndValidity();\n }\n static enablePostalDetails(recipientForm) {\n // enables all fields under the 'Postal details' section\n recipientForm?.get(RecipientFormConstants.postalAddressFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalSuburbFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCityFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalProvinceFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCountryFormControlName).enable();\n recipientForm?.get(RecipientFormConstants.postalCodeFormControlName).enable();\n }\n static restorePostalDetailsValidators(recipientFormGroup, groupsFromMetadata) {\n if (groupsFromMetadata[0].hasOwnProperty(\"requiredFields\")) {\n const requiredFields = groupsFromMetadata[0].requiredFields;\n if (requiredFields.postalAddress || requiredFields.PostalAddress)\n recipientFormGroup.get(RecipientFormConstants.postalAddressFormControlName).setValidators(Validators.required);\n if (requiredFields.postalSuburb || requiredFields.PostalSuburb)\n recipientFormGroup.get(RecipientFormConstants.postalSuburbFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCity || requiredFields.PostalCity)\n recipientFormGroup.get(RecipientFormConstants.postalCityFormControlName).setValidators(Validators.required);\n if (requiredFields.postalProvince || requiredFields.PostalProvince)\n recipientFormGroup.get(RecipientFormConstants.postalProvinceFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCountry || requiredFields.PostalCountry)\n recipientFormGroup.get(RecipientFormConstants.postalCountryFormControlName).setValidators(Validators.required);\n if (requiredFields.postalCode || requiredFields.PostalCode)\n recipientFormGroup.get(RecipientFormConstants.postalCodeFormControlName).setValidators(Validators.required);\n }\n }\n static checkRequiredFields(groupsFromMetadata, newRecipientForm) {\n if (groupsFromMetadata && newRecipientForm && groupsFromMetadata.hasOwnProperty(\"requiredFields\") && Object.keys(groupsFromMetadata.requiredFields)?.length > 0) {\n groupsFromMetadata.requiredFields.forEach((item) => {\n item.name = this.formatObjectKey(item.name);\n if (item.required) {\n this.setRequiredFields(newRecipientForm, item.name);\n }\n });\n newRecipientForm.updateValueAndValidity();\n }\n }\n static formatObjectKey(name) {\n const wordArr = name.split(\" \");\n wordArr.forEach((word, index) => {\n wordArr[index] = word.charAt(0).toUpperCase() + word.slice(1);\n });\n name = wordArr.join(\"\");\n let keyToChange = name;\n if (keyToChange.toLocaleLowerCase() === \"professionalbodyregistrationnumber\") {\n keyToChange = \"professionalBodyRegNum\";\n }\n if (keyToChange === \"Homephone\") {\n keyToChange = \"HomePhone\";\n }\n const formattedString = keyToChange.charAt(0).toLowerCase() + keyToChange.slice(1);\n return formattedString;\n }\n static setRequiredFields(recipientFormGroup, fieldName) {\n recipientFormGroup.controls[fieldName].setValidators(Validators.required);\n if (fieldName === RecipientFormConstants.homeTelePhoneFormControl) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.workTelephoneFormControl) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.cellphoneFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, phoneNumberValidator]);\n return;\n }\n if (fieldName === RecipientFormConstants.streetCodeFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.minLength(4)]);\n return;\n }\n if (fieldName === RecipientFormConstants.postalCodeFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.minLength(4)]);\n return;\n }\n if (fieldName === RecipientFormConstants.emailFormControlName) {\n recipientFormGroup.get(fieldName).setValidators([Validators.required, Validators.email]);\n return;\n }\n recipientFormGroup.get(fieldName).setValidators(Validators.required);\n }\n static enablePostalSelects(recipientFormGroup, postalProvinceFormControlName, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup.get(postalProvinceFormControlName).enable();\n }\n }\n static disablePostalSelects(recipientFormGroup, postalProvinceFormControlName, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup.get(postalProvinceFormControlName).disable();\n }\n }\n static clearPostalDetailsValidators(recipientFormGroup, sameAsResidentialChecked) {\n // clears all validators of Postal fields then updates value and validity\n if (sameAsResidentialChecked) {\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).clearValidators();\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).markAsUntouched();\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).updateValueAndValidity();\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).updateValueAndValidity();\n }\n }\n static copyStreetDetailsDataToPostalDetailsFields(recipientFormGroup, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n recipientFormGroup?.get(RecipientFormConstants.postalAddressFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetAddressFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalSuburbFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetSuburbFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCityFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCityFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalProvinceFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetProvinceFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCountryFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCountryFormControlName).value);\n recipientFormGroup?.get(RecipientFormConstants.postalCodeFormControlName).patchValue(recipientFormGroup.get(RecipientFormConstants.streetCodeFormControlName).value);\n }\n }\n static onResidentialInputEntered($event, formControlName, recipientFormGroup, sameAsResidentialChecked) {\n if (sameAsResidentialChecked) {\n const inputValue = $event.target.value;\n const postalFormControl = recipientFormGroup.get(formControlName);\n postalFormControl.patchValue(inputValue);\n }\n }\n static standardizeRecipientGroupsObject(recipientGroups) {\n // standardizes casing on the keys of the groups Object\n let standardizedRecipientGroups = [];\n if (recipientGroups && recipientGroups.length > 0) {\n standardizedRecipientGroups = recipientGroups.map((recipientGroup, index) => {\n if (index === 0) {\n return {\n groupType: recipientGroup.hasOwnProperty(\"GroupType\") ? recipientGroup.GroupType : recipientGroup.groupType,\n groupName: recipientGroup.hasOwnProperty(\"GroupName\") ? recipientGroup.GroupName : recipientGroup.groupName,\n requiredFields: recipientGroup.hasOwnProperty(\"requiredFields\") ? recipientGroup.requiredFields : undefined\n };\n }\n else {\n return {\n groupType: recipientGroup.hasOwnProperty(\"GroupType\") ? recipientGroup.GroupType : recipientGroup.groupType,\n groupName: recipientGroup.hasOwnProperty(\"GroupName\") ? recipientGroup.GroupName : recipientGroup.groupName\n };\n }\n });\n }\n if (!standardizedRecipientGroups[0].requiredFields)\n delete standardizedRecipientGroups[0].requiredFields;\n return standardizedRecipientGroups;\n }\n static setRecipients(recipients, overrideGroup, recipientControl, removeId = false) {\n const values = [];\n recipients.forEach(recipient => {\n const recipientDeepCopy = this.makeDeepCopies(recipient, overrideGroup, removeId);\n recipientDeepCopy.setRecipient = true;\n values.push(recipientDeepCopy);\n });\n recipientControl.setValue(values);\n }\n static cleanPropertyOwners(existingApplication) {\n // removes owner properties that are not going part of the recipient DTO\n if (existingApplication.hasOwnProperty(\"properties\") && existingApplication.properties.length > 0) {\n existingApplication.properties.forEach((propertyItem) => {\n let owners = propertyItem.owners ? propertyItem.owners : [];\n if (owners && owners.length > 0) {\n owners = owners.map((owner) => {\n owner = RecipientUtils.removeInvalidRecipientProperties(owner);\n return owner;\n });\n }\n });\n }\n }\n static buildApplicantStringForUserSettings(ownerData, applicantGroups) {\n const ownerDataDeepCopy = Object.assign({}, ownerData);\n if (ownerDataDeepCopy.hasOwnProperty(\"id\")) {\n ownerData.id = 0;\n }\n if (ownerDataDeepCopy.hasOwnProperty(\"groups\")) {\n delete ownerData.groups;\n ownerData.groups = applicantGroups;\n }\n if (ownerDataDeepCopy.hasOwnProperty(\"groupsStringArray\")) {\n delete ownerData.groupsStringArray;\n }\n return ownerData;\n }\n}\n","import * as WKT from \"terraformer-wkt-parser\";\nimport * as ArcGIS from \"terraformer-arcgis-parser\";\nimport moment from \"moment\";\nexport class WktConverterUtils {\n static ConvertWktToArcGisJson(wkt, wkidSpatialReference) {\n try {\n // convert wkt to geojson\n const geojson = this.ConvertWktToGeoJson(wkt);\n // convert a GeoJSON object into an ArcGIS geometry\n const parseOptions = {\n sr: wkidSpatialReference\n };\n const arcgisGeometry = this.ConvertGeoJsonToArcGis(geojson, parseOptions);\n return arcgisGeometry;\n }\n catch (e) {\n throw Error(\"ConvertWktToArcGisJson: \" + e);\n }\n }\n static ConvertGeoJsonToArcGis(geojson, parseOptions) {\n try {\n return ArcGIS.convert(geojson, parseOptions);\n }\n catch (e) {\n throw Error(\"ConvertGeoJsonToArcGis: \" + e);\n }\n }\n static ConvertWktToGeoJson(wkt) {\n try {\n return WKT.parse(wkt);\n }\n catch (e) {\n throw Error(\"ConvertWktToGeoJson: \" + e);\n }\n }\n static ConvertArcGISJsonToWkt(arcgisJson) {\n try {\n // convert ArcGIS geometry to GeoJSON\n const geojson = this.ConvertArcGisToGeoJson(arcgisJson);\n // convert ArcGIS geometry to GeoJSON\n const wkt = this.ConvertGeoJsonToWkt(geojson);\n return wkt;\n }\n catch (e) {\n throw Error(\"ConvertWktToArcGisJson: \" + e);\n }\n }\n static ConvertArcGisToGeoJson(arcgisJson) {\n try {\n return ArcGIS.parse(arcgisJson);\n }\n catch (e) {\n throw Error(\"ConvertGeoJsonToArcGis: \" + e);\n }\n }\n static ConvertGeoJsonToWkt(geojson) {\n try {\n return WKT.convert(geojson);\n }\n catch (e) {\n throw Error(\"ConvertWktToGeoJson: \" + e);\n }\n }\n static testPerformanceLoop() {\n const wkt = \"MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 45 20, 30 5, 10 10, 10 30, 20 35), (30 20, 20 25, 20 15, 30 20)))\";\n const startTime = moment();\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < 500; ++i) {\n this.ConvertWktToArcGisJson(wkt, 3857);\n }\n const endTime = moment();\n const timeDiffms = endTime.diff(startTime, \"milliseconds\", true);\n const timeDiffSec = endTime.diff(startTime, \"seconds\", true);\n }\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsAConstants } from \"./view-application-details-a.constants\";\nimport { CreateApplicationDetailsAConstants } from \"../../../../create-application/modules/a/create-application-details-a/create-application-details-a.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { DatePipe } from \"@angular/common\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nlet ViewApplicationDetailsAComponent = class ViewApplicationDetailsAComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n datePipe;\n changeDetectorRef;\n recipientService;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsAConstants.VALIDATION_MESSAGES;\n applicationDetailsFormGroupName = ViewApplicationDetailsAConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n // FormControls\n descriptionFormControlName = ViewApplicationDetailsAConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n displayStartDateControlName = ViewApplicationDetailsAConstants.DISPLAY_START_DATE_FORM_CONTROL_NAME;\n displayEndDateControlName = ViewApplicationDetailsAConstants.DISPLAY_END_DATE_FORM_CONTROL_NAME;\n displayRemovalDateControlName = ViewApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME;\n numberOfPostersControlName = ViewApplicationDetailsAConstants.NUMBER_OF_POSTERS_FORM_CONTROL_NAME;\n nameOfBusinessControlName = ViewApplicationDetailsAConstants.NAME_OF_BUSINESS_FORM_CONTROL_NAME;\n notifySignageRemovalPeriodControlName = ViewApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME;\n positionOfTheDisplayControlName = ViewApplicationDetailsAConstants.POSITION_OF_DISPLAY_FORM_CONTROL_NAME;\n heightControlName = ViewApplicationDetailsAConstants.HEIGHT_FORM_CONTROL_NAME;\n widthControlName = ViewApplicationDetailsAConstants.WIDTH_FORM_CONTROL_NAME;\n depthControlName = ViewApplicationDetailsAConstants.DEPTH_FORM_CONTROL_NAME;\n materialControlName = ViewApplicationDetailsAConstants.MATERIAL_FORM_CONTROL_NAME;\n coloursControlName = ViewApplicationDetailsAConstants.COLOURS_FORM_CONTROL_NAME;\n frontalAreaControlName = ViewApplicationDetailsAConstants.FRONTAL_AREA_FORM_CONTROL_NAME;\n totalAreaControlName = ViewApplicationDetailsAConstants.TOTAL_AREA_FORM_CONTROL_NAME;\n signTypeControlName = ViewApplicationDetailsAConstants.SIGN_TYPE_FORM_CONTROL_NAME;\n weightControlName = ViewApplicationDetailsAConstants.WEIGHT_FORM_CONTROL_NAME;\n wattageControlName = ViewApplicationDetailsAConstants.WATTAGE_FORM_CONTROL_NAME;\n signContractorControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME;\n signContractorAddressControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME;\n signContractorTelephoneControlName = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME;\n forSaleControlName = ViewApplicationDetailsAConstants.FOR_SALE_FORM_CONTROL_NAME;\n onShowControlName = ViewApplicationDetailsAConstants.ON_SHOW_FORM_CONTROL_NAME;\n toLetControlName = ViewApplicationDetailsAConstants.TO_LET_FORM_CONTROL_NAME;\n soldControlName = ViewApplicationDetailsAConstants.SOLD_FORM_CONTROL_NAME;\n OtherControlName = ViewApplicationDetailsAConstants.OTHER_FORM_CONTROL_NAME;\n constructionBoardSignControlName = ViewApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME;\n groundSignControlName = ViewApplicationDetailsAConstants.GROUND_SIGN_FORM_CONTROL_NAME;\n flagControlName = ViewApplicationDetailsAConstants.FLAG_FORM_CONTROL_NAME;\n sandwichBoardControlName = ViewApplicationDetailsAConstants.SANDWICH_BOARD_FORM_CONTROL_NAME;\n pylonControlName = ViewApplicationDetailsAConstants.PYLON_FORM_CONTROL_NAME;\n wallSignControlName = ViewApplicationDetailsAConstants.WALL_SIGN_FORM_CONTROL_NAME;\n billBoardControlName = ViewApplicationDetailsAConstants.BILLBOARD_FORM_CONTROL_NAME;\n buildingAttachmentControlName = ViewApplicationDetailsAConstants.BUILDING_ATTACHMENT_FORM_CONTROL_NAME;\n projectingWallControlName = ViewApplicationDetailsAConstants.PROJECTING_WALL_SIGN_FORM_CONTROL_NAME;\n wallPaintedControlName = ViewApplicationDetailsAConstants.WALL_PAINTED_FORM_CONTROL_NAME;\n roofSignControlName = ViewApplicationDetailsAConstants.ROOF_SIGN_FORM_CONTROL_NAME;\n skySignControlName = ViewApplicationDetailsAConstants.SKY_SIGN_FORM_CONTROL_NAME;\n verandaControlName = ViewApplicationDetailsAConstants.VERANDA_FORM_CONTROL_NAME;\n aerialSignControlName = ViewApplicationDetailsAConstants.AERIAL_SIGN_FORM_CONTROL_NAME;\n windowSignControlName = ViewApplicationDetailsAConstants.WINDOW_SIGN_FORM_CONTROL_NAME;\n schoolSignControlName = ViewApplicationDetailsAConstants.SCHOOL_SIGN_FORM_CONTROL_NAME;\n combinationSignControlName = ViewApplicationDetailsAConstants.COMBINATION_SIGN_FORM_CONTROL_NAME;\n underAwningSignControlName = ViewApplicationDetailsAConstants.UNDER_AWNING_SIGN_FORM_CONTROL_NAME;\n flagSignControlName = ViewApplicationDetailsAConstants.FLAG_SIGN_FORM_CONTROL_NAME;\n canopyControlName = ViewApplicationDetailsAConstants.CANOPY_FORM_CONTROL_NAME;\n balconyControlName = ViewApplicationDetailsAConstants.BALCONY_FORM_CONTROL_NAME;\n electronicSignControlName = ViewApplicationDetailsAConstants.ELECTRONIC_SIGN_FORM_CONTROL_NAME;\n developmentBoardControlName = ViewApplicationDetailsAConstants.DEVELOPMENT_BOARD_FORM_CONTROL_NAME;\n otherFiveYearControlName = ViewApplicationDetailsAConstants.OTHER_FIVE_YEAR_FORM_CONTROL_NAME;\n nonIlluminatedBillboardControlName = ViewApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n digitalBillboardControlName = ViewApplicationDetailsAConstants.DIGITAL_BILLBOARD_FORM_CONTROL_NAME;\n nonIlluminatedGantryControlName = ViewApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n digitalGantryControlName = ViewApplicationDetailsAConstants.DIGITAL_GANTRY_FORM_CONTROL_NAME;\n internallyIlluminatedBillboardControlName = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME;\n internallyIlluminatedGantryControlName = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME;\n municipalConsumerAccountNumberFormControlName = ViewApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME;\n personResponsibleFormControlName = ViewApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_NAME;\n // Labels\n descriptionLabel = ViewApplicationDetailsAConstants.DESCRIPTION_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = ViewApplicationDetailsAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n typeLabel = ViewApplicationDetailsAConstants.APPLICATION_TYPE_LABEL;\n displayStartDateLabel = ViewApplicationDetailsAConstants.DISPLAY_START_DATE_LABEL;\n displayEndDateLabel = ViewApplicationDetailsAConstants.DISPLAY_END_DATE_LABEL;\n displayRemovalDateLabel = ViewApplicationDetailsAConstants.DISPLAY_REMOVAL_DATE_LABEL;\n numberOfPostersLabel = ViewApplicationDetailsAConstants.NUMBER_OF_POSTERS_LABEL;\n nameOfBusinessLabel = ViewApplicationDetailsAConstants.NAME_OF_BUSINESS_LABEL;\n notifySignageRemovalPeriodLabel = ViewApplicationDetailsAConstants.NOTIFY_SIGNAGE_REMOVAL_LABEL;\n positionOfTheDisplayLabel = ViewApplicationDetailsAConstants.POSITION_OF_THE_DISPLAY_LABEL;\n heightLabel = ViewApplicationDetailsAConstants.HEIGHT_LABEL;\n widthLabel = ViewApplicationDetailsAConstants.WIDTH_LABEL;\n depthLabel = ViewApplicationDetailsAConstants.DEPTH_LABEL;\n materialLabel = ViewApplicationDetailsAConstants.MATERIAL_LABEL;\n coloursLabel = ViewApplicationDetailsAConstants.COLOURS_LABEL;\n frontalAreaLabel = ViewApplicationDetailsAConstants.FRONTAL_AREA_LABEL;\n totalAreaLabel = ViewApplicationDetailsAConstants.TOTAL_AREA_LABEL;\n signTypeLabel = ViewApplicationDetailsAConstants.SIGN_TYPE_LABEL;\n weightLabel = ViewApplicationDetailsAConstants.WEIGHT_LABEL;\n wattageLabel = ViewApplicationDetailsAConstants.WATTAGE_LABEL;\n signContractorLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_LABEL;\n signContractorAddressLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_ADDRESS_LABEL;\n signContractorTelephoneLabel = ViewApplicationDetailsAConstants.SIGN_CONTRACTOR_TELEPHONE_LABEL;\n forSaleAddressLabel = ViewApplicationDetailsAConstants.FOR_SALE_LABEL;\n // 1 year permanent\n onShowLabel = ViewApplicationDetailsAConstants.ON_SHOW_LABEL;\n toLetLabel = ViewApplicationDetailsAConstants.TO_LET_LABEL;\n soldLabel = ViewApplicationDetailsAConstants.SOLD_LABEL;\n constructionBoardSignLabel = ViewApplicationDetailsAConstants.CONSTRUCTION_BOARD_SIGN_LABEL;\n otherLabel = ViewApplicationDetailsAConstants.OTHER_LABEL;\n // 5 year permanent\n groundSignLabel = ViewApplicationDetailsAConstants.GROUND_SIGN_FORM_LABEL;\n flagLabel = ViewApplicationDetailsAConstants.FLAG_FORM_LABEL;\n sandwichBoardLabel = ViewApplicationDetailsAConstants.SANDWICH_BOARD_FORM_LABEL;\n pylonLabel = ViewApplicationDetailsAConstants.PYLON_FORM_LABEL;\n wallSignLabel = ViewApplicationDetailsAConstants.WALL_SIGN_FORM_LABEL;\n buildingAttachmentLabel = ViewApplicationDetailsAConstants.BUILDING_ATTACHMENT_LABEL;\n projectingWallLabel = ViewApplicationDetailsAConstants.PROJECTING_WALL_SIGN_LABEL;\n wallPaintedLabel = ViewApplicationDetailsAConstants.WALL_PAINTED_LABEL;\n roofSignLabel = ViewApplicationDetailsAConstants.ROOF_SIGN_LABEL;\n skySignLabel = ViewApplicationDetailsAConstants.SKY_SIGN_LABEL;\n verandaLabel = ViewApplicationDetailsAConstants.VERANDA_LABEL;\n aerialSignLabel = ViewApplicationDetailsAConstants.AERIAL_SIGN_LABEL;\n windowSignLabel = ViewApplicationDetailsAConstants.WINDOW_SIGN_LABEL;\n schoolSignLabel = ViewApplicationDetailsAConstants.SCHOOL_SIGN_LABEL;\n combinationSignLabel = ViewApplicationDetailsAConstants.COMBINATION_SIGN_LABEL;\n underAwningSignLabel = ViewApplicationDetailsAConstants.UNDER_AWNING_SIGN_LABEL;\n flagSignLabel = ViewApplicationDetailsAConstants.FLAG_SIGN_LABEL;\n canopyLabel = ViewApplicationDetailsAConstants.CANOPY_LABEL;\n balconyLabel = ViewApplicationDetailsAConstants.BALCONY_LABEL;\n electronicSignLabel = ViewApplicationDetailsAConstants.ELECTRONIC_SIGN_LABEL;\n developmentBoardLabel = ViewApplicationDetailsAConstants.DEVELOPMENT_BOARD_LABEL;\n otherFiveYearLabel = ViewApplicationDetailsAConstants.OTHER_FIVE_YEAR_LABEL;\n nonIlluminatedBillboardLabel = ViewApplicationDetailsAConstants.NON_ILLUMINATED_BILLBOARD_LABEL;\n digitalBillboardLabel = ViewApplicationDetailsAConstants.DIGITAL_BILLBOARD_LABEL;\n nonIlluminatedGantryLabel = ViewApplicationDetailsAConstants.NON_ILLUMINATED_GANTRY_LABEL;\n digitalGantryLabel = ViewApplicationDetailsAConstants.DIGITAL_GANTRY_LABEL;\n internallyIlluminatedBillboardLabel = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LABEL;\n internallyIlluminatedGantryLabel = ViewApplicationDetailsAConstants.INTERNALLY_ILLUMINATED_GANTRY_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n municipalConsumerAccountNumberLabel = ViewApplicationDetailsAConstants.MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL;\n personResponsibleLabel = ViewApplicationDetailsAConstants.PERSON_RESPONSIBLE_CONTROL_LABEL;\n // Lookups\n signTypeLookups = [];\n removalPeriodLookups = LookupConstants.REMOVAL_PERIOD_LOOKUPS_A;\n nonIlluminatedBillboardLookups = LookupConstants.NON_ILLUMINATED_BILLBOARD_A;\n nonIlluminatedGantryLookups = LookupConstants.NON_ILLUMINATED_GANTRY_A;\n internallyIlluminatedBillboardLookups = LookupConstants.INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A;\n digitalGantryLookups = LookupConstants.DIGITAL_GANTRY_A;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n showTemporaryApplicationFields = false;\n showPermanentApplicationFields = false;\n show5YearPermanentApplicationOptionalFields = false;\n show1YearPermanentApplicationOptionalFields = false;\n // person responsible recipient\n personResponsibleDisableAdd = true;\n personResponsibleDisableEditing = false;\n personResponsibleDisableFilterBy = true;\n personResponsibleIsInternal = false;\n personResponsibleGroups = [];\n personResponsibleShowFields = true;\n temporaryApplicationType = [];\n permanentApplicationType = [];\n getLookupsObservableSubscription;\n selectedApplicationIASubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, datePipe, changeDetectorRef, recipientService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.recipientService = recipientService;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n try {\n this.personResponsibleGroups = stepMeta.personResponsibleGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationDetailsAConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"signtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.signTypeLookups.push(lookUpContent);\n }\n });\n this.subscribeToSelectedApplication();\n this.changeDetectorRef.detectChanges();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationIASubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n application.isAdvetisingPermanentOrTemporary === \"permanent\" ? this.configureFormsForPermanentApplication(application) : this.configureFormsForTemporaryApplication(application);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n configureFormsForPermanentApplication(application) {\n this.setMainPermanentFields(application);\n this.getPersonResponsibleByApplicantId(application.personResponsibleId);\n if (application.type.toLowerCase().includes(\"1 year\")) {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n this.set1yearPermanentApplicationFields(application);\n }\n if (application.type.toLowerCase().includes(\"5 year\")) {\n this.show5YearPermanentApplicationOptionalFields = true;\n this.show1YearPermanentApplicationOptionalFields = false;\n this.set5yearPermanentApplicationFields(application);\n }\n this.showTemporaryApplicationFields = false;\n }\n setMainPermanentFields(application) {\n this.showPermanentApplicationFields = true;\n this.showTemporaryApplicationFields = false;\n this.detailsForm.get(this.nameOfBusinessControlName).setValue(application.nameOfBusiness);\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).setValue(application.notifySignageRemovalPeriod);\n this.detailsForm.get(this.positionOfTheDisplayControlName).setValue(application.positionOfDisplay);\n this.detailsForm.get(this.heightControlName).setValue(application.dimensionsH);\n this.detailsForm.get(this.widthControlName).setValue(application.dimensionsW);\n this.detailsForm.get(this.depthControlName).setValue(application.dimensionsD);\n this.detailsForm.get(this.materialControlName).setValue(application.material);\n this.detailsForm.get(this.coloursControlName).setValue(application.colours);\n this.detailsForm.get(this.frontalAreaControlName).setValue(application.frontalArea);\n this.detailsForm.get(this.totalAreaControlName).setValue(application.totalArea);\n this.detailsForm.get(this.signTypeControlName).setValue(application.signType);\n this.detailsForm.get(this.weightControlName).setValue(application.weight);\n this.detailsForm.get(this.wattageControlName).setValue(application.wattage);\n this.detailsForm.get(this.signContractorTelephoneControlName).setValue(application.contractorTelephone);\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).setValue(application.municipalConsumerAccountNumber);\n this.detailsForm.get(this.nameOfBusinessControlName).disable();\n this.detailsForm.get(this.notifySignageRemovalPeriodControlName).disable();\n this.detailsForm.get(this.positionOfTheDisplayControlName).disable();\n this.detailsForm.get(this.heightControlName).disable();\n this.detailsForm.get(this.widthControlName).disable();\n this.detailsForm.get(this.depthControlName).disable();\n this.detailsForm.get(this.materialControlName).disable();\n this.detailsForm.get(this.coloursControlName).disable();\n this.detailsForm.get(this.frontalAreaControlName).disable();\n this.detailsForm.get(this.totalAreaControlName).disable();\n this.detailsForm.get(this.signTypeControlName).disable();\n this.detailsForm.get(this.weightControlName).disable();\n this.detailsForm.get(this.wattageControlName).disable();\n this.detailsForm.get(this.signContractorTelephoneControlName).disable();\n this.detailsForm.get(this.municipalConsumerAccountNumberFormControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n set1yearPermanentApplicationFields(application) {\n this.show1YearPermanentApplicationOptionalFields = true;\n this.show5YearPermanentApplicationOptionalFields = false;\n this.detailsForm.get(this.forSaleControlName).setValue(application.forSale);\n this.detailsForm.get(this.onShowControlName).setValue(application.onShow);\n this.detailsForm.get(this.toLetControlName).setValue(application.toLet);\n this.detailsForm.get(this.soldControlName).setValue(application.sold);\n this.detailsForm.get(this.constructionBoardSignControlName).setValue(application.constructionBoardSign);\n this.detailsForm.get(this.OtherControlName).setValue(application.otherOneYear);\n this.detailsForm.get(this.forSaleControlName).disable();\n this.detailsForm.get(this.onShowControlName).disable();\n this.detailsForm.get(this.toLetControlName).disable();\n this.detailsForm.get(this.soldControlName).disable();\n this.detailsForm.get(this.constructionBoardSignControlName).disable();\n this.detailsForm.get(this.OtherControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n set5yearPermanentApplicationFields(application) {\n this.detailsForm.get(this.groundSignControlName).setValue(application.groundSign);\n this.detailsForm.get(this.flagControlName).setValue(application.flag);\n this.detailsForm.get(this.sandwichBoardControlName).setValue(application.sandwichBoard);\n this.detailsForm.get(this.pylonControlName).setValue(application.pylon);\n this.detailsForm.get(this.wallSignControlName).setValue(application.wallSign);\n this.detailsForm.get(this.billBoardControlName).setValue(application.billboard);\n this.detailsForm.get(this.groundSignControlName).disable();\n this.detailsForm.get(this.flagControlName).disable();\n this.detailsForm.get(this.sandwichBoardControlName).disable();\n this.detailsForm.get(this.pylonControlName).disable();\n this.detailsForm.get(this.wallSignControlName).disable();\n this.detailsForm.get(this.billBoardControlName).disable();\n this.detailsForm.get(this.buildingAttachmentControlName).setValue(application.buildingAttachment);\n this.detailsForm.get(this.projectingWallControlName).setValue(application.projectingWallSign);\n this.detailsForm.get(this.wallPaintedControlName).setValue(application.wallPainted);\n this.detailsForm.get(this.roofSignControlName).setValue(application.roofSign);\n this.detailsForm.get(this.skySignControlName).setValue(application.skySign);\n this.detailsForm.get(this.buildingAttachmentControlName).disable();\n this.detailsForm.get(this.projectingWallControlName).disable();\n this.detailsForm.get(this.wallPaintedControlName).disable();\n this.detailsForm.get(this.roofSignControlName).disable();\n this.detailsForm.get(this.skySignControlName).disable();\n this.detailsForm.get(this.verandaControlName).setValue(application.veranda);\n this.detailsForm.get(this.aerialSignControlName).setValue(application.aerialSign);\n this.detailsForm.get(this.windowSignControlName).setValue(application.windowSign);\n this.detailsForm.get(this.schoolSignControlName).setValue(application.schoolSign);\n this.detailsForm.get(this.combinationSignControlName).setValue(application.combinationSign);\n this.detailsForm.get(this.verandaControlName).disable();\n this.detailsForm.get(this.aerialSignControlName).disable();\n this.detailsForm.get(this.windowSignControlName).disable();\n this.detailsForm.get(this.schoolSignControlName).disable();\n this.detailsForm.get(this.combinationSignControlName).disable();\n this.detailsForm.get(this.underAwningSignControlName).setValue(application.underAwningSign);\n this.detailsForm.get(this.flagSignControlName).setValue(application.flagSign);\n this.detailsForm.get(this.canopyControlName).setValue(application.canopy);\n this.detailsForm.get(this.balconyControlName).setValue(application.balcony);\n this.detailsForm.get(this.electronicSignControlName).setValue(application.electronicSign);\n this.detailsForm.get(this.developmentBoardControlName).setValue(application.developmentBoard);\n this.detailsForm.get(this.underAwningSignControlName).disable();\n this.detailsForm.get(this.flagSignControlName).disable();\n this.detailsForm.get(this.canopyControlName).disable();\n this.detailsForm.get(this.balconyControlName).disable();\n this.detailsForm.get(this.electronicSignControlName).disable();\n this.detailsForm.get(this.developmentBoardControlName).disable();\n this.detailsForm.get(this.otherFiveYearControlName).setValue(application.otherFiveYear);\n this.detailsForm.get(this.otherFiveYearControlName).disable();\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).setValue(application.nonIlluminatedBillboard);\n this.detailsForm.get(this.digitalBillboardControlName).setValue(application.digitalBillboard);\n this.detailsForm.get(this.nonIlluminatedGantryControlName).setValue(application.nonIlluminatedGantry);\n this.detailsForm.get(this.digitalGantryControlName).setValue(application.digitalGantry);\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).setValue(application.internallyIlluminatedBillboard);\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).setValue(application.internallyIlluminatedGantry);\n this.detailsForm.get(this.nonIlluminatedBillboardControlName).disable();\n this.detailsForm.get(this.digitalBillboardControlName).disable();\n this.detailsForm.get(this.nonIlluminatedGantryControlName).disable();\n this.detailsForm.get(this.digitalGantryControlName).disable();\n this.detailsForm.get(this.internallyIlluminatedBillboardControlName).disable();\n this.detailsForm.get(this.internallyIlluminatedGantryControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n configureFormsForTemporaryApplication(application) {\n this.setTemporaryAdvertisementFields(application);\n this.showPermanentApplicationFields = false;\n }\n setTemporaryAdvertisementFields(application) {\n this.showTemporaryApplicationFields = true;\n this.showPermanentApplicationFields = false;\n this.detailsForm.get(this.displayStartDateControlName).setValue(this.datePipe.transform(application.displayStartDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.displayEndDateControlName).setValue(this.datePipe.transform(application.displayEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.displayRemovalDateControlName).setValue(this.datePipe.transform(application.displayRemovalDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.numberOfPostersControlName).setValue(application.numberOfPosters);\n this.detailsForm.get(this.displayStartDateControlName).disable();\n this.detailsForm.get(this.displayEndDateControlName).disable();\n this.detailsForm.get(this.displayRemovalDateControlName).disable();\n this.detailsForm.get(this.numberOfPostersControlName).disable();\n this.detailsForm.updateValueAndValidity();\n }\n getPersonResponsibleByApplicantId(personResponsibleId) {\n const params = {\n $expand: \"groups\",\n $filter: `id eq ${personResponsibleId} and deleted eq false`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedPersonResponsible = recipients[0];\n this.detailsForm.get(this.personResponsibleFormControlName).setValue(savedPersonResponsible);\n this.detailsForm.get(this.personResponsibleFormControlName).disable();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"person responsible\", error, CRUDOperation.Get);\n }\n });\n }\n setNumberToDecimal(control, event) {\n // sets number to two decimal places\n const value = event.target.value;\n const decimalValue = parseFloat(value).toFixed(2);\n control.setValue(decimalValue);\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: RecipientService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsAComponent = __decorate([\n Component({\n selector: \"app-view-application-details-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsAComponent);\nexport { ViewApplicationDetailsAComponent };\n","import { SharedConstants } from \"../../../../../../../afla-common/src/lib/constants/shared-constants\";\nexport class ViewApplicationDetailsAConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static APPLICATION_DURATION_LABEL = \"Application duration\";\n static DISPLAY_START_DATE_LABEL = \"Display start date\";\n static DISPLAY_END_DATE_LABEL = \"Display end date\";\n static DISPLAY_REMOVAL_DATE_LABEL = \"Display removal date\";\n static NUMBER_OF_POSTERS_LABEL = \"Number of posters / banners / flags\";\n static NAME_OF_BUSINESS_LABEL = \"Name of business\";\n static NOTIFY_SIGNAGE_REMOVAL_LABEL = \"Notify the municipality within this period of signage is removed?\";\n static POSITION_OF_THE_DISPLAY_LABEL = \"Position of the display\";\n static HEIGHT_LABEL = \"Height(m)\";\n static WIDTH_LABEL = \"Width(m)\";\n static DEPTH_LABEL = \"Depth(m)\";\n static MATERIAL_LABEL = \"Material\";\n static COLOURS_LABEL = \"Colours\";\n static FRONTAL_AREA_LABEL = `Frontal area (m2)`;\n static TOTAL_AREA_LABEL = `Total area (m2)`;\n static SIGN_TYPE_LABEL = \"Sign type\";\n static WEIGHT_LABEL = \"Weight (kg)\";\n static WATTAGE_LABEL = \"Wattage\";\n static SIGN_CONTRACTOR_LABEL = \"Sign contractor name\";\n static SIGN_CONTRACTOR_ADDRESS_LABEL = \"Sign contractor address\";\n static SIGN_CONTRACTOR_TELEPHONE_LABEL = \"Sign contractor telephone number\";\n // 1 year permanent\n static FOR_SALE_LABEL = \"For sale\";\n static ON_SHOW_LABEL = \"On show\";\n static TO_LET_LABEL = \"To-Let\";\n static SOLD_LABEL = \"Sold\";\n static CONSTRUCTION_BOARD_SIGN_LABEL = \"Construction board sign\";\n static OTHER_LABEL = \"Other\";\n // 5 year permanent\n static GROUND_SIGN_FORM_LABEL = \"Ground sign\";\n static FLAG_FORM_LABEL = \"Flag\";\n static SANDWICH_BOARD_FORM_LABEL = \"Sandwich board\";\n static PYLON_FORM_LABEL = \"Pylon\";\n static WALL_SIGN_FORM_LABEL = \"Wall sign\";\n static BUILDING_ATTACHMENT_LABEL = \"Building attachment\";\n static PROJECTING_WALL_SIGN_LABEL = \"Projecting wall sign\";\n static WALL_PAINTED_LABEL = \"Wall painted\";\n static ROOF_SIGN_LABEL = \"Roof sign\";\n static SKY_SIGN_LABEL = \"Sky sign\";\n static VERANDA_LABEL = \"Veranda\";\n static AERIAL_SIGN_LABEL = \"Aerial sign\";\n static WINDOW_SIGN_LABEL = \"Window sign\";\n static SCHOOL_SIGN_LABEL = \"School sign\";\n static COMBINATION_SIGN_LABEL = \"Combination sign\";\n static UNDER_AWNING_SIGN_LABEL = \"Under awning sign\";\n static FLAG_SIGN_LABEL = \"Flag sign\";\n static CANOPY_LABEL = \"Canopy\";\n static BALCONY_LABEL = \"Balcony\";\n static ELECTRONIC_SIGN_LABEL = \"Electronic sign (Excluding billboards / Gantries)\";\n static DEVELOPMENT_BOARD_LABEL = \"Development board\";\n static OTHER_FIVE_YEAR_LABEL = \"Other (specify)\";\n static NON_ILLUMINATED_BILLBOARD_LABEL = \"Non-Illuminated billboard\";\n static DIGITAL_BILLBOARD_LABEL = \"Digital billboard\";\n static NON_ILLUMINATED_GANTRY_LABEL = \"Non-Illuminated gantry\";\n static DIGITAL_GANTRY_LABEL = \"Digital Gantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_LABEL = \"Internally illuminated billboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_LABEL = \"Internally illuminated gantry\";\n // Temporary ApplicationType Labels\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL = \"Municipal consumer account number\";\n static PERSON_RESPONSIBLE_CONTROL_LABEL = \"Person responsible\";\n static ADVERTISEMENTS_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENTS_FORM_CONTROL_NAME = \"advertisements\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static APPLICATION_DURATION_FORM_CONTROL_NAME = \"permanentApplicationDuration\";\n static DISPLAY_START_DATE_FORM_CONTROL_NAME = \"displayStartDate\";\n static DISPLAY_END_DATE_FORM_CONTROL_NAME = \"displayEndDate\";\n static DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME = \"displayRemovalDate\";\n static NUMBER_OF_POSTERS_FORM_CONTROL_NAME = \"numberOfPosters\";\n static NAME_OF_BUSINESS_FORM_CONTROL_NAME = \"nameOfBusiness\";\n static NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME = \"notifySignageRemovalPeriod\";\n static POSITION_OF_DISPLAY_FORM_CONTROL_NAME = \"positionOfDisplay\";\n static HEIGHT_FORM_CONTROL_NAME = \"dimensionsH\";\n static WIDTH_FORM_CONTROL_NAME = \"dimensionsW\";\n static DEPTH_FORM_CONTROL_NAME = \"dimensionsD\";\n static MATERIAL_FORM_CONTROL_NAME = \"material\";\n static COLOURS_FORM_CONTROL_NAME = \"colours\";\n static FRONTAL_AREA_FORM_CONTROL_NAME = \"frontalArea\";\n static TOTAL_AREA_FORM_CONTROL_NAME = \"totalArea\";\n static SIGN_TYPE_FORM_CONTROL_NAME = \"signType\";\n static WEIGHT_FORM_CONTROL_NAME = \"weight\";\n static WATTAGE_FORM_CONTROL_NAME = \"wattage\";\n static SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME = \"contractorName\";\n static SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME = \"contractorAddress\";\n static SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME = \"contractorTelephone\";\n static FOR_SALE_FORM_CONTROL_NAME = \"forSale\";\n static ON_SHOW_FORM_CONTROL_NAME = \"onShow\";\n static TO_LET_FORM_CONTROL_NAME = \"toLet\";\n static SOLD_FORM_CONTROL_NAME = \"sold\";\n static OTHER_FORM_CONTROL_NAME = \"otherOneYear\";\n static CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME = \"constructionBoardSign\";\n // 5year permanent\n static GROUND_SIGN_FORM_CONTROL_NAME = \"groundSign\";\n static FLAG_FORM_CONTROL_NAME = \"flag\";\n static SANDWICH_BOARD_FORM_CONTROL_NAME = \"sandwichBoard\";\n static PYLON_FORM_CONTROL_NAME = \"pylon\";\n static WALL_SIGN_FORM_CONTROL_NAME = \"wallSign\";\n static BILLBOARD_FORM_LABEL = \"Billboard\";\n static BILLBOARD_FORM_CONTROL_NAME = \"billboard\";\n static BUILDING_ATTACHMENT_FORM_CONTROL_NAME = \"buildingAttachment\";\n static PROJECTING_WALL_SIGN_FORM_CONTROL_NAME = \"projectingWallSign\";\n static WALL_PAINTED_FORM_CONTROL_NAME = \"wallPainted\";\n static ROOF_SIGN_FORM_CONTROL_NAME = \"roofSign\";\n static SKY_SIGN_FORM_CONTROL_NAME = \"skySign\";\n static VERANDA_FORM_CONTROL_NAME = \"veranda\";\n static AERIAL_SIGN_FORM_CONTROL_NAME = \"aerialSign\";\n static WINDOW_SIGN_FORM_CONTROL_NAME = \"windowSign\";\n static SCHOOL_SIGN_FORM_CONTROL_NAME = \"schoolSign\";\n static COMBINATION_SIGN_FORM_CONTROL_NAME = \"combinationSign\";\n static UNDER_AWNING_SIGN_FORM_CONTROL_NAME = \"underAwningSign\";\n static FLAG_SIGN_FORM_CONTROL_NAME = \"flagSign\";\n static CANOPY_FORM_CONTROL_NAME = \"canopy\";\n static BALCONY_FORM_CONTROL_NAME = \"balcony\";\n static ELECTRONIC_SIGN_FORM_CONTROL_NAME = \"electronicSign\";\n static DEVELOPMENT_BOARD_FORM_CONTROL_NAME = \"developmentBoard\";\n static OTHER_FIVE_YEAR_FORM_CONTROL_NAME = \"otherFiveYear\";\n static NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"nonIlluminatedBillboard\";\n static DIGITAL_BILLBOARD_FORM_CONTROL_NAME = \"digitalBillboard\";\n static NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"nonIlluminatedGantry\";\n static DIGITAL_GANTRY_FORM_CONTROL_NAME = \"digitalGantry\";\n static INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME = \"internallyIlluminatedBillboard\";\n static INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME = \"internallyIlluminatedGantry\";\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static MODAL_DIALOG_TITLE = \"Are you sure you want to change the advertisement type\";\n static MODAL_DIALOG_MESSAGE = \"Changing the advertisement type will erase all the information that has already been captured in the location details. Do you want to continue changing the advertisement type?\";\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n // Permanent ApplicationType Controls\n static MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME = \"municipalConsumerAccountNumber\";\n static PERSON_RESPONSIBLE_CONTROL_NAME = \"personResponsible\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationDuration: {\n required: `Application duration ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayStartDate: {\n required: `Display start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayEndDate: {\n required: `Display end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n displayRemovalDate: {\n required: `Display removal date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n numberOfPosters: {\n required: `Number of posters ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nameOfBusiness: {\n required: `Name of business ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n notifySignageRemovalPeriod: {\n required: `Notify signage removal period ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n positionOfTheDisplay: {\n required: `Position of the display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n height: {\n required: `Height ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n width: {\n required: `Width ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n depth: {\n required: `Depth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n material: {\n required: `Material ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n colours: {\n required: `Colours ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n frontalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n totalArea: {\n required: `Frontal area ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signType: {\n required: `Sign type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n weight: {\n required: `Weight ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n wattage: {\n required: `Wattage ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractor: {\n required: `Sign contractor name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorAddress: {\n required: `Sign contractor address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n signContractorTelephone: {\n required: `Sign contractor telephone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedBillboard: {\n required: `Non-Illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalBillboard: {\n required: `Digital billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nonIlluminatedGantry: {\n required: `Non-Illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n digitalGantry: {\n required: `digital gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedBillboard: {\n required: `Internally illuminated billboard ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n internallyIlluminatedGantry: {\n required: `Internally illuminated gantry ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n municipalConsumerAccountNumber: {\n required: `Municipal consumer account number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-a.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-a.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { LookupConstants } from \"../../../../shared/constants/lookup.constants\";\nimport { ViewApplicationLocationAConstants } from \"./view-application-location-a.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { MapTools } from \"../../../../map/shared/map.tools\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationAComponent = class ViewApplicationLocationAComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n mapService;\n applicationCreateService;\n mapTools;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n showMap = true;\n activeTabIndex;\n advertisementsForm;\n detailsForm;\n descriptionLabel1 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationAConstants.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationAConstants.VALIDATION_MESSAGES;\n advertisementsFormGroupName = ViewApplicationLocationAConstants.ADVERTISEMENT_FORM_GROUP_NAME;\n advertisementsFormControlName = ViewApplicationLocationAConstants.ADVERTISEMENT_FORM_CONTROL_NAME;\n areaOfDisplayFormControlName = ViewApplicationLocationAConstants.AREA_OF_DISPLAY_FORM_CONTROL_NAME;\n isAdvertisementPermanentOrTemporaryFormControlName = ViewApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationLocationAConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n typeLabel = ViewApplicationLocationAConstants.APPLICATION_TYPE_LABEL;\n streetNamesFormControl = ViewApplicationLocationAConstants.STREET_NAMES_FORM_CONTROL;\n propertyDescriptionFormControlName = ViewApplicationLocationAConstants.PROPERTY_DESCRIPTION_FORM_CONTROL_NAME;\n addressOrStreetFormControlName = ViewApplicationLocationAConstants.ADDRESS_OR_STREET_FORM_CONTROL_NAME;\n areaOfDisplayLabel = ViewApplicationLocationAConstants.AREA_OF_CONTROL_LABEL;\n streetNamesLabel = ViewApplicationLocationAConstants.STREET_NAMES_LABEL;\n propertyDescriptionLabel = ViewApplicationLocationAConstants.PROPERTY_DESCRIPTION_LABEL;\n addressOrStreetLabel = ViewApplicationLocationAConstants.ADDRESS_OR_STREET_LABEL;\n isAdvertisementPermanentOrTemporaryFormLabel = ViewApplicationLocationAConstants.IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL;\n selectedApplicationStatus;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n areaOfDisplayLookups = LookupConstants.AREA_OF_DISPLAY_LOOKUPS_A;\n showPermanentApplicationsFields = false;\n showTemporaryApplicationsFields = false;\n permanentOrTemporaryLookupOptions = ViewApplicationLocationAConstants.PERMANENT_OR_TEMPORARY_LOOKUPS_A;\n applicationTypesLookups = [];\n isMapLoaded = false;\n sketchTool;\n selectedGraphic = null;\n applicationLoaded = false;\n mapComponent;\n application;\n getApplicationsQuerySubscription;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, mapService, applicationCreateService, mapTools, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.mapService = mapService;\n this.applicationCreateService = applicationCreateService;\n this.mapTools = mapTools;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.getMetadata();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.getApplicationLocationDetails(application);\n this.applicationLoaded = true;\n }\n }\n });\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: \"point, polygon\",\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.point = response.value[0]?.point;\n application.polygon = response.value[0]?.polygon;\n this.application = application;\n this.onGetApplicationDataCompleted(application);\n this.applicationLoaded = true;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getAdvertisements().clear();\n const shape = application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"permanent\" ? application.point.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getAdvertisements();\n const advertisingFormGroup = this.createAdvertisingFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialAdvertisingForm(advertisingFormGroup);\n this.setTrueCentroid(advertisingFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationAConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n configureInitialAdvertisingForm(formGroup) {\n const isAdvertisingPermanentOrTemporaryValue = formGroup.get(this.isAdvertisementPermanentOrTemporaryFormControlName).value;\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"temporary\") {\n this.configureFormsForTemporaryAdvertisingForm();\n }\n if (isAdvertisingPermanentOrTemporaryValue?.toLowerCase() === \"permanent\") {\n this.configureFormsForPermanentAdvertisingForm();\n }\n }\n createAdvertisingFormGroup(application) {\n let geometryArc;\n if (application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"permanent\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.point.shape, 102100);\n }\n if (application.isAdvetisingPermanentOrTemporary.toLowerCase() === \"temporary\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const advertisingFormGroup = new FormGroup({\n areaOfDisplay: new FormControl({ value: application?.polygon?.areaOfDisplay, disabled: true }),\n isAdvetisingPermanentOrTemporary: new FormControl({\n value: application?.isAdvetisingPermanentOrTemporary,\n disabled: true\n }),\n streetNames: new FormControl({ value: application?.polygon?.streetNames, disabled: true }),\n streetOrAddress: new FormControl({ value: application?.polygon?.addressStreetInformation, disabled: true }),\n addressStreetInformation: new FormControl({ value: application?.point?.addressStreetInformation, disabled: true }),\n type: new FormControl({ value: application?.type, disabled: true }),\n propertyDescription: new FormControl({ value: application?.polygon?.propertyDescription, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null, [Validators.required]),\n });\n this.advertisementsForm.get(this.isAdvertisementPermanentOrTemporaryFormControlName).setValue(application.isAdvetisingPermanentOrTemporary);\n this.advertisementsForm.disable();\n return advertisingFormGroup;\n }\n getAdvertisements() {\n return this.advertisementsForm.get(this.advertisementsFormControlName);\n }\n initForm() {\n this.advertisementsForm = this.aflaModuleStrategyService.form.get(this.advertisementsFormGroupName);\n }\n syncMapGeometries() {\n const geometries = [];\n this.getAdvertisements().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n try {\n this.mapComponent.addGeometriesOnMap(geometries, \"Advertising graphics\", true);\n }\n catch (e) {\n this.requestStatusService.removeBusySpinner(\"GetPropertyData\");\n }\n }\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationCreateService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n this.onGetLookupsCompleted(lookups);\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Lookups\", error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(lookups) {\n this.applicationTypesLookups = [];\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypesLookups.push(lookUpContent);\n }\n });\n this.listenForSelectedApplication();\n this.changeDetectorRefs.detectChanges();\n }\n configureFormsForTemporaryAdvertisingForm() {\n this.showTemporaryApplicationsFields = true;\n }\n configureFormsForPermanentAdvertisingForm() {\n this.showPermanentApplicationsFields = true;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ApplicationCreateService },\n { type: MapTools },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esriMap\", { static: false },] }]\n };\n};\nViewApplicationLocationAComponent = __decorate([\n Component({\n selector: \"app-view-application-location-a\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationAComponent);\nexport { ViewApplicationLocationAComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationAConstants {\n static DESCRIPTION_LABEL_1 = \"Search the map to find the advertisement for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct advertisement and click on the advertisement. Click on 'add advertisement' in the window that appears on the map after you selected the advertisement.\";\n static DESCRIPTION_LABEL_3 = \"The advertisement will be added and the fields must be completed for the advertisement.\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL = \"Is the advertising permanent or temporary?\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static ADVERTISEMENT_FORM_GROUP_NAME = \"advertisementsForm\";\n static ADVERTISEMENT_FORM_CONTROL_NAME = \"advertisements\";\n static AREA_OF_DISPLAY_FORM_CONTROL_NAME = \"areaOfDisplay\";\n static IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME = \"isAdvetisingPermanentOrTemporary\";\n static STREET_NAMES_FORM_CONTROL = \"streetNames\";\n static PROPERTY_DESCRIPTION_FORM_CONTROL_NAME = \"propertyDescription\";\n static ADDRESS_OR_STREET_FORM_CONTROL_NAME = \"addressStreetInformation\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static AREA_OF_CONTROL_LABEL = \"Area of control\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static STREET_NAMES_LABEL = \"Street names\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description (If it is a private sale or permanent advertisement)\";\n static ADDRESS_OR_STREET_LABEL = \"Address / Street information\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n areaOfDisplay: {\n required: `Area of display ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, streetNames: {\n required: `Street names ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, propertyDescription: {\n required: `Property description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, addressOrStreet: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isAdvertisingPermanentOrTemporary: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `is advertising permanent or temporary ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n static PERMANENT_OR_TEMPORARY_LOOKUPS_A = [{ code: \"permanent\", value: \"permanent\" }, { code: \"temporary\", value: \"temporary\" }];\n static POLYGON_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n point: false, circle: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static POINT_SKETCH_TOOLS_OPTIONS = {\n createTools: {\n circle: false, polygon: false, polyline: false, rectangle: false\n }, selectionTools: {\n \"lasso-selection\": false, \"rectangle-selection\": false\n }\n };\n static MODAL_OPTIONS = {\n size: \"xl\",\n centered: true,\n keyboard: false,\n backdrop: \"static\"\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsItamsConstants } from \"../../it/view-application-details-itams/view-application-details-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsBlConstants } from \"./view-application-details-bl.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { take } from \"rxjs/operators\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nlet ViewApplicationDetailsBlComponent = class ViewApplicationDetailsBlComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n recipientService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsBlConstants.VALIDATION_MESSAGES;\n descriptionFormControlName = ViewApplicationDetailsBlConstants.DESCRIPTION_FORM_CONTROL_NAME;\n typeFormControlName = ViewApplicationDetailsBlConstants.TYPE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n descriptionLabel = ViewApplicationDetailsBlConstants.DESCRIPTION_LABEL;\n typeLabel = ViewApplicationDetailsBlConstants.TYPE_LABEL;\n tradeNameLabel = ViewApplicationDetailsBlConstants.TRADE_NAME_LABEL;\n tradeNameFormControlName = ViewApplicationDetailsBlConstants.TRADE_NAME_CONTROL;\n businessOwnerLabel = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_LABEL;\n businessOwnerFormControlName = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_CONTROL;\n businessOwnerHeading = ViewApplicationDetailsBlConstants.BUSINESS_OWNER_HEADING;\n businessOwnerDisableFilterBy = true;\n businessOwnerDisableEditing = false;\n businessOwnerGroups = [];\n applicationTypes = [];\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, recipientService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.recipientService = recipientService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n try {\n this.businessOwnerGroups = stepMeta.businessOwnerGroup;\n this.changeDetectorRef.detectChanges();\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n handleRouteChange() {\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(ViewApplicationDetailsBlConstants.DETAILS_FORM_GROUP_NAME);\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n });\n this.applicationTypes = applicationTypes;\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.typeFormControlName).setValue(application.type);\n this.detailsForm.get(this.typeFormControlName).disable();\n this.detailsForm.get(this.tradeNameFormControlName).setValue(application.tradeName);\n this.detailsForm.get(this.tradeNameFormControlName).disable();\n this.getBusinessOwnerByApplicantId(application.businessOwnerId);\n }\n ngAfterViewInit() {\n }\n getBusinessOwnerByApplicantId(businessOwnerId) {\n const params = {\n $expand: \"groups\",\n $filter: `id eq ${businessOwnerId} and deleted eq false`\n };\n this.recipientService.getRecipientsObservable(params).pipe(take(1)).subscribe({\n next: (recipients) => {\n if (recipients.length > 0) {\n const savedBusinessOwner = recipients[0];\n this.detailsForm.get(this.businessOwnerFormControlName).setValue(savedBusinessOwner);\n this.detailsForm.get(this.businessOwnerFormControlName).disable();\n }\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"business owner\", error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsBlComponent = __decorate([\n Component({\n selector: \"app-view-application-details-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsBlComponent);\nexport { ViewApplicationDetailsBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsBlConstants {\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static DESCRIPTION_LABEL = \"Description\";\n static TYPE_LABEL = \"Application type\";\n static TRADE_NAME_LABEL = \"Trade name under which business to be conducted?\";\n static BUSINESS_OWNER_LABEL = \"Business owner\";\n static BUSINESS_OWNER_HEADING = \"Business owner\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADE_NAME_CONTROL = \"tradeName\";\n static BUSINESS_OWNER_CONTROL = \"businessOwner\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n type: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n tradeName: {\n required: `Trade name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n businessOwner: {\n required: `Business owner ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-bl.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-bl.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationLocationBlConstants } from \"./view-application-location-bl.constants\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationBlComponent = class ViewApplicationLocationBlComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationBlConstants.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationBlConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewApplicationLocationBlConstants.ERF_NO_CONTROL;\n propertiesFormGroupName = ViewApplicationLocationBlConstants.PROPERTIES_FORM_GROUP_NAME;\n centroidFromControlName = ViewApplicationLocationBlConstants.CENTROID_CONTROL;\n propertiesFormControlName = ViewApplicationLocationBlConstants.PROPERTIES_FORM_CONTROL;\n subdivisionControl = ViewApplicationLocationBlConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationBlConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationBlConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationBlConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationBlConstants.ADDRESS_CONTROL;\n unitNumberControl = ViewApplicationLocationBlConstants.UNIT_NUMBER_CONTROL;\n shopNumberControl = ViewApplicationLocationBlConstants.SHOP_NUMBER_CONTROL;\n titleDeedNumberControl = ViewApplicationLocationBlConstants.TITLE_DEED_NUMBER_CONTROL;\n titleDeedDescriptionNumberControl = ViewApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationBlConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationBlConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationBlConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationBlConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationBlConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationBlConstants.ADDRESS_TEXT_PLACEHOLDER;\n unitNumberPlaceHolder = ViewApplicationLocationBlConstants.UNIT_NUMBER_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationBlConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n shopNumberTextPlaceHolder = ViewApplicationLocationBlConstants.SHOP_NUMBER_TEXT_PLACEHOLDER;\n titleDeedNumberTextPlaceHolder = ViewApplicationLocationBlConstants.TITLE_DEED_NUMBER_TEXT_PLACEHOLDER;\n nameOfAccommodationTextPlaceholder = ViewApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER;\n nameOfAccommodationControl = ViewApplicationLocationBlConstants.NAME_OF_ACCOMMODATION_CONTROL;\n titleDeedDescriptionTextPlaceHolder = ViewApplicationLocationBlConstants.TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removePropertyLabel = ViewApplicationLocationBlConstants.REMOVE_PROPERTY_LABEL;\n geometryControl = ViewApplicationLocationBlConstants.GEOMETRY_CONTROL;\n applicationLoaded = false;\n subdivisionControlRequired = true;\n farmNoControlRequired = true;\n erfNoControlRequired = true;\n mapComponent;\n application;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(this.propertiesFormGroupName);\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n mapLoaded() {\n this.syncMapGeometries();\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n this.selectedApplication?.properties?.sort((a, b) => (b?.id - a?.id));\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl);\n this.syncMapGeometries();\n });\n }\n }\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(this.geometryControl).value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationBlConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBlConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n createFormGroup(savedProperty, geom) {\n return new FormGroup({\n id: new FormControl(savedProperty.id),\n erfNo: new FormControl(savedProperty.erfNumber),\n subdivision: new FormControl(savedProperty.subdivision),\n allotment: new FormControl(savedProperty.allotment),\n farmNo: new FormControl(savedProperty.farmNumber),\n sgCode: new FormControl(savedProperty.sgCode),\n address: new FormControl(savedProperty.address),\n geometry: new FormControl(geom),\n unitNumber: new FormControl(savedProperty.unitNumber),\n shopNumber: new FormControl(savedProperty.shopNumber),\n accommodationName: new FormControl(savedProperty.accommodationName),\n titleDeedNumber: new FormControl(savedProperty.titleDeedNumber),\n titleDeedDescription: new FormControl(savedProperty.titleDeedDescription),\n centroid: new FormControl(null)\n });\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.farmNoControl).disable();\n propertyControl.get(this.unitNumberControl).disable();\n propertyControl.get(this.shopNumberControl).disable();\n propertyControl.get(this.nameOfAccommodationControl).disable();\n propertyControl.get(this.titleDeedNumberControl).disable();\n propertyControl.get(this.titleDeedDescriptionNumberControl).disable();\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = false;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesFormControlName);\n }\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationBlComponent = __decorate([\n Component({\n selector: \"app-view-application-location-bl\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationBlComponent);\nexport { ViewApplicationLocationBlComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationBlConstants {\n static STEP_TITLE = \"Location\";\n static GEOMETRY_CONTROL = \"geometry\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static LAYER_REF = \"Property graphics\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static PROPERTY_REQUIRED = \"Please select a property before saving or continuing with the application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static UNIT_NUMBER_CONTROL = \"unitNumber\";\n static SHOP_NUMBER_CONTROL = \"shopNumber\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static NAME_OF_ACCOMMODATION_CONTROL = \"accommodationName\";\n static TITLE_DEED_DESCRIPTION_CONTROL = \"titleDeedDescription\";\n static PROPERTIES_FORM_CONTROL = \"properties\";\n static PROPERTIES_FORM_GROUP_NAME = \"propertiesForm\";\n static CENTROID_CONTROL = \"centroid\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static UNIT_NUMBER_PLACEHOLDER = \"Unit number\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static SHOP_NUMBER_TEXT_PLACEHOLDER = \"Shop number\";\n static TITLE_DEED_NUMBER_TEXT_PLACEHOLDER = \"Title deed number (Lot number)\";\n static NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER = \"Name of accommodation\";\n static TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER = \"Title deed description\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedNumber: {\n required: `Title deed number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, titleDeedDescription: {\n required: `Title deed description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-bpams.component.scss?ngResource\";\nimport { Component } from \"@angular/core\";\nimport { ViewApplicationDetailsBpamsConstants } from \"./view-application-details-bpams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AppControllerService } from \"src/app/app-controller.service\";\nlet ViewApplicationDetailsBpamsComponent = class ViewApplicationDetailsBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n appController;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = ViewApplicationDetailsBpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n descriptionLabel = ViewApplicationDetailsBpamsConstants.DESCRIPTION_LABEL;\n isMinorBuildingWorkLabel = ViewApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_LABEL;\n sectorLabel = ViewApplicationDetailsBpamsConstants.SECTOR_LABEL;\n isRDPLabel = ViewApplicationDetailsBpamsConstants.IS_RDP_LABEL;\n buildingUseLabel = ViewApplicationDetailsBpamsConstants.BUILDING_USE_LABEL;\n typeLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_TYPE_LABEL;\n estimatedByLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_LABEL;\n estimatedCostLabel = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_LABEL;\n previousReferenceNumberLabel = ViewApplicationDetailsBpamsConstants.PREVIOUS_REFERENCE_NUMBER_LABEL;\n isResubmissionLabel = ViewApplicationDetailsBpamsConstants.IS_RESUBMISSION_LABEL;\n isMinorBuildingWorkFormControlName = ViewApplicationDetailsBpamsConstants.IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME;\n sectorFormControlName = ViewApplicationDetailsBpamsConstants.SECTOR_FORM_CONTROL_NAME;\n isRDPFormControlName = ViewApplicationDetailsBpamsConstants.IS_RDP_FORM_CONTROL_NAME;\n buildingUseFormControlName = ViewApplicationDetailsBpamsConstants.BUILDING_USE_FORM_CONTROL_NAME;\n typeFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n estimatedByFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME;\n estimatedCostFormControlName = ViewApplicationDetailsBpamsConstants.APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME;\n previousReferenceNumberFormControlName = ViewApplicationDetailsBpamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n isResubmissionFormControlName = ViewApplicationDetailsBpamsConstants.IS_RESUBMISSION_FORM_CONTROL_NAME;\n application;\n selectedApplicationSubscription;\n supportResubmissions = false;\n isResubmission = false;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService, appController) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n this.appController = appController;\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedApplication();\n this.listenForRouteParamChange();\n if (this.appController.moduleAllowResubmission) {\n this.supportResubmissions = true;\n }\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).setValue(application.isMinorBuildingWork);\n this.detailsForm.get(this.isMinorBuildingWorkFormControlName).disable();\n this.detailsForm.get(this.sectorFormControlName).setValue(application.sector);\n this.detailsForm.get(this.sectorFormControlName).disable();\n this.detailsForm.get(this.isRDPFormControlName).setValue(application.isRdp);\n this.detailsForm.get(this.isRDPFormControlName).disable();\n this.detailsForm.get(this.buildingUseFormControlName).setValue(application.buildingUse);\n this.detailsForm.get(this.buildingUseFormControlName).disable();\n this.detailsForm.get(this.typeFormControlName).setValue(application.applicationType);\n this.detailsForm.get(this.typeFormControlName).disable();\n this.detailsForm.get(this.estimatedByFormControlName).setValue(application.applicationEstimatedBy);\n this.detailsForm.get(this.estimatedByFormControlName).disable();\n this.detailsForm.get(this.estimatedCostFormControlName).setValue(application.applicationEstimatedCost);\n this.detailsForm.get(this.estimatedCostFormControlName).disable();\n this.detailsForm.get(this.isResubmissionFormControlName).setValue(application.isResubmission);\n this.detailsForm.get(this.isResubmissionFormControlName).disable();\n this.detailsForm.get(this.previousReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n this.detailsForm.get(this.previousReferenceNumberFormControlName).disable();\n if (application.isResubmission) {\n this.isResubmission = application.isResubmission;\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService },\n { type: AppControllerService }\n ];\n};\nViewApplicationDetailsBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsBpamsComponent);\nexport { ViewApplicationDetailsBpamsComponent };\n","export class ViewApplicationDetailsBpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static IS_MINOR_BUILDING_WORK_LABEL = \"Is there minor building work?\";\n static SECTOR_LABEL = \"Sector\";\n static IS_RDP_LABEL = \"Is it an RDP house?\";\n static BUILDING_USE_LABEL = \"Building use\";\n static APPLICATION_TYPE_LABEL = \"Type\";\n static APPLICATION_ESTIMATED_BY_LABEL = \"Estimated by\";\n static APPLICATION_ESTIMATED_COST_LABEL = \"Estimated project cost (R)\";\n static PREVIOUS_REFERENCE_NUMBER_LABEL = \"Previous reference number\";\n static IS_RESUBMISSION_LABEL = \"Is this application a resubmission?\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME = \"isMinorBuildingWork\";\n static SECTOR_FORM_CONTROL_NAME = \"sector\";\n static IS_RDP_FORM_CONTROL_NAME = \"isRDP\";\n static BUILDING_USE_FORM_CONTROL_NAME = \"buildingUse\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME = \"applicationEstimatedBy\";\n static APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME = \"applicationEstimatedCost\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"previousReferenceNumber\";\n static IS_RESUBMISSION_FORM_CONTROL_NAME = \"isResubmission\";\n}\n","export var PropertyBuildingHeadingEnum;\n(function (PropertyBuildingHeadingEnum) {\n PropertyBuildingHeadingEnum[\"Floor\"] = \"Floor\";\n PropertyBuildingHeadingEnum[\"ExistingSize\"] = \"Existing Size\";\n PropertyBuildingHeadingEnum[\"AddedSize\"] = \"Added Size\";\n PropertyBuildingHeadingEnum[\"BuildingNameNumber\"] = \"Building name / number\";\n})(PropertyBuildingHeadingEnum || (PropertyBuildingHeadingEnum = {}));\nexport const PropertyBuildingHeadingEnumHeadingLookup = new Map([\n [PropertyBuildingHeadingEnum.Floor, \"floor\"],\n [PropertyBuildingHeadingEnum.ExistingSize, \"existingSize\"],\n [PropertyBuildingHeadingEnum.AddedSize, \"addedSize\"],\n [PropertyBuildingHeadingEnum.BuildingNameNumber, \"buildingNameNumber\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ViewApplicationLocationBpamsConstants } from \"./view-application-location-bpams.constants\";\nimport { PropertyBuildingHeadingEnumHeadingLookup } from \"./property-building-heading.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationBpamsComponent = class ViewApplicationLocationBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n erfNoControl = ViewApplicationLocationBpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationBpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationBpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationBpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationBpamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationBpamsConstants.ADDRESS_CONTROL;\n erfSizeControl = ViewApplicationLocationBpamsConstants.ERF_SIZE_CONTROL;\n titleDeedControl = ViewApplicationLocationBpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = ViewApplicationLocationBpamsConstants.ZONE_CONTROL;\n ownerControl = ViewApplicationLocationBpamsConstants.OWNER_CONTROL;\n propertiesControl = ViewApplicationLocationBpamsConstants.PROPERTIES_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationBpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationBpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationBpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationBpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationBpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationBpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationBpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationBpamsConstants.ZONE_LABEL;\n addZoneLabel = ViewApplicationLocationBpamsConstants.ADD_ZONE_LABEL;\n removePropertyLabel = ViewApplicationLocationBpamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = ViewApplicationLocationBpamsConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerDisableDelete = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n fullApplicationCheckRequired = false;\n showOnlyPropertyAndZoningLayers = true;\n propertyDescriptionTextPlaceHolder = ViewApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_LABEL;\n propertyDescriptionControl = ViewApplicationLocationBpamsConstants.PROPERTY_DESCRIPTION_CONTROL;\n titleDeedRestrictionsTextPlaceHolder = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_LABEL;\n titleDeedRestrictionsControl = ViewApplicationLocationBpamsConstants.TITLE_DEED_RESTRICTION_CONTROL;\n externalWallsTextPlaceHolder = ViewApplicationLocationBpamsConstants.EXTERNAL_WALLS_LABEL;\n internalWallsTextPlaceHolder = ViewApplicationLocationBpamsConstants.INTERNAL_WALLS_LABEL;\n roofingTextPlaceHolder = ViewApplicationLocationBpamsConstants.ROOFING_LABEL;\n numberOfHousesUnitsTextPlaceHolder = ViewApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_LABEL;\n externalWallsControl = ViewApplicationLocationBpamsConstants.EXTERNAL_WALLS_CONTROL;\n internalWallsControl = ViewApplicationLocationBpamsConstants.INTERNAL_WALLS_CONTROL;\n roofingControl = ViewApplicationLocationBpamsConstants.ROOFING_CONTROL;\n numberOfHousesUnitsControl = ViewApplicationLocationBpamsConstants.NUMBER_OF_HOUSES_UNITS_CONTROL;\n buildingDetailsLabel = ViewApplicationLocationBpamsConstants.BUILDING_DETAILS_LABEL;\n mainBuildingLabel = ViewApplicationLocationBpamsConstants.MAIN_BUILDING_LABEL;\n outBuildingLabel = ViewApplicationLocationBpamsConstants.OUT_BUILDING_LABEL;\n totalLabel = ViewApplicationLocationBpamsConstants.TOTAL_LABEL;\n buildingTotalLabel = ViewApplicationLocationBpamsConstants.BUILDING_TOTAL_LABEL;\n stoepLabel = ViewApplicationLocationBpamsConstants.STOEP_LABEL;\n miscellaneousLabel = ViewApplicationLocationBpamsConstants.MISCELLANEOUS_LABEL;\n totalExistingPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_LABEL;\n totalAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_LABEL;\n totalFloorAreaTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_LABEL;\n totalExistingControl = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_CONTROL;\n totalAddedControl = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_CONTROL;\n totalFloorAreaControl = ViewApplicationLocationBpamsConstants.TOTAL_FLOOR_AREA_CONTROL;\n // patio\n coveredExistingTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERED_EXISTING_LABEL;\n coveredAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERED_ADDED_LABEL;\n openExistingTextPlaceHolder = ViewApplicationLocationBpamsConstants.OPEN_EXISTING_LABEL;\n openAddedTextPlaceHolder = ViewApplicationLocationBpamsConstants.OPEN_ADDED_LABEL;\n totalExistingPatioTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_LABEL;\n totalAddedPatioTextPlaceHolder = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_LABEL;\n coveredExistingControl = ViewApplicationLocationBpamsConstants.COVERED_EXISTING_CONTROL;\n coveredAddedControl = ViewApplicationLocationBpamsConstants.COVERED_ADDED_CONTROL;\n openExistingControl = ViewApplicationLocationBpamsConstants.OPEN_EXISTING_CONTROL;\n openAddedControl = ViewApplicationLocationBpamsConstants.OPEN_ADDED_CONTROL;\n totalExistingPatioControl = ViewApplicationLocationBpamsConstants.TOTAL_EXISTING_PATIO_CONTROL;\n totalAddedPatioControl = ViewApplicationLocationBpamsConstants.TOTAL_ADDED_PATIO_CONTROL;\n // misc\n poolTextPlaceHolder = ViewApplicationLocationBpamsConstants.POOL_LABEL;\n boundaryWallHeightTextPlaceHolder = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_LABEL;\n boundaryWallRunningTextPlaceHolder = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_LABEL;\n coverageTextPlaceHolder = ViewApplicationLocationBpamsConstants.COVERAGE_LABEL;\n bulkCalculationTextPlaceHolder = ViewApplicationLocationBpamsConstants.BULK_CALCULATION_LABEL;\n calculationsLabel = ViewApplicationLocationBpamsConstants.CALCULATIONS_LABEL;\n poolControl = ViewApplicationLocationBpamsConstants.POOL_CONTROL;\n boundaryWallHeightControl = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_HEIGHT_CONTROL;\n boundaryWallRunningControl = ViewApplicationLocationBpamsConstants.BOUNDARY_WALL_RUNNING_CONTROL;\n coverageControl = ViewApplicationLocationBpamsConstants.COVERAGE_CONTROL;\n bulkCalculationControl = ViewApplicationLocationBpamsConstants.BULK_CALCULATION_CONTROL;\n propertyApplicationDetailsLabel = ViewApplicationLocationBpamsConstants.PROPERTY_APPLICATION_DETAILS_LABEL;\n removeDialogTitle = ViewApplicationLocationBpamsConstants.REMOVE_DIALOG_TEXT;\n selectPromptMessage = \"Delete-test\";\n zones = [];\n mainTableMapper;\n outTableMapper;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n getLookupsObservableSubscription;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.getZoningLookups();\n this.listenForRouteParamChange();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.mapService.destroyMap();\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(this.zoneControl);\n }\n mainArrayReturned(array, index) {\n this.getProperties().controls[index].get(\"mainTableSelection\").setValue(array);\n }\n outArrayReturned(array, index) {\n this.getProperties().controls[index].get(\"outTableSelection\").setValue(array);\n }\n // TODO Disable styles on template\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n // propertyControl.get(this.buildingUseControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n // propertyControl.get(this.buildingFloorAreaControl).disable();\n propertyControl.get(this.titleDeedControl).disable();\n }\n setZonesControls(newPropertyFormGroup, property) {\n const zonesControl = newPropertyFormGroup.get(this.zoneControl);\n if (property.zonings && property.zonings.length > 0) {\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zones: new FormControl({ value: zoneOption, disabled: true }),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n });\n });\n }\n else {\n const zoneGroup = new FormGroup({\n id: new FormControl(null),\n applicationId: new FormControl(null),\n applicationPropertyId: new FormControl(null),\n zones: new FormControl({ value: null, disabled: true }),\n deleted: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.setZonesControls(newPropertyFormGroup, property);\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.detectChanges();\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n syncMainBuildings(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"mainTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"mainBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n syncOutBuildings(PropertyFormGroup) {\n const items = PropertyFormGroup.get(\"outTableDataSource\").value.getValue();\n const formItems = PropertyFormGroup.get(\"outBuildings\");\n formItems.clear();\n items.forEach(item => {\n const newItem = new FormGroup({\n floor: new FormControl(item.floor),\n existingSize: new FormControl(item.existingSize),\n addedSize: new FormControl(item.addedSize),\n buildingNameNumber: new FormControl(item.buildingNameNumber)\n });\n formItems.push(newItem);\n });\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n initializeColumnToObjectMapping() {\n this.mainTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n this.outTableMapper = PropertyBuildingHeadingEnumHeadingLookup;\n }\n getZoningLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'Zoning'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.value && response.value.length > 0) {\n const zoningLookups = response.value;\n this.onGetZoningLookupsCompleted(zoningLookups);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationBpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetZoningLookupsCompleted(zoningLookups) {\n zoningLookups.forEach(zoneObject => {\n this.zones.push(JSON.parse(zoneObject.content));\n });\n this.getMetadata();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationBpamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n let index = 0;\n this.application.properties.sort((a, b) => (b?.id - a?.id))?.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.propertiesForm.markAllAsTouched();\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property);\n index++;\n });\n }\n }\n }\n createFormGroup(property, geom) {\n const _form = new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n erfSize: new FormControl({ value: property.erfSize, disabled: true }),\n titleDeed: new FormControl({ value: property.titleDeed, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n propertyDescription: new FormControl({ value: property.applicationDescription, disabled: true }),\n applicationRestrictions: new FormControl({ value: property.applicationRestrictions, disabled: true }),\n externalWalls: new FormControl({ value: property.externalWalls, disabled: true }),\n internalWalls: new FormControl({ value: property.internalWalls, disabled: true }),\n roofing: new FormControl({ value: property.roofing, disabled: true }),\n numberOfHouses: new FormControl({ value: property.numberOfHouses, disabled: true }),\n patioCoveredExisting: new FormControl({ value: property.patioCoveredExisting, disabled: true }),\n patioCoveredAdded: new FormControl({ value: property.patioCoveredAdded, disabled: true }),\n patioOpenExisting: new FormControl({ value: property.patioOpenExisting, disabled: true }),\n patioOpenAdded: new FormControl({ value: property.patioOpenAdded, disabled: true }),\n totalExistingPatio: new FormControl({ value: null, disabled: true }),\n totalAddedPatio: new FormControl({ value: null, disabled: true }),\n pool: new FormControl({ value: property.pool, disabled: true }),\n boundaryWallHeight: new FormControl({ value: property.boundaryWallHeight, disabled: true }),\n boundaryWallRunning: new FormControl({ value: property.boundaryWallRunning, disabled: true }),\n coverage: new FormControl({ value: property.coverage, disabled: true }),\n bulkCalculation: new FormControl({ value: property.bulkCalculation, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n zones: new FormArray([]),\n buildings: new FormArray([]),\n owners: new FormControl(property.owners),\n mainBuildings: new FormArray([]),\n outBuildings: new FormArray([]),\n mainTableDataSource: new FormControl(new BehaviorSubject([])),\n mainTableSelection: new FormControl([]),\n outTableDataSource: new FormControl(new BehaviorSubject([])),\n outTableSelection: new FormControl([]),\n totalExisting: new FormControl({ value: 0, disabled: true }),\n totalAdded: new FormControl({ value: 0, disabled: true }),\n totalFloorArea: new FormControl({ value: 0, disabled: true }),\n });\n const mainTableDataSource = _form.get(\"mainTableDataSource\").value;\n const outTableDataSource = _form.get(\"outTableDataSource\").value;\n const mainItems = [];\n const outItems = [];\n property.buildings.forEach(building => {\n if (building.type === \"Main Building\") {\n mainItems.push(building);\n }\n else {\n outItems.push(building);\n }\n });\n mainTableDataSource.next(mainItems);\n outTableDataSource.next(outItems);\n this.syncMainBuildings(_form);\n this.syncOutBuildings(_form);\n this.calculateTotals(_form);\n return _form;\n }\n calculateTotals(PropertyFormGroup) {\n PropertyFormGroup.get(\"coverage\").setValue(0);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(0);\n let totalExistingPatioCalculated = 0.00;\n let totalAddedPatioCalculated = 0.00;\n let totalExistingCalculated = 0.00;\n let totalAddedCalculated = 0.00;\n let totalFloorCalculated = 0.00;\n let totalGroundFloorCalculated = 0.00;\n try {\n if (PropertyFormGroup.get(\"patioCoveredExisting\").value !== null && PropertyFormGroup.get(\"patioCoveredAdded\").value !== null && PropertyFormGroup.get(\"patioOpenExisting\").value !== null && PropertyFormGroup.get(\"patioOpenAdded\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"patioCoveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"patioCoveredAdded\").value;\n const patioOpenExisting = PropertyFormGroup.get(\"patioOpenExisting\").value;\n const patioOpenAdded = PropertyFormGroup.get(\"patioOpenAdded\").value;\n totalExistingPatioCalculated += patioCoverageExisting + patioOpenExisting;\n totalAddedPatioCalculated += patioCoverageAdded + patioOpenAdded;\n PropertyFormGroup.get(\"totalExistingPatio\").setValue(totalExistingPatioCalculated);\n PropertyFormGroup.get(\"totalAddedPatio\").setValue(totalAddedPatioCalculated);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n const mainBuildings = PropertyFormGroup.get(\"mainBuildings\");\n const outbuildings = PropertyFormGroup.get(\"outBuildings\");\n mainBuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n outbuildings.controls.forEach(building => {\n totalExistingCalculated += building.get(\"existingSize\").value;\n totalAddedCalculated += building.get(\"addedSize\").value;\n if (building.get(\"floor\").value === 0) {\n totalGroundFloorCalculated += building.get(\"existingSize\").value;\n totalGroundFloorCalculated += building.get(\"addedSize\").value;\n }\n });\n totalFloorCalculated = totalAddedCalculated + totalExistingCalculated;\n PropertyFormGroup.get(\"totalExisting\").setValue(totalExistingCalculated);\n PropertyFormGroup.get(\"totalAdded\").setValue(totalAddedCalculated);\n PropertyFormGroup.get(\"totalFloorArea\").setValue(totalFloorCalculated);\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n try {\n if (PropertyFormGroup.get(\"patioCoveredExisting\").value !== null && PropertyFormGroup.get(\"patioCoveredAdded\").value !== null && PropertyFormGroup.get(\"erfSize\").value !== null) {\n const patioCoverageExisting = PropertyFormGroup.get(\"patioCoveredExisting\").value;\n const patioCoverageAdded = PropertyFormGroup.get(\"patioCoveredAdded\").value;\n const totalCoveredPatio = 0.00 + patioCoverageExisting + patioCoverageAdded;\n const totalCoveredArea = 0.00 + totalExistingCalculated + totalAddedCalculated + totalCoveredPatio;\n const totalFloorArea = 0.00 + totalGroundFloorCalculated + totalCoveredPatio;\n const totalArea = 0.00 + PropertyFormGroup.get(\"erfSize\").value;\n const covered = totalCoveredArea / totalArea * 100;\n const bulkCalculation = totalFloorArea / totalArea * 100;\n PropertyFormGroup.get(\"coverage\").setValue(Math.round(covered * 100) / 100);\n PropertyFormGroup.get(\"bulkCalculation\").setValue(Math.round(bulkCalculation * 100) / 100);\n }\n }\n catch (e) {\n // Ignore this, the user might give invalid inputs which are handled by the validators\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationBpamsComponent);\nexport { ViewApplicationLocationBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationBpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current Property Zoning\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static MISSING_ZONE_LABEL = \"Missing zone(s):\";\n static MISSING_ZONE_LABEL_EMAIL = \" - Email sent to Administrator\";\n static MISSING_ZONE_LABEL_EMAIL_FAILED = \"Failed to send missing lookups for zones email to module administrator\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n static MISSING_ZONE_EMAIL_SUBJECT = \"Missing property zone(s) - add to lookups\";\n static MISSING_ZONE_EMAIL_CONTENT = \"Please add the following property zone(s) to the lookups:\";\n static PROPERTY_APPLICATION_DETAILS_LABEL = \"Property application details\";\n static BUILDING_DETAILS_LABEL = \"Building details\";\n static MAIN_BUILDING_LABEL = \"Main building\";\n static OUT_BUILDING_LABEL = \"Outbuilding / additional building\";\n static TOTAL_LABEL = \"Total\";\n static BUILDING_TOTAL_LABEL = \"Building Total\";\n static STOEP_LABEL = \"Patios / stoeps\";\n static MISCELLANEOUS_LABEL = \"Miscellaneous\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static PROPERTY_DESCRIPTION_CONTROL = \"propertyDescription\";\n static TITLE_DEED_RESTRICTION_CONTROL = \"applicationRestrictions\";\n static EXTERNAL_WALLS_CONTROL = \"externalWalls\";\n static INTERNAL_WALLS_CONTROL = \"internalWalls\";\n static ROOFING_CONTROL = \"roofing\";\n static NUMBER_OF_HOUSES_UNITS_CONTROL = \"numberOfHouses\";\n static TOTAL_EXISTING_CONTROL = \"totalExisting\";\n static TOTAL_ADDED_CONTROL = \"totalAdded\";\n static TOTAL_FLOOR_AREA_CONTROL = \"totalFloorArea\";\n // patio\n static COVERED_EXISTING_CONTROL = \"patioCoveredExisting\";\n static COVERED_ADDED_CONTROL = \"patioCoveredAdded\";\n static OPEN_EXISTING_CONTROL = \"patioOpenExisting\";\n static OPEN_ADDED_CONTROL = \"patioOpenAdded\";\n static TOTAL_EXISTING_PATIO_CONTROL = \"totalExistingPatio\";\n static TOTAL_ADDED_PATIO_CONTROL = \"totalAddedPatio\";\n // misc\n static POOL_CONTROL = \"pool\";\n static BOUNDARY_WALL_HEIGHT_CONTROL = \"boundaryWallHeight\";\n static BOUNDARY_WALL_RUNNING_CONTROL = \"boundaryWallRunning\";\n static COVERAGE_CONTROL = \"coverage\";\n static BULK_CALCULATION_CONTROL = \"bulkCalculation\";\n // TODO check:\n static FLOOR_CONTROL_NAME = \"floor\";\n static EXISTING_SIZE_CONTROL_NAME = \"existingSize\";\n static ADDED_SIZE_CONTROL_NAME = \"addedSize\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static PROPERTY_DESCRIPTION_LABEL = \"Property description\";\n static TITLE_DEED_RESTRICTION_LABEL = \"Title deed restrictions\";\n static EXTERNAL_WALLS_LABEL = \"External walls\";\n static INTERNAL_WALLS_LABEL = \"Internal walls\";\n static ROOFING_LABEL = \"Roofing\";\n static NUMBER_OF_HOUSES_UNITS_LABEL = \"Number of houses / units\";\n static TOTAL_EXISTING_LABEL = \"Total existing (m²)\";\n static TOTAL_ADDED_LABEL = \"Total added (m²)\";\n static TOTAL_FLOOR_AREA_LABEL = \"Total floor area (m²)\";\n // patio\n static COVERED_EXISTING_LABEL = \"Covered - existing (m²)\";\n static COVERED_ADDED_LABEL = \"Covered - added (m²)\";\n static OPEN_EXISTING_LABEL = \"Open - existing (m²)\";\n static OPEN_ADDED_LABEL = \"Open - added (m²)\";\n static TOTAL_EXISTING_PATIO_LABEL = \"Total - existing (m²)\";\n static TOTAL_ADDED_PATIO_LABEL = \"Total - added (m²)\";\n // misc\n static POOL_LABEL = \"Pool (m2)\";\n static BOUNDARY_WALL_HEIGHT_LABEL = \"Boundary wall height (m)\";\n static BOUNDARY_WALL_RUNNING_LABEL = \"Boundary wall running (m)\";\n static COVERAGE_LABEL = \"Coverage (%)\";\n static BULK_CALCULATION_LABEL = \"Bulk calculation (FAR) (%)\";\n static CALCULATIONS_LABEL = \"Calculations\";\n // TODO: Check\n static REMOVE_DIALOG_TEXT = `${SharedConstants.REMOVE_TITLE} building`;\n static FLOOR_LABEL = \"Floor\";\n static EXISTING_SIZE_LABEL = \"Existing Size (m²)\";\n static ADDED_SIZE_LABEL = \"Added Size (m²)\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Building plans graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n titleDeed: {\n required: `Title deed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n zone: {\n required: `Zone ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-bpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-bpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationProfessionalBodiesBpamsConstants } from \"./view-application-professional-bodies-bpams.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationConstants } from \"../../../shared/view-application.constants\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationProfessionalBodiesBpamsComponent = class ViewApplicationProfessionalBodiesBpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRef;\n routerParamsService;\n professionalBodiesForm;\n componentName = \"view-application-professional-bodes\";\n stepHeader;\n markArchitectAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL;\n markArchitectAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markEngineerAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL;\n markEngineerAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markElectricalContractorAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL;\n markElectricalContractorAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markFireConsultantAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_LABEL;\n markFireConsultantAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME;\n markOtherProfessionalAsNotApplicableLabel = ViewApplicationProfessionalBodiesBpamsConstants.MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_LABEL;\n markOtherProfessionalAsNotApplicableFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.MARK_OTHER_PROFESSIONAL_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 fireConsultantFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.FIRE_CONSULTANT_FORM_CONTROL_NAME;\n otherProfessionalFormControlName = ViewApplicationProfessionalBodiesBpamsConstants.OTHER_PROFESSIONAL_FORM_CONTROL_NAME;\n showArchitect = false;\n showEngineer = false;\n showElectricalContractor = false;\n showFireConsultant = false;\n showOtherProfessional = 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 fireConsultantDisableFilterBy = true;\n fireConsultantDisableAdd = true;\n fireConsultantDisableEditing = true;\n fireConsultantShowFields = true;\n fireConsultantIsInternal = false;\n fireConsultantGroups = [];\n fireConsultantLabel = ViewApplicationProfessionalBodiesBpamsConstants.FIRE_CONSULTANT_LABEL;\n otherProfessionalDisableFilterBy = true;\n otherProfessionalDisableAdd = true;\n otherProfessionalDisableEditing = true;\n otherProfessionalShowFields = true;\n otherProfessionalIsInternal = false;\n otherProfessionalGroups = [];\n otherProfessionalLabel = ViewApplicationProfessionalBodiesBpamsConstants.OTHER_PROFESSIONAL_LABEL;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = true;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesBpamsConstants.ELECTRICAL_CONTRACTOR_LABEL;\n selectedApplicationSubscription;\n selectedModuleNameAsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.listenForRouteParamChange();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"professionalBodiesForm\");\n form.clearValidators();\n this.professionalBodiesForm = form;\n }\n loadMetadata(stepMeta) {\n try {\n this.architectGroups = stepMeta.architectGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.fireConsultantGroups = stepMeta.fireConsultantGroup;\n this.otherProfessionalGroups = stepMeta.otherProfessionalGroup;\n this.populateProfessionalBodiesForms();\n this.changeDetectorRef.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n handleRouteChange() {\n }\n populateProfessionalBodiesForms() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.architect !== undefined && application.architect !== null && application.architect.length > 0) {\n this.showArchitect = true;\n const architect = application.architect[0];\n this.professionalBodiesForm.get(this.architectFormControlName).setValue(architect);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.architectFormControlName).disable();\n }\n if (application && application.engineer !== undefined && application.engineer !== null && application.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = application.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n }\n if (application && application.electricalContractor !== undefined && application.electricalContractor !== null && application.electricalContractor.length > 0) {\n this.showElectricalContractor = true;\n const electricalContractor = application.electricalContractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n }\n if (application && application.fireConsultant !== undefined && application.fireConsultant !== null && application.fireConsultant.length > 0) {\n this.showFireConsultant = true;\n const fireConsultant = application.fireConsultant[0];\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).setValue(fireConsultant);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.fireConsultantFormControlName).disable();\n }\n if (application && application.otherProfessional !== undefined && application.otherProfessional !== null && application.otherProfessional.length > 0) {\n this.showOtherProfessional = true;\n const otherProfessional = application.otherProfessional[0];\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).setValue(otherProfessional);\n this.professionalBodiesForm.markAllAsTouched();\n this.professionalBodiesForm.get(this.otherProfessionalFormControlName).disable();\n }\n }\n });\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.PROFESSIONAL_BODIES_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesBpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-bpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationProfessionalBodiesBpamsComponent);\nexport { ViewApplicationProfessionalBodiesBpamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationProfessionalBodiesBpamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markArchitectAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantDetailsToArchitect\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markEngineerAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to civil engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantDetailsToEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL = \"Are the electrical contractor's details required?\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markElectricalContractorAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantDetailsToElectricalContractor\";\n static MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_LABEL = \"Are the fire consultant's details required?\";\n static MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markFireConsultantAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_LABEL = \"Copy applicant details to fire consultant?\";\n static COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_FORM_CONTROL_NAME = \"copyApplicantDetailsToFireConsultant\";\n static MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_LABEL = \"Are the other professional's details required?\";\n static MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markOtherProfessionalAsNotApplicable\";\n static COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_LABEL = \"Copy applicant details to other professional?\";\n static COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_FORM_CONTROL_NAME = \"copyApplicantDetailsToOtherProfessional\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static FIRE_CONSULTANT_LABEL = \"Fire consultant\";\n static OTHER_PROFESSIONAL_LABEL = \"Other professional\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n static FIRE_CONSULTANT_FORM_CONTROL_NAME = \"fireConsultantRecipients\";\n static OTHER_PROFESSIONAL_FORM_CONTROL_NAME = \"otherProfessionalRecipients\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-burial-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-burial-details-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewBurialDetailsCmConstants } from \"./view-burial-details-cm.constants\";\nimport { SaShortDatePipe } from \"../../../../shared/pipes/sa-short-date/sa-short-date.pipe\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nlet ViewBurialDetailsCmComponent = class ViewBurialDetailsCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n saShortdatePipe;\n routerParamsService;\n burialTypeControl = ViewBurialDetailsCmConstants.BURIAL_TYPE_CONTROL;\n burialTypeLabel = ViewBurialDetailsCmConstants.BURIAL_TYPE_LABEL;\n burialDateControl = ViewBurialDetailsCmConstants.BURIAL_DATE_CONTROL;\n burialDateLabel = ViewBurialDetailsCmConstants.BURIAL_DATE_LABEL;\n burialTypePlaceHolder = ViewBurialDetailsCmConstants.BURIAL_TYPE_PH;\n validationMessages = ViewBurialDetailsCmConstants.VALIDATION_MESSAGES;\n burialDescriptionControl = ViewBurialDetailsCmConstants.DESCRIPTION_CONTROL;\n burialDescriptionLabel = ViewBurialDetailsCmConstants.DESCRIPTION_LABEL;\n title = ViewBurialDetailsCmConstants.STEP_TITLE;\n burialTypes = [];\n burialForm;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, saShortdatePipe, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.saShortdatePipe = saShortdatePipe;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n initForm() {\n this.burialForm = this.aflaModuleStrategyService.form.get(\"burialForm\");\n }\n populateForm(application) {\n this.burialForm.get(this.burialTypeControl).setValue(application.type);\n this.burialForm.get(this.burialDescriptionControl).setValue(application.description);\n this.burialForm.get(this.burialDescriptionControl).disable();\n this.burialForm.get(this.burialTypeControl).disable();\n if (application.burialDate !== undefined && application.burialDate !== null) {\n const dateString = this.saShortdatePipe.transform(application.burialDate);\n this.burialForm.get(this.burialDateControl).setValue(dateString);\n }\n this.burialForm.get(this.burialDateControl).disable();\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.burialTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: SaShortDatePipe },\n { type: RouterParamsService }\n ];\n};\nViewBurialDetailsCmComponent = __decorate([\n Component({\n selector: \"app-view-burial-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewBurialDetailsCmComponent);\nexport { ViewBurialDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewBurialDetailsCmConstants {\n static STEP_TITLE = \"Burial details\";\n static BURIAL_TYPE_CONTROL = \"type\";\n static BURIAL_TYPE_LABEL = \"Burial type\";\n static BURIAL_DATE_CONTROL = \"burialDate\";\n static BURIAL_DATE_LABEL = \"Burial date\";\n static BURIAL_TYPE_PH = \"Select burial type\";\n static DESCRIPTION_CONTROL = \"description\";\n static DESCRIPTION_LABEL = \"Description\";\n static VALIDATION_MESSAGES = {\n burialType: {\n required: `Burial type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n burialDate: {\n required: `Burial date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-deceased-details-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-deceased-details-cm.component.scss?ngResource\";\nimport { DatePipe } from \"@angular/common\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { map, of } from \"rxjs\";\nimport { DeceasedNamesTableHeaderLookup, ViewDeceasedDetailsCmConstant } from \"./view-deceased-details-cm.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { LookupConstants } from \"src/app/shared/constants/lookup.constants\";\nlet ViewDeceasedDetailsCmComponent = class ViewDeceasedDetailsCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n appController;\n changeDetectorRefs;\n aflaModuleStrategyService;\n datePipe;\n selectedApplicationService;\n routerParamsService;\n nameControl = ViewDeceasedDetailsCmConstant.NAME_CONTROL;\n surnameControl = ViewDeceasedDetailsCmConstant.SURNAME_CONTROL;\n startDateControl = ViewDeceasedDetailsCmConstant.START_DATE_CONTROL;\n nameLabel = ViewDeceasedDetailsCmConstant.NAME_LABEL;\n surnameLabel = ViewDeceasedDetailsCmConstant.SURNAME_LABEL;\n startDateLabel = ViewDeceasedDetailsCmConstant.START_DATE_LABEL;\n sexLabel = ViewDeceasedDetailsCmConstant.SEX_LABEL;\n nationalityLabel = ViewDeceasedDetailsCmConstant.NATIONALITY_LABEL;\n maidenNameLabel = ViewDeceasedDetailsCmConstant.MAIDEN_NAME_LABEL;\n placeOfBirthLabel = ViewDeceasedDetailsCmConstant.PALCE_OF_BIRTH_LABEL;\n placeOfDeathLabel = ViewDeceasedDetailsCmConstant.PLACE_OF_DEATH_LABEL;\n provinceOfDeathLabel = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_LABEL;\n identificationTypeLabel = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_LABEL;\n idNumberLabel = ViewDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_LABEL;\n dateOfDeathLabel = ViewDeceasedDetailsCmConstant.DATE_OF_DEATH_LABEL;\n dateOfBirthLabel = ViewDeceasedDetailsCmConstant.DATE_OF_BIRTH_LABEL;\n burialOrderNumberLabel = ViewDeceasedDetailsCmConstant.BURIAL_ORDER_LABEL;\n serialNumenerLabel = ViewDeceasedDetailsCmConstant.SERIAL_NUMBER_LABEL;\n verticalPositionLabel = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_LABEL;\n undertakerLabel = ViewDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_LABEL;\n sexControl = ViewDeceasedDetailsCmConstant.SEX_CONTROL;\n nationalityControl = ViewDeceasedDetailsCmConstant.NATIONALITY_CONTROL;\n maidenNameControl = ViewDeceasedDetailsCmConstant.MAIDEN_NAME_CONTROL;\n placeOfBirthControl = ViewDeceasedDetailsCmConstant.PALCE_OF_BIRTH_CONTROL;\n placeOfDeathControl = ViewDeceasedDetailsCmConstant.PLACE_OF_DEATH_CONTROL;\n provinceOfDeathControl = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_CONTROL;\n identificationTypeControl = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_CONTROL;\n idNumberControl = ViewDeceasedDetailsCmConstant.ID_PASSPORT_NUMBER_CONTROL;\n dateOfDeathControl = ViewDeceasedDetailsCmConstant.DATE_OF_DEATH_CONTROL;\n dateOfBirthControl = ViewDeceasedDetailsCmConstant.DATE_OF_BIRTH_CONTROL;\n burialOrderNumberControl = ViewDeceasedDetailsCmConstant.BURIAL_ORDER_CONTROL;\n serialNumenerControl = ViewDeceasedDetailsCmConstant.SERIAL_NUMBER_CONTROL;\n verticalPositionControl = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_CONTROL;\n undertakerControl = ViewDeceasedDetailsCmConstant.NAME_OF_THE_UNDERTAKER_CONTROL;\n validationMessages = ViewDeceasedDetailsCmConstant.VALIDATION_MESSAGES;\n title = ViewDeceasedDetailsCmConstant.DECEASED_DETAILS_TITLE;\n sexPh = ViewDeceasedDetailsCmConstant.SEX_PH;\n nationalityPh = ViewDeceasedDetailsCmConstant.NATIONALITY_PH;\n provinceOfDeathPh = ViewDeceasedDetailsCmConstant.PROVINCE_OF_DEATH_PH;\n identityTypePh = ViewDeceasedDetailsCmConstant.IDENTITY_TYPE_PH;\n verticalPositionPh = ViewDeceasedDetailsCmConstant.VERTICAL_POSITION_PH;\n deceasedForm;\n tableHeader = DeceasedNamesTableHeaderLookup;\n nationalityLookup = LookupConstants.COUNTRIES;\n tableLabel = ViewDeceasedDetailsCmConstant.TABLE_LABEL;\n provinceLookup = LookupConstants.PROVINCE;\n identificationTypeLookup = [];\n sexLookup = [];\n verticalPositionLookup = [];\n deceasedNameList;\n deceasedNameListObservable;\n lookupConst = {\n IdentificationType: \"IDType\",\n Sex: \"Sex\",\n VerticalPosition: \"VerticalPosition\",\n };\n getLookupsObservableSubscription;\n getApplicationsSubscription;\n constructor(applicationViewService, appController, changeDetectorRefs, aflaModuleStrategyService, datePipe, selectedApplicationService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n populateForm(application) {\n if (application.deceased.length > 0) {\n application.deceased.forEach((deceased) => {\n this.deceasedForm.get(this.sexControl).setValue(deceased.sex);\n this.deceasedForm.get(this.nationalityControl).disable();\n this.deceasedForm.get(this.nationalityControl).setValue(deceased.nationality);\n this.deceasedForm.get(this.maidenNameControl).disable();\n this.deceasedForm.get(this.maidenNameControl).setValue(deceased.maidenName);\n this.deceasedForm.get(this.placeOfBirthControl).disable();\n this.deceasedForm.get(this.placeOfBirthControl).setValue(deceased.placeOfBirth);\n this.deceasedForm.get(this.placeOfDeathControl).disable();\n this.deceasedForm.get(this.placeOfDeathControl).setValue(deceased.placeOfDeath);\n this.deceasedForm.get(this.provinceOfDeathControl).disable();\n this.deceasedForm.get(this.provinceOfDeathControl).setValue(deceased.provinceOfDeath);\n this.deceasedForm.get(this.identificationTypeControl).disable();\n this.deceasedForm.get(this.identificationTypeControl).setValue(deceased.idType);\n this.deceasedForm.get(this.idNumberControl).disable();\n this.deceasedForm.get(this.idNumberControl).setValue(deceased.idNumber);\n this.deceasedForm.get(this.dateOfBirthControl).setValue(this.datePipe.transform(deceased.dateOfBirth, \"yyyy-MM-dd)\"));\n this.deceasedForm.get(this.dateOfBirthControl).disable();\n this.deceasedForm.get(this.dateOfDeathControl).setValue(this.datePipe.transform(deceased.dateOfDeath, \"yyyy-MM-dd\"));\n this.deceasedForm.get(this.dateOfDeathControl).disable();\n this.deceasedForm.get(this.burialOrderNumberControl).disable();\n this.deceasedForm.get(this.burialOrderNumberControl).setValue(deceased.burialOrderNumber);\n this.deceasedForm.get(this.serialNumenerControl).disable();\n this.deceasedForm.get(this.serialNumenerControl).setValue(deceased.serialNo);\n this.deceasedForm.get(this.verticalPositionControl).disable();\n this.deceasedForm.get(this.verticalPositionControl).setValue(deceased.verticalPosition);\n this.deceasedForm.get(this.undertakerControl).disable();\n this.deceasedForm.get(this.undertakerControl).setValue(deceased.undertaker);\n if (deceased.deceasedNames && deceased.deceasedNames.length > 0) {\n this.deceasedForm.get(\"deceasedNames\").setValue(deceased.deceasedNames);\n this.deceasedNameList = deceased.deceasedNames;\n this.intDataSource();\n this.changeDetectorRefs.detectChanges();\n }\n });\n }\n }\n initForm() {\n this.deceasedForm = this.aflaModuleStrategyService.form.get(\"deceasedForm\");\n }\n loadLookups() {\n this.getLookupsObservableSubscription =\n this.applicationViewService.getLookupsObservable({\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name in ('${this.lookupConst.IdentificationType}','${this.lookupConst.Sex}','${this.lookupConst.VerticalPosition}') and deleted eq false`,\n })\n .subscribe((lookupValues) => {\n const lookup = lookupValues.value;\n lookup.forEach((lp) => {\n if (lp.name === this.lookupConst.IdentificationType)\n this.identificationTypeLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.Sex)\n this.sexLookup.push(JSON.parse(lp.content));\n if (lp.name === this.lookupConst.VerticalPosition)\n this.verticalPositionLookup.push(JSON.parse(lp.content));\n });\n this.getApplicationDeceasedDetails(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n });\n }\n intDataSource() {\n this.deceasedNameListObservable = of(this.deceasedNameList)\n .pipe(map((resp) => {\n const sch = [];\n resp.forEach(el => {\n sch.push({\n id: el.id,\n name: el.name,\n surname: el.surname,\n startDate: this.datePipe.transform(el.startDate, ViewDeceasedDetailsCmConstant.SHORT_DATE_CONST)\n });\n });\n return sch;\n }));\n }\n getApplicationDeceasedDetails(savedApplication) {\n const params = {\n $expand: \"deceased($expand=deceasedNames)\",\n $filter: `jobId eq ${savedApplication.jobId} and moduleId eq ${savedApplication.moduleId} and deleted eq false`\n };\n this.getApplicationsSubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (application) => {\n const updatedApplication = application.value;\n if (updatedApplication.length > 0) {\n this.populateForm(updatedApplication[0]);\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AflaModuleStrategyService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n};\nViewDeceasedDetailsCmComponent = __decorate([\n Component({\n selector: \"app-view-deceased-details-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewDeceasedDetailsCmComponent);\nexport { ViewDeceasedDetailsCmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewDeceasedDetailsCmConstant {\n static PLACEHOLDER_TEXT = SharedConstants.PLACEHOLDER_TEXT;\n static TABLE_LABEL = \"Please capture the name, surname and date when it was changed\";\n static DECEASED_DETAILS_TITLE = \"Deceased details\";\n static NAME_LABEL = \"Name\";\n static SURNAME_LABEL = \"Surname\";\n static START_DATE_LABEL = \"Date name and surname given / date changed\";\n static NAME_CONTROL = \"name\";\n static SURNAME_CONTROL = \"surname\";\n static START_DATE_CONTROL = \"startDate\";\n static ACTION_LABEL = \"Action\";\n static DELETE_ITEM_TITLE = \"Delete deceased name\";\n static DELETE_DECEASED_NAME_CONFIRM = SharedConstants.REMOVE_MESSAGE + \" deceased name(s)?\";\n static SHORT_DATE_CONST = \"YYYY/MM/d\";\n static ADD_DECEASED_NAME_LBEL = \"Add deceased name\";\n static EDIT_DECEASED_NAME_LBEL = \"Edit deceased name\";\n static REMOVE_DECEASED_NAME_LBEL = \"Remove deceased name\";\n ////////////////////////////////////////////////////////////////////////////\n static SEX_LABEL = \"Sex\";\n static NATIONALITY_LABEL = \"Nationality\";\n static MAIDEN_NAME_LABEL = \"Maiden name\";\n static PALCE_OF_BIRTH_LABEL = \"Place of birth\";\n static PLACE_OF_DEATH_LABEL = \"Place of death\";\n static PROVINCE_OF_DEATH_LABEL = \"Province of death\";\n static IDENTITY_TYPE_LABEL = \"Identification type\";\n static ID_PASSPORT_NUMBER_LABEL = \"ID / Passport number\";\n static DATE_OF_BIRTH_LABEL = \"Date of birth\";\n static DATE_OF_DEATH_LABEL = \"Date of death\";\n static BURIAL_ORDER_LABEL = \"Burial order number\";\n static SERIAL_NUMBER_LABEL = \"Serial number\";\n static VERTICAL_POSITION_LABEL = \"Vertical position (m)\";\n static NAME_OF_THE_UNDERTAKER_LABEL = \"Name of undertaker position (Only if no funeral parlour is used)\";\n static SEX_CONTROL = \"sex\";\n static NATIONALITY_CONTROL = \"nationality\";\n static MAIDEN_NAME_CONTROL = \"maidenName\";\n static PALCE_OF_BIRTH_CONTROL = \"placeOfBirth\";\n static PLACE_OF_DEATH_CONTROL = \"placeOfDeath\";\n static PROVINCE_OF_DEATH_CONTROL = \"provinceOfDeath\";\n static IDENTITY_TYPE_CONTROL = \"idType\";\n static ID_PASSPORT_NUMBER_CONTROL = \"idNumber\";\n static DATE_OF_BIRTH_CONTROL = \"dateOfBirth\";\n static DATE_OF_DEATH_CONTROL = \"dateOfDeath\";\n static BURIAL_ORDER_CONTROL = \"burialOrderNumber\";\n static SERIAL_NUMBER_CONTROL = \"serialNo\";\n static VERTICAL_POSITION_CONTROL = \"verticalPosition\";\n static NAME_OF_THE_UNDERTAKER_CONTROL = \"undertaker\";\n /////////////////////////////////////////////////////////////////////////\n static SEX_PH = \"Select sex\";\n static NATIONALITY_PH = \"Select nationality\";\n static PROVINCE_OF_DEATH_PH = \"Select province of death\";\n static IDENTITY_TYPE_PH = \"Select identity type\";\n static VERTICAL_POSITION_PH = \"Select vertical Position\";\n ////////////////////////////////////////////////////////////////////////\n static DATE_CONST = \"yyyy-MM-dd\";\n static VALIDATION_MESSAGES = {\n sex: {\n required: `Sex ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n nationality: {\n required: `Nationality ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n identificationType: {\n required: `Identification Type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n maidenName: {\n required: `Maiden name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfBirth: {\n required: `Place of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n placeOfDeath: {\n required: `Place of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n provinceOfDeath: {\n required: `Province of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idType: {\n sex: ` Identification type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n idNumber: {\n required: `ID / Passport number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n dateOfBirth: {\n required: `Date of birth ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of birth should not be later than today`\n },\n dateOfDeath: {\n required: `Date of death ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`,\n wrong: `Date of death should be between date of birth and today`\n },\n burialOrderNumber: {\n required: `Burial order number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n serialNo: {\n required: `Serial Number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n verticalPosition: {\n required: `Vertical position ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n surname: {\n required: `Surname ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n statDate: {\n required: `Date name or surname given / date changed ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\nexport var DeceasedNamesTableHeaderEnum;\n(function (DeceasedNamesTableHeaderEnum) {\n DeceasedNamesTableHeaderEnum[\"name\"] = \"name\";\n DeceasedNamesTableHeaderEnum[\"surname\"] = \"Surname\";\n DeceasedNamesTableHeaderEnum[\"StartDate\"] = \"Name given / date changed\";\n})(DeceasedNamesTableHeaderEnum || (DeceasedNamesTableHeaderEnum = {}));\nexport const DeceasedNamesTableHeaderLookup = new Map([\n [DeceasedNamesTableHeaderEnum.name, \"name\"],\n [DeceasedNamesTableHeaderEnum.surname, \"surname\"],\n [DeceasedNamesTableHeaderEnum.StartDate, \"startDate\"],\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-family-member-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-family-member-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ViewApplicationBaseComponent } from \"../../../../view-application/shared/view-application-base/view-application-base.component\";\nimport { ViewFamilyMemberCmConstants } from \"./view-family-member-cm.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewFamilyMemberCmComponent = class ViewFamilyMemberCmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRefs;\n routerParamsService;\n familyMemberForm;\n familyMemberGroups = [];\n familyMemberShowGroupsDropdown = false;\n familyMemberDisableAdd = true;\n familyMemberDisableFilterBy = true;\n familyMemberDisableEditing = true;\n familyMemberListLabel = ViewFamilyMemberCmConstants.FAMILY_LABEL;\n familyMemberListControl = ViewFamilyMemberCmConstants.FAMILY_CONTROL;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n }\n ngOnInit() {\n this.getMetadata();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n this.familyMemberGroups = stepMeta.familyGroup;\n this.subscribeToSelectedApplication();\n }\n initForm() {\n this.familyMemberForm = this.aflaModuleStrategyService.form.get(\"familyMemberForm\");\n this.familyMemberForm.reset();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n populateForm(application) {\n if (application && application.appId > 0) {\n this.familyMemberForm.markAllAsTouched();\n }\n const familyMemberListControl = this.familyMemberForm.get(this.familyMemberListControl);\n RecipientUtils.setRecipients(application.family, true, familyMemberListControl);\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewFamilyMemberCmComponent = __decorate([\n Component({\n selector: \"app-view-family-member-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewFamilyMemberCmComponent);\nexport { ViewFamilyMemberCmComponent };\n","export class ViewFamilyMemberCmConstants {\n static FAMILY_CONTROL = \"family\";\n static FAMILY_LABEL = \"Family member\";\n static COPY_APPLICANT_TO_FAMILY_LABEL = \"Copy applicant to family\";\n static DUPLICATE_APPLICANT_ERROR_MESSAGE = \"This applicant already exists\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-funeral-parlour-cm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-funeral-parlour-cm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationBaseComponent } from \"../../../../view-application/shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { CreateFuneralParlourConstants } from \"../../../../create-application/modules/cm/create-funeral-parlour-cm/create-funeral-parlour.constant\";\nlet ViewFuneralParlourCmComponent = class ViewFuneralParlourCmComponent extends ViewApplicationBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n recipientService;\n selectedApplicationService;\n appService;\n changeDetectorRefs;\n appControllerService;\n routerParamsService;\n parlourForm = new FormGroup({});\n parlourGroups = [];\n parlourLabel = CreateFuneralParlourConstants.NOTICE_LABEL;\n parlourControl = CreateFuneralParlourConstants.PARLOUR_CONTROL;\n parlourSelectControl = CreateFuneralParlourConstants.PARLOUR_SELECT_CONTROL;\n validationMessages = CreateFuneralParlourConstants.VALIDATION_MESSAGES;\n title = CreateFuneralParlourConstants.TITLE;\n markFuneralParlourAsNotApplicableLabel = CreateFuneralParlourConstants.MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL;\n parlourMetadata;\n disableEditing = true;\n funeralParlourNotApplicableChecked = false;\n funeralParlourNotApplicableCheckboxDisabled = false;\n objectName = \"view-funeral-parlour-details\";\n selectedApplicationFPSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, recipientService, selectedApplicationService, appService, changeDetectorRefs, appControllerService, routerParamsService) {\n super(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.recipientService = recipientService;\n this.selectedApplicationService = selectedApplicationService;\n this.appService = appService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.appControllerService = appControllerService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.listenForSelectedApplication();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.parlourMetadata = stepMeta;\n this.parlourGroups = stepMeta.funeralParlourGroup;\n this.listenForSelectedApplication();\n this.changeDetectorRefs.detectChanges();\n }\n handleRouteChange() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationFPSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (selectedApplication) => {\n if (selectedApplication) {\n const selectedFuneralParlour = selectedApplication.funeralParlour;\n if (selectedFuneralParlour && selectedFuneralParlour.length > 0) {\n this.populateForm(selectedApplication);\n }\n else {\n this.disableFields();\n }\n this.syncFuneralParlourNotApplicableCheckbox();\n }\n },\n error: (err) => {\n this.appControllerService.handleServerErrorMessage(this.objectName, err, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.parlourForm = this.aflaModuleStrategyService.form.get(\"funeralParlourForm\");\n this.parlourForm.enable();\n }\n populateForm(application) {\n this.parlourForm.get(this.parlourControl).patchValue(application.funeralParlour[0]);\n this.parlourForm.get(this.parlourSelectControl).patchValue(application.funeralParlourId);\n }\n syncFuneralParlourNotApplicableCheckbox() {\n const funeralParlourNotApplicable = this.selectedApplication.funeralParlourNa;\n if (funeralParlourNotApplicable) {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm.get(this.parlourSelectControl).disable();\n this.parlourForm.get(this.parlourControl).disable();\n this.changeDetectorRefs.markForCheck();\n }\n }\n disableFields() {\n this.funeralParlourNotApplicableChecked = true;\n this.parlourForm.get(this.parlourSelectControl).disable();\n this.parlourForm.get(this.parlourControl).disable();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: RecipientService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: RouterParamsService }\n ];\n};\nViewFuneralParlourCmComponent = __decorate([\n Component({\n selector: \"app-view-funeral-parlour-cm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewFuneralParlourCmComponent);\nexport { ViewFuneralParlourCmComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsDmConstants } from \"./view-application-details-dm.constants\";\nlet ViewApplicationDetailsDmComponent = class ViewApplicationDetailsDmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsDmConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsDmConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsDmConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsDmConstants.DESCRIPTION_LBL;\n validationMessages = ViewApplicationDetailsDmConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = ViewApplicationDetailsDmConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n getLookupsObservableSubscription;\n selectedApplicationPFSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationPFSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsDmComponent = __decorate([\n Component({\n selector: \"app-view-application-details-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsDmComponent);\nexport { ViewApplicationDetailsDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsDmConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-location-dm.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-location-dm.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewLocationDmConstants } from \"./view-location-dm.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewLocationDmComponent = class ViewLocationDmComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewLocationDmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewLocationDmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewLocationDmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewLocationDmConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewLocationDmConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewLocationDmConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewLocationDmConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewLocationDmConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewLocationDmConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewLocationDmConstants.SG_CODE_CONTROL;\n addressControl = ViewLocationDmConstants.ADDRESS_CONTROL;\n ownerControl = ViewLocationDmConstants.OWNER_CONTROL;\n cadastralDescriptionControl = ViewLocationDmConstants.CADASTRAL_DESCRIPTION_CONTROL;\n rateNumberControl = ViewLocationDmConstants.RATE_NUMBER_CONTROL;\n existingUseControl = ViewLocationDmConstants.EXISTING_USE_CONTROL;\n worthyOfPreservationControl = ViewLocationDmConstants.WORTHY_OF_PRESERVATION_CONTROL;\n reasonControl = ViewLocationDmConstants.REASON_CONTROL;\n over60Control = ViewLocationDmConstants.OVER_60_CONTROL;\n amafaPermissionControl = ViewLocationDmConstants.AMAFA_PERMISSION_CONTROL;\n erfNoTextPlaceHolder = ViewLocationDmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewLocationDmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewLocationDmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewLocationDmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewLocationDmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewLocationDmConstants.ADDRESS_TEXT_PLACEHOLDER;\n cadastralDescriptionTextPlaceHolder = ViewLocationDmConstants.CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER;\n rateNumberTextPlaceHolder = ViewLocationDmConstants.RATE_NUMBER_TEXT_PLACEHOLDER;\n existingUseTextPlaceHolder = ViewLocationDmConstants.EXISTING_USE_TEXT_PLACEHOLDER;\n worthyOfPreservationTextPlaceHolder = ViewLocationDmConstants.WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER;\n reasonTextPlaceHolder = ViewLocationDmConstants.REASON_TEXT_PLACEHOLDER;\n over60TextPlaceHolder = ViewLocationDmConstants.OVER_60_TEXT_PLACEHOLDER;\n amafaPermissionTextPlaceHolder = ViewLocationDmConstants.AMAFA_PERMISSION_TEXT_PLACEHOLDER;\n ownerLabel = ViewLocationDmConstants.OWNER_LABEL;\n removePropertyLabel = ViewLocationDmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n dmApplication;\n selectedApplicationDMSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.selectedApplicationDMSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.dmApplication = app;\n if (this.dmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n cadastralDescription: new FormControl(prop.cadastralDescription, [Validators.required]),\n rateNumber: new FormControl(prop.rateNumber, [Validators.required]),\n existingUse: new FormControl(prop.existingUse, [Validators.required]),\n worthyOfPreservation: new FormControl(prop.worthyOfPreservation, [Validators.required]),\n reason: new FormControl(prop.reason, [Validators.required]),\n over60: new FormControl(prop.over60, [Validators.required]),\n amafaPermission: new FormControl(prop.amafaPermission),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.dmApplication.properties && this.dmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.dmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewLocationDmConstants.PROPERTY_LAYER_NAME, true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewLocationDmComponent = __decorate([\n Component({\n selector: \"app-view-location-dm\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewLocationDmComponent);\nexport { ViewLocationDmComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewLocationDmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static CADASTRAL_DESCRIPTION_CONTROL = \"cadastralDescription\";\n static RATE_NUMBER_CONTROL = \"rateNumber\";\n static EXISTING_USE_CONTROL = \"existingUse\";\n static WORTHY_OF_PRESERVATION_CONTROL = \"worthyOfPreservation\";\n static REASON_CONTROL = \"reason\";\n static OVER_60_CONTROL = \"over60\";\n static AMAFA_PERMISSION_CONTROL = \"amafaPermission\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER = \"Cadastral description\";\n static RATE_NUMBER_TEXT_PLACEHOLDER = \"Rate number\";\n static EXISTING_USE_TEXT_PLACEHOLDER = \"Existing use\";\n static WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER = \"Is the Building listed as worthy of preservation in Appendix 7 of the Town Planning Regulations?\";\n static REASON_TEXT_PLACEHOLDER = \"Reason for demolition\";\n static OVER_60_TEXT_PLACEHOLDER = \"Is the Building over 60 Years old?\";\n static AMAFA_PERMISSION_TEXT_PLACEHOLDER = \"Has permission to demolish been obtained from AMAFA?\";\n static NO_APPLICANT_AVAILABLE = \"There is no applicant available\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Demolition management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n cadastralDescription: {\n required: `Cadastral description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n rateNumber: {\n required: `Rate number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n existingUse: {\n required: `Existing use ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n worthyOfPreservation: {\n required: `Worthy of preservation ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n reason: {\n required: `Reason ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n over60: {\n required: `Over 60 ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n amafaPermission: {\n required: `Amafa permission ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-ec.component.scss?ngResource\";\nimport { ViewApplicationDetailsEcConstants } from \"./view-application-details-ec.constants\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet ViewApplicationDetailsEcComponent = class ViewApplicationDetailsEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n // ViewApplicationDetailsEcConstants\n // Labels\n descriptionLabel = ViewApplicationDetailsEcConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LABEL;\n whoIsApplyingLabel = ViewApplicationDetailsEcConstants.WHO_IS_APPLYING_LABEL;\n descriptionOfProposedWorkLabel = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_LABEL;\n descriptionOfProposedWorkNote = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_NOTE;\n phaseLabel = ViewApplicationDetailsEcConstants.PHASE_LABEL;\n conventionalPrepaidLabel = ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LABEL;\n estimatedCapacityLabel = ViewApplicationDetailsEcConstants.ESTIMATED_CAPACITY_LABEL;\n // Form controls\n descriptionFormControlName = ViewApplicationDetailsEcConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsEcConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n applicantTypeFormControlName = ViewApplicationDetailsEcConstants.APPLICANT_TYPE_FORM_CONTROL_NAME;\n descriptionOfProposedWorkFormControlName = ViewApplicationDetailsEcConstants.DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME;\n phaseFormControlName = ViewApplicationDetailsEcConstants.PHASE_FORM_CONTROL_NAME;\n paymentTypeControlName = ViewApplicationDetailsEcConstants.PAYMENT_TYPE_CONTROL_NAME;\n estimatedCapacityControlName = ViewApplicationDetailsEcConstants.ESTIMATED_CAPACITY_FORM_CONTROL_NAME;\n // constants\n validationMessages = ViewApplicationDetailsEcConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n applicantTypes = [];\n phases = [];\n conventionalPrepaidOptions = [];\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.loadLookups();\n this.getMetadata();\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n console.log(\"application\", application);\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n const applicationType = this.applicationTypes.find(x => x.code === application.applicationType);\n const applicantType = this.applicantTypes.find(x => x.code === application.applicantType);\n const phase = this.phases.find(x => x.code === application.phase);\n const paymentType = this.conventionalPrepaidOptions.find(x => x.code === application.paymentType);\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(applicationType);\n this.detailsForm.get(this.applicantTypeFormControlName).setValue(applicantType);\n this.detailsForm.get(this.descriptionOfProposedWorkFormControlName).setValue(application.descriptionOfProposedWork);\n this.detailsForm.get(this.phaseFormControlName).setValue(phase);\n this.detailsForm.get(this.estimatedCapacityControlName).setValue(application.estimatedCapacity);\n this.detailsForm.get(this.paymentTypeControlName).setValue(paymentType);\n }\n loadLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appController.selectedModuleID}) and ((name eq '${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}' and deleted eq false))`\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationDetailsEcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const applicantTypes = [];\n const phases = [];\n const conventionalPrepaid = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === `${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`) {\n applicantTypes.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`) {\n phases.push(JSON.parse(item.content));\n }\n if (item.name === `${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`) {\n conventionalPrepaid.push(JSON.parse(item.content));\n }\n });\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.APPLICANT_TYPE_LOOKUP_NAME}`, applicantTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.PHASE_LOOKUP_NAME}`, phases);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsEcConstants.CONVENTIONAL_PREPAID_LOOKUP_NAME}`, conventionalPrepaid);\n this.applicationTypes = applicationTypes;\n this.applicantTypes = applicantTypes;\n this.phases = phases;\n this.conventionalPrepaidOptions = conventionalPrepaid;\n this.populateForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsEcComponent = __decorate([\n Component({\n selector: \"app-view-application-details-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsEcComponent);\nexport { ViewApplicationDetailsEcComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsEcConstants {\n // Labels\n static STEP_TITLE = \"Application details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Application description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static WHO_IS_APPLYING_LABEL = \"Who is applying\";\n static DESCRIPTION_OF_PROPOSED_WORK_LABEL = \"Description of proposed work\";\n static DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME = \"descriptionOfProposedWork\";\n static DESCRIPTION_OF_PROPOSED_WORK_NOTE = \"Note: For farms and agricultural holdings, fill this description as per title deed is required\";\n static PHASE_LABEL = \"Phase\";\n static CONVENTIONAL_PREPAID_LABEL = \"Conventional prepaid\";\n static ESTIMATED_CAPACITY_LABEL = \"Estimated capacity of electrical installation (Amp/kVa)\";\n // Controls\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static APPLICANT_TYPE_FORM_CONTROL_NAME = \"applicantType\";\n static PHASE_FORM_CONTROL_NAME = \"phase\";\n static PAYMENT_TYPE_CONTROL_NAME = \"paymentType\";\n static ESTIMATED_CAPACITY_FORM_CONTROL_NAME = \"estimatedCapacity\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static APPLICANT_TYPE_LOOKUP_NAME = \"ApplicantType\";\n static PHASE_LOOKUP_NAME = \"Phase\";\n static CONVENTIONAL_PREPAID_LOOKUP_NAME = \"ConventionalPrepaid\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, whoIsApplying: {\n required: `who is applying ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, descriptionOfProposedWork: {\n required: `Description of proposed work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, phase: {\n required: `Phase ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, conventionalPrepaid: {\n required: `Conventional prepaid ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, estimatedCapacity: {\n required: `Estimated capacity ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationLocationEcConstants } from \"./view-application-location.ec.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationEcComponent = class ViewApplicationLocationEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n // controls\n erfNoControl = ViewApplicationLocationEcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationEcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationEcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationEcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationEcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationEcConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationEcConstants.OWNER_CONTROL;\n buildingNameControl = ViewApplicationLocationEcConstants.BUILDING_NAME_CONTROL;\n floorControl = ViewApplicationLocationEcConstants.FLOOR_CONTROL;\n // Labels and placeholders\n descriptionLabel1 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationEcConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewApplicationLocationEcConstants.VALIDATION_MESSAGES;\n erfNoTextPlaceHolder = ViewApplicationLocationEcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationEcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationEcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationEcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationEcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationEcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewApplicationLocationEcConstants.OWNER_LABEL;\n removePropertyLabel = ViewApplicationLocationEcConstants.REMOVE_PROPERTY_LABEL;\n ownerListLabel = ViewApplicationLocationEcConstants.OWNER_LIST_LABEL;\n buildingNamePlaceHolder = ViewApplicationLocationEcConstants.BUILDING_NAME_LABEL;\n floorPlaceholder = ViewApplicationLocationEcConstants.FLOOR_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = false;\n ownerDisableEditing = false;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n ecApplication;\n propertiesForm;\n active;\n selectedApplicationECSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.ecApplication = this.selectedApplication;\n this.initForm();\n this.checkSave();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.ecApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom),\n buildingName: new FormControl(prop.buildingName, [Validators.required]),\n floor: new FormControl(prop.floor, [Validators.required]),\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.ecApplication.properties && this.ecApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n return propertyFoemGroup;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Electrical connection graphics\", true);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n checkSave() {\n this.selectedApplicationECSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.ecApplication = app;\n if (this.ecApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationEcComponent = __decorate([\n Component({\n selector: \"app-view-application-location-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationEcComponent);\nexport { ViewApplicationLocationEcComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationLocationEcConstants {\n // controls\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static BUILDING_NAME_CONTROL = \"buildingName\";\n static FLOOR_CONTROL = \"floor\";\n // Labels and placeholders\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static OWNER_LIST_LABEL = \"Owner\";\n static BUILDING_NAME_LABEL = \"Building name\";\n static FLOOR_LABEL = \"Floor\";\n // Messages\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, buildingName: {\n required: `Building name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, floor: {\n required: `Floor ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-ec.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-ec.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationProfessionalBodiesEcConstants } from \"./view-application-professional-bodies-ec.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nlet ViewApplicationProfessionalBodiesEcComponent = class ViewApplicationProfessionalBodiesEcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n professionalBodiesForm;\n professionalBodiesFormControlName = ViewApplicationProfessionalBodiesEcConstants.PROFESSIONAL_BODY_FORM_CONTROL_NAME;\n markEngineerAsRequiredLabel = ViewApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_REQUIRED_LABEL;\n markEngineerAsRequiredFormControlName = ViewApplicationProfessionalBodiesEcConstants.MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToElectricalContractorLabel = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL;\n copyApplicantDetailsToElectricalContractorFormControlName = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n markElectricalContractorAsRequiredLabel = ViewApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL;\n markElectricalContractorAsRequiredFormControlName = ViewApplicationProfessionalBodiesEcConstants.MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME;\n copyApplicantDetailsToEngineerLabel = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL;\n copyApplicantDetailsToEngineerFormControlName = ViewApplicationProfessionalBodiesEcConstants.COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesEcConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME;\n showEngineer = false;\n showElectricalContractor = false;\n engineerDisableFilterBy = true;\n engineerDisableAdd = true;\n engineerDisableEditing = false;\n engineerShowFields = true;\n engineerIsInternal = false;\n engineerGroups = [];\n engineerLabel = ViewApplicationProfessionalBodiesEcConstants.ENGINEER_LABEL;\n engineerShowGroupsDropdown = false;\n contractorDisableFilterBy = true;\n contractorDisableAdd = true;\n contractorDisableEditing = false;\n contractorShowFields = true;\n contractorIsInternal = false;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesEcConstants.ELECTRICAL_CONTRACTOR_LABEL;\n contractorShowGroupsDropdown = false;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.initialiseDefaultValues();\n }\n loadMetadata(stepMeta) {\n try {\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.electricalContractorGroup;\n this.populateProfessionalBodiesForms();\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.professionalBodiesForm = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControlName);\n }\n populateProfessionalBodiesForms() {\n this.populateEngineer(this.selectedApplication);\n this.populateElectricalContractor(this.selectedApplication);\n }\n handleRouteChange() {\n }\n populateEngineer(selectedApplication) {\n if (selectedApplication.engineer && selectedApplication.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = selectedApplication.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.get(this.engineerFormControlName).disable();\n }\n else {\n this.showEngineer = false;\n }\n }\n populateElectricalContractor(selectedApplication) {\n if (selectedApplication.electricalContractor && selectedApplication.electricalContractor.length > 0) {\n this.showElectricalContractor = true;\n const electricalContractor = selectedApplication.electricalContractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.get(this.contractorFormControlName).disable();\n }\n else {\n this.showElectricalContractor = false;\n }\n }\n initialiseDefaultValues() {\n this.professionalBodiesForm.get(this.markEngineerAsRequiredFormControlName).setValue(false);\n this.professionalBodiesForm.get(this.markElectricalContractorAsRequiredFormControlName).setValue(false);\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesEcComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-ec\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationProfessionalBodiesEcComponent);\nexport { ViewApplicationProfessionalBodiesEcComponent };\n","export class ViewApplicationProfessionalBodiesEcConstants {\n static STEP_TITLE = \"Professional bodies\";\n static PROFESSIONAL_BODY_FORM_CONTROL_NAME = \"professionalBodiesForm\";\n static COMPONENT_NAME = \"professional-bodies\";\n static MARK_ARCHITECT_AS_REQUIRED_LABEL = \"Are the architect's details required?\";\n static MARK_ARCHITECT_AS_REQUIRED_FORM_CONTROL_NAME = \"markArchitectAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_LABEL = \"Copy applicant details to architect?\";\n static COPY_APPLICANT_DETAILS_TO_ARCHITECT_FORM_CONTROL_NAME = \"copyApplicantToArchitect\";\n static MARK_ENGINEER_REQUIRED_LABEL = \"Electrical engineer's details\";\n static MARK_ENGINEER_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalEngineerAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_LABEL = \"Copy applicant details to electrical engineer?\";\n static COPY_APPLICANT_DETAILS_TO_ENGINEER_FORM_CONTROL_NAME = \"copyApplicantToElectricalEngineer\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_LABEL = \"Electrical contractor's details\";\n static MARK_ELECTRICAL_CONTRACTOR_AS_REQUIRED_FORM_CONTROL_NAME = \"markElectricalContractorAsRequired\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_LABEL = \"Copy applicant details to electrical contractor?\";\n static COPY_APPLICANT_DETAILS_TO_ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"copyApplicantToContractor\";\n static ARCHITECT_LABEL = \"Architect\";\n static ENGINEER_LABEL = \"Electrical engineer\";\n static ELECTRICAL_CONTRACTOR_LABEL = \"Electrical contractor\";\n static ARCHITECT_FORM_CONTROL_NAME = \"architectRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"electricalEngineerRecipients\";\n static ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME = \"electricalContractorRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-gtia.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-gtia.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\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\";\nimport { ViewApplicationDetailsGtiaConstants } from \"./view-application-details-gtia.constants\";\nlet ViewApplicationDetailsGtiaComponent = class ViewApplicationDetailsGtiaComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n descriptionFormControlName = ViewApplicationDetailsGtiaConstants.DESCRIPTION_FORM_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = ViewApplicationDetailsGtiaConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = ViewApplicationDetailsGtiaConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsGtiaConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n fileNumberFormControlName = ViewApplicationDetailsGtiaConstants.FILE_NUMBER_FORM_CONTROL_NAME;\n fileNumberLabel = ViewApplicationDetailsGtiaConstants.FILE_NUMBER_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = ViewApplicationDetailsGtiaConstants.APPLICATION_TYPE_LABEL;\n descriptionLabel = ViewApplicationDetailsGtiaConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = ViewApplicationDetailsGtiaConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n applicationTypes = [];\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n getApplicationTypes() {\n return this.detailsForm.get(\"applicationTypes\");\n }\n 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' and deleted eq false`,\n };\n this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsGtiaConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\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 });\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).setValue(application.amendmentSchemeNumber);\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).disable();\n this.detailsForm.get(this.fileNumberFormControlName).setValue(application.fileNumber);\n this.detailsForm.get(this.fileNumberFormControlName).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 }\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 static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsGtiaComponent = __decorate([\n Component({\n selector: \"app-view-application-details-gtia\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsGtiaComponent);\nexport { ViewApplicationDetailsGtiaComponent };\n","export class ViewApplicationDetailsGtiaConstants {\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 FILE_NUMBER_FORM_CONTROL_NAME = \"fileNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-gtia.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-gtia.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\nimport { ViewApplicationLocationGtiaConstants } from \"./view-application-location-gtia.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 { 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 { take } from \"rxjs/operators\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nlet ViewApplicationLocationGtiaComponent = class ViewApplicationLocationGtiaComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n erfNoControl = ViewApplicationLocationGtiaConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationGtiaConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationGtiaConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationGtiaConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationGtiaConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationGtiaConstants.ADDRESS_CONTROL;\n zoneControl = ViewApplicationLocationGtiaConstants.ZONE_CONTROL;\n ownerControl = ViewApplicationLocationGtiaConstants.OWNER_CONTROL;\n propertiesControl = ViewApplicationLocationGtiaConstants.PROPERTIES_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationGtiaConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationGtiaConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationGtiaConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationGtiaConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationGtiaConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationGtiaConstants.ADDRESS_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationGtiaConstants.ZONE_LABEL;\n ownerLabel = ViewApplicationLocationGtiaConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerDisableDelete = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n showOnlyPropertyAndZoningLayers = true;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, 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.getZoningLookups();\n this.listenForRouteParamChange();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(this.zoneControl);\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n }\n setZonesControls(newPropertyFormGroup, property) {\n const zonesControl = newPropertyFormGroup.get(this.zoneControl);\n if (property.zonings && property.zonings.length > 0) {\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zones: new FormControl({ value: zoneOption, disabled: true }),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n });\n });\n }\n else {\n const zoneGroup = new FormGroup({\n id: new FormControl(null),\n applicationId: new FormControl(null),\n applicationPropertyId: new FormControl(null),\n zones: new FormControl({ value: null, disabled: true }),\n deleted: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.setZonesControls(newPropertyFormGroup, property);\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationGtiaConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getZoningLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'Zoning'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.value && response.value.length > 0) {\n const zoningLookups = response.value;\n this.onGetZoningLookupsCompleted(zoningLookups);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationGtiaConstants.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, ViewApplicationLocationGtiaConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n this.selectedApplication?.properties?.sort((a, b) => (b?.id - a?.id));\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property);\n this.syncMapGeometries();\n });\n }\n }\n }\n createFormGroup(property, geom) {\n return new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n 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: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationGtiaComponent = __decorate([\n Component({\n selector: \"app-view-application-location-gtia\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationLocationGtiaComponent);\nexport { ViewApplicationLocationGtiaComponent };\n","export class ViewApplicationLocationGtiaConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Town planning graphics\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ViewApplicationDetailsItamsConstants } from \"./view-application-details-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationDetailsItamsComponent = class ViewApplicationDetailsItamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n // Labels\n descriptionLabel = ViewApplicationDetailsItamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LABEL;\n tradingGoodsLabel = ViewApplicationDetailsItamsConstants.TRADING_GOODS_LABEL;\n tradingGoodsDescriptionLabel = ViewApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_LABEL;\n previousApplicationReferenceNumberLabel = ViewApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL;\n // Form controls\n tradeGoodsFormArray = ViewApplicationDetailsItamsConstants.TRADING_GOODS_FORM_ARRAY_NAME;\n descriptionFormControlName = ViewApplicationDetailsItamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n tradingGoodsDescriptionFormControlName = ViewApplicationDetailsItamsConstants.TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME;\n previousApplicationReferenceNumberFormControlName = ViewApplicationDetailsItamsConstants.PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME;\n referenceNumberFormControlName = ViewApplicationDetailsItamsConstants.REFERENCE_NUMBER_CONTROL_NAME;\n tradeGoodsFormControlName = ViewApplicationDetailsItamsConstants.TRADING_GOODS_CONTROL_NAME;\n // constants\n validationMessages = ViewApplicationDetailsItamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n // variables\n detailsForm;\n applicationTypes = [];\n tradingGoods = [];\n showPreviousApplicationReferenceNumberField = false;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n if (this.aflaModuleStrategyService.lookups.has(ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME)) {\n this.applicationTypes = this.aflaModuleStrategyService.lookups.get(ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME);\n if (this.aflaModuleStrategyService.lookups.has(ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME)) {\n this.tradingGoods = this.aflaModuleStrategyService.lookups.get(ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME);\n }\n this.subscribeToSelectedApplication();\n }\n else {\n this.getLookups();\n }\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n getLookups() {\n const params = {\n $filter: `(moduleId eq ${this.appControllerService.selectedModuleID}) and ((name eq '${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}' and deleted eq false) or (name eq '${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}' and deleted eq false))`\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsItamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const tradingGoods = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME?.trim().toLowerCase()}`) {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.trim().toLowerCase() === `${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME?.trim().toLowerCase()}`) {\n tradingGoods.push(JSON.parse(item.content));\n }\n });\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsItamsConstants.APPLICATION_TYPE_LOOKUP_NAME}`, applicationTypes);\n this.aflaModuleStrategyService.lookups.set(`${ViewApplicationDetailsItamsConstants.TRADING_GOODS_LOOKUP_NAME}`, tradingGoods);\n this.applicationTypes = applicationTypes;\n this.tradingGoods = tradingGoods;\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.setSelectedApplicationType(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n const tradingGoodsFormArray = this.getTradingGoods();\n tradingGoodsFormArray.clear();\n application.tradeGoods.forEach(savedTradeGood => {\n this.tradingGoods.forEach(tradeGoodLookupOption => {\n if (tradeGoodLookupOption.value === savedTradeGood.tradeGoods) {\n const tradingGroupForm = new FormGroup({\n id: new FormControl(savedTradeGood.id),\n applicationId: new FormControl(savedTradeGood.applicationId),\n tradeGoods: new FormControl({ value: savedTradeGood.tradeGoods, disabled: true }),\n tradingGoodsDescription: new FormControl({ value: savedTradeGood.description, disabled: true }),\n });\n tradingGoodsFormArray.push(tradingGroupForm);\n }\n });\n });\n if (this.showPreviousApplicationReferenceNumberField) {\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n }\n this.detailsForm.get(this.referenceNumberFormControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberFormControlName).disable();\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).setValue(application.previousReferenceNumber);\n this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName).disable();\n }\n setSelectedApplicationType(selectedApplicationType) {\n const previousApplicationReferenceNumberFormControl = this.detailsForm.get(this.previousApplicationReferenceNumberFormControlName);\n if (selectedApplicationType && selectedApplicationType.trim().toLowerCase() === \"renewal\") {\n previousApplicationReferenceNumberFormControl.addValidators(Validators.required);\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = true;\n }\n else {\n previousApplicationReferenceNumberFormControl.clearValidators();\n previousApplicationReferenceNumberFormControl.updateValueAndValidity();\n this.showPreviousApplicationReferenceNumberField = false;\n }\n // this.changeDetectorRef.detectChanges();\n }\n getTradingGoods() {\n return this.detailsForm.get(\"tradeGoods\");\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationDetailsItamsComponent);\nexport { ViewApplicationDetailsItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsItamsConstants {\n // Labels\n static STEP_TITLE = \"Details\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static TRADING_GOODS_LABEL = \"Trading goods\";\n static TRADING_GOODS_DESCRIPTION_LABEL = \"Trading goods description\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL = \"Previous application reference number\";\n // Controls\n static TRADING_GOODS_FORM_ARRAY_NAME = \"tradeGoods\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME = \"tradingGoodsDescription\";\n static PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME = \"previousReferenceNumber\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static TRADING_GOODS_CONTROL_NAME = \"tradeGoods\";\n // LookupNames\n static APPLICATION_TYPE_LOOKUP_NAME = \"ApplicationType\";\n static TRADING_GOODS_LOOKUP_NAME = \"TradingGoods\";\n // Validation messages\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoods: {\n required: `Trading goods ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, tradingGoodsDescription: {\n required: `Trading goods description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationLocationItamsConstants } from \"./view-application-location-itams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationItamsComponent = class ViewApplicationLocationItamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n baysForm;\n validationMessages = ViewApplicationLocationItamsConstants.VALIDATION_MESSAGES;\n addressControl = ViewApplicationLocationItamsConstants.ADDRESS_CONTROL;\n bayNumberControl = ViewApplicationLocationItamsConstants.BAY_NUMBER_CONTROL;\n baySizeControl = ViewApplicationLocationItamsConstants.BAY_SIZE_CONTROL;\n geometryControl = ViewApplicationLocationItamsConstants.GEOMETRY_CONTROL;\n baysFormGroupName = ViewApplicationLocationItamsConstants.BAYS_FORM_GROUP_NAME;\n centroidFromControlName = ViewApplicationLocationItamsConstants.CENTROID_CONTROL;\n addressTextPlaceHolder = ViewApplicationLocationItamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n bayNumberPlaceHolder = ViewApplicationLocationItamsConstants.BAY_NUMBER_PLACEHOLDER;\n baySizeTextPlaceHolder = ViewApplicationLocationItamsConstants.BAY_SIZE_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeBayLabel = ViewApplicationLocationItamsConstants.REMOVE_BAY_LABEL;\n baysControl = ViewApplicationLocationItamsConstants.BAYS_CONTROL;\n applicationLoaded = false;\n application;\n mapComponent;\n isMapLoaded = false;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.listenForRouteParamChange();\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n this.mapService.actionBayEnabled = false;\n }\n getBays() {\n if (this.baysForm) {\n return this.baysForm.get(this.baysControl);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n handleRouteChange() {\n }\n initForm() {\n this.baysForm = this.aflaModuleStrategyService.form.get(this.baysFormGroupName);\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.bays && this.application.bays.length > 0) {\n if (!this.getBays()) {\n return;\n }\n else {\n this.getBays().clear();\n const baysFormArray = this.getBays();\n this.selectedApplication?.bays?.sort((a, b) => (b?.id - a?.id));\n this.application.bays.forEach((bay) => {\n // create form groups for each bay\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(bay.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newBayFormGroup = this.createFormGroup(bay, geom);\n this.setTrueCentroid(geometryArc, newBayFormGroup, baysFormArray);\n this.syncMapGeometries();\n });\n }\n }\n }\n createFormGroup(savedBay, geom) {\n return new FormGroup({\n id: new FormControl(savedBay.id),\n bay: new FormControl(savedBay),\n address: new FormControl(savedBay.address, [Validators.required]),\n geometry: new FormControl(geom),\n bayNumber: new FormControl(savedBay.bayNumber),\n baySize: new FormControl(savedBay.baySize),\n centroid: new FormControl(null, [Validators.required])\n });\n }\n setTrueCentroid(geometryArc, newBayFormGroup, bayFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newBayFormGroup.get(this.centroidFromControlName).setValue(response.results[0].value);\n bayFormArray.push(newBayFormGroup);\n this.active = bayFormArray.length - 1;\n this.disableBayControls(bayFormArray.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationItamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disableBayControls(bayIndex) {\n const bayControl = this.getBays().controls[bayIndex];\n bayControl.get(this.addressControl).disable();\n bayControl.get(this.bayNumberControl).disable();\n bayControl.get(this.baySizeControl).disable();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getBays().controls.forEach(item => {\n const geom = item.get(this.geometryControl).value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationItamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationItamsComponent);\nexport { ViewApplicationLocationItamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationLocationItamsConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_BAY_LABEL = \"Remove bay\";\n static LAYER_REF = \"ITAMS graphics\";\n static BAY_REQUIRED = \"Please select a bay before continuing with the create application process\";\n static BAYS_FORM_GROUP_NAME = \"baysForm\";\n static ADDRESS_CONTROL = \"address\";\n static BAY_NUMBER_CONTROL = \"bayNumber\";\n static BAY_SIZE_CONTROL = \"baySize\";\n static GEOMETRY_CONTROL = \"geometry\";\n static CENTROID_CONTROL = \"centroid\";\n static BAYS_CONTROL = \"bays\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BAY_NUMBER_PLACEHOLDER = \"Bay number\";\n static BAY_SIZE_TEXT_PLACEHOLDER = \"Bay size\";\n static DUPLICATE_MESSAGE = \"The selected bay has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static VALIDATION_MESSAGES = {\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, bayNumber: {\n required: `Bay number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, erfSize: {\n required: `Erf size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, baySize: {\n required: `Bay size ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-stakeholders-itams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-stakeholders-itams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { ViewApplicationStakeholdersItamsConstants } from \"./view-application-stakeholders-itams.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nlet ViewApplicationStakeholdersItamsComponent = class ViewApplicationStakeholdersItamsComponent extends ViewApplicationBaseComponent {\n applicationCreateService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n recipientService;\n applicationViewService;\n changeDetectorRefs;\n routerParamsService;\n tradersForm;\n disableTraderRecipientFilter = true;\n traderConfigurableLabel = \"Trader\";\n tradersFormControlName = ViewApplicationStakeholdersItamsConstants.TRADERS_CONTROL_NAME;\n traderDisableAddButton = true;\n traderRecipientGroups = [];\n traderDisableEditButton = true;\n traderDisableDeleteButton = true;\n stepHeader;\n selectedModuleNameAsObservableSubscription;\n getRecipientsObservableSubscription;\n constructor(applicationCreateService, aflaModuleStrategyService, selectedApplicationService, appControllerService, recipientService, applicationViewService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationCreateService = applicationCreateService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.recipientService = recipientService;\n this.applicationViewService = applicationViewService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedModuleName();\n this.getTraders();\n }\n loadMetadata(stepMeta) {\n this.traderRecipientGroups = stepMeta.traderGroup;\n this.changeDetectorRefs.markForCheck();\n }\n getTradersControl() {\n return this.tradersForm.get(this.tradersFormControlName);\n }\n handleRouteChange() {\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationCreateService.selectedModuleNameAsObservable.subscribe(() => {\n const header = `${ViewApplicationStakeholdersItamsConstants.STAKEHOLDERS_HEADER}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRefs.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(ViewApplicationStakeholdersItamsConstants.TRADERS_FORM_GROUP_NAME);\n this.tradersForm = form;\n }\n getTraders() {\n const params = {\n $filter: `(jobId eq ${this.jobId} and moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false and groups/any(c: c/groupName eq 'Other')) or (jobId eq ${this.jobId} and moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false and groups/any(c: c/groupName eq 'Trader'))`,\n $expand: `groups`\n };\n this.getRecipientsObservableSubscription = this.recipientService.getRecipientsObservable(params).subscribe({\n next: (recipientArray) => {\n this.onGetTradersCompleted(recipientArray);\n this.changeDetectorRefs.detectChanges();\n }, error: err => {\n this.appControllerService.handleServerErrorMessage(\"traders\", err, CRUDOperation.Get);\n }\n });\n }\n onGetTradersCompleted(recipientArray) {\n if (recipientArray && recipientArray.length > 0) {\n const tradersControl = this.tradersForm.get(this.tradersFormControlName);\n RecipientUtils.setRecipients(recipientArray, true, tradersControl);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationCreateService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: RecipientService },\n { type: ApplicationViewService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationStakeholdersItamsComponent = __decorate([\n Component({\n selector: \"app-view-application-stakeholders-itams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationStakeholdersItamsComponent);\nexport { ViewApplicationStakeholdersItamsComponent };\n","export class ViewApplicationStakeholdersItamsConstants {\n static TRADERS_CONTROL_NAME = \"traders\";\n static TRADERS_FORM_GROUP_NAME = \"tradersForm\";\n static STAKEHOLDERS_HEADER = \"Traders\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { PropertyAndLeaseService } from \"../../../../shared/services/modules/property-and-lease.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsPlamsConstants } from \"./view-application-details-plams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { DatePipe } from \"@angular/common\";\nlet ViewApplicationDetailsPlamsComponent = class ViewApplicationDetailsPlamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n datePipe;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n propertyAndLeaseService;\n saShortDatePipe;\n routerParamsService;\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionLabel = ViewApplicationDetailsPlamsConstants.DESCRIPTION_LABEL;\n applicationTypeLabel = ViewApplicationDetailsPlamsConstants.APPLICATION_TYPE_LABEL;\n leaseLabel = ViewApplicationDetailsPlamsConstants.LEASE_LABEL;\n drawPolyonLabel = ViewApplicationDetailsPlamsConstants.DRAW_POLYGON_LABEL;\n polygonDrawnLabel = ViewApplicationDetailsPlamsConstants.POLYGON_DRAWN_LABEL;\n leaseTypeLabel = ViewApplicationDetailsPlamsConstants.LEASE_TYPE_LABEL;\n leaseReasonTypeLabel = ViewApplicationDetailsPlamsConstants.LEASE_REASON_LABEL;\n leaseUseLabel = ViewApplicationDetailsPlamsConstants.LEASE_USE_LABEL;\n leaseRentalAgreementLabel = ViewApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_LABEL;\n leaseStartDateLabel = ViewApplicationDetailsPlamsConstants.LEASE_START_DATE_LABEL;\n leaseEndDateLabel = ViewApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_LABEL;\n leaseContractNumberLabel = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_NUMBER_LabeL;\n leaseAccountNumberLabel = ViewApplicationDetailsPlamsConstants.LEASE_ACCOUNT_NUMBER_LabeL;\n leaseContractEscalationLabel = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_ESCALLATION_LabeL;\n leasePeriodLabel = ViewApplicationDetailsPlamsConstants.LEASE_PERIOD_LabeL;\n leaseNoticePeriodLabel = ViewApplicationDetailsPlamsConstants.LEASE_NOTICE_PERIOD_DATE_LabeL;\n lesseeTypeTypeLabel = ViewApplicationDetailsPlamsConstants.LESSEE_TYPE_LABEL;\n lesseeLabel = ViewApplicationDetailsPlamsConstants.LESSEE_LABEL;\n alienationLabel = ViewApplicationDetailsPlamsConstants.ALIENATION_LABEL;\n saleAmountLabel = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_LABEL;\n dateofDeedTransferLabel = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_LABEL;\n evaluationAmountLabel = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_LABEL;\n acquisitionLabel = ViewApplicationDetailsPlamsConstants.ACQUISITION_LABEL;\n buyerLabel = ViewApplicationDetailsPlamsConstants.BUYER_LABEL;\n sellerLabel = ViewApplicationDetailsPlamsConstants.SELLER_LABEL;\n referenceNumberLabel = ViewApplicationDetailsPlamsConstants.REFERENCE_NUMBER_LABEL;\n descriptionFormControlName = ViewApplicationDetailsPlamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsPlamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n leaseTypeFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_TYPE_FORM_CONTROL_NAME;\n leaseReasonFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_REASON_FORM_CONTROL_NAME;\n leaseUseFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_USE_FORM_CONTROL_NAME;\n leaseRentalAgreementFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME;\n leaseStartDateFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_START_DATE_FORM_CONTROL_NAME;\n leaseEndDateFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_END_DATE_FORM_CONTROL_NAME;\n leaseContractNumberFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME;\n leaseAccountNumberFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME;\n leaseContractEscalationFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME;\n leasePeriodFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_PERIOD_FORM_CONTROL_NAME;\n leaseNoticePeriodFormControlName = ViewApplicationDetailsPlamsConstants.LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME;\n lesseeTypeFormControlName = ViewApplicationDetailsPlamsConstants.LESSEE_TYPE_FORM_CONTROL_NAME;\n lesseeFormControlName = ViewApplicationDetailsPlamsConstants.LESSEE_FORM_CONTROL_NAME;\n saleAmountAlienationFormControlName = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n dateofDeedAlienationTransferFormControlName = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME;\n evaluationAmountAlienationFormControlName = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME;\n buyerFormControlName = ViewApplicationDetailsPlamsConstants.BUYER_FORM_CONTROL_NAME;\n saleAmountFormControlName = ViewApplicationDetailsPlamsConstants.SALE_AMOUNT_FORM_CONTROL_NAME;\n dateofDeedTransferFormControlName = ViewApplicationDetailsPlamsConstants.DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME;\n evaluationAmountFormControlName = ViewApplicationDetailsPlamsConstants.EVALUATION_AMOUNT_FORM_CONTROL_NAME;\n sellerFormControlName = ViewApplicationDetailsPlamsConstants.SELLER_FORM_CONTROL_NAME;\n referenceNumberControlName = ViewApplicationDetailsPlamsConstants.REFERENCE_NUMBER_FORM_CONTROL_NAME;\n leaseAreaDrawn = false;\n applicationTypes = [];\n leaseTypes = [];\n lesseeTypes = [];\n lesseeDisableFilterBy = true;\n lesseeDisableAdd = true;\n lesseeDisableDelete = true;\n lesseeDisableEditing = true;\n lesseeShowGroupsDropdown = true;\n lesseeGroups = [];\n lesseeListLabel = \"Lessee\";\n buyerDisableFilterBy = true;\n buyerDisableAdd = true;\n buyerDisableDelete = true;\n buyerDisableEditing = true;\n buyerShowGroupsDropdown = true;\n buyerGroups = [];\n buyerListLabel = \"Buyer\";\n sellerDisableFilterBy = true;\n sellerDisableAdd = true;\n sellerDisableDelete = true;\n sellerDisableEditing = true;\n sellerShowGroupsDropdown = true;\n sellerGroups = [];\n sellerListLabel = \"Seller\";\n fullApplicationCheckRequired = false;\n requiredClass = SharedConstants.CLASS_REQUIRED_TEXT;\n requiredText = SharedConstants.REQUIRED_TEXT_INDICATOR;\n descriptionPlaceholder = \"Enter description\";\n inputID = SharedConstants.CLASS_DESCRIPTION_TEXT;\n applicationType = null;\n jobId = null;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n getLesseesObservableSubscription;\n getSellersObservableSubscription;\n propertyAndLeaseServiceSubscription;\n constructor(applicationViewService, datePipe, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, propertyAndLeaseService, saShortDatePipe, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.datePipe = datePipe;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.propertyAndLeaseService = propertyAndLeaseService;\n this.saShortDatePipe = saShortDatePipe;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n this.initForm();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.lesseeGroups = stepMeta.lesseeGroup;\n this.buyerGroups = stepMeta.buyerGroup;\n this.sellerGroups = stepMeta.sellerGroup;\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'LeaseType' or name eq 'LesseeType')`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.leaseTypes = [];\n this.lesseeTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LeaseType\") {\n this.leaseTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"LesseeType\") {\n this.lesseeTypes.push(JSON.parse(item.content));\n }\n });\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.jobId = application.jobId;\n this.leaseAreaDrawn = false;\n // checks the application has application details set\n this.applicationType = application.applicationType;\n this.applicationTypes.forEach(item => {\n if (item.value === application.applicationType) {\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n if (this.applicationType === \"Alienation\") {\n this.detailsForm.get(this.saleAmountAlienationFormControlName).setValue(application.saleAmount);\n this.detailsForm.get(this.saleAmountAlienationFormControlName).disable();\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).setValue(application.evaluationAmount);\n this.detailsForm.get(this.evaluationAmountAlienationFormControlName).disable();\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).setValue(this.saShortDatePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.dateofDeedAlienationTransferFormControlName).disable();\n this.getBuyers(application.jobId);\n }\n if (this.applicationType === \"Lease\") {\n this.leaseTypes.forEach(item => {\n if (item.value === application.leaseType) {\n this.detailsForm.get(this.leaseTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.leaseTypeFormControlName).disable();\n this.detailsForm.get(this.leaseReasonFormControlName).setValue(application.leaseReason);\n this.detailsForm.get(this.leaseReasonFormControlName).disable();\n this.detailsForm.get(this.leaseUseFormControlName).setValue(application.leaseUse);\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).setValue(application.leaseRentalAgreementAmount);\n this.detailsForm.get(this.leaseStartDateFormControlName).setValue(this.datePipe.transform(application.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseEndDateFormControlName).setValue(this.datePipe.transform(application.leaseEndDate, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.leaseUseFormControlName).disable();\n this.detailsForm.get(this.leaseRentalAgreementFormControlName).disable();\n this.detailsForm.get(this.leaseStartDateFormControlName).disable();\n this.detailsForm.get(this.leaseEndDateFormControlName).disable();\n this.detailsForm.get(this.leaseContractNumberFormControlName).setValue(application.leaseContractNumber);\n this.detailsForm.get(this.leaseAccountNumberFormControlName).setValue(application.leaseAccountNumber);\n this.detailsForm.get(this.leaseContractEscalationFormControlName).setValue(application.leaseContractEscalation);\n this.detailsForm.get(this.leasePeriodFormControlName).setValue(application.leasePeriod);\n this.detailsForm.get(this.leaseNoticePeriodFormControlName).setValue(application.leaseNoticePeriod);\n this.detailsForm.get(this.leaseContractNumberFormControlName).disable();\n this.detailsForm.get(this.leaseAccountNumberFormControlName).disable();\n this.detailsForm.get(this.leaseContractEscalationFormControlName).disable();\n this.detailsForm.get(this.leasePeriodFormControlName).disable();\n this.detailsForm.get(this.leaseNoticePeriodFormControlName).disable();\n this.lesseeTypes.forEach(item => {\n if (item.value === application.leaseLesseeType) {\n this.detailsForm.get(this.lesseeTypeFormControlName).setValue(item);\n }\n });\n this.detailsForm.get(this.lesseeTypeFormControlName).disable();\n this.leaseAreaDrawn = application.leaseAreas.length > 0 ? true : false;\n this.getLessees(application.jobId);\n }\n if (this.applicationType === \"Acquisition\") {\n this.detailsForm.get(this.saleAmountFormControlName).setValue(application.saleAmount);\n this.detailsForm.get(this.saleAmountFormControlName).disable();\n this.detailsForm.get(this.evaluationAmountFormControlName).setValue(application.evaluationAmount);\n this.detailsForm.get(this.evaluationAmountFormControlName).disable();\n this.detailsForm.get(this.dateofDeedTransferFormControlName).setValue(this.saShortDatePipe.transform(application.dateOfDeedTransfer, \"yyyy-MM-dd\"));\n this.detailsForm.get(this.dateofDeedTransferFormControlName).disable();\n this.getSellers(application.jobId);\n }\n }\n getLessees(jobId) {\n this.getLesseesObservableSubscription = this.propertyAndLeaseService\n .getLesseesObservable(jobId)\n .subscribe({\n next: (response) => this.onGetLesseesCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLesseesCompleted(response) {\n if (response && response.value.length > 0) {\n const lesseeControl = this.detailsForm.get(this.lesseeFormControlName);\n RecipientUtils.setRecipients(response.value, true, lesseeControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getSellers(jobId) {\n this.getSellersObservableSubscription = this.propertyAndLeaseService\n .getSellersObservable(jobId)\n .subscribe({\n next: (response) => this.onGetSellersCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetSellersCompleted(response) {\n if (response && response.value.length > 0) {\n const sellerControl = this.detailsForm.get(this.sellerFormControlName);\n RecipientUtils.setRecipients(response.value, true, sellerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n getBuyers(jobId) {\n this.propertyAndLeaseServiceSubscription = this.propertyAndLeaseService\n .getBuyersObservable(jobId)\n .subscribe({\n next: (response) => this.onGetBuyersCompleted(response), error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetBuyersCompleted(response) {\n if (response && response.value.length > 0) {\n const buyerControl = this.detailsForm.get(this.buyerFormControlName);\n RecipientUtils.setRecipients(response.value, true, buyerControl);\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: DatePipe },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: PropertyAndLeaseService },\n { type: DatePipe },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsPlamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsPlamsComponent);\nexport { ViewApplicationDetailsPlamsComponent };\n","export class ViewApplicationDetailsPlamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static LEASE_LABEL = \"Lease details\";\n static DRAW_POLYGON_LABEL = \"Please draw an area (polygon) around the lease area on the location tab.\";\n static POLYGON_DRAWN_LABEL = \"Lease area selected.\";\n static LEASE_TYPE_LABEL = \"Lease type\";\n static LEASE_REASON_LABEL = \"Lease reason\";\n static LEASE_USE_LABEL = \"What will the lease be used for?\";\n static LEASE_RENTAL_AGREEMENT_LABEL = \"Lease rental agreement amount (p/m)\";\n static LEASE_START_DATE_LABEL = \"Lease start date\";\n static LEASE_END_DATE_FORM_LABEL = \"Lease end date\";\n static LEASE_CONTRACT_NUMBER_LabeL = \"Lease contract number\";\n static LEASE_ACCOUNT_NUMBER_LabeL = \"Lease account number\";\n static LEASE_COMMENTS_LabeL = \"Lease comments\";\n static LEASE_CONTRACT_ESCALLATION_LabeL = \"Lease contract escalation\";\n static LEASE_PERIOD_LabeL = \"Lease period\";\n static LEASE_NOTICE_PERIOD_DATE_LabeL = \"Lease notice period\";\n static LEASE_STATUS_ACCORDING_TO_COUNCIL_LabeL = \"Lease status according to council\";\n static LESSEE_LABEL = \"Lessee\";\n static SELLER_LABEL = \"Seller\";\n static BUYER_LABEL = \"Buyer\";\n static LESSEE_TYPE_LABEL = \"Lessee type\";\n static ALIENATION_LABEL = \"Alienation details\";\n static SALE_AMOUNT_LABEL = \"Sale amount (R)\";\n static DATE_OF_DEED_TRANSFER_LABEL = \"Date of deed transfer\";\n static EVALUATION_AMOUNT_LABEL = \"Evaluation amount\";\n static ACQUISITION_LABEL = \"Acquisition details\";\n static COPY_APPLICANT_TO_LESSEE_LABEL = \"Copy applicant to lessee\";\n static COPY_APPLICANT_TO_BUYER_LABEL = \"Copy applicant to buyer\";\n static COPY_APPLICANT_TO_SELLER_LABEL = \"Copy applicant to seller\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static TRANSFERRING_ATTORNEY_LABEL = \"Transferring attorney\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"applicationType\";\n static LEASE_TYPE_FORM_CONTROL_NAME = \"leaseType\";\n static LEASE_REASON_FORM_CONTROL_NAME = \"leaseReason\";\n static LEASE_USE_FORM_CONTROL_NAME = \"leaseUse\";\n static LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME = \"leaseRentalAgreementAmount\";\n static LEASE_START_DATE_FORM_CONTROL_NAME = \"leaseStartDate\";\n static LEASE_END_DATE_FORM_CONTROL_NAME = \"leaseEndDate\";\n static LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME = \"leaseContractNumber\";\n static LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME = \"leaseAccountNumber\";\n static LEASE_COMMENTS_FORM_CONTROL_NAME = \"leaseComments\";\n static LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME = \"leaseContractEscalation\";\n static LEASE_PERIOD_FORM_CONTROL_NAME = \"leasePeriod\";\n static LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME = \"leaseNoticePeriod\";\n static LEASE_STATUS_ACCORDING_TO_COUNCIL_FORM_CONTROL_NAME = \"leaseStatusAccordingToCouncilResolution\";\n static LESSEE_TYPE_FORM_CONTROL_NAME = \"lesseeType\";\n static LESSEE_FORM_CONTROL_NAME = \"lesseeRecipient\";\n static SALE_AMOUNT_FORM_CONTROL_NAME = \"saleAmount\";\n static DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME = \"dateOfDeedTransfer\";\n static EVALUATION_AMOUNT_FORM_CONTROL_NAME = \"evaluationAmount\";\n static BUYER_FORM_CONTROL_NAME = \"buyerRecipient\";\n static SELLER_FORM_CONTROL_NAME = \"sellerRecipient\";\n static SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"saleAmountAlienation\";\n static DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME = \"dateOfDeedTransferAlienation\";\n static EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME = \"evaluationAmountAlienation\";\n static REFERENCE_NUMBER_FORM_CONTROL_NAME = \"referenceNumber\";\n static TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME = \"transferringAttorneyRecipient\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-plams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-plams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ViewApplicationLocationPlamsConstants } from \"./view-application-location-plams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationPlamsComponent = class ViewApplicationLocationPlamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_4;\n descriptionLabel5 = ViewApplicationLocationPlamsConstants.DESCRIPTION_LABEL_5;\n applicationControl = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_CONTROL;\n erfNoControl = ViewApplicationLocationPlamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationPlamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationPlamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationPlamsConstants.FARM_NO_CONTROL;\n zoningControl = ViewApplicationLocationPlamsConstants.ZONING_CONTROL;\n streetNumberControl = ViewApplicationLocationPlamsConstants.STREET_NO_CONTROL;\n streetNameControl = ViewApplicationLocationPlamsConstants.STREET_NAME_CONTROL;\n townControl = ViewApplicationLocationPlamsConstants.TOWN_CONTROL;\n sgCodeControl = ViewApplicationLocationPlamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationPlamsConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationPlamsConstants.OWNER_CONTROL;\n applicationSelectLabel = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n dropdownApplicationPlaceholder = ViewApplicationLocationPlamsConstants.APPLICATION_TYPE_PLACEHOLDER;\n erfNoTextPlaceHolder = ViewApplicationLocationPlamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationPlamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationPlamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationPlamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n zoningControlTextPlaceHolder = ViewApplicationLocationPlamsConstants.ZONING_TEXT_PLACEHOLDER;\n streetNumberTextPlaceHolder = ViewApplicationLocationPlamsConstants.STREET_NO_TEXT_PLACEHOLDER;\n streetNameTextPlaceHolder = ViewApplicationLocationPlamsConstants.STREET_NAME_TEXT_PLACEHOLDER;\n townTextPlaceHolder = ViewApplicationLocationPlamsConstants.TOWN_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationPlamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationPlamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n removeLabel = SharedConstants.REMOVE_LABEL;\n removePropertyLabel = ViewApplicationLocationPlamsConstants.REMOVE_PROPERTY_LABEL;\n ownerLabel = ViewApplicationLocationPlamsConstants.OWNER_LABEL;\n layerReference = ViewApplicationLocationPlamsConstants.LAYER_REF;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableDelete = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerShowGroupsDropdown = true;\n ownerListLabel = \"Owner\";\n appTypes = [];\n applicant;\n fullApplicationCheckRequired = false;\n ownerMetaData;\n showOnlyPropertyAndZoningLayers = true;\n existingApplication = false;\n mapComponent;\n isMapLoaded = false;\n leaseGraphic = null;\n hasLoadedLookups = false;\n hasLoadedApplicationProperties = false;\n selectedApplicationType = null;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n this.initForm();\n }\n ngOnInit() {\n this.getLookups();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n this.listenForSelectedApplication();\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(\"properties\");\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.disablePropertyControls(propertyControl.length - 1);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationPlamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.zoningControl).disable();\n propertyControl.get(this.streetNameControl).disable();\n propertyControl.get(this.streetNumberControl).disable();\n propertyControl.get(this.townControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n const applicationType = this.selectedApplication.applicationType;\n this.appTypes.forEach(item => {\n if (item.value === applicationType) {\n this.propertiesForm.get(this.applicationControl).enable();\n this.propertiesForm.get(this.applicationControl).setValue(item);\n this.propertiesForm.get(this.applicationControl).disable();\n }\n });\n // TODO:: Add lease areas to the map\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n let index = 0;\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl);\n index++;\n });\n this.changeDetectorRefs.detectChanges();\n }\n }\n }\n createFormGroup(property, geom) {\n return new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n zoning: new FormControl({ value: property.zoning, disabled: true }),\n streetNumber: new FormControl({ value: property.streetNumber, disabled: true }),\n streetName: new FormControl({ value: property.streetName, disabled: true }),\n town: new FormControl({ value: property.town, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n owners: new FormControl(property.owners)\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and name eq 'ApplicationType'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params)\n .subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationPlamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const appTypes = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n appTypes.push(JSON.parse(item.content));\n }\n });\n }\n this.appTypes = appTypes;\n // this.applicationCreateService.setHasLoadedLookups(true);\n this.setApplicationData();\n this.changeDetectorRefs.detectChanges();\n }\n syncMapGeometries() {\n const geometries = [];\n if (this.application.leaseAreas && this.application.leaseAreas.length > 0) {\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.application.leaseAreas[0].shape, 102100);\n const leaseGeom = JsonUtils.fromJSON(geometryArc);\n geometries.push(leaseGeom);\n }\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"PLAMS graphics\", true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationPlamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-plams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationPlamsComponent);\nexport { ViewApplicationLocationPlamsComponent };\n","export class ViewApplicationLocationPlamsConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property you are lodging an application for by using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Note that multiple properties may be added. \";\n static DESCRIPTION_LABEL_4 = \"If this is an application for a lease, draw an area (polygon) around the lease area on the map.\";\n static DESCRIPTION_LABEL_5 = \"An owner should be added for each property (this is linked to the property and the application).\";\n static PROPERTY_REQUIRED = \"Note that you need to select a property before continuing with the create application process\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ZONING_CONTROL = \"zoning\";\n static STREET_NO_CONTROL = \"streetNumber\";\n static STREET_NAME_CONTROL = \"streetName\";\n static TOWN_CONTROL = \"town\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static ZONE_CONTROL = \"zone\";\n static OWNER_CONTROL = \"owners\";\n static APPLICATION_TYPE_CONTROL = \"applicationType\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ZONING_TEXT_PLACEHOLDER = \"Zoning\";\n static STREET_NO_TEXT_PLACEHOLDER = \"Street number\";\n static STREET_NAME_TEXT_PLACEHOLDER = \"Street name\";\n static TOWN_TEXT_PLACEHOLDER = \"Town\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static APPLICATION_TYPE_PLACEHOLDER = \"Application type\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static LAYER_REF = \"Property and lease graphics\";\n static NO_PROPERTIES_SELECTED_MESSAGE = \"At least one property must be selected before a lease area is drawn\";\n static LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE = \"The lease area(s) drawn are outside the extent of the selected property\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsRcConstants } from \"./view-application-details-rc.constant\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nlet ViewApplicationDetailsRcComponent = class ViewApplicationDetailsRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsRcConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsRcConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsRcConstants.DESCRIPTION_CTRL;\n detailsFormGroupName = ViewApplicationDetailsRcConstants.DETAILS_FORM_GROUP_NAME;\n reasonForApplicationFormControlName = ViewApplicationDetailsRcConstants.REASON_FOR_APPLICATION_CONTROL_NAME;\n typeOfTransferFormControlName = ViewApplicationDetailsRcConstants.TYPE_OF_TRANSFER_CONTROL_NAME;\n propertyTypeFormControlName = ViewApplicationDetailsRcConstants.PROPERTY_TYPE_CONTROL_NAME;\n ratesAccountNumberFormControlName = ViewApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_CONTROL_NAME;\n electronicReferenceFormControlName = ViewApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_CONTROL_NAME;\n attorneyReferenceFormControlName = ViewApplicationDetailsRcConstants.ATTORNEY_REFERENCE_CONTROL_NAME;\n councilReferenceFormControlName = ViewApplicationDetailsRcConstants.COUNCIL_REFERENCE_CONTROL_NAME;\n // Labels and headers\n descriptionLbl = ViewApplicationDetailsRcConstants.DESCRIPTION_LBL;\n reasonForApplicationLabel = ViewApplicationDetailsRcConstants.REASON_FOR_APPLICATION;\n typeOfTransferLabel = ViewApplicationDetailsRcConstants.TYPE_OF_TRANSFER_LABEL;\n propertyTypeLabel = ViewApplicationDetailsRcConstants.PROPERTY_TYPE_LABEL;\n ratesAccountNumberLabel = ViewApplicationDetailsRcConstants.RATES_ACCOUNT_NUMBER_LABEL;\n electronicReferenceLabel = ViewApplicationDetailsRcConstants.ELECTRONIC_REFERENCE_LABEL;\n attorneyReferenceLabel = ViewApplicationDetailsRcConstants.ATTORNEY_REFERENCE_LABEL;\n councilReferenceLabel = ViewApplicationDetailsRcConstants.COUNCIL_REFERENCE_LABEL;\n applicationTypePlaceHolder = ViewApplicationDetailsRcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n typeOfTransferLookupOptions = [];\n selectedApplicationRCSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n handleRouteChange() {\n }\n loadMetadata() {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationRCSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.id > 0) {\n this.selectedApplication = application;\n this.populateForm(this.selectedApplication);\n this.disableForm(this.selectedApplication);\n this.changeDetectorRefs.detectChanges();\n }\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n this.detailsForm.get(this.reasonForApplicationFormControlName).setValue(application.reasonForApplication);\n this.detailsForm.get(this.typeOfTransferFormControlName).setValue(application.typeOfTransfer);\n this.detailsForm.get(this.propertyTypeFormControlName).setValue(application.propertyType);\n this.detailsForm.get(this.ratesAccountNumberFormControlName).setValue(application.ratesAccountNumber);\n this.detailsForm.get(this.electronicReferenceFormControlName).setValue(application.electronicReference);\n this.detailsForm.get(this.attorneyReferenceFormControlName).setValue(application.attorneyReference);\n this.detailsForm.get(this.councilReferenceFormControlName).setValue(application.councilReference);\n }\n disableForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.get(this.applicationTypeCtrl).disable();\n this.detailsForm.get(this.descriptionCtrl).disable();\n this.detailsForm.get(this.reasonForApplicationFormControlName).disable();\n this.detailsForm.get(this.typeOfTransferFormControlName).disable();\n this.detailsForm.get(this.propertyTypeFormControlName).disable();\n this.detailsForm.get(this.ratesAccountNumberFormControlName).disable();\n this.detailsForm.get(this.electronicReferenceFormControlName).disable();\n this.detailsForm.get(this.attorneyReferenceFormControlName).disable();\n this.detailsForm.get(this.councilReferenceFormControlName).disable();\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and deleted eq false`\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationDetailsRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const applicationTypes = [];\n const typeOfTransfer = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"applicationtype\") {\n applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name?.toLowerCase() === \"transfertype\") {\n typeOfTransfer.push(JSON.parse(item.content));\n }\n });\n }\n this.applicationTypes = applicationTypes;\n this.typeOfTransferLookupOptions = typeOfTransfer;\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsRcComponent = __decorate([\n Component({\n selector: \"app-view-application-details-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsRcComponent);\nexport { ViewApplicationDetailsRcComponent };\n","export class ViewApplicationDetailsRcConstants {\n static STEP_TITLE = \"Details\";\n // Labels and headers\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static REASON_FOR_APPLICATION = \"Reason for application\";\n static TYPE_OF_TRANSFER_LABEL = \"Type of transfer\";\n static PROPERTY_TYPE_LABEL = \"Property type\";\n static RATES_ACCOUNT_NUMBER_LABEL = \"Rates account number\";\n static ELECTRONIC_REFERENCE_LABEL = \"Electronic reference number\";\n static ATTORNEY_REFERENCE_LABEL = \"Attorney reference\";\n static COUNCIL_REFERENCE_LABEL = \"Council reference\";\n // Form control name\n static DESCRIPTION_CTRL = \"description\";\n static DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static TYPE_CTRL = \"applicationType\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static REASON_FOR_APPLICATION_CONTROL_NAME = \"reasonForApplication\";\n static TYPE_OF_TRANSFER_CONTROL_NAME = \"typeOfTransfer\";\n static PROPERTY_TYPE_CONTROL_NAME = \"propertyType\";\n static RATES_ACCOUNT_NUMBER_CONTROL_NAME = \"ratesAccountNumber\";\n static ELECTRONIC_REFERENCE_CONTROL_NAME = \"electronicReference\";\n static ATTORNEY_REFERENCE_CONTROL_NAME = \"attorneyReference\";\n static COUNCIL_REFERENCE_CONTROL_NAME = \"councilReference\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-rc.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-rc.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationLocationRcConstants } from \"./view-application-location-rc.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { CreateApplicationLocationRcConstants } from \"../../../../create-application/modules/rc/create-application-location-rc/create-application-location-rc.constants\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { DatePipe } from \"@angular/common\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationRcComponent = class ViewApplicationLocationRcComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n appControllerService;\n datePipe;\n selectedApplicationService;\n changeDetectorRefs;\n mapService;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationRcConstants.DESCRIPTION_LABEL_4;\n erfNoTextPlaceHolder = ViewApplicationLocationRcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationRcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationRcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationRcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationRcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationRcConstants.ADDRESS_TEXT_PLACEHOLDER;\n titleDeedNumberLabel = ViewApplicationLocationRcConstants.TITLE_DEED_NUMBER_LABEL;\n zoningLabel = ViewApplicationLocationRcConstants.ZONING_LABEL;\n sectionalTitleSchemeNameLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_LABEL;\n sectionalTitleSchemeNumberLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_LABEL;\n sectionalTitleSchemeUnitLabel = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_LABEL;\n extentLabel = ViewApplicationLocationRcConstants.EXTENT_LABEL;\n purchasePriceLabel = ViewApplicationLocationRcConstants.PURCHASE_PRICE_LABEL;\n dateOfSaleLabel = ViewApplicationLocationRcConstants.DATE_OF_SALE_LABEL;\n electricityAccountNumberLabel = ViewApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_LABEL;\n waterAccountNumberLabel = ViewApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_LABEL;\n refuseAccountNumberLabel = ViewApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_LABEL;\n removePropertyLabel = ViewApplicationLocationRcConstants.REMOVE_PROPERTY_LABEL;\n managingAgentDisableFilterBy = true;\n managingAgentDisableAdd = false;\n managingAgentDisableEditing = false;\n managingAgentGroups = [];\n managingAgentLabel = \"Managing agent\";\n saveBtnPlaceholder = SharedConstants.SAVE_LABEL;\n erfNoControl = ViewApplicationLocationRcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationRcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationRcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationRcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationRcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationRcConstants.ADDRESS_CONTROL;\n titleDeedNumberControl = ViewApplicationLocationRcConstants.TITLE_DEED_NUMBER_CONTROL;\n zoningControl = ViewApplicationLocationRcConstants.ZONING_CONTROL;\n sectionalTitleSchemeNameControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NAME_CONTROL;\n sectionalTitleSchemeNumberControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL;\n sectionalTitleSchemeUnitControl = ViewApplicationLocationRcConstants.SECTIONAL_TITLE_SCHEME_UNIT_CONTROL;\n extentControl = ViewApplicationLocationRcConstants.EXTENT_CONTROL;\n purchasePriceControl = ViewApplicationLocationRcConstants.PURCHASE_PRICE_CONTROL;\n dateOfSaleControl = ViewApplicationLocationRcConstants.DATE_OF_SALE_CONTROL;\n electricityAccountNumberControl = ViewApplicationLocationRcConstants.ELECTRICITY_ACCOUNT_NUMBER_CONTROL;\n waterAccountNumberControl = ViewApplicationLocationRcConstants.WATER_ACCOUNT_NUMBER_CONTROL;\n refuseAccountNumberControl = ViewApplicationLocationRcConstants.REFUSE_ACCOUNT_NUMBER_CONTROL;\n managingAgentControl = ViewApplicationLocationRcConstants.MANAGING_AGENT_CONTROL;\n ownerDisableAdd = true;\n ownerDisableFilterBy = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n zones = [];\n applicationLoaded = false;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n rcApplication;\n getLookupsObservableSubscription;\n getTrueCentroidSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, appControllerService, datePipe, selectedApplicationService, changeDetectorRefs, mapService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.appControllerService = appControllerService;\n this.datePipe = datePipe;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.mapService = mapService;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.getLookups();\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n this.managingAgentGroups = stepMeta.managingAgentGroup;\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n handleRouteChange() {\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Rates certificate management graphics\", true);\n }\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID}`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(CreateApplicationLocationRcConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n const zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name?.toLowerCase() === \"zoning\") {\n zones.push(JSON.parse(item.content));\n }\n });\n }\n this.zones = zones;\n this.changeDetectorRefs.detectChanges();\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.rcApplication = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n this.getProperties().clear();\n const baysFormArray = this.getProperties();\n this.rcApplication.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const propertiesFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, propertiesFormGroup, baysFormArray);\n this.syncMapGeometries();\n });\n }\n createFormGroup(property, geom) {\n const dateString = this.datePipe.transform(property.dateOfSale, ViewApplicationLocationRcConstants.DATE_CONST);\n const propertyFormGroup = new FormGroup({\n id: new FormControl(property.id),\n applicationId: new FormControl(property.applicationId),\n erfNo: new FormControl(property.erfNumber),\n subdivision: new FormControl(property.subdivision),\n allotment: new FormControl(property.allotment),\n farmNo: new FormControl(property.farmNumber),\n sgCode: new FormControl(property.sgCode),\n address: new FormControl(property.address),\n titleDeedNumber: new FormControl(property.titleDeedNumber),\n zoning: new FormControl(property.zoning),\n sectionalTitleSchemeName: new FormControl(property.sectionalTitleSchemeName),\n sectionalTitleSchemeNumber: new FormControl(property.sectionalTitleSchemeNumber),\n sectionalTitleSchemeUnit: new FormControl(property.sectionalTitleSchemeUnit),\n extent: new FormControl(property.extent?.toFixed(2), [Validators.required]),\n purchasePrice: new FormControl(property.purchasePrice?.toFixed(2)),\n dateOfSale: new FormControl(dateString),\n electricityAccountNumber: new FormControl(property.electricityAccountNumber),\n waterAccountNumber: new FormControl(property.waterAccountNumber),\n refuseAccountNumber: new FormControl(property.refuseAccountNumber),\n managingAgent: new FormControl(null),\n centroid: new FormControl(null),\n geometry: new FormControl(geom)\n });\n const mangingAgentControl = propertyFormGroup.get(\"managingAgent\");\n propertyFormGroup.get(\"managingAgent\").setValue(property.managingAgent[0]);\n mangingAgentControl.disable();\n return propertyFormGroup;\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertiesFormArray) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertiesFormArray.push(newPropertyFormGroup);\n this.active = propertiesFormArray.length - 1;\n this.disableBayControls(propertiesFormArray.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationRcConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n disableBayControls(bayIndex) {\n const propertyControl = this.getProperties().controls[bayIndex];\n propertyControl.get(\"erfNo\").disable();\n propertyControl.get(\"subdivision\").disable();\n propertyControl.get(\"allotment\").disable();\n propertyControl.get(\"farmNo\").disable();\n propertyControl.get(\"sgCode\").disable();\n propertyControl.get(\"address\").disable();\n propertyControl.get(\"titleDeedNumber\").disable();\n propertyControl.get(\"zoning\").disable();\n propertyControl.get(\"sectionalTitleSchemeName\").disable();\n propertyControl.get(\"sectionalTitleSchemeNumber\").disable();\n propertyControl.get(\"sectionalTitleSchemeUnit\").disable();\n propertyControl.get(\"extent\").disable();\n propertyControl.get(\"purchasePrice\").disable();\n propertyControl.get(\"dateOfSale\").disable();\n propertyControl.get(\"electricityAccountNumber\").disable();\n propertyControl.get(\"waterAccountNumber\").disable();\n propertyControl.get(\"refuseAccountNumber\").disable();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: AppControllerService },\n { type: DatePipe },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: MapService },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationRcComponent = __decorate([\n Component({\n selector: \"app-view-application-location-rc\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationRcComponent);\nexport { ViewApplicationLocationRcComponent };\n","export class ViewApplicationLocationRcConstants {\n static STEP_TITLE = \"Location\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static ONLY_ONE_PROPERTY_ALLOWED = \"only one property can be added per application.\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static TITLE_DEED_NUMBER_LABEL = \"Title deed number\";\n static ZONING_LABEL = \"Zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_LABEL = \"Sectional title scheme name\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_LABEL = \"Sectional title scheme number\";\n static SECTIONAL_TITLE_SCHEME_UNIT_LABEL = \"Sectional title scheme unit\";\n static EXTENT_LABEL = \"Extent\";\n static PURCHASE_PRICE_LABEL = \"Purchase price\";\n static DATE_OF_SALE_LABEL = \"Date of sale\";\n static ELECTRICITY_ACCOUNT_NUMBER_LABEL = \"Electricity account number\";\n static WATER_ACCOUNT_NUMBER_LABEL = \"Water account number\";\n static REFUSE_ACCOUNT_NUMBER_LABEL = \"Refuse account number\";\n static MANAGING_AGENT_LABEL = \"Managing agent\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static TITLE_DEED_NUMBER_CONTROL = \"titleDeedNumber\";\n static ZONING_CONTROL = \"zoning\";\n static SECTIONAL_TITLE_SCHEME_NAME_CONTROL = \"sectionalTitleSchemeName\";\n static SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL = \"sectionalTitleSchemeNumber\";\n static SECTIONAL_TITLE_SCHEME_UNIT_CONTROL = \"sectionalTitleSchemeUnit\";\n static EXTENT_CONTROL = \"extent\";\n static PURCHASE_PRICE_CONTROL = \"purchasePrice\";\n static DATE_OF_SALE_CONTROL = \"dateOfSale\";\n static ELECTRICITY_ACCOUNT_NUMBER_CONTROL = \"electricityAccountNumber\";\n static WATER_ACCOUNT_NUMBER_CONTROL = \"waterAccountNumber\";\n static REFUSE_ACCOUNT_NUMBER_CONTROL = \"refuseAccountNumber\";\n static MANAGING_AGENT_CONTROL = \"managingAgent\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_ZONING_ATTRIBUTE = \"Zoning attribute is missing on the property zoning layer. Please contact your systems administrator.\";\n static ZONING_NOT_FOUND = \"The found zone ({0}) has not been configured in the lookups. Please contact your systems administrator.\";\n static DATE_CONST = \"yyyy-MM-dd\";\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsSnConstants } from \"./view-application-details-sn.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsSnComponent = class ViewApplicationDetailsSnComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n applicationDetailsFormGroupName = ViewApplicationDetailsSnConstants.APPLICATION_DETAILS_FORM_GROUP_NAME;\n descriptionFormControlName = ViewApplicationDetailsSnConstants.DESCRIPTION_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n referenceNumberControlName = ViewApplicationDetailsSnConstants.REFERENCE_NUMBER_CONTROL_NAME;\n referenceNumberLabel = ViewApplicationDetailsSnConstants.REFERENCE_NUMBER_LABEL;\n descriptionLabel = ViewApplicationDetailsSnConstants.DESCRIPTION_FORM_LABEL;\n applicationTypeLabel = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_FORM_LABEL;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n applicationTypes = [];\n validationMessages = ViewApplicationDetailsSnConstants.VALIDATION_MESSAGES;\n applicationTypeLookoutName = ViewApplicationDetailsSnConstants.APPLICATION_TYPE_LOOKOUT_NAME;\n getLookupsObservableSubscription;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and deleted eq false`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n const lookups = response.value;\n if (lookups.length > 0) {\n this.getLookupCompleted(lookups);\n }\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsSnConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(this.applicationDetailsFormGroupName);\n }\n getLookupCompleted(lookups) {\n lookups.forEach((lookUp) => {\n if (lookUp.name?.toLowerCase()?.trim() === \"applicationtype\") {\n const lookUpContent = JSON.parse(lookUp.content);\n this.applicationTypes.push(lookUpContent);\n }\n });\n this.aflaModuleStrategyService.lookups.set(this.applicationTypeLookoutName, this.applicationTypes);\n this.changeDetectorRef.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n this.detailsForm.get(this.referenceNumberControlName).setValue(application.referenceNumber);\n this.detailsForm.get(this.referenceNumberControlName).disable();\n this.detailsForm.get(this.applicationTypeFormControlName).setValue(application.type);\n this.detailsForm.get(this.applicationTypeFormControlName).disable();\n this.changeDetectorRef.detectChanges();\n }\n handleRouteChange() {\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsSnComponent = __decorate([\n Component({\n selector: \"app-view-application-details-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsSnComponent);\nexport { ViewApplicationDetailsSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationDetailsSnConstants {\n static STEP_TITLE = \"Details\";\n static APPLICATION_DETAILS_FORM_GROUP_NAME = \"detailsForm\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static DESCRIPTION_FORM_LABEL = \"Description\";\n static APPLICATION_TYPE_FORM_LABEL = \"Application type\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static APPLICATION_TYPE_LOOKOUT_NAME = \"applicationType\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n referenceNumber: {\n required: `Reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-sn.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-sn.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nimport { ViewApplicationLocationSnConstant } from \"./view-application-location-sn.constant\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ApplicationCreateService } from \"../../../../create-application/shared/application-create.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationSnComponent = class ViewApplicationLocationSnComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n mapService;\n applicationCreateService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n activeTabIndex;\n locationForm;\n descriptionLabel1 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationSnConstant.DESCRIPTION_LABEL_3;\n validationMessages = ViewApplicationLocationSnConstant.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.NO_OPTION_SELECTED;\n showPrivateStreetAreaOrEstateNameField = true;\n showCurrentNameField = true;\n showFeatureTypeField = true;\n showRequiredAsteriskForTheAreaEstateNameField = false;\n showRequiredAsteriskForTheCurrentNameField = false;\n streetOrFeatureLookUps = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_LOOKUPS;\n publicOrPrivateLookUps = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_LOOKUPS;\n isNewDevelopmentLookUps = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_LOOKUPS;\n haveExistingNameLookUps = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_LOOKUPS;\n streetOrFeatureLabel = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_LABEL;\n publicOrPrivateLabel = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_LABEL;\n privateStreetAreaOrEstateNameLabel = ViewApplicationLocationSnConstant.PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL;\n isNewDevelopmentLabel = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_NAME_LABEL;\n haveExistingNameLabel = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_LABEL;\n currentNameLabel = ViewApplicationLocationSnConstant.CURRENT_NAME_LABEL;\n locationDescriptionLabel = ViewApplicationLocationSnConstant.LOCATION_DESCRIPTION_LABEL;\n wardLabel = ViewApplicationLocationSnConstant.WARD_LABEL;\n proposedNameLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_LABEL;\n proposedNameLanguageLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_LANGUAGE_LABEL;\n proposedNameMeaningLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_MEANING_LABEL;\n proposedNameOriginLabel = ViewApplicationLocationSnConstant.PROPOSED_NAME_ORIGIN_LABEL;\n proposedAlternativeNameLabel = ViewApplicationLocationSnConstant.PROPOSED_ALTERNATIVE_NAME_LABEL;\n languageOfTheAlternativeNameLabel = ViewApplicationLocationSnConstant.LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL;\n meaningAlternativeNameLabel = ViewApplicationLocationSnConstant.MEANING_OF_THE_ALTERNATIVE_NAME_LABEL;\n featureTypeLabel = ViewApplicationLocationSnConstant.FEATURE_TYPE_LABEL;\n reasonForChangeLabel = ViewApplicationLocationSnConstant.REASON_FOR_CHANGE_LABEL;\n saveBtnPlaceholder = ViewApplicationLocationSnConstant.SAVE_BUTTON_PLACEHOLDER;\n featuresFormArrayName = ViewApplicationLocationSnConstant.FEATURES_FORM_ARRAY_NAME;\n locationFormGroupName = ViewApplicationLocationSnConstant.LOCATION_FORM_GROUP_NAME;\n streetOrFeatureFormControlName = ViewApplicationLocationSnConstant.STREET_OR_FEATURE_FORM_CONTROL_NAME;\n publicOrPrivateFormControlName = ViewApplicationLocationSnConstant.PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME;\n privateStreetAreaOrEstateNameFormControlName = ViewApplicationLocationSnConstant.PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME;\n isNewDevelopmentFormControlName = ViewApplicationLocationSnConstant.IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME;\n haveExistingNameFormControlName = ViewApplicationLocationSnConstant.HAVE_EXISTING_NAME_FORM_CONTROL_NAME;\n currentNameFormControlName = ViewApplicationLocationSnConstant.CURRENT_NAME_FORM_CONTROL_NAME;\n locationDescriptionFormControlName = ViewApplicationLocationSnConstant.LOCATION_DESCRIPTION_FORM_CONTROL_NAME;\n wardFormControlName = ViewApplicationLocationSnConstant.WARD_FORM_CONTROL_NAME;\n proposedNameFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_FORM_CONTROL_NAME;\n proposedNameLanguageFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME;\n proposedNameMeaningFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_MEANING_FORM_CONTROL_NAME;\n proposedAlternativeNameFormArrayName = ViewApplicationLocationSnConstant.PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME;\n proposedNameOriginFormControlName = ViewApplicationLocationSnConstant.PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME;\n featureTypeFormControlName = ViewApplicationLocationSnConstant.FEATURE_TYPE_FORM_CONTROL_NAME;\n reasonForChangeFormControlName = ViewApplicationLocationSnConstant.REASON_FOR_CHANGE_FORM_CONTROL_NAME;\n SharedConstants = SharedConstants;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getApplicationsQuerySubscription;\n getTrueCentroidSubscription;\n clearLayerGraphicsSubjectSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, mapService, applicationCreateService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.mapService = mapService;\n this.applicationCreateService = applicationCreateService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.listenForSelectedApplication();\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.listenForRouteParamChange();\n }\n loadMetadata() {\n }\n ngAfterViewInit() {\n this.mapService.actionStreetEnabled = false;\n this.mapService.actionPOIEnabled = false;\n }\n getFeatures() {\n if (this.locationForm) {\n return this.locationForm.get(this.featuresFormArrayName);\n }\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionStreetEnabled = false;\n this.mapService.actionPOIEnabled = false;\n this.mapService.destroyMap();\n }\n getAlternativeNameFormControls(featureIndex) {\n if (this.locationForm) {\n return this.getFeatures().controls[featureIndex].get(this.proposedAlternativeNameFormArrayName);\n }\n }\n handleRouteChange() {\n }\n syncMapGeometries() {\n const geometries = [];\n const features = this.getFeatures().controls;\n if (features.length > 0) {\n this.getFeatures().controls.forEach(featureControl => {\n const geom = featureControl.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"POI graphics\", true);\n }\n this.changeDetectorRefs.detectChanges();\n }\n }\n initForm() {\n this.locationForm = this.aflaModuleStrategyService.form.get(this.locationFormGroupName);\n this.activeTabIndex = 0;\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.getApplicationLocationDetails(application);\n this.applicationLoaded = true;\n }\n }\n });\n }\n getApplicationLocationDetails(application) {\n const params = {\n $expand: `location($expand=alternativeNames),line,polygon`,\n $filter: `jobId eq ${application.jobId} and moduleId eq ${+this.appControllerService.selectedModuleID}`\n };\n try {\n this.getApplicationsQuerySubscription = this.aflaModuleStrategyService.getApplicationsQuery(params).subscribe({\n next: (response) => {\n application.location = response.value[0]?.location;\n application.line = response.value[0]?.line;\n application.polygon = response.value[0]?.polygon;\n this.application = application;\n this.onGetApplicationDataCompleted(application);\n this.applicationLoaded = true;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"location details\", error, CRUDOperation.Get);\n }\n });\n }\n catch (e) {\n this.requestStatusService.clearBusyRequestCounter();\n }\n }\n onGetApplicationDataCompleted(application) {\n this.getFeatures().clear();\n const shape = application.location.streetOrFeature?.toLowerCase() === \"street\" ? application.line.shape : application.polygon.shape;\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(shape, 102100);\n const featureControl = this.getFeatures();\n const featureFormGroup = this.createFeatureFormGroup(application);\n const url = this.getGPToolURL();\n const formData = this.getGPToolFormData(geometryArc);\n this.getTrueCentroidSubscription = this.applicationCreateService.getTrueCentroid(url, formData).subscribe({\n next: (trueCentroidResponse) => {\n this.configureInitialFeatureForm(featureFormGroup);\n this.setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl);\n if (this.isMapLoaded) {\n this.syncMapGeometries();\n }\n this.changeDetectorRefs.detectChanges();\n },\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationLocationSnConstant.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n configureInitialFeatureForm(formGroup) {\n const streetOrFeatureValue = formGroup.get(this.streetOrFeatureFormControlName).value;\n if (streetOrFeatureValue?.toLowerCase() === \"street\") {\n this.configureFormsForSelectedStreet(formGroup);\n }\n if (streetOrFeatureValue?.toLowerCase() === \"feature\") {\n this.configureFormsForSelectedFeature(formGroup);\n }\n this.showOrHideCurrentNameField(formGroup);\n }\n configureFormsForSelectedStreet(formGroup) {\n this.showStreetSpecificFields();\n this.addStreetSpecificFieldsValidators(formGroup);\n this.clearValidationOfFeatureSpecificFields(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n hideFeatureSpecificFields() {\n this.showFeatureTypeField = false;\n }\n clearValidationOfFeatureSpecificFields(formGroup) {\n formGroup.get(this.featureTypeFormControlName).reset(\"\");\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.get(this.featureTypeFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = true;\n this.showCurrentNameField = true;\n }\n addStreetSpecificFieldsValidators(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).addValidators(Validators.required);\n this.showPrivateStreetAreaOrEstateNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).addValidators(Validators.required);\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.updateValueAndValidity();\n }\n configureFormsForSelectedFeature(formGroup) {\n this.clearValidationOfStreetSpecificFields(formGroup);\n this.hideStreetSpecificFields();\n this.clearFeatureTypeValidators(formGroup);\n this.hideFeatureSpecificFields();\n this.changeDetectorRefs.detectChanges();\n }\n clearFeatureTypeValidators(formGroup) {\n formGroup.get(this.featureTypeFormControlName).clearValidators();\n formGroup.updateValueAndValidity();\n }\n hideStreetSpecificFields() {\n this.showPrivateStreetAreaOrEstateNameField = false;\n this.showCurrentNameField = false;\n }\n clearValidationOfStreetSpecificFields(formGroup) {\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).enable();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).reset(\"\");\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).clearValidators();\n formGroup.get(this.privateStreetAreaOrEstateNameFormControlName).disable();\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).reset(\"\");\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).disable();\n formGroup.updateValueAndValidity();\n }\n showOrHideCurrentNameField(formGroup) {\n const currentNameValue = formGroup.get(this.currentNameFormControlName).value;\n if (currentNameValue) {\n this.showCurrentNameField = true;\n this.showRequiredAsteriskForTheCurrentNameField = true;\n formGroup.get(this.currentNameFormControlName).enable();\n formGroup.get(this.currentNameFormControlName).setValidators(Validators.required);\n }\n else {\n this.showRequiredAsteriskForTheCurrentNameField = false;\n formGroup.get(this.currentNameFormControlName).clearValidators();\n formGroup.get(this.currentNameFormControlName).setValue(\"\");\n formGroup.get(this.currentNameFormControlName).updateValueAndValidity();\n formGroup.get(this.currentNameFormControlName).disable();\n this.showCurrentNameField = false;\n }\n formGroup.get(this.streetOrFeatureFormControlName).updateValueAndValidity();\n }\n createFeatureFormGroup(application) {\n let geometryArc;\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"street\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.line.shape, 102100);\n }\n if (application.location.streetOrFeature?.toLowerCase()?.trim() === \"feature\") {\n geometryArc = WktConverterUtils.ConvertWktToArcGisJson(application.polygon.shape, 102100);\n }\n const geom = JsonUtils.fromJSON(geometryArc);\n const featureFormGroup = new FormGroup({\n objectId: new FormControl({ value: application.location.id, disabled: true }),\n currentName: new FormControl({ value: application.location.currentName, disabled: true }, [Validators.required]),\n centroid: new FormControl(null, [Validators.required]),\n streetOrFeature: new FormControl({ value: application.location.streetOrFeature, disabled: true }),\n publicOrPrivate: new FormControl({\n value: application.location.publicOrPrivate,\n disabled: true\n }, Validators.required),\n areaEstateName: new FormControl({ value: application.location.areaEstateName, disabled: true }),\n isNewDevelopment: new FormControl({\n value: application.location.isNewDevelopment,\n disabled: true\n }, Validators.required),\n haveExistingName: new FormControl({\n value: application.location.haveExistingName,\n disabled: true\n }, Validators.required),\n locationDescription: new FormControl({\n value: application.location.locationDescription,\n disabled: true\n }, Validators.required),\n geometry: new FormControl(geom),\n ward: new FormControl({ value: application.location.ward, disabled: true }, Validators.required),\n proposedName: new FormControl({ value: application.location.proposedName, disabled: true }, Validators.required),\n proposedNameLanguage: new FormControl({\n value: application.location.proposedNameLanguage,\n disabled: true\n }, Validators.required),\n proposedNameMeaning: new FormControl({\n value: application.location.proposedNameMeaning,\n disabled: true\n }, Validators.required),\n proposedNameOrigin: new FormControl({\n value: application.location.proposedNameOrigin,\n disabled: true\n }, Validators.required),\n featureType: new FormControl({ value: application.location.featureType, disabled: true }, Validators.required),\n reasonForChange: new FormControl({\n value: application.location.reasonForChange,\n disabled: true\n }, Validators.required),\n alternativeNames: new FormArray([], Validators.required)\n });\n const alternativeNamesControl = featureFormGroup.get(this.proposedAlternativeNameFormArrayName);\n application.location.alternativeNames.forEach((alternativeNameDetails) => {\n const alternativeGroup = new FormGroup({\n id: new FormControl(0),\n deleted: new FormControl(false),\n name: new FormControl({ value: alternativeNameDetails.name, disabled: true }, Validators.required),\n language: new FormControl(alternativeNameDetails.language, Validators.required),\n meaning: new FormControl(alternativeNameDetails.meaning, Validators.required)\n });\n alternativeNamesControl.push(alternativeGroup);\n });\n return featureFormGroup;\n }\n getGPToolURL() {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n return `${proxyUrl}?${gpToolUrl}`;\n }\n getGPToolFormData(geometry) {\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometry));\n return formData;\n }\n setTrueCentroid(featureFormGroup, trueCentroidResponse, featureControl) {\n featureFormGroup.get(\"centroid\").setValue(trueCentroidResponse.results[0].value);\n featureControl.push(featureFormGroup);\n this.activeTabIndex = featureControl.length - 1;\n this.changeDetectorRefs.detectChanges();\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: ApplicationCreateService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationSnComponent = __decorate([\n Component({\n selector: \"app-view-application-location-sn\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationSnComponent);\nexport { ViewApplicationLocationSnComponent };\n","import { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nexport class ViewApplicationLocationSnConstant {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the POI for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct POI and click on the POI. Click on 'add POI' in the window that appears on the map after you selected the POI.\";\n static DESCRIPTION_LABEL_3 = \"The POI will be added and the fields must be completed for the POI. Please note that only one POI can be added.\";\n static PROPERTY_REQUIRED = \"Please select a POI before continuing with the create application process\";\n static STREET_OR_FEATURE_LABEL = \"Are you requesting the renaming of a street or feature?\";\n static PUBLIC_OR_PRIVATE_LABEL = \"Is the street public or private?\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL = \"Private street area or estate name\";\n static IS_NEW_DEVELOPMENT_NAME_LABEL = \"Is the street / feature an existing street or a new development.\";\n static HAVE_EXISTING_NAME_LABEL = \"Does the street / feature have an existing name?\";\n static CURRENT_NAME_LABEL = \"Current name?\";\n static LOCATION_DESCRIPTION_LABEL = \"Description of the street's / feature's location\";\n static WARD_LABEL = \"Ward of the street / feature\";\n static PROPOSED_NAME_LABEL = \"Proposed name of the street / feature: First choice\";\n static PROPOSED_NAME_LANGUAGE_LABEL = \"What is the language of the name / feature?\";\n static PROPOSED_NAME_MEANING_LABEL = \"What is the meaning of the name / feature?\";\n static PROPOSED_NAME_ORIGIN_LABEL = \"Give the origin of the name if you know it and rationale for changing the name. Also provide the significance of the name.\";\n static PROPOSED_ALTERNATIVE_NAME_LABEL = \"Alternative name of the street / feature:\";\n static LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the language of the alternative name?\";\n static MEANING_OF_THE_ALTERNATIVE_NAME_LABEL = \"What is the meaning of the alternative name?\";\n static FEATURE_TYPE_LABEL = \"Which feature is the proposed name intended? (e.g. post office, railway station, town, township, suburb, mountain, settlement, village)\";\n static REASON_FOR_CHANGE_LABEL = \"In the case of a proposed change of a name, give the reasons for the change \";\n static REMOVE_FEATURE_LABEL = \"Remove feature\";\n static FEATURES_FORM_ARRAY_NAME = \"features\";\n static LOCATION_FORM_GROUP_NAME = \"locationForm\";\n static STREET_OR_FEATURE_FORM_CONTROL_NAME = \"streetOrFeature\";\n static PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME = \"publicOrPrivate\";\n static PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME = \"areaEstateName\";\n static IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME = \"isNewDevelopment\";\n static HAVE_EXISTING_NAME_FORM_CONTROL_NAME = \"haveExistingName\";\n static CURRENT_NAME_FORM_CONTROL_NAME = \"currentName\";\n static LOCATION_DESCRIPTION_FORM_CONTROL_NAME = \"locationDescription\";\n static WARD_FORM_CONTROL_NAME = \"ward\";\n static PROPOSED_NAME_FORM_CONTROL_NAME = \"proposedName\";\n static PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME = \"proposedNameLanguage\";\n static PROPOSED_NAME_MEANING_FORM_CONTROL_NAME = \"proposedNameMeaning\";\n static PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME = \"proposedNameOrigin\";\n static PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME = \"alternativeNames\";\n static FEATURE_TYPE_FORM_CONTROL_NAME = \"featureType\";\n static REASON_FOR_CHANGE_FORM_CONTROL_NAME = \"reasonForChange\";\n static DUPLICATE_MESSAGE = \"The selected POI has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static STREET_OR_FEATURE_LOOKUPS = [{\n code: \"Street\", value: \"Street\"\n }, {\n code: \"Feature\", value: \"Feature\"\n }];\n static PUBLIC_OR_PRIVATE_LOOKUPS = [{\n code: \"Public\", value: \"Public\"\n }, {\n code: \"Private\", value: \"Private\"\n }];\n static IS_NEW_DEVELOPMENT_LOOKUPS = [{\n code: \"True\", value: \"True\"\n }, {\n code: \"False\", value: \"False\"\n }];\n static HAVE_EXISTING_NAME_LOOKUPS = [{\n code: \"No\", value: \"No\"\n }, {\n code: \"Yes\", value: \"Yes\"\n }];\n static REASON_FOR_CHANGE_NAME_LOOKUPS = [{\n code: \"Public\", value: \"Public\"\n }, {\n code: \"Private\", value: \"Private\"\n }];\n static VALIDATION_MESSAGES = {\n streetOrFeature: {\n required: `Street or feature ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, publicOrPrivate: {\n required: `Public or public ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, areaEstateName: {\n required: `Area estate name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, isNewDevelopment: {\n required: `Is new development ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, haveExistingName: {\n required: `Have existing name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, currentName: {\n required: `Current name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, locationDescription: {\n required: `Location description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, ward: {\n required: `Ward ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedName: {\n required: `Proposed name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameLanguage: {\n required: `Proposed name language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameMeaning: {\n required: `Proposed name meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, proposedNameOrigin: {\n required: `Proposed name origin ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, featureType: {\n required: `Feature type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, reasonForChange: {\n required: `Reason for change ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, name: {\n required: `Name ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, language: {\n required: `Language ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }, meaning: {\n required: `Meaning ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewApplicationDetailsTmamsConstants } from \"./view-application-details-tmams.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsTmamsComponent = class ViewApplicationDetailsTmamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsTmamsConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsTmamsConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsTmamsConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsTmamsConstants.DESCRIPTION_LBL;\n validationMessages = ViewApplicationDetailsTmamsConstants.VALIDATION_MESSAGES;\n applicationTypePlaceHolder = ViewApplicationDetailsTmamsConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationTMAMSSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.initForm();\n this.loadLookup();\n this.getMetadata();\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationTMAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsTmamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsTmamsComponent);\nexport { ViewApplicationDetailsTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsTmamsConstants {\n static TYPE_CTRL = \"type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_LBL = \"Description\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n static VALIDATION_MESSAGES = {\n applicationType: {\n required: `Application type ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-tmams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-tmams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ViewLocationTmConstants } from \"./view-application-location-tmams.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport RecipientUtils from \"../../../../shared/utils/recipient-utils\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationTmamsComponent = class ViewApplicationLocationTmamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewLocationTmConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewLocationTmConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewLocationTmConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewLocationTmConstants.DESCRIPTION_LABEL_4;\n validationMessages = ViewLocationTmConstants.VALIDATION_MESSAGES;\n erfNoControl = ViewLocationTmConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewLocationTmConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewLocationTmConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewLocationTmConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewLocationTmConstants.SG_CODE_CONTROL;\n addressControl = ViewLocationTmConstants.ADDRESS_CONTROL;\n ownerControl = ViewLocationTmConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = ViewLocationTmConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewLocationTmConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewLocationTmConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewLocationTmConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewLocationTmConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewLocationTmConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewLocationTmConstants.OWNER_LABEL;\n removePropertyLabel = ViewLocationTmConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n mapComponent;\n _isMapLoaded = false;\n selectedApplicationTMAMSSubscription;\n get isMapLoaded() {\n return this._isMapLoaded;\n }\n set isMapLoaded(value) {\n this._isMapLoaded = value;\n }\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n tmApplication;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n checkSave() {\n this.selectedApplicationTMAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n ;\n this.tmApplication = app;\n if (this.tmApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber, [Validators.required]),\n subdivision: new FormControl(prop.subdivision, [Validators.required]),\n allotment: new FormControl(prop.allotment, [Validators.required]),\n farmNo: new FormControl(prop.farmNumber, [Validators.required]),\n sgCode: new FormControl(prop.sgCode, [Validators.required]),\n address: new FormControl(prop.address, [Validators.required]),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null, [Validators.required]),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.tmApplication.properties && this.tmApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID\n + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n while (pa.controls.length > 0) {\n pa.removeAt(0);\n }\n this.tmApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewLocationTmConstants.PROPERTY_LAYER_NAME, true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationTmamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-tmams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationTmamsComponent);\nexport { ViewApplicationLocationTmamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewLocationTmConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static PROPERTY_LAYER_NAME = \"Training management graphics\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n static VALIDATION_MESSAGES = {\n erfNo: {\n required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n subdivision: {\n required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n allotment: {\n required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n farmNo: {\n required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n sgCode: {\n required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n address: {\n required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-tpams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsTpamsConstants } from \"./view-application-details-tpams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nlet ViewApplicationDetailsTpamsComponent = class ViewApplicationDetailsTpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appControllerService;\n changeDetectorRef;\n routerParamsService;\n detailsForm;\n descriptionFormControlName = ViewApplicationDetailsTpamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n amendmentSchemeNumberFormControlName = ViewApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME;\n applicationTypesFormControlName = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPES_FORM_CONTROL_NAME;\n applicationTypeFormControlName = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPE_FORM_CONTROL_NAME;\n zonesFormControlName = ViewApplicationDetailsTpamsConstants.ZONES_FORM_CONTROL_NAME;\n zoneFormControlName = ViewApplicationDetailsTpamsConstants.ZONE_FORM_CONTROL_NAME;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n addZoneLabel = ViewApplicationDetailsTpamsConstants.ADD_ZONE_LABEL;\n removeLabel = SharedConstants.REMOVE_LABEL;\n applicationTypeLabel = ViewApplicationDetailsTpamsConstants.APPLICATION_TYPE_LABEL;\n zoneLabel = ViewApplicationDetailsTpamsConstants.ZONE_LABEL;\n descriptionLabel = ViewApplicationDetailsTpamsConstants.DESCRIPTION_LABEL;\n amendmentSchemeNumberLabel = ViewApplicationDetailsTpamsConstants.AMENDMENT_SCHEME_NUMBER_LABEL;\n applicationTypes = [];\n zones = [];\n rezoneConfirmationControlName = ViewApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME;\n rezoneConfirmationLabel = ViewApplicationDetailsTpamsConstants.REZONING_APPLICATION_CONFIRMATION_LABEL;\n rezoneKeywordRezone = ViewApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONE;\n rezoneKeywordRezoning = ViewApplicationDetailsTpamsConstants.REZONING_KEYWORD_REZONING;\n isRezoning = false;\n applicationTypesControl;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appControllerService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appControllerService = appControllerService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n this.listenForRouteParamChange();\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n getApplicationTypes() {\n return this.detailsForm.get(\"applicationTypes\");\n }\n getZones() {\n return this.detailsForm.get(\"zones\");\n }\n onBtnRemoveZoneClicked(i) {\n const controls = this.getZones();\n if (controls.controls.length > 1) {\n controls.removeAt(i);\n }\n }\n onBtnAddZoneClicked() {\n const zonesControl = this.getZones();\n const zoneGroup = new FormGroup({\n zone: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.appControllerService.selectedModuleID} and (name eq 'ApplicationType' or name eq 'Zoning')`,\n };\n this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n this.onGetLookupsCompleted(response);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.applicationTypes = [];\n this.zones = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"ApplicationType\") {\n this.applicationTypes.push(JSON.parse(item.content));\n }\n if (item.name === \"Zoning\") {\n this.zones.push(JSON.parse(item.content));\n }\n });\n this.changeDetectorRef.markForCheck();\n this.subscribeToSelectedApplication();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).setValue(application.amendmentSchemeNumber);\n this.detailsForm.get(this.amendmentSchemeNumberFormControlName).disable();\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n this.detailsForm.get(this.descriptionFormControlName).disable();\n const appTypes = application.applicationTypes;\n this.setTypes(appTypes);\n const appZones = application.applicationZonings;\n this.setZones(appZones);\n }\n setTypes(appTypes) {\n const typesControl = this.getApplicationTypes();\n typesControl.clear();\n // sets application types from the application\n appTypes.forEach(applicationType => {\n let appType = null;\n this.applicationTypes.forEach(item => {\n if (item?.value === applicationType.applicationType) {\n appType = item;\n }\n });\n const typeGroup = new FormGroup({\n id: new FormControl(applicationType.id),\n applicationId: new FormControl(applicationType.applicationId),\n type: new FormControl({ value: appType?.value, disabled: true })\n });\n typesControl.push(typeGroup);\n typesControl.disable();\n });\n }\n setZones(appZones) {\n const zonesControl = this.getZones();\n zonesControl.clear();\n appZones.forEach(applicationZoning => {\n let zone = null;\n this.zones.forEach(item => {\n if (item?.value === applicationZoning.zoning) {\n zone = item;\n }\n });\n const zoneGroup = new FormGroup({\n id: new FormControl(applicationZoning.id),\n applicationId: new FormControl(applicationZoning.applicationId),\n applicationPropertyId: new FormControl(applicationZoning.applicationPropertyId),\n zone: new FormControl({ value: zone?.value, disabled: true })\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n });\n }\n onApplicationTypeSelected(event) {\n let match = false;\n const element = event.target;\n let selectedText = element.options[element.options.selectedIndex].text;\n const typeControls = this.getApplicationTypes();\n typeControls.controls.forEach(type => {\n if (match == false) {\n if ((type.value.type.value.toLowerCase().includes(this.rezoneKeywordRezone) ||\n type.value.type.value.toLowerCase().includes(this.rezoneKeywordRezoning))) {\n this.isRezoning = true;\n match = true;\n }\n else {\n this.isRezoning = false;\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsTpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-tpams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsTpamsComponent);\nexport { ViewApplicationDetailsTpamsComponent };\n","export class ViewApplicationDetailsTpamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static FILE_NUMBER_LABEL = \"File number\";\n static AMENDMENT_SCHEME_NUMBER_LABEL = \"Amendment scheme number\";\n static APPLICATION_TYPE_LABEL = \"Application type\";\n static ZONE_LABEL = \"New property zone\";\n static AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME = \"amendmentSchemeNumber\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static APPLICATION_TYPES_FORM_CONTROL_NAME = \"applicationTypes\";\n static APPLICATION_TYPE_FORM_CONTROL_NAME = \"type\";\n static ZONES_FORM_CONTROL_NAME = \"zones\";\n static ZONE_FORM_CONTROL_NAME = \"zone\";\n static ADD_ZONE_LABEL = \"Add zone\";\n static REFERENCE_NUMBER_LABEL = \"Reference number\";\n static REFERENCE_NUMBER_CONTROL_NAME = \"referenceNumber\";\n static REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME = \"rezoneConfirmation\";\n static REZONING_APPLICATION_CONFIRMATION_LABEL = \"Is the application a rezoning application?\";\n static REZONING_KEYWORD_REZONING = \"rezoning\";\n static REZONING_KEYWORD_REZONE = \"rezone\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-tpams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-tpams.component.scss?ngResource\";\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { MapService } from \"../../../../map/shared/map.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ApiProxyConstants } from \"../../../../shared/constants/api-constants/api-proxy.constants\";\nimport { AppConfig } from \"../../../../app.config\";\nimport { AppRoutingConstants } from \"../../../../app-routing.constants\";\nimport { UrlConstants } from \"../../../../shared/constants/url.constants\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { ViewApplicationLocationTpamsConstants } from \"./view-application-location-tpams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationLocationTpamsComponent = class ViewApplicationLocationTpamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n mapService;\n requestStatusService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n erfNoControl = ViewApplicationLocationTpamsConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationTpamsConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationTpamsConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationTpamsConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationTpamsConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationTpamsConstants.ADDRESS_CONTROL;\n buildingUseControl = ViewApplicationLocationTpamsConstants.BUILDING_USE_CONTROL;\n erfSizeControl = ViewApplicationLocationTpamsConstants.ERF_SIZE_CONTROL;\n buildingFloorAreaControl = ViewApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_CONTROL;\n titleDeedControl = ViewApplicationLocationTpamsConstants.TITLE_DEED_CONTROL;\n zoneControl = ViewApplicationLocationTpamsConstants.ZONE_CONTROL;\n ownerControl = ViewApplicationLocationTpamsConstants.OWNER_CONTROL;\n propertiesControl = ViewApplicationLocationTpamsConstants.PROPERTIES_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationTpamsConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationTpamsConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationTpamsConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationTpamsConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationTpamsConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationTpamsConstants.ADDRESS_TEXT_PLACEHOLDER;\n buildingUseTextPlaceHolder = ViewApplicationLocationTpamsConstants.BUILDING_USE_TEXT_PLACEHOLDER;\n erfSizeTextPlaceHolder = ViewApplicationLocationTpamsConstants.ERF_SIZE_TEXT_PLACEHOLDER;\n buildingFloorAreaTextPlaceHolder = ViewApplicationLocationTpamsConstants.BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER;\n titleDeedTextPlaceHolder = ViewApplicationLocationTpamsConstants.TITLE_DEED_TEXT_PLACEHOLDER;\n zoneLabel = ViewApplicationLocationTpamsConstants.ZONE_LABEL;\n ownerLabel = ViewApplicationLocationTpamsConstants.OWNER_LABEL;\n ownerDisableFilterBy = true;\n ownerDisableAdd = true;\n ownerDisableEditing = true;\n ownerDisableDelete = true;\n ownerShowGroupsDropdown = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n zones = [];\n showOnlyPropertyAndZoningLayers = true;\n mapComponent;\n isMapLoaded = false;\n application;\n applicationLoaded = false;\n getTrueCentroidSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, mapService, requestStatusService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.mapService = mapService;\n this.requestStatusService = requestStatusService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.initForm();\n this.listenForSelectedApplication();\n this.getMetadata();\n }\n ngOnInit() {\n this.getZoningLookups();\n this.listenForRouteParamChange();\n }\n ngAfterViewInit() {\n this.mapService.actionPropertyEnabled = false;\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n ngOnDestroy() {\n this.mapService.actionPropertyEnabled = false;\n this.mapService.destroyMap();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n getProperties() {\n if (this.propertiesForm) {\n return this.propertiesForm.get(this.propertiesControl);\n }\n }\n getZones(propertyIndex) {\n return this.getProperties().controls[propertyIndex].get(this.zoneControl);\n }\n disablePropertyControls(propertyIndex) {\n const propertyControl = this.getProperties().controls[propertyIndex];\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.subdivisionControl).disable();\n propertyControl.get(this.allotmentControl).disable();\n propertyControl.get(this.sgCodeControl).disable();\n propertyControl.get(this.addressControl).disable();\n propertyControl.get(this.buildingUseControl).disable();\n propertyControl.get(this.erfNoControl).disable();\n propertyControl.get(this.buildingFloorAreaControl).disable();\n propertyControl.get(this.titleDeedControl).disable();\n }\n setZonesControls(newPropertyFormGroup, property) {\n const zonesControl = newPropertyFormGroup.get(this.zoneControl);\n if (property.zonings && property.zonings.length > 0) {\n property.zonings.forEach(zone => {\n let foundZone = false;\n this.zones.forEach(zoneOption => {\n if (zoneOption.value === zone.zoning) {\n foundZone = true;\n const zoneGroup = new FormGroup({\n id: new FormControl(zone.id),\n applicationId: new FormControl(zone.applicationId),\n applicationPropertyId: new FormControl(zone.applicationPropertyId),\n zones: new FormControl({ value: zoneOption, disabled: true }),\n deleted: new FormControl(zone.deleted)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n });\n });\n }\n else {\n const zoneGroup = new FormGroup({\n id: new FormControl(null),\n applicationId: new FormControl(null),\n applicationPropertyId: new FormControl(null),\n zones: new FormControl({ value: null, disabled: true }),\n deleted: new FormControl(null)\n });\n zonesControl.push(zoneGroup);\n zonesControl.disable();\n }\n }\n setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property) {\n const proxyUrl = ApiProxyConstants.URL;\n const gpToolUrl = AppConfig.settings.arcGIS.servicesURL + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GEO_PROCESSING + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GP_SERVER + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.GET_TRUE_CENTROID + AppRoutingConstants.ROUTE_SEPERATOR + UrlConstants.EXECUTE;\n const url = `${proxyUrl}?${gpToolUrl}`;\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geometryArc));\n this.getTrueCentroidSubscription = this.applicationViewService.getTrueCentroid(url, formData).subscribe({\n next: (response) => {\n newPropertyFormGroup.get(\"centroid\").setValue(response.results[0].value);\n propertyControl.push(newPropertyFormGroup);\n this.active = propertyControl.length - 1;\n this.setZonesControls(newPropertyFormGroup, property);\n this.disablePropertyControls(propertyControl.length - 1);\n this.syncMapGeometries();\n this.changeDetectorRefs.markForCheck();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationTpamsConstants.TRUE_CENTROID, error, CRUDOperation.Get);\n }\n });\n }\n handleRouteChange() {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n this.propertiesForm = form;\n }\n getZoningLookups() {\n const params = {\n $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'Zoning'`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.value && response.value.length > 0) {\n const zoningLookups = response.value;\n this.onGetZoningLookupsCompleted(zoningLookups);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(ViewApplicationLocationTpamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetZoningLookupsCompleted(zoningLookups) {\n zoningLookups.forEach(zoneObject => {\n this.zones.push(JSON.parse(zoneObject.content));\n });\n this.getMetadata();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, ViewApplicationLocationTpamsConstants.LAYER_REF, true);\n }\n this.changeDetectorRefs.markForCheck();\n }\n listenForSelectedApplication() {\n this.selectedApplicationService.$selectedApplication.pipe(take(1)).subscribe({\n next: (application) => {\n if (application && application.id >= 0 && !this.applicationLoaded) {\n this.application = application;\n this.setApplicationData();\n this.applicationLoaded = true;\n }\n }\n });\n }\n setApplicationData() {\n if (this.application && this.application.properties && this.application.properties.length > 0) {\n if (!this.getProperties()) {\n return;\n }\n else {\n this.getProperties().clear();\n const propertyControl = this.getProperties();\n this.selectedApplication?.properties?.sort((a, b) => (b?.id - a?.id));\n this.application.properties.forEach((property) => {\n // create form groups for each property\n const geometryArc = WktConverterUtils.ConvertWktToArcGisJson(property.shape, 102100);\n const geom = JsonUtils.fromJSON(geometryArc);\n const newPropertyFormGroup = this.createFormGroup(property, geom);\n this.setTrueCentroid(geometryArc, newPropertyFormGroup, propertyControl, property);\n this.syncMapGeometries();\n });\n }\n }\n }\n createFormGroup(property, geom) {\n return new FormGroup({\n property: new FormControl(property),\n erfNo: new FormControl({ value: property.erfNumber, disabled: true }),\n subdivision: new FormControl({ value: property.subdivision, disabled: true }),\n allotment: new FormControl({ value: property.allotment, disabled: true }),\n farmNo: new FormControl({ value: property.farmNumber, disabled: true }),\n sgCode: new FormControl({ value: property.sgCode, disabled: true }),\n address: new FormControl({ value: property.address, disabled: true }),\n buildingUse: new FormControl({ value: property.buildingUse, disabled: true }),\n erfSize: new FormControl({ value: property.erfSize, disabled: true }),\n buildingFloorArea: new FormControl({ value: property.buildingFloorArea, disabled: true }),\n titleDeed: new FormControl({ value: property.titleDeed, disabled: true }),\n geometry: new FormControl(geom),\n centroid: new FormControl(null),\n zones: new FormArray([]),\n owners: new FormControl(property.owners)\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: MapService },\n { type: RequestStatusService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationTpamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-tpams\",\n template: __NG_CLI_RESOURCE__0,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationTpamsComponent);\nexport { ViewApplicationLocationTpamsComponent };\n","export class ViewApplicationLocationTpamsConstants {\n static STEP_TITLE = \"Location\";\n static ZONE_LABEL = \"Current property zoning\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static BUILDING_USE_CONTROL = \"buildingUse\";\n static ERF_SIZE_CONTROL = \"erfSize\";\n static BUILDING_FLOOR_AREA_CONTROL = \"buildingFloorArea\";\n static TITLE_DEED_CONTROL = \"titleDeed\";\n static ZONE_CONTROL = \"zones\";\n static OWNER_CONTROL = \"owners\";\n static PROPERTIES_CONTROL = \"properties\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static BUILDING_USE_TEXT_PLACEHOLDER = \"Building use\";\n static ERF_SIZE_TEXT_PLACEHOLDER = \"Erf size\";\n static BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER = \"Building floor area\";\n static TITLE_DEED_TEXT_PLACEHOLDER = \"Title deed\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static LAYER_REF = \"Town planning graphics\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { CompareDatesUtil } from \"../../../../shared/utils/date-field-validator.utils\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { ViewApplicationDetailsWamsConstants } from \"./view-application-details-wams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { DatePipe } from \"@angular/common\";\nlet ViewApplicationDetailsWamsComponent = class ViewApplicationDetailsWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n shortDatePipe;\n appControllerService;\n changeDetectorRefs;\n routerParamsService;\n detailsForm;\n validationMessages = ViewApplicationDetailsWamsConstants.VALIDATION_MESSAGES;\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n descriptionFormControlName = ViewApplicationDetailsWamsConstants.DESCRIPTION_FORM_CONTROL_NAME;\n clientReferenceNumberFormControlName = ViewApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME;\n applicantTelecommunicationLicenseNumberFormControlName = ViewApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME;\n scopeOfWorkFormControlName = ViewApplicationDetailsWamsConstants.SCOPE_OF_WORK_FORM_CONTROL_NAME;\n estimatedConstructionCostFormControlName = ViewApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME;\n applicationFeeFormControlName = ViewApplicationDetailsWamsConstants.APPLICATION_FEE_FORM_CONTROL_NAME;\n constructionPeriodInWeeksFormControlName = ViewApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_FORM_CONTROL_NAME;\n proposedStartDateFormControlName = ViewApplicationDetailsWamsConstants.PROPOSED_START_DATE_FORM_CONTROL_NAME;\n proposedEndDateFormControlName = ViewApplicationDetailsWamsConstants.PROPOSED_END_DATE_FORM_CONTROL_NAME;\n laneClosureIsRequiredFormControlName = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME;\n laneClosureExtentFormControlName = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME;\n electricalServicesFormControlName = ViewApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_FORM_CONTROL_NAME;\n descriptionLabel = ViewApplicationDetailsWamsConstants.DESCRIPTION_LABEL;\n clientReferenceNumberLabel = ViewApplicationDetailsWamsConstants.CLIENT_REFERENCE_NUMBER_LABEL;\n applicantTelecommunicationLicenseNumberLabel = ViewApplicationDetailsWamsConstants.APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL;\n scopeOfWorkFormLabel = ViewApplicationDetailsWamsConstants.SCOPE_OF_WORK_LABEL;\n estimatedConstructionCostLabel = ViewApplicationDetailsWamsConstants.ESTIMATED_CONSTRUCTION_COST_LABEL;\n applicationFeeLabel = ViewApplicationDetailsWamsConstants.APPLICATION_FEE_LABEL;\n constructionPeriodInWeeksLabel = ViewApplicationDetailsWamsConstants.CONSTRUCTION_PERIOD_LABEL;\n proposedStartDateLabel = ViewApplicationDetailsWamsConstants.PROPOSED_START_DATE_LABEL;\n proposedEndDateLabel = ViewApplicationDetailsWamsConstants.PROPOSED_END_DATE_LABEL;\n laneClosureIsRequiredLabel = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_IS_REQUIRED_LABEL;\n laneClosureExtentLabel = ViewApplicationDetailsWamsConstants.LANE_CLOSURE_EXTENT_LABEL;\n electricalServicesLabel = ViewApplicationDetailsWamsConstants.ELECTRICAL_SERVICES_LABEL;\n applicationTypes = [];\n zones = [];\n yesNoOptions = [];\n laneClosureExtentOptions = [];\n electricalServicesOptions = [];\n selectedApplicationSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, shortDatePipe, appControllerService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.shortDatePipe = shortDatePipe;\n this.appControllerService = appControllerService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getLookups();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n verifyProposedDates(formControlName) {\n // checks if the startDate is >= endDate\n CompareDatesUtil.verifyProposedDates(this.detailsForm, this.proposedStartDateFormControlName, this.proposedEndDateFormControlName, formControlName, this.appControllerService);\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm = form;\n }\n getLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and (name eq 'LaneClosureExtent' or name eq 'ElectricalServices')`,\n };\n this.getLookupsObservableSubscription = this.applicationViewService\n .getLookupsObservable(params)\n .subscribe({\n next: (response) => this.onGetLookupsCompleted(response),\n error: (error) => {\n this.appControllerService.handleServerErrorMessage(ViewApplicationDetailsWamsConstants.STEP_TITLE, error, CRUDOperation.Get);\n }\n });\n }\n onGetLookupsCompleted(response) {\n this.laneClosureExtentOptions = [];\n this.electricalServicesOptions = [];\n if (response && response.value.length > 0) {\n response.value.forEach(item => {\n if (item.name === \"LaneClosureExtent\") {\n this.laneClosureExtentOptions.push(JSON.parse(item.content));\n }\n if (item.name === \"ElectricalServices\") {\n this.electricalServicesOptions.push(JSON.parse(item.content));\n }\n });\n }\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n this.changeDetectorRefs.detectChanges();\n this.subscribeToSelectedApplication();\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.setApplicationDetails(application);\n }\n });\n }\n setApplicationDetails(application) {\n // checks the application has application details set\n this.detailsForm.reset();\n this.detailsForm.disable();\n if (application.description) {\n this.detailsForm.get(this.descriptionFormControlName).setValue(application.description);\n }\n if (application.scopeOfWork) {\n this.detailsForm.get(this.scopeOfWorkFormControlName).setValue(application.scopeOfWork);\n }\n if (application.clientReferenceNumber) {\n this.detailsForm.get(this.clientReferenceNumberFormControlName).setValue(application.clientReferenceNumber);\n }\n if (application.licenceNumber) {\n this.detailsForm.get(this.applicantTelecommunicationLicenseNumberFormControlName).setValue(application.licenceNumber);\n }\n if (application.applicationFee) {\n this.detailsForm.get(this.applicationFeeFormControlName).setValue(application.applicationFee);\n }\n if (application.estimatedCost) {\n this.detailsForm.get(this.estimatedConstructionCostFormControlName).setValue(application.estimatedCost);\n }\n if (application.proposedStartDate) {\n this.detailsForm.get(this.proposedStartDateFormControlName).setValue(this.shortDatePipe.transform(application.proposedStartDate, \"yyyy-MM-dd\"));\n }\n if (application.proposedEndDate) {\n this.detailsForm.get(this.proposedEndDateFormControlName).setValue(this.shortDatePipe.transform(application.proposedEndDate, \"yyyy-MM-dd\"));\n }\n if (application.laneClosureRequired) {\n this.detailsForm.get(this.laneClosureIsRequiredFormControlName).setValue(application.laneClosureRequired);\n }\n if (application.laneClosureExtent) {\n this.detailsForm.get(this.laneClosureExtentFormControlName).setValue(application.laneClosureExtent);\n }\n if (application.constructionPeriod) {\n this.detailsForm.get(this.constructionPeriodInWeeksFormControlName).setValue(application.constructionPeriod);\n }\n if (application.electricalServices) {\n this.detailsForm.get(this.electricalServicesFormControlName).setValue(application.electricalServices);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: DatePipe },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-details-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsWamsComponent);\nexport { ViewApplicationDetailsWamsComponent };\n","import { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nexport class ViewApplicationDetailsWamsConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LABEL = \"Description\";\n static CLIENT_REFERENCE_NUMBER_LABEL = \"Client reference number\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL = \"Applicant Telecommunication License Number\";\n static SCOPE_OF_WORK_LABEL = \"Scope of work\";\n static ESTIMATED_CONSTRUCTION_COST_LABEL = \"Estimated construction cost (R) (incl. vat)\";\n static APPLICATION_FEE_LABEL = \"Application fee (R) (incl. vat)\";\n static PROPOSED_START_DATE_LABEL = \"Proposed start date\";\n static PROPOSED_END_DATE_LABEL = \"Proposed end date \";\n static LANE_CLOSURE_IS_REQUIRED_LABEL = \"Lane closure is required\";\n static LANE_CLOSURE_EXTENT_LABEL = \"Lane closure extent\";\n static CONSTRUCTION_PERIOD_LABEL = \"Construction period in weeks\";\n static ELECTRICAL_SERVICES_LABEL = \"Electrical services\";\n static DESCRIPTION_FORM_CONTROL_NAME = \"description\";\n static CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME = \"clientReferenceNumber\";\n static APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME = \"applicantTelecommunicationLicenseNumber\";\n static SCOPE_OF_WORK_FORM_CONTROL_NAME = \"scopeOfWork\";\n static ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME = \"estimatedConstructionCost\";\n static APPLICATION_FEE_FORM_CONTROL_NAME = \"applicationFee\";\n static PROPOSED_START_DATE_FORM_CONTROL_NAME = \"proposedStartDate\";\n static PROPOSED_END_DATE_FORM_CONTROL_NAME = \"proposedEndDate\";\n static LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME = \"laneClosureIsRequired\";\n static LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME = \"laneClosureExtent\";\n static ELECTRICAL_SERVICES_FORM_CONTROL_NAME = \"electricalServices\";\n static CONSTRUCTION_PERIOD_FORM_CONTROL_NAME = \"constructionPeriodInWeeks\";\n static DATE_VALIDATION_ERROR = \"The proposed start date needs to be less than or equal to the proposed end date\";\n static VALIDATION_MESSAGES = {\n description: {\n required: `Description ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n clientReferenceNumber: {\n required: `Client reference number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicantTelecommunicationLicenseNumber: {\n required: `Applicant telecommunication license number ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n scopeOfWork: {\n required: `Scope of work ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n estimatedConstructionCost: {\n required: `Estimated construction cost ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n applicationFee: {\n required: `Application fee ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedStartDate: {\n required: `Proposed start date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n proposedEndDate: {\n required: `Proposed end date ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureIsRequired: {\n required: `Lane closure is required ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n laneClosureExtent: {\n required: `Lane closure extent ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n constructionPeriodInWeeks: {\n required: `Construction period in weeks ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n },\n electricalServices: {\n required: `Electrical services ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n }\n };\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-wams.component.scss?ngResource\";\nimport { Component, ViewChild } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport * as JsonUtils from \"@arcgis/core/geometry/support/jsonUtils\";\nimport { WktConverterUtils } from \"../../../../shared/utils/wkt-converter-utils\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationWamsComponent = class ViewApplicationLocationWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n showOnlyPropertyAndZoningLayers = true;\n locationForm;\n mapComponent;\n isMapLoaded = false;\n isAppLoaded = false;\n selectedApplicationWAMSSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.subscribeToSelectedApplication();\n this.listenForRouteParamChange();\n }\n handleRouteChange() {\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n loadMetadata(stepMeta) {\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(\"locationForm\");\n this.locationForm = form;\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationWAMSSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n if (this.selectedApplication) {\n this.setMapData();\n }\n }\n });\n }\n setMapData() {\n const centroidGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.shape, 102100);\n const centroid = JsonUtils.fromJSON(centroidGeometryArc);\n const geometries = [];\n this.locationForm.get(\"centroid\").setValue(centroid);\n if (this.selectedApplication.applicationPolygons.length > 0) {\n const polygonGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationPolygons[0].shape, 102100);\n const polygon = JsonUtils.fromJSON(polygonGeometryArc);\n this.locationForm.get(\"polygon\").setValue(polygon);\n this.locationForm.get(\"polygonDto\").setValue(this.selectedApplication.applicationPolygons[0]);\n geometries.push(polygon);\n }\n else {\n this.locationForm.get(\"polygon\").setValue(null);\n this.locationForm.get(\"polygonDto\").setValue(null);\n }\n if (this.selectedApplication.applicationLines.length > 0) {\n const polylineGeometryArc = WktConverterUtils.ConvertWktToArcGisJson(this.selectedApplication.applicationLines[0].shape, 102100);\n const polyline = JsonUtils.fromJSON(polylineGeometryArc);\n this.locationForm.get(\"polyline\").setValue(polyline);\n this.locationForm.get(\"polylineDto\").setValue(this.selectedApplication.applicationLines[0]);\n geometries.push(polyline);\n }\n else {\n this.locationForm.get(\"polyline\").setValue(null);\n this.locationForm.get(\"polylineDto\").setValue(null);\n }\n this.isAppLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n if (this.isAppLoaded && this.isMapLoaded) {\n const geometries = [];\n if (this.selectedApplication !== undefined && this.selectedApplication !== null) {\n if (this.selectedApplication.applicationLines !== null && this.selectedApplication.applicationLines.length > 0) {\n geometries.push(this.locationForm.get(\"polyline\").value);\n }\n else if (this.selectedApplication.applicationPolygons !== null && this.selectedApplication.applicationPolygons.length > 0) {\n geometries.push(this.locationForm.get(\"polygon\").value);\n }\n else {\n geometries.push(this.locationForm.get(\"centroid\").value);\n }\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Draw Tool Layer\", true);\n }\n else {\n this.mapComponent.removeGraphicsFromMap(\"Draw Tool Layer\");\n }\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationWamsComponent);\nexport { ViewApplicationLocationWamsComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-professional-bodies-wams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-professional-bodies-wams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { RecipientService } from \"../../../../shared/components/recipient-components/shared/shared-services/recipient.service\";\nimport { AflaModuleStrategyService } from \"../../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { SelectedApplicationService } from \"../../../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationProfessionalBodiesWamsConstants } from \"./view-application-professional-bodies-wams.constants\";\nimport { ViewApplicationBaseComponent } from \"../../../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../../../shared/application-view.service\";\nimport { ViewApplicationConstants } from \"../../../shared/view-application.constants\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { RouterParamsService } from \"../../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"../../../../shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationProfessionalBodiesWamsComponent = class ViewApplicationProfessionalBodiesWamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n recipientService;\n appController;\n changeDetectorRef;\n routerParamsService;\n professionalBodiesForm;\n professionalBodiesFormControl = ViewApplicationProfessionalBodiesWamsConstants.PROFESSIONAL_BODIES_FORM_CONTROL;\n stepHeader;\n markImplementingAgentAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL;\n markEngineerAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL;\n markContractorAsNotApplicableLabel = ViewApplicationProfessionalBodiesWamsConstants.MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL;\n implementingAgentFormControlName = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_FORM_CONTROL_NAME;\n engineerFormControlName = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_FORM_CONTROL_NAME;\n contractorFormControlName = ViewApplicationProfessionalBodiesWamsConstants.RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME;\n showImplementingAgent = false;\n showEngineer = false;\n showContractor = false;\n implementingAgentDisableFilterBy = true;\n implementingAgentDisableEditing = true;\n implementingAgentGroups = [];\n implementingAgentLabel = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_LABEL;\n implementingAgentDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.IMPLEMENTING_AGENT_DETAILS_HEADER;\n engineerDisableFilterBy = true;\n engineerDisableEditing = true;\n engineerGroups = [];\n engineerLabel = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_LABEL;\n engineerDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.ENGINEER_DETAILS_HEADER;\n contractorDisableFilterBy = true;\n contractorDisableEditing = true;\n contractorGroups = [];\n contractorLabel = ViewApplicationProfessionalBodiesWamsConstants.RESPONSIBLE_CONTRACTOR_LABEL;\n contractorDetailsHeader = ViewApplicationProfessionalBodiesWamsConstants.CONTRACTOR_DETAILS_HEADER;\n selectedApplicationSubscription;\n selectedModuleNameAsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, recipientService, appController, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.recipientService = recipientService;\n this.appController = appController;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.getMetadata();\n this.subscribeToSelectedModuleName();\n this.listenForRouteParamChange();\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.professionalBodiesFormControl);\n form.clearValidators();\n this.professionalBodiesForm = form;\n }\n loadMetadata(stepMeta) {\n try {\n this.implementingAgentGroups = stepMeta.implementingAgentConsultantGroup;\n this.engineerGroups = stepMeta.engineerGroup;\n this.contractorGroups = stepMeta.responsibleContractorGroup;\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n this.listenForSelectedApplication();\n this.changeDetectorRef.detectChanges();\n }\n handleRouteChange() {\n }\n listenForSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.implementingAgent !== undefined && application.implementingAgent !== null && application.implementingAgent.length > 0) {\n this.showImplementingAgent = true;\n const implementingAgent = application.implementingAgent[0];\n this.professionalBodiesForm.get(this.implementingAgentFormControlName).setValue(implementingAgent);\n this.professionalBodiesForm.markAllAsTouched();\n }\n if (application && application.engineer !== undefined && application.engineer !== null && application.engineer.length > 0) {\n this.showEngineer = true;\n const engineer = application.engineer[0];\n this.professionalBodiesForm.get(this.engineerFormControlName).setValue(engineer);\n this.professionalBodiesForm.markAllAsTouched();\n }\n if (application && application.contractor !== undefined && application.contractor !== null && application.contractor.length > 0) {\n this.showContractor = true;\n const electricalContractor = application.contractor[0];\n this.professionalBodiesForm.get(this.contractorFormControlName).setValue(electricalContractor);\n this.professionalBodiesForm.markAllAsTouched();\n }\n }\n });\n }\n subscribeToSelectedModuleName() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.PROFESSIONAL_BODIES_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RecipientService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationProfessionalBodiesWamsComponent = __decorate([\n Component({\n selector: \"app-view-application-professional-bodies-wams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationProfessionalBodiesWamsComponent);\nexport { ViewApplicationProfessionalBodiesWamsComponent };\n","export class ViewApplicationProfessionalBodiesWamsConstants {\n static STEP_TITLE = \"Professional bodies\";\n static MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL = \"Are the implementing agent's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL = \"Are the civil engineer's details required?\";\n static MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME = \"markEngineerAsNotApplicable\";\n static MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL = \"Are the contractor's details required?\";\n static IMPLEMENTING_AGENT_LABEL = \"Implementing agent / consultant\";\n static ENGINEER_LABEL = \"Civil engineer\";\n static RESPONSIBLE_CONTRACTOR_LABEL = \"Responsible contractor\";\n static IMPLEMENTING_AGENT_FORM_CONTROL_NAME = \"implementingAgentRecipient\";\n static ENGINEER_FORM_CONTROL_NAME = \"engineerRecipients\";\n static RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME = \"responsibleContractorRecipient\";\n static IMPLEMENTING_AGENT_DETAILS_HEADER = \"Implementing agent details\";\n static ENGINEER_DETAILS_HEADER = \"Engineer details\";\n static CONTRACTOR_DETAILS_HEADER = \"Contractor details\";\n static PROFESSIONAL_BODIES_FORM_CONTROL = \"professionalBodiesForm\";\n}\n","export class ViewApplicationDetailsZcConstants {\n static STEP_TITLE = \"Details\";\n static DESCRIPTION_LBL = \"Description\";\n static TYPE_LBL = \"Application type\";\n static DESCRIPTION_CTRL = \"description\";\n static TYPE_CTRL = \"type\";\n static APPLICATION_PLACE_HOLDER = \"Application place holder\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-details-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-details-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from '@angular/core';\nimport { AppControllerService } from 'src/app/app-controller.service';\nimport { AflaModuleStrategyService } from 'src/app/shared/services/afla-module-strategy/afla-module-strategy.service';\nimport { SelectedApplicationService } from 'src/app/shared/services/selected-application/selected-application.service';\nimport { ApplicationViewService } from 'src/app/view-application/shared/application-view.service';\nimport { ViewApplicationBaseComponent } from 'src/app/view-application/shared/view-application-base/view-application-base.component';\nimport { ViewApplicationDetailsZcConstants } from './view-application-details-zc.constant';\nimport { RouterParamsService } from 'src/app/shared/services/route-params.service';\nlet ViewApplicationDetailsZcamsComponent = class ViewApplicationDetailsZcamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n routerParamsService;\n applicationTypeCtrl = ViewApplicationDetailsZcConstants.TYPE_CTRL;\n applicationTypeLbl = ViewApplicationDetailsZcConstants.TYPE_LBL;\n descriptionCtrl = ViewApplicationDetailsZcConstants.DESCRIPTION_CTRL;\n descriptionLbl = ViewApplicationDetailsZcConstants.DESCRIPTION_LBL;\n applicationTypePlaceHolder = ViewApplicationDetailsZcConstants.APPLICATION_PLACE_HOLDER;\n applicationTypes = [];\n detailsForm;\n title = \"\";\n selectedApplicationDmSubscription;\n getLookupsObservableSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n ngOnInit() {\n this.loadLookup();\n this.initForm();\n this.getMetadata();\n this.populateForm(this.selectedApplication);\n this.subscribeToSelectedApplication();\n }\n handleRouteChange() {\n }\n loadMetadata(stepMeta) {\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationDmSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n initForm() {\n this.detailsForm = this.aflaModuleStrategyService.form.get(\"detailsForm\");\n this.detailsForm.enable();\n }\n populateForm(application) {\n if (application && application.appId > 0)\n this.detailsForm.markAsTouched();\n else\n return;\n this.detailsForm.get(this.applicationTypeCtrl).setValue(application.type);\n this.detailsForm.get(this.descriptionCtrl).setValue(application.description);\n }\n loadLookup() {\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable({ $filter: `moduleId eq ${this.appController.selectedModuleID} and name eq 'ApplicationType' and deleted eq false` }).subscribe(lookupValues => {\n const lookup = lookupValues.value;\n lookup.forEach(lp => {\n this.applicationTypes.push(JSON.parse(lp.content));\n });\n this.changeDetectorRefs.detectChanges();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDetailsZcamsComponent = __decorate([\n Component({\n selector: 'app-view-application-details-zcams',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDetailsZcamsComponent);\nexport { ViewApplicationDetailsZcamsComponent };\n","export class ViewApplicationLocationZcConstants {\n static STEP_TITLE = \"Location\";\n static OWNER_LABEL = \"Owners\";\n static REMOVE_PROPERTY_LABEL = \"Remove property\";\n static DESCRIPTION_LABEL_1 = \"Search the map to find the property for which you are lodging an application, using the 'Find address or place' search bar.\";\n static DESCRIPTION_LABEL_2 = \"Zoom in close enough to the correct property and click on the property. Click on 'add property' in the window that appears on the map after you selected the property.\";\n static DESCRIPTION_LABEL_3 = \"The property will be added and the fields must be completed for the property. Please note that multiple properties may be added.\";\n static DESCRIPTION_LABEL_4 = \"Please note that the zoning here is the current zoning of the property. Please note that an owner should be added for each property (this is linked to the property and the application).\";\n static ERF_NO_CONTROL = \"erfNo\";\n static SUBDIVISION_CONTROL = \"subdivision\";\n static FARM_NO_CONTROL = \"farmNo\";\n static ALLOTMENT_CONTROL = \"allotment\";\n static SG_CODE_CONTROL = \"sgCode\";\n static ADDRESS_CONTROL = \"address\";\n static OWNER_CONTROL = \"owners\";\n static ERF_NO_TEXT_PLACEHOLDER = \"Erf no\";\n static SUBDIVISION_TEXT_PLACEHOLDER = \"Subdivision / portion number\";\n static FARM_NO_TEXT_PLACEHOLDER = \"Farm no\";\n static ALLOTMENT_TEXT_PLACEHOLDER = \"Allotment / suburb\";\n static SG_CODE_TEXT_PLACEHOLDER = \"SG Code\";\n static ADDRESS_TEXT_PLACEHOLDER = \"Address\";\n static DUPLICATE_MESSAGE = \"The selected property has already been added\";\n static TRUE_CENTROID = \"True centroid gp shared-services\";\n static INVALID_OWNER_ATTRIBUTE = \"Some owner attribute(s) is missing on the property owner layer. Please contact your systems administrator.\";\n // static readonly VALIDATION_MESSAGES = {\n // erfNo: {\n // required: `Erf no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // subdivision: {\n // required: `Subdivision ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // allotment: {\n // required: `Allotment ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // farmNo: {\n // required: `Farm no ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // sgCode: {\n // required: `SG code ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // address: {\n // required: `Address ${SharedConstants.REQUIRED_INPUT_CONTROL_VALIDATION}`\n // },\n // }\n static PROPERTY_REQUIRED = \"Please select a property before continuing with the create application process\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-location-zcams.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-location-zcams.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component, ViewChild } from \"@angular/core\";\nimport { ViewApplicationLocationZcConstants } from \"./view-application-location-zc.constants\";\nimport { ViewApplicationBaseComponent } from \"src/app/view-application/shared/view-application-base/view-application-base.component\";\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport Polygon from \"@arcgis/core/geometry/Polygon\";\nimport { AflaModuleStrategyService } from \"src/app/shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"src/app/shared/services/selected-application/selected-application.service\";\nimport RecipientUtils from \"src/app/shared/utils/recipient-utils\";\nimport { WktConverterUtils } from \"src/app/shared/utils/wkt-converter-utils\";\nimport { ApplicationViewService } from \"src/app/view-application/shared/application-view.service\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nimport { RouterParamsService } from \"src/app/shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nlet ViewApplicationLocationZcamsComponent = class ViewApplicationLocationZcamsComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n changeDetectorRefs;\n routerParamsService;\n active;\n propertiesForm;\n descriptionLabel1 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_1;\n descriptionLabel2 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_2;\n descriptionLabel3 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_3;\n descriptionLabel4 = ViewApplicationLocationZcConstants.DESCRIPTION_LABEL_4;\n erfNoControl = ViewApplicationLocationZcConstants.ERF_NO_CONTROL;\n subdivisionControl = ViewApplicationLocationZcConstants.SUBDIVISION_CONTROL;\n allotmentControl = ViewApplicationLocationZcConstants.ALLOTMENT_CONTROL;\n farmNoControl = ViewApplicationLocationZcConstants.FARM_NO_CONTROL;\n sgCodeControl = ViewApplicationLocationZcConstants.SG_CODE_CONTROL;\n addressControl = ViewApplicationLocationZcConstants.ADDRESS_CONTROL;\n ownerControl = ViewApplicationLocationZcConstants.OWNER_CONTROL;\n erfNoTextPlaceHolder = ViewApplicationLocationZcConstants.ERF_NO_TEXT_PLACEHOLDER;\n subdivisionTextPlaceHolder = ViewApplicationLocationZcConstants.SUBDIVISION_TEXT_PLACEHOLDER;\n allotmentTextPlaceHolder = ViewApplicationLocationZcConstants.ALLOTMENT_TEXT_PLACEHOLDER;\n farmNoTextPlaceHolder = ViewApplicationLocationZcConstants.FARM_NO_TEXT_PLACEHOLDER;\n sgCodeTextPlaceHolder = ViewApplicationLocationZcConstants.SG_CODE_TEXT_PLACEHOLDER;\n addressTextPlaceHolder = ViewApplicationLocationZcConstants.ADDRESS_TEXT_PLACEHOLDER;\n ownerLabel = ViewApplicationLocationZcConstants.OWNER_LABEL;\n removePropertyLabel = ViewApplicationLocationZcConstants.REMOVE_PROPERTY_LABEL;\n ownerDisableAdd = true;\n ownerDisableFilterBy = true;\n ownerDisableEditing = true;\n ownerGroups = [];\n ownerListLabel = \"Owner\";\n ownerShowGroupsDropdown = true;\n mapComponent;\n isMapLoaded = false;\n yesNoOptions = [];\n dropdownPlaceholderMessage = SharedConstants.PLACEHOLDER_TEXT;\n rcApplication;\n selectedApplicationCMSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, changeDetectorRefs, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.changeDetectorRefs = changeDetectorRefs;\n this.routerParamsService = routerParamsService;\n this.getMetadata();\n }\n loadMetadata(stepMeta) {\n this.ownerGroups = stepMeta.ownerGroup;\n this.ownerGroups[0].requiredFields = stepMeta.requiredFields;\n }\n handleRouteChange() {\n }\n ngOnInit() {\n this.getMetadata();\n this.initForm();\n this.checkSave();\n this.yesNoOptions = [];\n // tslint:disable-next-line:forin\n for (const yesnoenumKey in SharedConstants.YES_NO_ENUM) {\n this.yesNoOptions.push(SharedConstants.YES_NO_ENUM[yesnoenumKey]);\n }\n }\n getProperties() {\n return this.propertiesForm.get(\"properties\");\n }\n initForm() {\n this.propertiesForm = this.aflaModuleStrategyService.form.get(\"propertiesForm\");\n }\n checkSave() {\n this.selectedApplicationCMSubscription = this.selectedApplicationService.$selectedApplication.subscribe(app => {\n this.rcApplication = app;\n if (this.rcApplication)\n this.syncMapExistingGeometries();\n this.changeDetectorRefs.detectChanges();\n });\n }\n singleFg(prop) {\n const geom = new Polygon(WktConverterUtils.ConvertWktToArcGisJson(prop.shape, 102100));\n const propertyFoemGroup = new FormGroup({\n id: new FormControl(prop.id),\n applicationId: new FormControl(prop.applicationId),\n erfNo: new FormControl(prop.erfNumber),\n subdivision: new FormControl(prop.subdivision),\n allotment: new FormControl(prop.allotment),\n farmNo: new FormControl(prop.farmNumber),\n sgCode: new FormControl(prop.sgCode),\n address: new FormControl(prop.address),\n centroid: new FormControl(null),\n zones: new FormArray([], [Validators.min(1)]),\n owners: new FormControl(null),\n geometry: new FormControl(geom)\n });\n const ownerControl = propertyFoemGroup.get(\"owners\");\n if (this.rcApplication.properties && this.rcApplication.properties.length > 0)\n RecipientUtils.setRecipients(prop.owners, true, ownerControl);\n const formData = new FormData();\n formData.append(\"f\", \"json\");\n formData.append(\"geometryJSON\", JSON.stringify(geom));\n return propertyFoemGroup;\n }\n syncMapExistingGeometries() {\n const pa = this.getProperties();\n if (pa?.controls.length > 0) {\n pa.clear();\n }\n this.rcApplication.properties.forEach((prop) => {\n pa.push(this.singleFg(prop));\n });\n }\n mapLoaded() {\n this.isMapLoaded = true;\n this.syncMapGeometries();\n }\n syncMapGeometries() {\n const geometries = [];\n this.getProperties().controls.forEach(item => {\n const geom = item.get(\"geometry\").value;\n if (geom !== null) {\n geometries.push(geom);\n }\n });\n if (geometries.length > 0) {\n this.mapComponent.addGeometriesOnMap(geometries, \"Zone certificate management graphics\", true);\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n static propDecorators = {\n mapComponent: [{ type: ViewChild, args: [\"esrimap\", { static: true },] }]\n };\n};\nViewApplicationLocationZcamsComponent = __decorate([\n Component({\n selector: \"app-view-application-location-zcams\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], ViewApplicationLocationZcamsComponent);\nexport { ViewApplicationLocationZcamsComponent };\n","export class ApplicationSearchConstants {\n static FORM_CONTROLS = {\n nameLabel: \"Name\",\n surnameLabel: \"Surname\",\n contactNameLabel: \"Contact Name\",\n contactSurnameLabel: \"Contact Surname\",\n organisationLabel: \"Organisation\",\n dateOfBirthLabel: \"Date of Birth\",\n assignedToLabel: \"Assigned to\",\n townplannerLabel: \"Townplanner\",\n transferAttorneyLabel: \"Transfer Attorney\",\n idNumberLabel: \"ID Number\",\n dateOfDeathLabel: \"Date of death\",\n fromDateLabel: \"Select 'from' date\",\n toDateLabel: \"Select 'to' date\",\n beforeDateLabel: \"Date of deed transfer before\",\n afterDateLabel: \"Date of deed transfer after\",\n percentCompleteLabel: \"Percentage complete\",\n statusLabel: \"Application status\",\n erfNoLabel: \"Erf No.\",\n farmNoLabel: \"Farm No.\",\n allotmentLabel: \"Allotment\",\n sgCodeLabel: \"SG Code\",\n timeoutStatusLabel: \"Timeout status\",\n applicationTypeLabel: \"Application types\",\n daysUntilExpiredLabel: \"Days until expired\",\n dateLabel: \"Select date\",\n datePlaceholder: \"yyyy/mm/dd\",\n endDateLabel: \"Lease end date\",\n startDateLabel: \"Lease start date\",\n searchText: \"Search\",\n cancelBtnPlaceholder: \"Cancel\",\n assignedToUsersForm: \"assignedToUsersForm\",\n applicantAgentForm: \"applicantAgentForm\",\n nameFormControl: \"nameFormControl\",\n surnameFormControl: \"surnameFormControl\",\n idNumberFormControl: \"idNumberFormControl\",\n organisationFormControl: \"organisationFormControl\",\n erfNoFormControl: \"erfNoFormControl\",\n farmNoFormControl: \"farmNoFormControl\",\n allotmentFormControl: \"allotmentFormControl\",\n sgCodeFormControl: \"sgCodeFormControl\",\n assignedToUsersFormControl: \"assignedToUsersFormControl\",\n createdDateFormControl: \"createdDateFormControl\",\n toCreatedDateFormControl: \"toCreatedDateFormControl\",\n fromCreatedDateFormControl: \"fromCreatedDateFormControl\",\n dateOfDeathFormControl: \"dateOfDeathFormControl\",\n statusFormControl: \"statusFormControl\",\n daysUntilExpiredFormControl: \"daysUntilExpiredFormControl\",\n applicationTypeFormControl: \"applicationTypeFormControl\",\n townPlannerFormControl: \"townPlannerFormControl\",\n groupNameFormControl: \"groupNameFormControl\",\n deedTransferBeforeDateFormControl: \"deedTransferBeforeDateFormControl\",\n deedTransferAfterDateFormControl: \"deedTransferAfterDateFormControl\",\n deedTransferDateFormControl: \"deedTransferDateFormControl\",\n leaseContractDateFormControl: \"leaseContractDateFormControl\",\n leaseEndDateFormControl: \"leaseEndDateFormControl\",\n leaseStartDateFormControl: \"leaseStartDateFormControl\"\n };\n static APP_EXPAND_PORTAL_APP_A = \"point,polygon,applicant,personResponsible,attachments,notes\";\n static APP_EXPAND_PORTAL_APP_PL = \"properties($expand=owners($expand=groups)),leaseAreas,attachments,applicant,notes\";\n static APP_EXPAND_PORTAL_APP_BP = \"properties($expand=owners($expand=groups),zonings,buildings),architect,engineer,electricalContractor,notes\";\n static APP_EXPAND_PORTAL_APP_BL = \"properties, BusinessOwner($expand=groups),applicant($expand=groups),status,applicantAgent($expand=groups),attachments,notes\";\n static APP_EXPAND_PORTAL_APP_W = \"applicationPolygons,applicationLines,implementingAgent,engineer,contractor,notes\";\n static APP_EXPAND_PORTAL_APP_TP = \"applicationTypes,applicationZonings,properties($expand=owners($expand=groups),zonings),notes\";\n static APP_EXPAND_PORTAL_APP_GTIA = \"applicationTypes,properties($expand=owners($expand=groups),zonings),notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_IT = \"lastEditedUser,createdSystemUser,applicant,status,applicantAgent,bays,traders($expand=groups),tradeGoods,notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_SN = \"lastEditedUser,createdSystemUser,applicant,status,applicantAgent,notes\";\n static APP_EXPAND_PORTAL_APP_CM = \"deceased($expand=deceasedNames), applicantAgent, applicant, funeralParlour, family($expand=groups), attachments,notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_DM = \"applicant,applicantAgent,properties($expand=owners), attachments,notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_RC = \"applicant($expand=groups),applicantAgent($expand=groups),transferor($expand=groups),transferee($expand=groups),conveyancer($expand=groups),properties($expand=managingAgent($expand=groups)),attachments,notes\";\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,notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_TM = \"applicant,applicantAgent,properties($expand=owners), attachments,notes\";\n static APP_SEARCH_EXPAND_FULL_LIST_ZC = \"applicant,applicantAgent,properties($expand=owners), attachments,notes\";\n static APPLICATION_AGENT = \"applicantAgent\";\n static FUNERAL_PARLOUR = \"funeralParlour\";\n static FAMILY = \"family\";\n static ORGANISATION = \"organisation\";\n static APPLICANT = \"applicant\";\n static STATUS = \"status\";\n static NAME = \"name\";\n static SURNAME = \"surname\";\n static USER_ID = \"userId\";\n static MODULE_ID = \"moduleId\";\n static USER = \"user\";\n static LAST_NAME = \"lastName\";\n static FIRST_NAME = \"firstName\";\n static CREATED_DATE = \"createdDate\";\n static DEFAULT_SEARCH = \"referenceNumber\";\n static PERCENT_COMPLETE = \"percentageComplete\";\n static APPLICATION_JOB_LINK = \"applicationJobLink\";\n static WORKFLOW_SECTION = \"WorkflowSection\";\n static DAYS_UNTIL_EXPIRED = \"daysUntilExpired\";\n static TIMEOUT_STATUS = \"timeoutStatus\";\n static APPLICATION_TYPES = \"applicationTypes\";\n static APPLICATION_TYPE = \"applicationType\";\n static OWNERS = \"owners\";\n static PROPERTIES = \"properties\";\n static PROPERTY_BUILDINGS = \"propertybuildings\";\n static PROPERTY_ZONINGS = \"propertyzonings\";\n static ZONINGS = \"zonings\";\n static BUILDINGS = \"buildings\";\n static TOWNPLANNER_ID = \"TownplannerId\";\n static DECEASED = \"deceased\";\n static DECEASED_NAMES = \"deceasedNames\";\n static BURIAL_ORDER_NUMBER = \"burialOrderNumber\";\n static ID_NUMBER = \"idNumber\";\n static DATE_OF_BIRTH = \"dateOfBirth\";\n static DATE_OF_DEATH = \"dateOfDeath\";\n static OPTION_SELECT_GRAVE = \"Search burial applications with grave\";\n static GRAVES = \"graves\";\n static ERF_NUMBER = \"erfNumber\";\n static FARM_NUMBER = \"farmNumber\";\n static ALLOTMENT = \"allotment\";\n static SG_CODE = \"sgCode\";\n static SEARCH_BY_SHAPE = \"SearchByShape\";\n static TRANSFER_ATTORNEY = \"transferAttorney\";\n static BUYERS = \"buyers\";\n static SELLERS = \"sellers\";\n static LESSEES = \"lessees\";\n static DATE_DEED_TRANSFER = \"dateOfDeedTransfer\";\n static LEASE_START_DATE = \"leaseStartDate\";\n static LEASE_END_DATE = \"leaseEndDate\";\n static WITH_GRAVE = \"withGrave\";\n}\n","var ApplicationSearchService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { OdataQueryService } from \"../../shared/services/odata-query/odata-query.service\";\nimport { UtcDatePipe } from \"../../shared/pipes/utc-date/utc-date.pipe\";\nimport { ApiUserConstants } from \"../../shared/constants/api-constants/api-user.constants\";\nlet ApplicationSearchService = class ApplicationSearchService {\n static { ApplicationSearchService_1 = this; }\n httpClient;\n oDataQueryService;\n utcDate;\n moduleUsers;\n constructor(httpClient, oDataQueryService, utcDate) {\n this.httpClient = httpClient;\n this.oDataQueryService = oDataQueryService;\n this.utcDate = utcDate;\n }\n // private static buildSimpleSearchRequest\n // (text: string,\n // searchColumn: string | typeof SharedConstants.SEARCH_BY_DEFAULT,\n // aflaModuleStrategyService: AflaModuleStrategyService,\n // moduleID: number)\n // : Observable> {\n // return aflaModuleStrategyService.buildApplicationSearchBaseRequest(moduleID);\n // }\n //\n static buildGetSingleRequest(aflaModuleStrategyService, jobId, expandList) {\n const params = {\n $expand: expandList,\n $filter: AflaModuleStrategyService.buildJobIDFilter(jobId)\n };\n return aflaModuleStrategyService.getApplicationsQuery(params);\n }\n static getExpandList(aflaModuleStrategyService) {\n return aflaModuleStrategyService.expandListForApplicationPartial;\n }\n getSingleApplication(aflaModuleStrategyService, jobId) {\n return ApplicationSearchService_1.buildGetSingleRequest(aflaModuleStrategyService, jobId, ApplicationSearchService_1.getExpandList(aflaModuleStrategyService))\n .pipe(map((applicationList) => {\n return applicationList.value.map((application) => {\n return application;\n // return aflaModuleStrategyService.mapFromApplicationEntityToApplicationSearchModel(application);\n })?.pop();\n }));\n }\n sortApplicationList(applications, sortColumn, ascendingSort = true) {\n let column;\n if (applications.length > 0) {\n // use the first column unless another column has been specified - make sure that the specified column has been included in the list\n // tslint:disable-next-line:forin\n for (const aKey in applications[0]) {\n if (!column) {\n column = aKey;\n if (!sortColumn)\n break;\n }\n if (aKey === sortColumn) {\n column = aKey;\n break;\n }\n }\n if (ascendingSort) {\n return applications.sort((a, b) => {\n if (Date.parse(a[column]))\n return 0 - (a[column] > b[column] ? -1 : 1);\n if (typeof (a[column]) === \"string\")\n return 0 - (a[column].toLowerCase() > b[column].toLowerCase() ? -1 : 1);\n else if (typeof (a[column]) === \"number\")\n return 0 - (a[column] > b[column] ? -1 : 1);\n else\n return 0 - (a[column] > b[column] ? -1 : 1);\n });\n }\n else {\n return applications.sort((a, b) => {\n if (Date.parse(a[column]))\n return 0 - (a[column] > b[column] ? 1 : -1);\n if (typeof (a[column]) === \"string\")\n return 0 - (a[column].toLowerCase() > b[column].toLowerCase() ? 1 : -1);\n else if (typeof (a[column]) === \"number\")\n return 0 - (a[column] > b[column] ? 1 : -1);\n else\n return 0 - (a[column] > b[column] ? 1 : -1);\n });\n }\n }\n else {\n return applications;\n }\n }\n getUserName(userId) {\n return this.httpClient\n .get(`${ApiUserConstants.URL}/${userId}`);\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: OdataQueryService },\n { type: UtcDatePipe }\n ];\n};\nApplicationSearchService = ApplicationSearchService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], ApplicationSearchService);\nexport { ApplicationSearchService };\n","var ApplicationViewService_1;\nimport { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { ApiStepMetaConstants } from \"../../shared/constants/api-constants/api-step-meta.constants\";\nimport { map } from \"rxjs/operators\";\nimport { ApiLookupConstants } from \"../../shared/constants/api-constants/api-lookup.constants\";\nimport { TrueCentroidResultsModel } from \"../../shared/models/gpserver-truecentroid-model\";\nimport { ApiAttachmentConstants } from \"../../shared/constants/api-constants/api-attachment.constants\";\nimport { ApiCommunicationConstants } from \"src/app/shared/constants/api-constants/api-communication.constants\";\nimport { ApiRecipientConstants } from \"src/app/shared/constants/api-constants/api-recipient.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { ApiNotesConstants } from \"../../shared/constants/api-constants/api-notes.constants\";\nlet ApplicationViewService = class ApplicationViewService {\n static { ApplicationViewService_1 = this; }\n http;\n routeParamsService;\n moduleID;\n propertyData; // {data: \"\"};\n propertySubject = new BehaviorSubject(undefined);\n propertyObservable = this.propertySubject.asObservable();\n startMetadataSubject = new BehaviorSubject(null);\n $startMetadata = this.startMetadataSubject.asObservable();\n selectedModuleName = new BehaviorSubject(\"\");\n selectedModuleNameAsObservable = this.selectedModuleName.asObservable();\n selectGoToStep = new BehaviorSubject(0);\n selectGoToStepAsObservable = this.selectGoToStep.asObservable();\n hasLoadedLookups = new BehaviorSubject(false);\n hasLoadedLookupsAsObservable = this.hasLoadedLookups.asObservable();\n fullApplicationCheckRequired = new BehaviorSubject(false);\n $fullApplicationCheckRequired = this.fullApplicationCheckRequired.asObservable();\n $missingLookupsForZones = [];\n $clearLayerGraphicsSubject = new BehaviorSubject(false);\n routeParamsSubscription;\n constructor(http, routeParamsService) {\n this.http = http;\n this.routeParamsService = routeParamsService;\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n return null;\n }\n return newValue !== oldValue;\n }\n savePropertyData(property) {\n this.propertyData.data = property;\n this.propertySubject.next(this.propertyData.data);\n }\n setHasLoadedLookups(loaded) {\n this.hasLoadedLookups.next(loaded);\n }\n start() {\n this.routeParamsSubscription = this.routeParamsService.params.subscribe(async (params) => {\n await this.handleRouteParamChange(params);\n });\n }\n async getStepMeta() {\n const filterString = `stepName eq \\'Start\\' AND moduleId eq ${this.moduleID}`;\n const params = {\n $filter: filterString\n };\n await this.http.get(`${ApiStepMetaConstants.URL}/${ApiStepMetaConstants.FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL}`, { params }).subscribe((metadata) => {\n this.startMetadataSubject.next(JSON.parse(metadata.value[0].metadata));\n });\n }\n setFullApplicationCheckRequired(required) {\n this.fullApplicationCheckRequired.next(required);\n }\n setModuleName(moduleName) {\n this.selectedModuleName.next(moduleName);\n }\n setSelectGoToStep(stepIndex) {\n this.selectGoToStep.next(stepIndex);\n }\n getLookupsObservable(params) {\n return this.http.get(`${ApiLookupConstants.URL}/${ApiLookupConstants.FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n uploadDocumentObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getAttachmentContent(attachmentId) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${attachmentId}/${ApiAttachmentConstants.FUNCTION_GET_ATTACHMENT_CONTENT}`, { responseType: \"blob\" });\n }\n deleteUploadDocumentsObservable(params) {\n return this.http.post(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_DELETE_MULTIPLE_ATTACHMENTS}`, params).pipe(map(attachment => {\n return attachment;\n }));\n }\n getTrueCentroid(url, params) {\n return this.http.post(url, params).pipe(map((response) => {\n return new TrueCentroidResultsModel().deserialize(response);\n }));\n }\n sendMissingLookupsEmail(url, params) {\n return this.http.post(url, params)\n .pipe(map(response => {\n return response;\n }));\n }\n async handleRouteParamChange(params) {\n if (params !== undefined && params !== null && params && ApplicationViewService_1.checkIfChanged(params.moduleid, this.moduleID)) {\n this.moduleID = params.moduleid;\n await this.getStepMeta();\n }\n }\n getAttachments(params) {\n return this.http.get(`${ApiAttachmentConstants.URL}/${ApiAttachmentConstants.FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS}`, { params }).pipe(map(lookups => {\n return lookups;\n }));\n }\n getApplicationRecipients(params) {\n return this.http.get(ApiRecipientConstants.URL, { params }).pipe(map(response => {\n return response;\n }));\n }\n getCommunications(params) {\n return this.http.get(`${ApiCommunicationConstants.URL}/${ApiCommunicationConstants.FUNCTION_GET_COMMUNICATION_BY_JOBID}`, { params }).pipe(map(response => {\n return response;\n }));\n }\n getNotesPostObservable(params) {\n return this.http.get(ApiNotesConstants.URL, { params });\n }\n static ctorParameters = () => [\n { type: HttpClient },\n { type: RouterParamsService }\n ];\n};\nApplicationViewService = ApplicationViewService_1 = __decorate([\n Injectable({\n providedIn: \"root\"\n }),\n AutoUnsubPortal()\n], ApplicationViewService);\nexport { ApplicationViewService };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./add-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./add-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { ApplicationViewService } from \"../../application-view.service\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nimport { AppConfig } from \"src/app/app.config\";\nlet AddDocumentsDialogComponent = class AddDocumentsDialogComponent {\n activeModal;\n saLongDatePipe;\n userInformationService;\n applicationViewService;\n requestStatusService;\n appControllerService;\n documentTypes = [];\n dialogTitle;\n configUploadSettings;\n currentApplication;\n selectedDocumentType;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n addDocumentForm;\n documentTypeLabel = \"Document type\";\n descriptionLabel = \"Description\";\n fileLabel = \"File\";\n selectFileLabel = \"Select file\";\n cancelBtnPlaceholder = \"Cancel\";\n documentTypeFormControlName = \"documentType\";\n descriptionFormControlName = \"description\";\n fileNameFormControlName = \"fileName\";\n saveBtnPlaceholder = \"Save\";\n uploadedFiles = [];\n documentTypeErrMsg = \"Please select the document type.\";\n descriptionErrMsg = \"Please enter a description for the document.\";\n noFileUploadedErrMsg = \"Please upload a document.\";\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n uploadDocumentObservableSubscription;\n authenticatedUserSubscription;\n constructor(activeModal, saLongDatePipe, userInformationService, applicationViewService, requestStatusService, appControllerService) {\n this.activeModal = activeModal;\n this.saLongDatePipe = saLongDatePipe;\n this.userInformationService = userInformationService;\n this.applicationViewService = applicationViewService;\n this.requestStatusService = requestStatusService;\n this.appControllerService = appControllerService;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n this.authenticatedUserSubscription = this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.addDocumentForm.get(this.documentTypeFormControlName).setValue(this.selectedDocumentType);\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(\"The uploaded file size is bigger than the allowed file size\", AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(\"The uploaded file type is not allowed.\", AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.addDocumentForm.valid && this.addDocumentForm.touched && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const newDocument = {\n id: 0,\n type: this.addDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.addDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails.name,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(newDocument).then(() => {\n this.requestStatusService.removeBusySpinner(\"save\");\n }).catch(() => {\n this.appControllerService.showMessage(SharedConstants.ADD_DOCUMENT_FAIL, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n });\n }\n catch (e) {\n this.appControllerService.showMessage(SharedConstants.ADD_DOCUMENT_FAIL, AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n Object.keys(this.addDocumentForm.controls).forEach(key => {\n if (this.addDocumentForm.get(key).invalid) {\n this.addDocumentForm.get(key).markAsTouched();\n }\n });\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n }\n deleteAttachment(i, $event) {\n this.uploadedFiles.splice(i, 1);\n if (this.uploadedFiles.length === 0) {\n this.addDocumentForm.get(this.fileNameFormControlName).reset();\n }\n $event.stopPropagation();\n }\n initForm() {\n this.addDocumentForm = new FormGroup({\n documentType: new FormControl(null, Validators.required),\n description: new FormControl(null, Validators.required),\n fileName: new FormControl(null)\n });\n }\n uploadAttachment(newDocument) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n let fileString;\n reader.readAsDataURL(this.fileDetails);\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: newDocument.fileName,\n Data: fileString,\n Description: newDocument.name,\n AttachmentType: newDocument.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.applicationViewService.uploadDocumentObservable(params).pipe(take(1)).subscribe({\n next: (response) => {\n newDocument.id = response.id;\n this.activeModal.close(newDocument);\n resolve();\n },\n error: error => {\n reject(error);\n }\n });\n }\n };\n reader.onerror = (error) => {\n reject(error);\n };\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: SaLongDatePipe },\n { type: UserInformationService },\n { type: ApplicationViewService },\n { type: RequestStatusService },\n { type: AppControllerService }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }],\n selectedDocumentType: [{ type: Input }]\n };\n};\nAddDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-add-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"add-documents-dialog\": \"view-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], AddDocumentsDialogComponent);\nexport { AddDocumentsDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./delete-documents-confirmation-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./delete-documents-confirmation-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppConfig } from \"src/app/app.config\";\nimport { SharedConstants } from \"src/app/shared/constants/shared.constants\";\nlet DeleteDocumentsConfirmationDialogComponent = class DeleteDocumentsConfirmationDialogComponent {\n activeModal;\n dialogTitle;\n documentsToDelete;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n cancelBtnPlaceholder = \"Cancel\";\n saveBtnPlaceholder = \"Delete\";\n dialogMessage = \"Are you sure that you want to delete the selected document(s) from the table?\";\n constructor(activeModal) {\n this.activeModal = activeModal;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onDeleteBtnClicked() {\n this.activeModal.close(this.documentsToDelete);\n }\n static ctorParameters = () => [\n { type: NgbActiveModal }\n ];\n static propDecorators = {\n dialogTitle: [{ type: Input }],\n documentsToDelete: [{ type: Input }]\n };\n};\nDeleteDocumentsConfirmationDialogComponent = __decorate([\n Component({\n selector: \"app-delete-documents-confirmation-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { 'delete-documents-confirmation-dialog': 'view-application' },\n styles: [__NG_CLI_RESOURCE__1]\n })\n], DeleteDocumentsConfirmationDialogComponent);\nexport { DeleteDocumentsConfirmationDialogComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./edit-documents-dialog.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./edit-documents-dialog.component.scss?ngResource\";\nimport { Component, Input } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { AppControllerService } from \"../../../../app-controller.service\";\nimport { AlertType } from \"../../../../shared/models/alert\";\nimport { UserInformationService } from \"../../../../shared/services/user/user-information.service\";\nimport { CRUDOperation } from \"../../../../shared/models/crud-operation-enum.model\";\nimport { SaLongDatePipe } from \"../../../../shared/pipes/sa-long-date/sa-long-date.pipe\";\nimport { ApplicationViewService } from \"../../application-view.service\";\nimport { RequestStatusService } from \"../../../../shared/services/request-status/request-status.service\";\nimport { SharedConstants } from \"../../../../shared/constants/shared.constants\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { AppConfig } from \"src/app/app.config\";\nlet EditDocumentsDialogComponent = class EditDocumentsDialogComponent {\n activeModal;\n appControllerService;\n userInformationService;\n requestStatusService;\n applicationViewService;\n saLongDatePipe;\n editDocumentForm;\n documentTypes = [];\n dialogTitle = \"\";\n documentToEdit;\n configUploadSettings;\n currentApplication;\n branding = {\n themeMainColor: SharedConstants.DEFAULT_COLOR,\n themeMainDarkerColor: SharedConstants.DEFAULT_DARKER_COLOR,\n themeMainBackgroundColor: SharedConstants.DEFAULT_COLOR,\n themeMainBorderColor: SharedConstants.DEFAULT_COLOR,\n themeHeaderBorderColor: SharedConstants.DEFAULT_HEADER_BORDER_COLOR,\n themeActiveColor: SharedConstants.DEFAULT_ACTIVE_COLOR,\n themeActiveAlternateColor: SharedConstants.DEFAULT_ACTIVE_ALTERNATE_COLOR,\n themePrimaryButtonColor: SharedConstants.DEFAULT_PRIMARY_BUTTON_COLOR\n };\n documentTypeLabel = \"Document type\";\n descriptionLabel = \"Description\";\n fileLabel = \"File\";\n selectFileLabel = \"Select file\";\n cancelBtnPlaceholder = \"Cancel\";\n documentTypeFormControlName = \"documentType\";\n descriptionFormControlName = \"description\";\n saveBtnPlaceholder = \"Save\";\n uploadedFiles = [];\n documentTypeErrMsg = \"Please select the document type.\";\n descriptionErrMsg = \"Please enter a description for the document.\";\n noFileUploadedErrMsg = \"Please upload a document.\";\n fileDetails;\n maxFileSize;\n allowedFileTypes = [];\n documentUploadedBy;\n fileString;\n fileBlob;\n uploadDocumentObservableSubscripition;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n authenticatedUserSubscription;\n constructor(activeModal, appControllerService, userInformationService, requestStatusService, applicationViewService, saLongDatePipe) {\n this.activeModal = activeModal;\n this.appControllerService = appControllerService;\n this.userInformationService = userInformationService;\n this.requestStatusService = requestStatusService;\n this.applicationViewService = applicationViewService;\n this.saLongDatePipe = saLongDatePipe;\n if (AppConfig.settings.projectSettings && AppConfig.settings.projectSettings.styling) {\n this.branding = AppConfig.settings.projectSettings.styling;\n }\n }\n ngOnInit() {\n this.initForm();\n this.getAttachmentFileContent(this.documentToEdit.id);\n this.setFormValues();\n this.authenticatedUserSubscription = this.userInformationService.$authenticatedUser.subscribe((userInfo) => {\n this.documentUploadedBy = `${userInfo.lastName} ${userInfo.firstName}`;\n });\n this.maxFileSize = this.configUploadSettings.maximumSize;\n this.allowedFileTypes = this.configUploadSettings.agsSupportedAttachmentFileTypes.split(\",\");\n }\n onCancelBtnClicked() {\n this.activeModal.close();\n }\n onSaveBtnClicked() {\n if (this.editDocumentForm.valid && this.uploadedFiles.length > 0) {\n try {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"save\");\n const editedDocument = {\n id: this.documentToEdit.id,\n type: this.editDocumentForm.get(this.documentTypeFormControlName).value,\n name: this.editDocumentForm.get(this.descriptionFormControlName).value,\n fileName: this.fileDetails ? this.fileDetails.name : this.documentToEdit.fileName,\n dateUploaded: this.saLongDatePipe.transform(new Date().getTime().toString())\n };\n this.uploadAttachment(editedDocument);\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n }\n else {\n this.markAllControlsAsTouched();\n this.appControllerService.showMessage(SharedConstants.FORM_NOT_VALID, AlertType.Warning);\n }\n this.requestStatusService.removeBusySpinner(\"save\");\n }\n deleteAttachment(i, $event) {\n if (this.uploadedFiles.length > 0) {\n this.uploadedFiles.splice(i, 1);\n }\n $event.stopPropagation();\n }\n onFileSelected(event) {\n this.requestStatusService.clearBusyRequestCounter();\n this.requestStatusService.showBusySpinner(\"upload\");\n try {\n this.fileDetails = null;\n let file;\n if (event.target) {\n file = event.target.files[0];\n }\n else {\n file = event.item(0);\n }\n if (file) {\n const fileName = file.name;\n const uploadedFileSize = file.size;\n const fileExtension = fileName.split(\".\").pop();\n if (uploadedFileSize > this.maxFileSize) {\n this.appControllerService.showMessage(\"The uploaded file size is bigger than the allowed file size\", AlertType.Warning);\n return;\n }\n let fileTypeAllowed = false;\n for (const allowedFileType of this.allowedFileTypes) {\n if (allowedFileType.trim().toUpperCase() === fileExtension.trim().toUpperCase()) {\n fileTypeAllowed = true;\n break;\n }\n }\n if (fileTypeAllowed) {\n this.fileDetails = file;\n this.uploadedFiles[0] = file.name;\n }\n else {\n this.appControllerService.showMessage(\"The uploaded file type is not allowed.\", AlertType.Warning);\n }\n }\n }\n catch (e) {\n this.appControllerService.showMessage(\"Something went wrong uploading the selected attachment. please contact your system administrator.\", AlertType.Warning);\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n this.requestStatusService.removeBusySpinner(\"upload\");\n }\n uploadAttachment(editedDoc) {\n const reader = new FileReader();\n let fileString;\n if (this.fileDetails) {\n reader.readAsDataURL(this.fileDetails);\n }\n else {\n reader.readAsDataURL(this.fileBlob);\n }\n reader.onloadend = (evt) => {\n if (evt.target.readyState === FileReader.DONE) {\n const bytes = reader.result;\n if (bytes.includes(\",\")) {\n fileString = bytes.substring(bytes.indexOf(\",\") + 1);\n }\n const params = {\n AppId: this.currentApplication.appId,\n ModuleId: this.appControllerService.selectedModuleID,\n FileName: editedDoc.fileName,\n Data: fileString,\n Description: editedDoc.name,\n AttachmentType: editedDoc.type,\n ComponentType: \"Upload AFLA portal required documents\",\n AFLAPortalObjectId: 0,\n UploadedBy: this.documentUploadedBy\n };\n this.uploadDocumentObservableSubscripition = this.applicationViewService.uploadDocumentObservable(params).subscribe({\n next: (attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.saLongDatePipe.transform(attachment.date, \"dd/MM/yyyy hh:mm\"),\n fileName: attachment.fileName,\n };\n const deletedParams = {\n ids: [this.documentToEdit.id], moduleId: this.appControllerService.selectedModuleID\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationViewService.deleteUploadDocumentsObservable(deletedParams).subscribe({\n next: () => {\n const resultObject = {\n idsToDelete: [this.documentToEdit.id], editedDocument: attachmentObject\n };\n this.activeModal.close(resultObject);\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Add);\n }\n });\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Update);\n }\n });\n }\n };\n }\n initForm() {\n this.editDocumentForm = new FormGroup({\n documentType: new FormControl(this.documentToEdit.type, Validators.required),\n description: new FormControl(this.documentToEdit.name, Validators.required),\n fileName: new FormControl(this.documentToEdit.fileName)\n });\n }\n setFormValues() {\n this.editDocumentForm.get(this.documentTypeFormControlName).setValue(this.documentToEdit.type);\n this.editDocumentForm.get(this.descriptionFormControlName).setValue(this.documentToEdit.name);\n this.uploadedFiles[0] = this.documentToEdit.fileName;\n }\n markAllControlsAsTouched() {\n Object.keys(this.editDocumentForm.controls).forEach(key => {\n if (this.editDocumentForm.get(key).invalid) {\n this.editDocumentForm.get(key).markAsTouched();\n }\n });\n }\n getAttachmentFileContent(id) {\n this.getAttachmentContentSubscription = this.applicationViewService.getAttachmentContent(id).subscribe({\n next: (fileBlob) => {\n this.fileBlob = fileBlob;\n }, error: (error) => {\n this.appControllerService.handleServerErrorMessage(\"Edit attachment modal\", error, CRUDOperation.Get);\n }\n });\n }\n static ctorParameters = () => [\n { type: NgbActiveModal },\n { type: AppControllerService },\n { type: UserInformationService },\n { type: RequestStatusService },\n { type: ApplicationViewService },\n { type: SaLongDatePipe }\n ];\n static propDecorators = {\n documentTypes: [{ type: Input }],\n dialogTitle: [{ type: Input }],\n documentToEdit: [{ type: Input }],\n configUploadSettings: [{ type: Input }],\n currentApplication: [{ type: Input }]\n };\n};\nEditDocumentsDialogComponent = __decorate([\n Component({\n selector: \"app-edit-documents-dialog\",\n template: __NG_CLI_RESOURCE__0,\n host: { \"edit-documents-dialog\": \"view-application\" },\n styles: [__NG_CLI_RESOURCE__1]\n }),\n AutoUnsubPortal()\n], EditDocumentsDialogComponent);\nexport { EditDocumentsDialogComponent };\n","var ViewApplicationBaseComponent_1;\nimport { __decorate } from \"tslib\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../../shared/services/selected-application/selected-application.service\";\nimport { ApplicationViewService } from \"../application-view.service\";\nimport { RouterParamsService } from \"../../../shared/services/route-params.service\";\nimport { AutoUnsubPortal } from \"src/app/shared/decorators/autounsub-portal.decorator\";\nimport { take } from \"rxjs/operators\";\nlet ViewApplicationBaseComponent = class ViewApplicationBaseComponent {\n static { ViewApplicationBaseComponent_1 = this; }\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n routerParamsService;\n stepMeta;\n jobId = null;\n moduleId = null;\n selectedApplication;\n incompleteJobIdSubscription;\n selectedApplicationVABSubscription;\n routerParamsSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService) {\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.routerParamsService = routerParamsService;\n this.incompleteJobIdSubscription = this.selectedApplicationService.$incompleteJobId.subscribe((jobId) => {\n if (jobId && jobId > 0) {\n this.jobId = jobId;\n }\n });\n this.selectedApplicationVABSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n this.selectedApplication = +this.jobId > 0 && application ? application : null;\n });\n }\n static checkIfChanged(newValue, oldValue) {\n if (!newValue) {\n throw new Error(\"Value must exist\");\n }\n return newValue !== oldValue;\n }\n getMetadata() {\n this.applicationViewService.$startMetadata.pipe(take(1)).subscribe(stepMeta => {\n if (stepMeta != null) {\n this.stepMeta = stepMeta;\n this.loadMetadata(this.stepMeta);\n }\n });\n }\n listenForRouteParamChange() {\n this.routerParamsSubscription = this.routerParamsService.params.subscribe((params) => {\n this.handleRouteParamChange(params);\n });\n }\n handleRouteParamChange(params) {\n if (params.moduleid || params.jobID) {\n if (ViewApplicationBaseComponent_1.checkIfChanged(params.jobID, this.jobId)\n || ViewApplicationBaseComponent_1.checkIfChanged(params.moduleid, this.moduleId)) {\n this.moduleId = params.moduleid;\n this.jobId = params.jobID;\n this.handleRouteChange();\n }\n }\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationBaseComponent = ViewApplicationBaseComponent_1 = __decorate([\n Component({\n template: \"\",\n changeDetection: ChangeDetectionStrategy.OnPush\n }),\n AutoUnsubPortal()\n], ViewApplicationBaseComponent);\nexport { ViewApplicationBaseComponent };\n","import { __decorate } from \"tslib\";\nimport { Directive, ViewContainerRef } from \"@angular/core\";\nlet ViewApplicationHostDirective = class ViewApplicationHostDirective {\n viewContainerRef;\n constructor(viewContainerRef) {\n this.viewContainerRef = viewContainerRef;\n }\n static ctorParameters = () => [\n { type: ViewContainerRef }\n ];\n};\nViewApplicationHostDirective = __decorate([\n Directive({\n selector: \"[appViewApplicationHost]\"\n })\n], ViewApplicationHostDirective);\nexport { ViewApplicationHostDirective };\n","import { SharedConstants } from \"../../shared/constants/shared.constants\";\nexport class ViewApplicationConstants {\n static SAVE_BUTTON_PLACEHOLDER = SharedConstants.SAVE_LABEL;\n static CONTINUE_BUTTON_PLACEHOLDER = SharedConstants.CONTINUE_STEP_TEXT;\n static CREATE_BUTTON_PLACEHOLDER = \"Create application\";\n static CLEAR_BUTTON_PLACEHOLDER = SharedConstants.CLEAR_LABEL;\n static CONTENT_PAGE_HEADING = \"Create application\";\n static NAME_INPUT_LABEL = \"Name\";\n static SURNAME_INPUT_LABEL = \"Surname\";\n static CREATE_APPLICATION_LABEL = \"Create\";\n static ERF_INPUT_LABEL = \"Erf\";\n static ADDRESS_INPUT_LABEL = \"Address\";\n // Create application Steps\n static WELCOME_HEADING = \"Welcome to the\";\n static WELCOME_HEADING_APPLICATION = \"application\";\n static VIEW_DOCUMENTS_LINK_TEXT = \"HERE\";\n static APPLICATIONS = \"applications\";\n static PLEASE_CLICK_TEXT = \"Please click\";\n static MORE_INFO_TEXT = \"for more information related to\";\n static DETAILS_HEADING = \"Application Details\";\n static LOCATION_HEADING = \"Location\";\n static PROFESSIONAL_BODIES_HEADING = \"Professional bodies\";\n static DECEASED_HEADING = \"Deceased\";\n static FAMILY_HEADING = \"Family\";\n static APPLICANT_HEADING = \"Applicant\";\n static APPLICANT_AGENT_HEADING = \"Applicant agent details\";\n static REQUIRED_DOCUMENTATION_HEADING = \"Required documentation\";\n static COMMUNICATION_HEADING = \"Communications\";\n // TODO: replace with configurable text\n static WELCOME_MESSAGE = \"Irure non quis enim laboris consectetur commodo. Est esse irure Lorem ex enim excepteur duis. Adipisicing enim aliquip ad reprehenderit eiusmod ex et sint consectetur quis eiusmod. Id nostrud sint quis proident dolor.\\n\\n\" + \"Nisi velit excepteur Lorem elit consequat sunt enim ullamco elit Lorem ipsum id. Nostrud exercitation culpa qui ex amet do ad veniam velit ut esse proident aliqua veniam. Consectetur non qui do culpa consectetur occaecat magna magna. Nisi nisi labore anim commodo et magna nostrud. Et fugiat ex do reprehenderit aute ullamco occaecat aute in voluptate. Duis quis culpa minim aliqua sint ut sit proident qui commodo magna ut. Deserunt excepteur quis nostrud anim cillum adipisicing laboris veniam ipsum aliqua cupidatat.\\n\\n\" + \"Quis officia fugiat est nisi enim. Id reprehenderit pariatur culpa irure cupidatat ipsum non officia non. Sit et qui laborum laboris nisi et veniam eiusmod amet. Sit amet eiusmod fugiat cupidatat sunt eiusmod irure proident laborum sunt laboris consequat eiusmod. Fugiat culpa anim incididunt officia sint deserunt aliqua amet reprehenderit aute veniam minim nulla.\\n\\n\" + \"Adipisicing ipsum adipisicing esse exercitation enim duis aute esse cillum fugiat. Laborum minim incididunt nisi commodo dolore ad irure nostrud laborum irure. Consectetur eu elit ullamco duis adipisicing voluptate non. Dolore exercitation nulla aute Lorem officia. Labore ex ullamco qui laboris tempor id id cillum.\\n\\n\" + \"Adipisicing nostrud exercitation voluptate id qui amet officia do voluptate irure ea nulla Lorem. Cillum cillum sint labore tempor irure. Elit do mollit ullamco pariatur eiusmod non do ea id aliquip laborum. Deserunt enim ex anim ea ullamco id labore est nostrud. Tempor aliquip duis voluptate tempor id duis.\\n\";\n}\n","export var RequiredDocumentsHeadingEnum;\n(function (RequiredDocumentsHeadingEnum) {\n RequiredDocumentsHeadingEnum[\"type\"] = \"Type\";\n RequiredDocumentsHeadingEnum[\"name\"] = \"Name\";\n RequiredDocumentsHeadingEnum[\"dateUploaded\"] = \"Date uploaded\";\n RequiredDocumentsHeadingEnum[\"fileName\"] = \"File name\";\n})(RequiredDocumentsHeadingEnum || (RequiredDocumentsHeadingEnum = {}));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-documentation.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-documentation.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { CRUDOperation } from \"../../shared/models/crud-operation-enum.model\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DatePipe } from \"@angular/common\";\nimport { AppConfig } from \"../../app.config\";\nimport { Validators } from \"@angular/forms\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { ViewApplicationBaseComponent } from \"../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../shared/application-view.service\";\nimport { DeleteDocumentsConfirmationDialogComponent } from \"../shared/forms/delete-documents-confirmation-dialog/delete-documents-confirmation-dialog.component\";\nimport { AddDocumentsDialogComponent } from \"../shared/forms/add-documents-dialog/add-documents-dialog.component\";\nimport { EditDocumentsDialogComponent } from \"../shared/forms/edit-documents-dialog/edit-documents-dialog.component\";\nimport { ViewApplicationConstants } from \"../shared/view-application.constants\";\nimport { ViewApplicationDocumentationConstants } from \"./view-application-documentation.constants\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { FileUtils } from \"../../shared/utils/file-utils\";\nlet ViewApplicationDocumentationComponent = class ViewApplicationDocumentationComponent extends ViewApplicationBaseComponent {\n aflaModuleStrategyService;\n applicationViewService;\n selectedApplicationService;\n modalService;\n datePipe;\n changeDetectorRef;\n appController;\n routerParamsService;\n disableComponent = true;\n showNoRequiredDocumentText = false;\n tableMapper;\n tableDataSource = new BehaviorSubject([]);\n documentForm;\n stepHeader = \"\";\n requiredDocuments = [];\n optionalDocuments = [];\n showOptionalDocuments = false;\n showCheckBoxColumn = true;\n noRequiredDocumentText = ViewApplicationDocumentationConstants.NO_DOCUMENT_REQUIRED_MESSAGE;\n uploadRequiredDocumentLabel = ViewApplicationDocumentationConstants.UPLOAD_REQUIRED_DOC_LABEL;\n uploadOptionalDocumentLabel = ViewApplicationDocumentationConstants.UPLOAD_OPTIONAL_DOC_LABEL;\n applicationDocumentsLabel = ViewApplicationDocumentationConstants.APPLICATIONS_DOCUMENTS_LABEL;\n optionalDocumentsLabel = ViewApplicationDocumentationConstants.OPTIONAL_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 optionalDocumentsHeader = ViewApplicationDocumentationConstants.OPTIONAL_DOCUMENTS_HEADER;\n selectedApplicationApplicationTypes = [];\n selectedDocuments = [];\n documentTypes = [];\n configUploadSettings;\n currentApplication;\n savedDocumentsIds;\n deleteUploadDocumentsObservableSubscription;\n getAttachmentContentSubscription;\n getLookupsObservableSubscription;\n selectedModuleNameAsObservableSubscription;\n getAttachmentsSubscription;\n getApplicationTypesSubscription;\n selectedApplicationSubscription;\n constructor(aflaModuleStrategyService, applicationViewService, selectedApplicationService, modalService, datePipe, changeDetectorRef, appController, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.applicationViewService = applicationViewService;\n this.selectedApplicationService = selectedApplicationService;\n this.modalService = modalService;\n this.datePipe = datePipe;\n this.changeDetectorRef = changeDetectorRef;\n this.appController = appController;\n this.routerParamsService = routerParamsService;\n this.configUploadSettings = AppConfig.settings.uploadFile;\n }\n ngOnInit() {\n this.initForm();\n this.initializeColumnToObjectMapping();\n this.setupSubscribers();\n this.listenForRouteParamChange();\n }\n loadMetadata(stepMeta) {\n }\n handleRouteChange() {\n }\n arrayReturned(documents) {\n this.selectedDocuments = documents;\n }\n onDeleteBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.disableComponent && this.checkIfDocumentCanBeAltered()) {\n this.appController.showMessage(this.sessionDocumentCantBeDeletedMsg, AlertType.Warning);\n return;\n }\n const modalRef = this.modalService.open(DeleteDocumentsConfirmationDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.deleteDocumentDialogTitle;\n modalRef.componentInstance.documentsToDelete = this.selectedDocuments;\n modalRef.result.then((deletedDocuments) => {\n if (deletedDocuments) {\n const idsOfDocumentsToBeDeleted = this.selectedDocuments.map(document => {\n return document.id;\n });\n const params = {\n ids: idsOfDocumentsToBeDeleted,\n moduleId: this.currentApplication.moduleId\n };\n this.deleteUploadDocumentsObservableSubscription = this.applicationViewService.deleteUploadDocumentsObservable(params).subscribe({\n next: () => {\n this.deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Delete);\n }\n });\n }\n });\n }\n onAddBtnClicked(event) {\n const evt = event.target;\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(AddDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.addDocumentDialogTitle;\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.selectedDocumentType = evt.innerHTML;\n modalRef.result.then((newDocument) => {\n if (newDocument) {\n this.addDocumentToTable(newDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n onEditBtnClicked() {\n if (this.selectedDocuments.length === 0) {\n this.appController.showMessage(SharedConstants.NO_ITEM_SELECTED, AlertType.Warning);\n return;\n }\n if (this.selectedDocuments.length > 1) {\n this.appController.showMessage(SharedConstants.MORE_THAN_ONE_SELECTED, AlertType.Warning);\n return;\n }\n if (this.disableComponent && this.checkIfDocumentCanBeAltered()) {\n this.appController.showMessage(this.sessionDocumentCantBeEditedMsg, AlertType.Warning);\n return;\n }\n this.documentTypes = this.getDocumentTypes();\n const modalRef = this.modalService.open(EditDocumentsDialogComponent, this.modalBodyOptions);\n modalRef.componentInstance.dialogTitle = this.editDocumentDialogTitle;\n modalRef.componentInstance.documentToEdit = this.selectedDocuments[0];\n modalRef.componentInstance.documentTypes = this.documentTypes;\n modalRef.componentInstance.currentApplication = this.currentApplication;\n modalRef.componentInstance.configUploadSettings = this.configUploadSettings;\n modalRef.result.then((resultObject) => {\n if (resultObject) {\n this.deleteSelectedDocsFromTable(resultObject.idsToDelete);\n this.addDocumentToTable(resultObject.editedDocument);\n this.updateDocumentChecklist();\n this.updateFormControl();\n this.selectedDocuments = [];\n }\n });\n }\n onDownloadAttachment(attachment) {\n const attachmentId = attachment.id;\n const fileName = attachment.fileName;\n this.getAttachmentContentSubscription = this.applicationViewService.getAttachmentContent(attachmentId).subscribe({\n next: (attachmentContent) => {\n FileUtils.openFile(fileName, attachmentContent);\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n checkIfDocumentCanBeAltered() {\n // checks if the selected documents should be deleted or edited\n let preventDocumentEdit = false;\n const docsThatCantBeAltered = [];\n for (const selectedDocument of this.selectedDocuments) {\n if (this.savedDocumentsIds.indexOf(selectedDocument.id) >= 0) {\n docsThatCantBeAltered.push(selectedDocument);\n }\n }\n if (docsThatCantBeAltered.length > 0) {\n preventDocumentEdit = true;\n }\n return preventDocumentEdit;\n }\n initializeColumnToObjectMapping() {\n this.tableMapper = this.requiredDocumentLookupConstant;\n }\n getRequiredDocumentsLookups() {\n const params = {\n $filter: `moduleId eq ${this.applicationViewService.moduleID} and name eq 'RequiredDocument' and deleted eq false`,\n $expand: \"attachment\"\n };\n this.getLookupsObservableSubscription = this.applicationViewService.getLookupsObservable(params).subscribe({\n next: (response) => {\n if (response && response.hasOwnProperty(\"value\") && response.value.length > 0) {\n const lookups = response.value;\n this.onGetRequiredDocumentsLookupsCompleted(lookups);\n }\n else {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n }, error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n onGetRequiredDocumentsLookupsCompleted(lookups) {\n this.requiredDocuments = [];\n this.optionalDocuments = [];\n this.showOptionalDocuments = false;\n this.buildRequiredDocumentsObjects(lookups);\n this.sortRequiredDocumentsAlphabetically();\n //optional documents\n this.requiredDocuments.forEach((doc) => {\n if (doc.optionalUpload?.toLowerCase().trim() === \"yes\") {\n this.optionalDocuments.push(doc);\n }\n });\n if (this.optionalDocuments.length > 0) {\n this.showOptionalDocuments = true;\n }\n this.requiredDocuments = this.requiredDocuments.filter(docs => docs.optionalUpload?.toLowerCase() != \"yes\");\n if (this.currentApplication.attachments.length > 0) {\n this.loadSavedAttachments(this.currentApplication.attachments);\n this.updateDocumentChecklistOnInit(this.tableDataSource.value);\n }\n this.updateFormControl();\n if (this.disableComponent) {\n this.captureIdsOfDocuments();\n }\n this.changeDetectorRef.detectChanges();\n }\n buildRequiredDocumentsObjects(lookups) {\n lookups.forEach(lookup => {\n const content = JSON.parse(lookup.content);\n if (this.selectedApplicationApplicationTypes.length > 0) {\n this.selectedApplicationApplicationTypes.forEach((applicationType) => {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant &&\n content.required?.toLowerCase() === this.isDocumentRequiredConstant &&\n content.applicationType?.toLowerCase() === applicationType?.toLowerCase()) {\n this.appendRequiredDocuments(lookup, content);\n }\n });\n }\n else {\n if (content.category && content.applicationType !== this.additionalApplicationTypeConstant &&\n content.required?.toLowerCase() === this.isDocumentRequiredConstant) {\n this.appendRequiredDocuments(lookup, content);\n }\n }\n });\n if (this.requiredDocuments.length > 0) {\n this.removeDuplicateDocuments();\n }\n }\n addDocumentToTable(document) {\n // adds new document into the table\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n if (documentsAlreadyOnTheTable.length > 0) {\n documentsAlreadyOnTheTable.push(document);\n this.tableDataSource.next([...documentsAlreadyOnTheTable]);\n }\n else {\n this.tableDataSource.next([document]);\n }\n }\n updateDocumentChecklist() {\n const docsInTable = this.tableDataSource.value;\n this.resetDocumentsChecklist();\n this.updateDocumentChecklistOnInit(docsInTable);\n }\n deleteSelectedDocsFromTable(idsOfDocumentsToBeDeleted) {\n const documentsAlreadyOnTheTable = this.tableDataSource.value;\n const newDocuments = [];\n documentsAlreadyOnTheTable.forEach((document) => {\n let deleteDocument = false;\n idsOfDocumentsToBeDeleted.forEach((documentIdOfDeletedDocument) => {\n if (document.id === documentIdOfDeletedDocument) {\n deleteDocument = true;\n }\n if (!deleteDocument) {\n newDocuments.push(document);\n }\n });\n });\n this.tableDataSource.next([...newDocuments]);\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n // gets the saved application by jobId (if it exists)\n if (application) {\n if (+this.jobId > 0) {\n this.getApplicationAttachments(application);\n }\n }\n });\n }\n setupSubscribers() {\n this.getStepHeadingSubscribers();\n this.subscribeToSelectedApplication();\n }\n getStepHeadingSubscribers() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationConstants.REQUIRED_DOCUMENTATION_HEADING}`;\n this.stepHeader = header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n initForm() {\n const form = this.aflaModuleStrategyService.form.get(this.documentFormControl);\n form.clearValidators();\n this.documentForm = form;\n }\n loadSavedAttachments(attachments) {\n const attachmentsForTable = [];\n attachments.forEach((attachment) => {\n const attachmentObject = {\n id: attachment.id,\n type: attachment.attachmentType,\n name: attachment.description,\n dateUploaded: this.datePipe.transform(attachment.date, this.datePipeDateFormat),\n fileName: attachment.fileName,\n };\n attachmentsForTable.push(attachmentObject);\n });\n this.tableDataSource.next(attachmentsForTable);\n }\n updateFormControl() {\n // mark form as valid if all required documents are uploaded\n let formIsValid = true;\n if (this.showNoRequiredDocumentText) {\n formIsValid = true;\n }\n this.requiredDocuments.forEach((document) => {\n if (document.uploaded === false) {\n formIsValid = false;\n }\n });\n if (formIsValid) {\n this.documentForm.get(this.documentsFormControl).clearValidators();\n }\n else {\n this.documentForm.get(this.documentsFormControl).addValidators(Validators.required);\n }\n this.documentForm.markAllAsTouched();\n this.documentForm.get(this.documentsFormControl).updateValueAndValidity();\n }\n getApplicationAttachments(application) {\n // get the application's attachments\n const params = {\n jobId: application.jobId\n };\n this.getAttachmentsSubscription = this.applicationViewService.getAttachments(params).subscribe({\n next: (response) => {\n application.attachments = response.value;\n this.getApplicationTypes(application);\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n updateDocumentChecklistOnInit(attachmentsForTable) {\n if (this.requiredDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.requiredDocuments.forEach((requiredDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (requiredDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n requiredDocument.uploaded = true;\n }\n });\n });\n }\n if (this.optionalDocuments.length > 0 && attachmentsForTable.length > 0) {\n this.optionalDocuments.forEach((optionalDocument) => {\n attachmentsForTable.forEach((attachment) => {\n if (optionalDocument.name?.toLowerCase().trim() === attachment.type?.toLowerCase().trim()) {\n optionalDocument.uploaded = true;\n }\n });\n });\n }\n }\n getDocumentTypes() {\n this.documentTypes = [this.additionalApplicationTypeConstant];\n const types = this.requiredDocuments?.map(document => {\n return document.name;\n });\n types.forEach((type) => {\n this.documentTypes.push(type);\n });\n return this.documentTypes;\n }\n getApplicationTypes(application) {\n const jobId = +this.jobId;\n const moduleId = +this.appController.selectedModuleID;\n this.getApplicationTypesSubscription = this.aflaModuleStrategyService.getApplicationTypes(jobId, moduleId).subscribe({\n next: (applicationTypes) => {\n this.selectedApplicationApplicationTypes = applicationTypes.value;\n this.currentApplication = application;\n this.getRequiredDocumentsLookups();\n },\n error: (error) => {\n this.appController.handleServerErrorMessage(this.componentName, error, CRUDOperation.Get);\n }\n });\n }\n sortRequiredDocumentsAlphabetically() {\n if (this.requiredDocuments.length > 0) {\n this.requiredDocuments?.sort((a, b) => a?.name.localeCompare(b.name));\n }\n else {\n this.showNoRequiredDocumentText = true;\n }\n }\n appendRequiredDocuments(lookup, content) {\n const fileName = lookup.attachment === null ? \"\" : lookup.attachment.fileName;\n this.requiredDocuments.push({\n id: lookup.id,\n uploaded: false,\n category: content.category,\n name: content.name,\n description: content.description,\n required: content.required,\n optionalUpload: content.optionalUpload,\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 const optionalDocumentsArray = [];\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 //get optional documents\n this.requiredDocuments.forEach((optionalDoc) => {\n if (optionalDoc.optionalUpload?.toLowerCase().trim() === \"yes\") {\n optionalDocumentsArray.push(optionalDoc);\n }\n });\n }\n captureIdsOfDocuments() {\n // capture the Ids of documents that should not be edited/ deleted\n const documents = this.tableDataSource.value;\n this.savedDocumentsIds = [];\n if (documents.length > 0) {\n // capture Id\n this.savedDocumentsIds = documents.map((document) => {\n return document.id;\n });\n }\n }\n static ctorParameters = () => [\n { type: AflaModuleStrategyService },\n { type: ApplicationViewService },\n { type: SelectedApplicationService },\n { type: NgbModal },\n { type: DatePipe },\n { type: ChangeDetectorRef },\n { type: AppControllerService },\n { type: RouterParamsService }\n ];\n};\nViewApplicationDocumentationComponent = __decorate([\n Component({\n selector: \"app-view-application-documentation\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationDocumentationComponent);\nexport { ViewApplicationDocumentationComponent };\n","import { RequiredDocumentsHeadingEnum } from \"./view-application-documentation-enums/view-application-documentation-enums\";\nexport class ViewApplicationDocumentationConstants {\n static NO_DOCUMENT_REQUIRED_MESSAGE = \"Documents are not required for this application, but you are welcome to submit any additional documents.\";\n static NO_REQUIRED_DOCUMENTS_FOUND_MESSAGE = \"No required documents found in the lookups, please contact system admin\";\n static SESSION_DOCUMENTS_CANT_BE_DELETED_MESSAGE = \"Only documents that were added in the current session can be deleted\";\n static SESSION_DOCUMENTS_CANT_BE_EDITED_MESSAGE = \"Only documents that were added in the current session can be edited\";\n static UPLOAD_REQUIRED_DOC_LABEL = \"Note: Upload the required documents for the application as listed below.\";\n static UPLOAD_OPTIONAL_DOC_LABEL = \"Note: Upload the optional documents for the application as listed below.\";\n static OPTIONAL_DOCUMENTS_HEADER = \"Optional documentation\";\n static APPLICATIONS_DOCUMENTS_LABEL = \"My application documents\";\n static OPTIONAL_DOCUMENTS_LABEL = \"Optional documentation\";\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","export var NoteHeadingEnum;\n(function (NoteHeadingEnum) {\n NoteHeadingEnum[\"id\"] = \"id\";\n NoteHeadingEnum[\"date\"] = \"Date\";\n NoteHeadingEnum[\"userName\"] = \"Username\";\n NoteHeadingEnum[\"note\"] = \"Note\";\n NoteHeadingEnum[\"stepName\"] = \"Step\";\n NoteHeadingEnum[\"action\"] = \"Action\";\n})(NoteHeadingEnum || (NoteHeadingEnum = {}));\nexport const NoteHeadingEnumLookup = new Map([\n [NoteHeadingEnum.date, \"date\"],\n [NoteHeadingEnum.userName, \"userName\"],\n [NoteHeadingEnum.note, \"note\"],\n [NoteHeadingEnum.stepName, \"stepName\"]\n]);\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-notes.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-notes.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { NoteHeadingEnum, NoteHeadingEnumLookup } from \"./model/note-header.model\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { ViewApplicationNotesConstants } from \"./view-application-notes.constants\";\nimport { ViewApplicationBaseComponent } from \"../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../shared/application-view.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nlet ViewApplicationNotesComponent = class ViewApplicationNotesComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n appControllerService;\n selectedApplicationService;\n aflaModuleStrategyService;\n changeDetectorRef;\n routerParamsService;\n noteForm;\n dataSource = new BehaviorSubject([]);\n defaultSortColumn = { column: NoteHeadingEnum.date, direction: \"desc\" };\n tableHeader = NoteHeadingEnumLookup;\n getNotesObservableSubscription;\n addNotePlaceHolderText = SharedConstants.ADD_NOTE_PLACEHOLDER;\n noteCharacterLimit = 500;\n noteFormControlName = \"note\";\n selectedApplicationEcSubscription;\n applicationCreateServiceSelectModuleSubscription;\n stepHeader = \"\";\n selectedModuleNameAsObservableSubscription;\n constructor(applicationViewService, appControllerService, selectedApplicationService, aflaModuleStrategyService, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.appControllerService = appControllerService;\n this.selectedApplicationService = selectedApplicationService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.noteForm = this.aflaModuleStrategyService.form.get(\"notesForm\");\n this.subscribeToSelectedApplication();\n this.subscribeToHeader();\n this.selectedApplicationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n populateForm(application) {\n if (application && Array.isArray(application.notes) && application.notes.length > 0) {\n const idControl = this.noteForm.get(\"id\");\n const notesControl = this.noteForm.get(this.noteFormControlName);\n notesControl.setValue(application.notes[application.notes.length - 1].note);\n notesControl.disable();\n idControl.setValue(application.notes[0].id);\n }\n this.changeDetectorRef.detectChanges();\n }\n loadMetadata(stepMeta) {\n }\n ngOnDestroy() {\n if (this.getNotesObservableSubscription) {\n this.getNotesObservableSubscription.unsubscribe();\n }\n }\n subscribeToSelectedApplication() {\n this.selectedApplicationEcSubscription = this.selectedApplicationService.$selectedApplication.subscribe((application) => {\n if (application) {\n this.populateForm(application);\n }\n });\n }\n handleRouteChange() {\n }\n subscribeToHeader() {\n this.selectedModuleNameAsObservableSubscription = this.applicationViewService.selectedModuleNameAsObservable.subscribe((modName) => {\n const header = `${ViewApplicationNotesConstants.STEP_TITLE}`;\n this.stepHeader =\n header[0].toUpperCase() + header.substr(1).toLowerCase();\n this.changeDetectorRef.markForCheck();\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AppControllerService },\n { type: SelectedApplicationService },\n { type: AflaModuleStrategyService },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationNotesComponent = __decorate([\n Component({\n selector: \"app-view-application-notes\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationNotesComponent);\nexport { ViewApplicationNotesComponent };\n","export class ViewApplicationNotesConstants {\n static STEP_TITLE = \"Notes\";\n}\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./view-application-people-of-interest.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./view-application-people-of-interest.component.scss?ngResource\";\nimport { ChangeDetectorRef, Component } from \"@angular/core\";\nimport { ViewApplicationBaseComponent } from \"../shared/view-application-base/view-application-base.component\";\nimport { ApplicationViewService } from \"../shared/application-view.service\";\nimport { AflaModuleStrategyService } from \"../../shared/services/afla-module-strategy/afla-module-strategy.service\";\nimport { SelectedApplicationService } from \"../../shared/services/selected-application/selected-application.service\";\nimport { AppControllerService } from \"../../app-controller.service\";\nimport { RouterParamsService } from \"../../shared/services/route-params.service\";\nimport { SharedConstants } from \"../../shared/constants/shared.constants\";\nimport { AlertType } from \"../../shared/models/alert\";\nimport { ViewApplicationPeopleOfInterestConstants } from \"./view-application-people-of-interest.constants\";\nlet ViewApplicationPeopleOfInterestComponent = class ViewApplicationPeopleOfInterestComponent extends ViewApplicationBaseComponent {\n applicationViewService;\n aflaModuleStrategyService;\n selectedApplicationService;\n appController;\n changeDetectorRefs;\n changeDetectorRef;\n routerParamsService;\n peopleOfInterestForm;\n transferorFormControlName = ViewApplicationPeopleOfInterestConstants.TRANSFEROR_FORM_CONTROL_NAME;\n transfereeFormControlName = ViewApplicationPeopleOfInterestConstants.TRANSFEREE_FORM_CONTROL_NAME;\n conveyancerFormControlName = ViewApplicationPeopleOfInterestConstants.CONVEYANCER_FORM_CONTROL_NAME;\n transferorDisableFilterBy = true;\n transferorDisableEditing = false;\n transferorShowFields = true;\n transferorGroups = [];\n transferorLabel = ViewApplicationPeopleOfInterestConstants.TRANSFEROR_LABEL;\n transfereeDisableFilterBy = true;\n transfereeDisableEditing = false;\n transfereeShowFields = true;\n transfereeGroups = [];\n transfereeLabel = ViewApplicationPeopleOfInterestConstants.TRANSFEREE_LABEL;\n copyApplicantToTransfereeLabel = ViewApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_LABEL;\n conveyancerDisableFilterBy = true;\n conveyancerDisableEditing = false;\n conveyancerShowFields = true;\n conveyancerGroups = [];\n conveyancerLabel = ViewApplicationPeopleOfInterestConstants.CONVEYANCER_LABEL;\n copyApplicantToTransfereeFormControlName = ViewApplicationPeopleOfInterestConstants.COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME;\n selectedApplicationSubscription;\n constructor(applicationViewService, aflaModuleStrategyService, selectedApplicationService, appController, changeDetectorRefs, changeDetectorRef, routerParamsService) {\n super(applicationViewService, aflaModuleStrategyService, selectedApplicationService, routerParamsService);\n this.applicationViewService = applicationViewService;\n this.aflaModuleStrategyService = aflaModuleStrategyService;\n this.selectedApplicationService = selectedApplicationService;\n this.appController = appController;\n this.changeDetectorRefs = changeDetectorRefs;\n this.changeDetectorRef = changeDetectorRef;\n this.routerParamsService = routerParamsService;\n }\n ngOnInit() {\n this.initForm();\n this.populatePeopleOfInterestForms();\n }\n loadMetadata(stepMeta) {\n try {\n this.transferorGroups = stepMeta.transferorGroup;\n this.transfereeGroups = stepMeta.transfereeGroup;\n this.conveyancerGroups = stepMeta.conveyancerGroup;\n this.changeDetectorRefs.markForCheck();\n }\n catch (e) {\n this.appController.showMessage(SharedConstants.INVALID_METADATA, AlertType.Error);\n }\n }\n initForm() {\n this.peopleOfInterestForm = this.aflaModuleStrategyService.form.get(\"peopleOfInterestForm\");\n }\n onBtnCopyApplicantToTransfereeClicked(event) {\n const transfereeFormControl = this.peopleOfInterestForm.get(\"transferee\");\n if (event.currentTarget.checked === true) {\n transfereeFormControl.disable();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n this.changeDetectorRefs.detectChanges();\n }\n else {\n transfereeFormControl.enable();\n this.peopleOfInterestForm.get(this.copyApplicantToTransfereeFormControlName).setValue(true);\n this.changeDetectorRefs.detectChanges();\n }\n }\n handleRouteChange() {\n }\n populatePeopleOfInterestForms() {\n this.selectedApplicationSubscription = this.selectedApplicationService.$selectedApplication.subscribe({\n next: (application) => {\n if (application && application.transferor !== undefined && application.transferor !== null && application.transferor.length > 0) {\n const transferor = application.transferor[0];\n this.peopleOfInterestForm.get(this.transferorFormControlName).setValue(transferor);\n }\n this.peopleOfInterestForm.get(this.transferorFormControlName).disable();\n if (application && application.transferee !== undefined && application.transferee !== null && application.transferee.length > 0) {\n const transferee = application.transferee[0];\n this.peopleOfInterestForm.get(this.transfereeFormControlName).setValue(transferee);\n }\n this.peopleOfInterestForm.get(this.transfereeFormControlName).disable();\n if (application && application.conveyancer !== undefined && application.conveyancer !== null && application.conveyancer.length > 0) {\n const conveyancer = application.conveyancer[0];\n this.peopleOfInterestForm.get(this.conveyancerFormControlName).setValue(conveyancer);\n }\n this.peopleOfInterestForm.get(this.conveyancerFormControlName).disable();\n }\n });\n }\n static ctorParameters = () => [\n { type: ApplicationViewService },\n { type: AflaModuleStrategyService },\n { type: SelectedApplicationService },\n { type: AppControllerService },\n { type: ChangeDetectorRef },\n { type: ChangeDetectorRef },\n { type: RouterParamsService }\n ];\n};\nViewApplicationPeopleOfInterestComponent = __decorate([\n Component({\n selector: \"app-view-application-people-of-interest\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], ViewApplicationPeopleOfInterestComponent);\nexport { ViewApplicationPeopleOfInterestComponent };\n","export class ViewApplicationPeopleOfInterestConstants {\n // Controls\n static TRANSFEROR_FORM_CONTROL_NAME = \"transferor\";\n static TRANSFEREE_FORM_CONTROL_NAME = \"transferee\";\n static CONVEYANCER_FORM_CONTROL_NAME = \"conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME = \"copyApplicantToTransferee\";\n // Labels\n static TRANSFEROR_LABEL = \"Transferor\";\n static TRANSFEREE_LABEL = \"Transferee\";\n static CONVEYANCER_LABEL = \"Conveyancer\";\n static COPY_APPLICANT_TO_TRANSFEREE_LABEL = \"Copy Applicant To Transferee\";\n}\n","import { AppRoutingConstants } from \"../app-routing.constants\";\nexport class ViewApplicationRoutingConstants {\n static VIEW_APPLICATION_ROUTE = AppRoutingConstants.createRouteToView(\"view-application\");\n static JOB_ID_ROUTE_PARAMETER = \":jobID\";\n static VIEW_APPLICATION_HEADING_TEXT = \"View application\";\n static APPLICATION_CONTENT_ROUTE = AppRoutingConstants.createRouteToView(\"content\");\n static APPLICATION_STATUS_ROUTE = AppRoutingConstants.createRouteToView(\"status\");\n static REQUIRED_DOCS = AppRoutingConstants.createRouteToView(\"documentation\");\n static COMMUNICATION = AppRoutingConstants.createRouteToView(\"communication\");\n static LOCATION_ROUTE = AppRoutingConstants.createRouteToView(\"location\");\n static DETAILS_ROUTE = AppRoutingConstants.createRouteToView(\"details\");\n static APPLICANT_ROUTE = AppRoutingConstants.createRouteToView(\"applicant\");\n static AGENT_ROUTE = AppRoutingConstants.createRouteToView(\"agent\");\n static BURIAL_ROUTE = AppRoutingConstants.createRouteToView(\"burialdetails\");\n static DECEASED_ROUTE = AppRoutingConstants.createRouteToView(\"deceaseddetails\");\n static FAMILY_ROUTE = AppRoutingConstants.createRouteToView(\"familymemberdetails\");\n static FUNERAL_PARLOUR = AppRoutingConstants.createRouteToView(\"funeralparlour\");\n static PROFESSIONAL_BODIES_ROUTE = AppRoutingConstants.createRouteToView(\"professionalbodies\");\n static TRADERS_ROUTE = AppRoutingConstants.createRouteToView(\"traders\");\n static NOTES_ROUTE = AppRoutingConstants.createRouteToView(\"notes\");\n static PEOPLE_OF_INTEREST_ROUTE = AppRoutingConstants.createRouteToView(\"peopleofinterest\");\n}\n","export const environment = {\n name: \"production\",\n production: true\n};\n","// main.ts\nimport { enableProdMode } from \"@angular/core\";\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\nimport { AppModule } from \"./app/app.module\";\nimport { environment } from \"./environments/environment\";\nimport { defineCustomElements } from \"@esri/calcite-components/dist/loader\";\n// define the elements, passing in the window\ndefineCustomElements(window);\nif (environment.production) {\n enableProdMode();\n}\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-button.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-button.component.css?ngResource\";\nimport { Component, Input, ViewChild } from '@angular/core';\nlet CalciteButtonComponent = class CalciteButtonComponent {\n btnRef;\n displayText = \"Button\";\n appearance = \"solid\" /* CalciteBtnAppearance.solid */;\n color = \"blue\" /* CalciteBtnColor.blue */;\n disable = false;\n width = \"auto\" /* CalciteBtnWidth.auto */;\n class = \"calcite-theme-light\" /* CalciteBtnClass.lightTheme */;\n constructor() {\n }\n ngOnInit() {\n this.setBtnText();\n }\n setBtnText() {\n if (this.displayText) {\n this.displayText = this.displayText[0].trim().toUpperCase() + this.displayText.trim().substr(1).toLowerCase();\n }\n }\n static ctorParameters = () => [];\n static propDecorators = {\n btnRef: [{ type: ViewChild, args: ['btnRef',] }],\n displayText: [{ type: Input }],\n appearance: [{ type: Input }],\n color: [{ type: Input }],\n disable: [{ type: Input }],\n width: [{ type: Input }],\n class: [{ type: Input }]\n };\n};\nCalciteButtonComponent = __decorate([\n Component({\n selector: 'lib-calcite-button',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteButtonComponent);\nexport { CalciteButtonComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-card.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-card.component.css?ngResource\";\nimport { Component, Input } from '@angular/core';\nlet CalciteCardComponent = class CalciteCardComponent {\n cardTitle = \"\";\n constructor() {\n }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n static propDecorators = {\n cardTitle: [{ type: Input }]\n };\n};\nCalciteCardComponent = __decorate([\n Component({\n selector: 'lib-calcite-card',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteCardComponent);\nexport { CalciteCardComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-checkbox.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-checkbox.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteCheckboxComponent = class CalciteCheckboxComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteCheckboxComponent = __decorate([\n Component({\n selector: 'lib-calcite-checkbox',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteCheckboxComponent);\nexport { CalciteCheckboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-combobox.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-combobox.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Subject } from \"rxjs\";\nlet CalciteComboboxComponent = class CalciteComboboxComponent {\n changeDetectorRef;\n comboboxItemsObservable = new Subject();\n setItemsAsSelectedObservable = new Subject();\n allowCustomValues = false;\n disableComboBox = false;\n comboBoxPlaceholder = undefined;\n comboBoxScale = \"s\" /* ComboboxScale.small */;\n maxItems = 5;\n overlayPositioning = \"absolute\" /* ComboboxOverlayPositioning.absolute */;\n label = undefined;\n setSelectedItems = [];\n onComboBoxChange = new EventEmitter();\n comboBoxOptions = [];\n constructor(changeDetectorRef) {\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n this.setSubscribers();\n }\n onChange($event) {\n if ($event && $event.detail.selectedItems.length > 0) {\n const selectedItems = [];\n $event.detail.selectedItems.forEach((element) => {\n selectedItems.push(element.value);\n });\n this.onComboBoxChange.next(selectedItems);\n }\n }\n setComboBoxItems(comboBoxItem, elementId, comboBoxElement) {\n const comboBoxItemHTMLElement = document.createElement(\"calcite-combobox-item\");\n comboBoxItemHTMLElement.setAttribute(\"id\", elementId.toString());\n comboBoxItemHTMLElement.setAttribute(\"text-label\", comboBoxItem.value);\n comboBoxItemHTMLElement.setAttribute(\"value\", comboBoxItem.code);\n comboBoxElement?.appendChild(comboBoxItemHTMLElement);\n }\n setItemsAsSelected(selectedItems, comboBoxItemHTMLElement) {\n const comboBoxListItemNodes = comboBoxItemHTMLElement.childNodes;\n comboBoxListItemNodes.forEach((calciteNodeItem) => {\n const itemValue = calciteNodeItem?.value;\n for (const selectedItem of selectedItems) {\n if (itemValue.toLowerCase() == selectedItem.toLowerCase()) {\n calciteNodeItem.setAttribute(\"selected\", \"true\");\n }\n }\n });\n }\n setSubscribers() {\n const comboBoxElement = document.getElementById(\"comboBox\");\n this.comboboxItemsObservable.subscribe(comboBoxItems => {\n if (comboBoxItems && comboBoxItems.length > 0) {\n this.comboBoxOptions = comboBoxItems;\n comboBoxItems.forEach((comboBoxItem, i) => {\n const id = i + 1;\n this.setComboBoxItems(comboBoxItem, id, comboBoxElement);\n });\n this.changeDetectorRef.detectChanges();\n }\n });\n this.setItemsAsSelectedObservable.subscribe((items) => {\n if (items && items.length > 0) {\n this.setItemsAsSelected(items, comboBoxElement);\n }\n });\n }\n static ctorParameters = () => [\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n comboboxItemsObservable: [{ type: Input }],\n setItemsAsSelectedObservable: [{ type: Input }],\n allowCustomValues: [{ type: Input }],\n disableComboBox: [{ type: Input }],\n comboBoxPlaceholder: [{ type: Input }],\n comboBoxScale: [{ type: Input }],\n maxItems: [{ type: Input }],\n overlayPositioning: [{ type: Input }],\n label: [{ type: Input }],\n setSelectedItems: [{ type: Input }],\n onComboBoxChange: [{ type: Output }]\n };\n};\nCalciteComboboxComponent = __decorate([\n Component({\n selector: 'lib-calcite-combobox',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteComboboxComponent);\nexport { CalciteComboboxComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-date-picker.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-date-picker.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteDatePickerComponent = class CalciteDatePickerComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteDatePickerComponent = __decorate([\n Component({\n selector: 'lib-calcite-date-picker',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteDatePickerComponent);\nexport { CalciteDatePickerComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-dropdown.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-dropdown.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteDropdownComponent = class CalciteDropdownComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteDropdownComponent = __decorate([\n Component({\n selector: 'lib-calcite-dropdown',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteDropdownComponent);\nexport { CalciteDropdownComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-form-multiselect.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-form-multiselect.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\nimport { UntypedFormBuilder, NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nlet CalciteFormMultiselectComponent = class CalciteFormMultiselectComponent {\n formBuilder;\n changeDetectorRef;\n comboboxItemsObservable = new Subject();\n setItemsAsSelectedObservable = new Subject();\n allowCustomValues = false;\n disableComboBox = false;\n comboBoxPlaceholder = undefined;\n comboBoxScale = \"s\" /* ComboboxScale.small */;\n maxItems = 5;\n overlayPositioning = \"absolute\" /* ComboboxOverlayPositioning.absolute */;\n label = undefined;\n setSelectedItems = [];\n form;\n subscriptions = [];\n id = `${Math.random()}`;\n constructor(formBuilder, changeDetectorRef) {\n this.formBuilder = formBuilder;\n this.changeDetectorRef = changeDetectorRef;\n this.form = this.formBuilder.group({\n groups: []\n });\n this.subscriptions.push(\n // any time the inner form changes update the parent of any change\n this.form.valueChanges.subscribe(value => {\n this.onChange(value);\n this.onTouched();\n }));\n }\n get groupsControl() {\n return this.form.controls.groups;\n }\n get value() {\n return this.form.value;\n }\n set value(value) {\n this.form.setValue(value);\n this.onChange(value);\n this.onTouched();\n }\n // communicate the inner form validation-tab to the parent form\n ngOnInit() {\n }\n ngAfterViewInit() {\n this.setSubscribers();\n }\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n onChange = () => {\n };\n onTouched = () => {\n };\n registerOnChange(fn) {\n this.onChange = fn;\n }\n writeValue(value) {\n if (value) {\n this.value = value;\n }\n if (value === null) {\n this.form.reset();\n }\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n validate(_) {\n return this.form.valid ? null : { groups: { valid: false } };\n }\n onSelectionChanged($event) {\n if ($event && $event.detail.selectedItems.length > 0) {\n const selectedItems = [];\n $event.detail.selectedItems.forEach((element) => {\n selectedItems.push(element.value);\n });\n this.form.get('groups')?.setValue(selectedItems);\n }\n }\n setSubscribers() {\n const comboBoxElement = document.getElementById(this.id);\n this.comboboxItemsObservable.subscribe(comboBoxItems => {\n if (comboBoxItems && comboBoxItems.length > 0) {\n comboBoxItems.forEach((comboBoxItem, i) => {\n const id = i + 1;\n this.setComboBoxItems(comboBoxItem, id, comboBoxElement);\n });\n this.changeDetectorRef.detectChanges();\n }\n });\n this.setItemsAsSelectedObservable.subscribe((items) => {\n if (items && items.length > 0) {\n this.setItemsAsSelected(items, comboBoxElement);\n }\n });\n }\n setComboBoxItems(comboBoxItem, elementId, comboBoxElement) {\n const comboBoxItemHTMLElement = document.createElement(\"calcite-combobox-item\");\n comboBoxItemHTMLElement.setAttribute(\"id\", elementId.toString());\n comboBoxItemHTMLElement.setAttribute(\"text-label\", comboBoxItem);\n comboBoxItemHTMLElement.setAttribute(\"value\", comboBoxItem);\n comboBoxElement?.appendChild(comboBoxItemHTMLElement);\n }\n setItemsAsSelected(selectedItems, comboBoxItemHTMLElement) {\n const comboBoxListItemNodes = comboBoxItemHTMLElement.childNodes;\n comboBoxListItemNodes.forEach((calciteNodeItem) => {\n const itemValue = calciteNodeItem?.value;\n for (const selectedItem of selectedItems) {\n if (itemValue.toLowerCase() == selectedItem.toLowerCase()) {\n calciteNodeItem.setAttribute(\"selected\", \"true\");\n }\n }\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n comboboxItemsObservable: [{ type: Input }],\n setItemsAsSelectedObservable: [{ type: Input }],\n allowCustomValues: [{ type: Input }],\n disableComboBox: [{ type: Input }],\n comboBoxPlaceholder: [{ type: Input }],\n comboBoxScale: [{ type: Input }],\n maxItems: [{ type: Input }],\n overlayPositioning: [{ type: Input }],\n label: [{ type: Input }],\n setSelectedItems: [{ type: Input }]\n };\n};\nCalciteFormMultiselectComponent = __decorate([\n Component({\n selector: 'lib-calcite-form-multiselect',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteFormMultiselectComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CalciteFormMultiselectComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteFormMultiselectComponent);\nexport { CalciteFormMultiselectComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-input.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-input.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, forwardRef, Input } from '@angular/core';\nimport { UntypedFormBuilder, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nlet CalciteInputComponent = class CalciteInputComponent {\n formBuilder;\n changeDetectorRef;\n addClearInputBtn = false;\n type = \"text\" /* CalciteInputTypeEnum.text */;\n disable = false;\n groupSeparator = false;\n maxLength = 100;\n placeholder = \"\";\n inputLabelText = \"\";\n required = false;\n requiredText = \"*\";\n requiredClass = \"calcite-input-text-danger\";\n // test\n // upon UI element value changes, this method gets triggered\n val;\n inputForm;\n constructor(formBuilder, changeDetectorRef) {\n this.formBuilder = formBuilder;\n this.changeDetectorRef = changeDetectorRef;\n // upon touching the element, this method gets triggered\n this.inputForm = this.formBuilder.group({\n calciteFormControl: []\n });\n }\n get value() {\n return this.inputForm?.value;\n }\n set value(val) {\n this.inputForm?.get(\"calciteFormControl\")?.patchValue(val);\n this.val = val;\n this.onChange(val);\n this.onTouch(val);\n }\n ngOnInit() {\n this.initialiseForm();\n }\n onChange = () => {\n };\n onTouch = () => {\n };\n // this method sets the value programmatically\n writeValue(value) {\n this.value = value;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouch = fn;\n }\n initialiseForm() {\n this.inputForm = this.formBuilder.group({\n calciteFormControl: []\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n addClearInputBtn: [{ type: Input }],\n type: [{ type: Input }],\n disable: [{ type: Input }],\n groupSeparator: [{ type: Input }],\n maxLength: [{ type: Input }],\n placeholder: [{ type: Input }],\n inputLabelText: [{ type: Input }],\n required: [{ type: Input }],\n requiredText: [{ type: Input }],\n requiredClass: [{ type: Input }]\n };\n};\nCalciteInputComponent = __decorate([\n Component({\n selector: 'lib-calcite-input',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteInputComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteInputComponent);\nexport { CalciteInputComponent };\n","import { __decorate } from \"tslib\";\nimport { ChangeDetectorRef, Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nlet RequiredClassDirective = class RequiredClassDirective {\n renderer;\n elmRef;\n changeDetectorRef;\n requiredClass;\n constructor(renderer, elmRef, changeDetectorRef) {\n this.renderer = renderer;\n this.elmRef = elmRef;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnInit() {\n if (this.requiredClass) {\n this.renderer.addClass(this.elmRef.nativeElement, `${this.requiredClass}`);\n this.changeDetectorRef.detectChanges();\n }\n }\n static ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n requiredClass: [{ type: Input, args: ['requiredClass',] }]\n };\n};\nRequiredClassDirective = __decorate([\n Directive({\n selector: '[libRequiredClass]'\n })\n], RequiredClassDirective);\nexport { RequiredClassDirective };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-link.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-link.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteLinkComponent = class CalciteLinkComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteLinkComponent = __decorate([\n Component({\n selector: 'lib-calcite-link',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteLinkComponent);\nexport { CalciteLinkComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-list.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-list.component.css?ngResource\";\nimport { Component } from '@angular/core';\nlet CalciteListComponent = class CalciteListComponent {\n constructor() { }\n ngOnInit() {\n }\n static ctorParameters = () => [];\n};\nCalciteListComponent = __decorate([\n Component({\n selector: 'lib-calcite-list',\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteListComponent);\nexport { CalciteListComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-select.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-select.component.css?ngResource\";\nimport { Component, forwardRef, Input } from '@angular/core';\nimport { UntypedFormBuilder, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nlet CalciteSelectComponent = class CalciteSelectComponent {\n formBuilder;\n selectForm;\n inputLabelText = \"\";\n selectOptions = [];\n val;\n constructor(formBuilder) {\n this.formBuilder = formBuilder;\n this.selectForm = this.formBuilder.group({\n calciteSelectFormControl: []\n });\n }\n get value() {\n return this.selectForm?.value;\n }\n set value(val) {\n if (val && val.length > 0) {\n val.forEach(value => {\n this.selectOptions.push(value);\n });\n }\n this.val = val;\n this.onChange(val);\n this.onTouch(val);\n }\n ngOnInit() {\n this.initialiseForm();\n }\n onChange = () => {\n };\n onTouch = () => {\n };\n // sets the value programmatically\n writeValue(value) {\n this.value = value;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouch = fn;\n }\n initialiseForm() {\n this.selectForm = this.formBuilder.group({\n calciteSelectFormControl: []\n });\n }\n static ctorParameters = () => [\n { type: UntypedFormBuilder }\n ];\n static propDecorators = {\n inputLabelText: [{ type: Input }],\n selectOptions: [{ type: Input }]\n };\n};\nCalciteSelectComponent = __decorate([\n Component({\n selector: 'lib-calcite-select',\n template: __NG_CLI_RESOURCE__0,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CalciteSelectComponent),\n multi: true\n }\n ],\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteSelectComponent);\nexport { CalciteSelectComponent };\n","import { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./calcite-stepper.component.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./calcite-stepper.component.css?ngResource\";\nimport { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { CalciteStepperService } from \"./calcite-stepper.service\";\nlet CalciteStepperComponent = class CalciteStepperComponent {\n calciteStepperService;\n changeDetectorRef;\n calciteStepper;\n onStepClicked = new EventEmitter();\n options = [];\n scale = \"m\" /* CalciteStepperScale.medium */;\n icon = \"\" /* CalciteStepperIcon.noIcon */;\n numbered = \"\" /* CalciteStepperNumbered.no_numbers */;\n stepperHtmlElement;\n stepOptionsAsObservableSubscription;\n constructor(calciteStepperService, changeDetectorRef) {\n this.calciteStepperService = calciteStepperService;\n this.changeDetectorRef = changeDetectorRef;\n }\n ngOnDestroy() {\n this.stepOptionsAsObservableSubscription.unsubscribe();\n }\n ngOnInit() {\n this.stepperHtmlElement = document.getElementById(\"calciteStepper\");\n this.calciteStepperService.setStepOptions(this.options);\n this.calciteStepperService.totalSteps = this.options.length;\n this.stepOptionsAsObservableSubscription = this.calciteStepperService.stepOptionsAsObservable.subscribe((options) => {\n this.options = options;\n this.setItemValues(options);\n this.changeDetectorRef.detectChanges();\n });\n }\n setItemValues(options) {\n if (this.stepperHtmlElement) {\n let index = -1;\n // clear the current nodes\n this.stepperHtmlElement.innerHTML = \"\";\n this.stepperHtmlElement.setAttribute(\"numbered\", this.numbered === \"numbered\" /* CalciteStepperNumbered.numbered */ ? \"true\" : \"false\");\n this.stepperHtmlElement.setAttribute(\"icon\", this.icon === \"icon\" /* CalciteStepperIcon.icon */ ? \"true\" : \"false\");\n this.stepperHtmlElement.setAttribute(\"scale\", `${this.scale}`);\n options.forEach((option) => {\n index++;\n option.stepIndex = index;\n const step = document.createElement(\"calcite-stepper-item\");\n step.setAttribute(\"id\", option.stepId);\n step.setAttribute(\"item-title\", option.stepTitle);\n step.setAttribute(\"item-subtitle\", option.stepSubtitle);\n step.innerText = option.stepContent;\n switch (option.stepType) {\n case \"active\" /* CalciteStepperItemType.active */:\n step.setAttribute(\"active\", \"true\");\n break;\n case \"disabled\" /* CalciteStepperItemType.disabled */:\n step.setAttribute(\"disabled\", \"true\");\n break;\n case \"complete\" /* CalciteStepperItemType.complete */:\n step.setAttribute(\"complete\", \"true\");\n break;\n case \"error\" /* CalciteStepperItemType.error */:\n step.setAttribute(\"error\", \"true\");\n break;\n }\n step.addEventListener(\"click\", () => {\n onClick(option.stepId);\n });\n this.stepperHtmlElement?.appendChild(step);\n const onClick = (stepId) => {\n this.onStepClicked.emit(stepId);\n };\n });\n }\n }\n static ctorParameters = () => [\n { type: CalciteStepperService },\n { type: ChangeDetectorRef }\n ];\n static propDecorators = {\n calciteStepper: [{ type: ViewChild, args: [\"calciteStepper\", { static: false },] }],\n onStepClicked: [{ type: Output, args: [\"onStepClicked\",] }],\n options: [{ type: Input }],\n scale: [{ type: Input }],\n icon: [{ type: Input }],\n numbered: [{ type: Input }]\n };\n};\nCalciteStepperComponent = __decorate([\n Component({\n selector: \"lib-calcite-stepper\",\n template: __NG_CLI_RESOURCE__0,\n styles: [__NG_CLI_RESOURCE__1]\n })\n], CalciteStepperComponent);\nexport { CalciteStepperComponent };\n","import { __decorate } from \"tslib\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nlet CalciteStepperService = class CalciteStepperService {\n stepOptions = new BehaviorSubject([]);\n stepOptionsAsObservable = this.stepOptions.asObservable();\n stepIndex = new BehaviorSubject(0);\n stepIndexAsObservable = this.stepIndex.asObservable();\n totalSteps = 0;\n constructor() { }\n setStepIndex(index) {\n this.stepIndex.next(index);\n }\n setStepOptions(steps) {\n this.totalSteps = steps.length;\n this.stepOptions.next(steps);\n }\n getStepOptions() {\n return this.stepOptionsAsObservable;\n }\n updateStep(stepIndex, updatedStep) {\n const steps = this.stepOptions.value;\n if (steps && steps.length >= stepIndex) {\n steps[stepIndex] = updatedStep;\n this.stepOptions.next(steps);\n }\n }\n getStepByStepID(stepId) {\n let currentStep;\n this.stepOptions.value.forEach((step) => { if (step.stepId === stepId)\n currentStep = step; });\n // @ts-ignore\n return currentStep;\n }\n getStepByStepIndex(stepIndex) {\n return this.stepOptions.value[stepIndex];\n }\n static ctorParameters = () => [];\n};\nCalciteStepperService = __decorate([\n Injectable({\n providedIn: \"root\"\n })\n], CalciteStepperService);\nexport { CalciteStepperService };\n","import { __decorate } from \"tslib\";\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CalciteButtonComponent } from \"./calcite/components/calcite-button/calcite-button.component\";\nimport { CalciteInputComponent } from \"./calcite/components/calcite-input/calcite-input.component\";\nimport { CalciteSelectComponent } from \"./calcite/components/calcite-select/calcite-select.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { CalciteCardComponent } from \"./calcite/components/calcite-card/calcite-card.component\";\nimport { CalciteCheckboxComponent } from \"./calcite/components/calcite-checkbox/calcite-checkbox.component\";\nimport { CalciteComboboxComponent } from \"./calcite/components/calcite-combobox/calcite-combobox.component\";\nimport { CalciteDatePickerComponent } from \"./calcite/components/calcite-date-picker/calcite-date-picker.component\";\nimport { CalciteDropdownComponent } from \"./calcite/components/calcite-dropdown/calcite-dropdown.component\";\nimport { CalciteListComponent } from \"./calcite/components/calcite-list/calcite-list.component\";\nimport { CalciteLinkComponent } from \"./calcite/components/calcite-link/calcite-link.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { CalciteStepperComponent } from \"./calcite/components/calcite-stepper/calcite-stepper.component\";\nimport { RequiredClassDirective } from \"./calcite/components/calcite-input/required-class.directive\";\nimport { CalciteFormMultiselectComponent } from \"./calcite/components/calcite-form-multiselect/calcite-form-multiselect.component\";\nlet ZaesriAngularCalciteModule = class ZaesriAngularCalciteModule {\n};\nZaesriAngularCalciteModule = __decorate([\n NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n declarations: [\n CalciteButtonComponent,\n CalciteInputComponent,\n CalciteSelectComponent,\n CalciteCardComponent,\n CalciteCheckboxComponent,\n CalciteComboboxComponent,\n CalciteDatePickerComponent,\n CalciteFormMultiselectComponent,\n CalciteDropdownComponent,\n CalciteListComponent,\n CalciteLinkComponent,\n CalciteStepperComponent,\n CalciteInputComponent,\n RequiredClassDirective\n ],\n imports: [\n ReactiveFormsModule,\n CommonModule\n ],\n exports: [\n CalciteButtonComponent,\n CalciteInputComponent,\n CalciteSelectComponent,\n CalciteCardComponent,\n CalciteCheckboxComponent,\n CalciteComboboxComponent,\n CalciteFormMultiselectComponent,\n CalciteDatePickerComponent,\n CalciteDropdownComponent,\n CalciteListComponent,\n CalciteLinkComponent,\n CalciteInputComponent,\n CalciteStepperComponent\n ],\n })\n], ZaesriAngularCalciteModule);\nexport { ZaesriAngularCalciteModule };\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 16316;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./calcite-accordion_2.entry.js\": [\n\t\t52049,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-accordion_2_entry_js\"\n\t],\n\t\"./calcite-action-bar.entry.js\": [\n\t\t67447,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-bar_entry_js\"\n\t],\n\t\"./calcite-action-group.entry.js\": [\n\t\t80617,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-group_entry_js\"\n\t],\n\t\"./calcite-action-menu.entry.js\": [\n\t\t58447,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-menu_entry_js\"\n\t],\n\t\"./calcite-action-pad.entry.js\": [\n\t\t87103,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action-pad_entry_js\"\n\t],\n\t\"./calcite-action.entry.js\": [\n\t\t92879,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-action_entry_js\"\n\t],\n\t\"./calcite-alert.entry.js\": [\n\t\t43907,\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-alert_entry_js\"\n\t],\n\t\"./calcite-avatar.entry.js\": [\n\t\t640,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-e84504\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-avatar_entry_js\"\n\t],\n\t\"./calcite-block_2.entry.js\": [\n\t\t33413,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-block_2_entry_js\"\n\t],\n\t\"./calcite-button.entry.js\": [\n\t\t6609,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-button_entry_js\"\n\t],\n\t\"./calcite-card.entry.js\": [\n\t\t45707,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-card_entry_js\"\n\t],\n\t\"./calcite-checkbox.entry.js\": [\n\t\t9000,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-checkbox_entry_js\"\n\t],\n\t\"./calcite-chip.entry.js\": [\n\t\t95767,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-chip_entry_js\"\n\t],\n\t\"./calcite-color-picker_3.entry.js\": [\n\t\t35563,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-e84504\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-color-picker_3_entry_js\"\n\t],\n\t\"./calcite-combobox_3.entry.js\": [\n\t\t35452,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-ef92de72_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-combobox_3_entry_js\"\n\t],\n\t\"./calcite-date-picker_4.entry.js\": [\n\t\t72127,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-7fafd8\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-date-picker_4_entry_js\"\n\t],\n\t\"./calcite-dropdown_3.entry.js\": [\n\t\t17774,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-dropdown_3_entry_js\"\n\t],\n\t\"./calcite-fab.entry.js\": [\n\t\t37736,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-fab_entry_js\"\n\t],\n\t\"./calcite-filter.entry.js\": [\n\t\t15087,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_forIn-ef92de72_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-filter_entry_js\"\n\t],\n\t\"./calcite-flow.entry.js\": [\n\t\t18469,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-flow_entry_js\"\n\t],\n\t\"./calcite-graph_2.entry.js\": [\n\t\t4280,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-graph_2_entry_js\"\n\t],\n\t\"./calcite-handle.entry.js\": [\n\t\t17307,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-handle_entry_js\"\n\t],\n\t\"./calcite-icon.entry.js\": [\n\t\t54152,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-icon_entry_js\"\n\t],\n\t\"./calcite-inline-editable.entry.js\": [\n\t\t9081,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-inline-editable_entry_js\"\n\t],\n\t\"./calcite-input-date-picker.entry.js\": [\n\t\t11617,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_dom-56e9893d_js-node_modules_esri_calci-7fafd8\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-date-picker_entry_js\"\n\t],\n\t\"./calcite-input-message.entry.js\": [\n\t\t44983,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-message_entry_js\"\n\t],\n\t\"./calcite-input-number.entry.js\": [\n\t\t41591,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-number_entry_js\"\n\t],\n\t\"./calcite-input-time-picker_2.entry.js\": [\n\t\t56795,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input-time-picker_2_entry_js\"\n\t],\n\t\"./calcite-input.entry.js\": [\n\t\t50569,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-input_entry_js\"\n\t],\n\t\"./calcite-label.entry.js\": [\n\t\t51043,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-label_entry_js\"\n\t],\n\t\"./calcite-link.entry.js\": [\n\t\t72589,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-link_entry_js\"\n\t],\n\t\"./calcite-list_3.entry.js\": [\n\t\t57095,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-list_3_entry_js\"\n\t],\n\t\"./calcite-loader.entry.js\": [\n\t\t75690,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-loader_entry_js\"\n\t],\n\t\"./calcite-modal.entry.js\": [\n\t\t44075,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-modal_entry_js\"\n\t],\n\t\"./calcite-notice.entry.js\": [\n\t\t90657,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-notice_entry_js\"\n\t],\n\t\"./calcite-option_3.entry.js\": [\n\t\t96042,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-option_3_entry_js\"\n\t],\n\t\"./calcite-pagination.entry.js\": [\n\t\t55677,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-pagination_entry_js\"\n\t],\n\t\"./calcite-panel.entry.js\": [\n\t\t19379,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-panel_entry_js\"\n\t],\n\t\"./calcite-pick-list_3.entry.js\": [\n\t\t89315,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-5182df75_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-pick-list_3_entry_js\"\n\t],\n\t\"./calcite-popover_2.entry.js\": [\n\t\t1377,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-popover_2_entry_js\"\n\t],\n\t\"./calcite-progress.entry.js\": [\n\t\t33850,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-progress_entry_js\"\n\t],\n\t\"./calcite-radio-button-group.entry.js\": [\n\t\t313,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-button-group_entry_js\"\n\t],\n\t\"./calcite-radio-button.entry.js\": [\n\t\t14943,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-button_entry_js\"\n\t],\n\t\"./calcite-radio-group_2.entry.js\": [\n\t\t87265,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-radio-group_2_entry_js\"\n\t],\n\t\"./calcite-rating.entry.js\": [\n\t\t77756,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-rating_entry_js\"\n\t],\n\t\"./calcite-scrim.entry.js\": [\n\t\t80067,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-scrim_entry_js\"\n\t],\n\t\"./calcite-shell_3.entry.js\": [\n\t\t97929,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-shell_3_entry_js\"\n\t],\n\t\"./calcite-sortable-list.entry.js\": [\n\t\t19682,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_interactive-44c800e7_js-node_modules_es-2a48b8\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-sortable-list_entry_js\"\n\t],\n\t\"./calcite-split-button.entry.js\": [\n\t\t80366,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-split-button_entry_js\"\n\t],\n\t\"./calcite-stepper_2.entry.js\": [\n\t\t30189,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-stepper_2_entry_js\"\n\t],\n\t\"./calcite-switch.entry.js\": [\n\t\t24257,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_form-47a9f6d7_js-node_modules_esri_calc-04561e\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-switch_entry_js\"\n\t],\n\t\"./calcite-tab_4.entry.js\": [\n\t\t73153,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tab_4_entry_js\"\n\t],\n\t\"./calcite-tile-select_2.entry.js\": [\n\t\t7527,\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tile-select_2_entry_js\"\n\t],\n\t\"./calcite-tile.entry.js\": [\n\t\t98497,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tile_entry_js\"\n\t],\n\t\"./calcite-tip_3.entry.js\": [\n\t\t63902,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"common\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tip_3_entry_js\"\n\t],\n\t\"./calcite-tooltip_2.entry.js\": [\n\t\t55135,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_popper-e4716ebb_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tooltip_2_entry_js\"\n\t],\n\t\"./calcite-tree_2.entry.js\": [\n\t\t65188,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-tree_2_entry_js\"\n\t],\n\t\"./calcite-value-list_2.entry.js\": [\n\t\t5688,\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_conditionalSlot-ed64bd11_js-node_module-2ac167\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_debounce-8d38ec02_js\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_interactive-44c800e7_js-node_modules_es-2a48b8\",\n\t\t\"default-node_modules_esri_calcite-components_dist_esm_resources-5182df75_js\",\n\t\t\"node_modules_esri_calcite-components_dist_esm_calcite-value-list_2_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 7250;\nmodule.exports = webpackAsyncContext;","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\r\n`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.calcite-input-label-container {\r\n display: flex;\r\n}\r\n\r\n.calcite-input-text-danger {\r\n height: 8px;\r\n padding-left: 3px;\r\n padding-top: -4px;\r\n font-family: Inter;\r\n font-style: normal;\r\n font-size: 12px;\r\n /*letter-spacing: -0.0686271px;*/\r\n color: #FF0000FF;\r\n}\r\n\r\n`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.drop-down {\n float: left;\n display: inline;\n align-self: center;\n}\n\n.drop-down select {\n background-color: unset !important;\n color: var(--theme-main-color, #055C8D);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: bold;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n height: 41px;\n width: 176px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.filter {\n width: 100%;\n height: -moz-fit-content;\n height: fit-content;\n display: flex;\n flex-direction: row;\n margin-bottom: 15px;\n}\n\n.filter-bar {\n font-size: 16px;\n color: #555;\n flex-grow: 1;\n height: 41px;\n display: flex;\n}\n\n.filter-bar input {\n width: 100%;\n font-size: 16px;\n color: #555;\n border: none;\n height: 100%;\n}\n\n.filter-by {\n margin-right: 11px;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.label {\n margin-right: 11px;\n margin-left: 6px;\n color: var(--theme-main-color, #055C8D);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: 700;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 60px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.modal-body {\n white-space: pre-line;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n background: var(--theme-main-background-color, #055C8D);\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: none;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.secondary {\n background: rgb(255, 255, 255);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: var(--theme-main-color, #055C8D);\n border: 1px solid var(--theme-main-border-color, #055C8D);\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.checkbox-column {\n text-align: center;\n width: 45px;\n padding-right: 0;\n}\n\n.custom-table {\n height: 100%;\n overflow-y: scroll !important;\n overflow-x: hidden !important;\n}\n\n.header-row {\n width: 100% !important;\n}\n\n.export-row {\n flex-basis: 40px;\n min-height: 40px;\n margin-top: 5px;\n margin-bottom: 10px;\n}\n\n.content-panel {\n overflow-y: auto;\n overflow-x: auto;\n min-height: 0;\n}\n\nthead {\n color: #859296;\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 10.5px;\n}\n\ntbody {\n overflow-y: auto !important;\n background-color: #FFFFFF;\n font-family: Inter;\n font-style: normal;\n font-weight: normal;\n font-size: 11.4px;\n color: #859296;\n}\n\n.tbody-export {\n max-height: calc(100vh - 50px) !important;\n}\n\nth {\n position: sticky;\n}\n\n.table thead th {\n border-top: none;\n position: sticky;\n top: 0;\n background: #F3F3F3;\n z-index: 1;\n vertical-align: middle !important;\n}\n\nth.desc:after {\n transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n}\n\nth.desc:after, th.asc:after {\n content: url(\"data:image/svg+xml; utf8, \");\n width: -moz-fit-content;\n width: fit-content;\n margin-left: 5px;\n height: 13px;\n display: inline-block;\n vertical-align: text-bottom;\n}\n\n.table td, .table th {\n vertical-align: middle !important;\n padding: 0.5rem 0.4rem;\n}\n\ntable {\n display: flex;\n flex-flow: column;\n height: 100%;\n width: 100%;\n}\n\ntable thead {\n /* head takes the height it requires,\n and it's not scaled when table is resized */\n flex: 0 0 auto;\n width: calc(100% - 0.9em);\n}\n\ntable tbody {\n /* body takes all the remaining available space */\n border-top: 2px solid var(--theme-main-border-color, #055C8D);\n flex: 1 1 auto;\n display: block;\n overflow-y: scroll;\n}\n\ntable tbody tr {\n width: 100%;\n}\n\ntable thead, table tbody tr {\n display: table;\n table-layout: fixed;\n}\n\n.table-link {\n color: var(--theme-active-color, #243391);\n cursor: pointer;\n}\n\n.table-link:hover {\n text-decoration: underline;\n}\n\ntd {\n word-wrap: break-word;\n white-space: pre-line;\n}\n\n.filter {\n height: auto;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\ninput[type=radio], input[type=checkbox] {\n z-index: 1;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #859296;\n background-color: var(--theme-main-background-color, #055C8D);\n}\n\n.selectable-row {\n cursor: pointer;\n}\n\n.radio-button-column {\n width: 48px !important;\n}\n\n.recipient-type-labels-padding {\n padding-top: 5px;\n}\n\n.recipient-type-radio-btn-margins {\n margin-left: 8px;\n}\n\n.footer {\n margin-top: 3px;\n flex-direction: row;\n justify-content: flex-end;\n height: 52px;\n padding: 9px 5px 2px 5px;\n position: fixed;\n bottom: 0px;\n}\n\n.filename-text {\n width: 250px;\n padding: 5px;\n margin-right: 10px;\n}\n\n.workflow-form-label {\n padding-right: 5px;\n color: var(--theme-active-color, #243391);\n font-family: Inter, sans-serif;\n font-style: normal;\n font-weight: 700;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: 0.305883px;\n white-space: nowrap;\n}\n\n.border {\n width: 100%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.title {\n font-family: Arial, Helvetica, sans-serif;\n text-align: center;\n}\n\n.center {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.uploader-status ::ng-deep .mat-mdc-progress-spinner circle, .mat-mdc-progress-spinner circle {\n stroke: var(--theme-main-color, #055C8D);\n}\n\n.overlay {\n height: 100vh;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.286);\n z-index: 900000;\n top: 0;\n left: 0;\n position: fixed;\n}\n\n.appAlert {\n width: 80%;\n position: fixed;\n left: 50%;\n margin-left: -37.5%;\n z-index: 9000;\n text-align: center;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main {\n color: rgb(107, 107, 107);\n}\n\n.main .Title, .main .numbers, .main .nb {\n color: rgb(40, 40, 40);\n}\n\n.icon {\n border-radius: 150px;\n width: 200px;\n height: 200px;\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n}\n\n.numbers {\n padding-top: 25px;\n font-size: 250%;\n font-weight: bold;\n width: 100%;\n text-align: center;\n}\n\n.Title {\n font-size: 18px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D) !important;\n height: 10%;\n}\n\n.status {\n text-align: center;\n font-size: 20px;\n}\n\n.c-1 {\n min-height: 10%;\n padding: 20px;\n width: 98% !important;\n margin-top: 2%;\n}\n\n.c-2 {\n height: 60%;\n padding-right: 25px;\n margin-bottom: 4%;\n}\n\n.c-3 {\n height: 20%;\n padding: 10px;\n}\n\n.statuses {\n width: 32%;\n padding-top: 50px;\n cursor: pointer;\n}\n\n@media (max-width: 1536px) {\n .icon {\n width: 200px !important;\n height: 200px !important;\n }\n .status {\n font-size: 16px;\n }\n}\n.description {\n font-size: 14px;\n}\n\n.note-font {\n font-size: 16px;\n color: red;\n}\n\n.la-8x {\n font-size: 6em;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.accept-button {\n width: 3%;\n padding-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `body {\n padding: 0px;\n}\n\n:host(app-landing-page) {\n max-height: 100vh !important;\n height: 100vh !important;\n max-width: 100vw !important;\n width: 100vw !important;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n::ng-deep .cdk-overlay-pane {\n max-height: 100vh !important;\n height: 100vh !important;\n max-width: 100vw !important;\n width: 100vw !important;\n}\n\n::ng-deep .mat-mdc-dialog-container {\n border-radius: 0px !important;\n padding: 0px;\n}\n\n.module {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.accept-button {\n width: 3%;\n padding-left: 10px;\n}\n\n* {\n box-sizing: border-box !important;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n color: #666666;\n font-size: 14px;\n font-family: \"poppins\", sans-serif;\n line-height: 1.80857;\n font-weight: normal;\n overflow-x: hidden;\n}\n\na {\n color: #1f1f1f;\n text-decoration: none !important;\n outline: none !important;\n transition: all 0.3s ease-in-out;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n letter-spacing: 0;\n font-weight: normal;\n position: relative;\n padding: 0 0 10px 0;\n font-weight: normal;\n line-height: normal;\n color: #111111;\n margin: 0;\n}\n\nh1 {\n font-size: 24px;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh3 {\n font-size: 18px;\n}\n\nh4 {\n font-size: 16px;\n}\n\nh5 {\n font-size: 14px;\n}\n\nh6 {\n font-size: 13px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\nh1 a,\nh2 a,\nh3 a,\nh4 a,\nh5 a,\nh6 a {\n color: #212121;\n text-decoration: none !important;\n opacity: 1;\n}\n\nbutton:focus {\n outline: none;\n}\n\nul,\nli,\nol {\n margin: 0px;\n padding: 0px;\n list-style: none;\n}\n\np {\n margin: 0px;\n font-weight: 300;\n font-size: 15px;\n line-height: 24px;\n}\n\na {\n color: #222222;\n text-decoration: none;\n outline: none !important;\n}\n\na,\n.btn {\n text-decoration: none !important;\n outline: none !important;\n transition: all 0.3s ease-in-out;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\n:focus {\n outline: 0;\n}\n\n.btn-custom {\n margin-top: 20px;\n background-color: transparent !important;\n border: 2px solid #ddd;\n padding: 12px 40px;\n font-size: 16px;\n}\n\n.lead {\n font-size: 18px;\n line-height: 30px;\n color: #767676;\n margin: 0;\n padding: 0;\n}\n\n.form-control:focus {\n border-color: #ffffff !important;\n box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);\n}\n\n.navbar-form input {\n border: none !important;\n}\n\n.badge {\n font-weight: 500;\n}\n\nblockquote {\n margin: 20px 0 20px;\n padding: 30px;\n}\n\nbutton {\n border: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n\n.full {\n float: left;\n width: 100%;\n}\n\n.layout_padding {\n padding-top: 90px;\n padding-bottom: 90px;\n}\n\n.layout_padding_2 {\n padding-top: 75px;\n padding-bottom: 75px;\n}\n\n.light_silver {\n background: #f9f9f9;\n}\n\n.theme_bg {\n background: #38c8a8;\n}\n\n.margin_top_30 {\n margin-top: 30px !important;\n}\n\n.full {\n width: 100%;\n float: left;\n margin: 0;\n padding: 0;\n}\n\n/**-- heading section --**/\n.main_heading {\n text-align: center;\n display: flex;\n justify-content: center;\n position: relative;\n margin-bottom: 50px;\n}\n\n.main_heading h2 {\n padding: 0;\n font-size: 48px;\n line-height: 60px;\n font-weight: 400;\n position: relative;\n letter-spacing: -0.5px;\n color: #114c7d;\n border-left: solid #38c8a8 10px;\n padding-left: 15px;\n}\n\n.main_heading h2 strong {\n background: #38c8a8;\n color: #fff;\n font-weight: 600;\n padding: 0 15px;\n line-height: 68px;\n}\n\n.white_heading_main h2 {\n color: #fff;\n}\n\n.small_main_heading {\n margin-top: 25px;\n float: left;\n width: 100%;\n border-bottom: solid rgba(0, 0, 0, 0.07) 1px;\n margin-bottom: 25px;\n}\n\n.small_main_heading h2 {\n padding: 2px 0 20px 0;\n color: #114c7d;\n font-weight: 400;\n font-size: 28px;\n background-repeat: no-repeat;\n padding-left: 55px;\n letter-spacing: -0.5px;\n}\n\n.small_main_heading h2 strong {\n color: #38c8a8;\n font-weight: 600;\n}\n\n.main_bt {\n background: #000;\n color: #fff;\n padding: 10px 60px 10px 60px;\n float: left;\n font-size: 15px;\n font-weight: 400;\n border: solid #000 5px;\n border-radius: 0;\n margin-right: 30px;\n}\n\na.readmore_bt {\n color: #fff;\n font-weight: 300;\n text-decoration: underline !important;\n}\n\n.main_bt:hover,\n.main_bt:focus {\n background: #ad2101;\n border: solid #ad2101 5px;\n color: #fff;\n}\n\n/**-- list icon --**/\n.ul_list_info_icon ul {\n list-style: none;\n}\n\n.ul_list_info_icon ul li {\n display: inline;\n float: left;\n width: 100%;\n}\n\n.ul_list_info_icon ul li img {\n width: 75px;\n}\n\n/*----------------------------\n preloader area\n----------------------------*/\n.loader_bg {\n position: fixed;\n z-index: 9999999;\n background: #fff;\n width: 100%;\n height: 100%;\n}\n\n.loader {\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.loader img {\n width: 280px;\n}\n\n/*----------------------------\n scroll to top area\n----------------------------*/\n.scrollup {\n float: right;\n position: absolute;\n color: #fff;\n right: 20px;\n padding: 0px 5px;\n text-transform: uppercase;\n font-weight: 600;\n background: #38c8a8;\n position: fixed;\n bottom: 20px;\n z-index: 99;\n text-align: center;\n color: #fff;\n cursor: pointer;\n border-radius: 0px;\n opacity: 0;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n transform: scale(1);\n -moz-transform: scale(1);\n -o-transform: scale(1);\n -webkit-transform: scale(1);\n transition: 0.2s all ease;\n -moz-transition: 0.2s all ease;\n -o-transition: 0.2s all ease;\n -webkit-transition: 0.2s all ease;\n width: 50px;\n height: 50px;\n border-radius: 100%;\n line-height: 48px;\n font-size: 16px;\n}\n\n.scrollup.b-show_scrollBut {\n opacity: 1;\n visibility: visible;\n}\n\n.top_awro {\n background: #ee4a79 none repeat scroll 0 0;\n cursor: pointer;\n padding: 6px 8px;\n position: fixed;\n bottom: 59px;\n right: 20px;\n display: none;\n height: 45px;\n width: 45px;\n border-radius: 50%;\n text-align: center;\n line-height: 30px;\n transition: all 0.5s ease;\n}\n\n.sale_pro {\n background: #f25252 !important;\n}\n\n.margin_top_50 {\n margin-top: 50px;\n}\n\n.margin_bottom_30_all {\n margin-bottom: 30px;\n}\n\n.text_align_center {\n text-align: center;\n}\n\n/*---------------------------------------------------------------------\n header area\n---------------------------------------------------------------------*/\n.logo_section {\n text-align: center;\n}\n\n.logo {\n float: left;\n}\n\nnav.main-menu {\n float: right;\n margin-left: 0;\n margin-top: 20px;\n}\n\n.menu-area-main li:hover a,\n.menu-area-main li:focus a {\n color: #000;\n}\n\n.menu-area-main li.active a {\n color: #000;\n}\n\n.right_cart_section {\n float: right;\n width: auto;\n}\n\n.right_cart_section ul {\n float: left;\n min-height: auto;\n margin: 0;\n padding: 12px 0 0;\n}\n\n.right_cart_section .cart_icons {\n padding: 18px 0 0;\n}\n\n.main-menu ul > li nth:child(5) a {\n padding-right: 0px;\n}\n\n.right_cart_section ul li {\n float: left;\n font-size: 17px;\n font-weight: 400;\n color: #fff;\n margin-right: 30px;\n}\n\n.right_cart_section ul.cart_update li {\n font-size: 13px;\n color: #ccc;\n line-height: normal;\n margin: 0;\n font-weight: 300;\n}\n\n.right_cart_section ul.cart_update li span {\n font-size: 18px;\n font-weight: 300;\n color: #fff;\n line-height: 21px;\n}\n\n.right_cart_section ul li i {\n margin-right: 10px;\n margin-top: 5px;\n float: left;\n color: #fff;\n font-size: 21px;\n}\n\n.right_cart_section ul li a {\n color: #fff;\n}\n\n.loginregisterbtn {\n background-color: var(--theme-main-background-color, #055C8D);\n border: solid;\n border-radius: 10px;\n border-color: var(--theme-main-border-color, #055C8D);\n color: white !important;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 16px;\n}\n\n/*-- end header middle --*/\n.top-bar-info {\n background: #111111;\n padding: 5px 0px;\n}\n\n.top-menu-left {\n float: left;\n}\n\n.top-menu-left li {\n position: relative;\n display: inline-block;\n margin-right: 11px;\n padding-right: 12px;\n}\n\n.top-menu-left li::before {\n content: \"\";\n position: absolute;\n right: 0;\n top: 9px;\n height: 10px;\n border-right: 1px dotted #999;\n}\n\n.top-menu-left li:last-child::before {\n display: none;\n}\n\n.top-menu-left li:last-child {\n padding: 0px;\n margin: 0px;\n}\n\n.top-menu-left li a {\n color: #ffffff;\n font-size: 12px;\n text-transform: uppercase;\n text-decoration: none;\n}\n\n.top-menu-left li a:hover {\n color: #38c8a8;\n}\n\n.right-dropdown-language {\n float: right;\n margin-left: 12px;\n}\n\n.dropdown-bar .dropdown-link {\n position: absolute;\n z-index: 1009;\n top: 40px;\n left: 0;\n right: auto;\n min-width: 50px;\n padding: 15px;\n background: #ffffff;\n list-style: none;\n border: 2px solid #38c8a8;\n opacity: 0;\n visibility: hidden;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n transition: opacity 0.2s ease 0s, visibility 0.2s linear 0s;\n text-align: left;\n}\n\n.dropdown-bar:hover .dropdown-link {\n opacity: 1;\n visibility: visible;\n top: 25px;\n}\n\n.dropdown-bar.right-dropdown-language > a::after {\n font-family: \"FontAwesome\";\n content: \"\\\\f107\";\n text-decoration: none;\n padding-left: 4px;\n color: #ffffff;\n}\n\n.right-dropdown-language > a {\n line-height: 10px;\n padding: 5px 5px;\n cursor: pointer;\n}\n\n.dropdown-bar .dropdown-link li a {\n color: #111111;\n display: block;\n font-size: 12px;\n line-height: 15px;\n padding: 5px 0;\n}\n\n.dropdown-bar .dropdown-link li a:hover {\n color: #38c8a8;\n}\n\n.dropdown-bar .dropdown-link li a img {\n margin-right: 7px;\n}\n\n.dropdown-bar .dropdown-link li.active {\n font-weight: bold;\n}\n\n.right-dropdown-language .dropdown-link {\n min-width: 100px;\n padding: 7px 10px;\n color: #111111;\n}\n\n.dropdown-bar {\n position: relative;\n padding: 0 5px;\n font-size: 13px;\n}\n\n.dropdown-bar .dropdown-link.right-sd {\n left: auto;\n right: 0;\n}\n\n.right-dropdown-currency {\n float: right;\n margin-left: 12px;\n}\n\n.dropdown-bar.right-dropdown-currency > a::after {\n font-family: \"FontAwesome\";\n content: \"\\\\f107\";\n text-decoration: none;\n padding-left: 4px;\n color: #ffffff;\n}\n\n.right-dropdown-currency > a {\n line-height: 10px;\n padding: 5px 5px;\n cursor: pointer;\n color: #ffffff;\n}\n\n.right-dropdown-currency .dropdown-link {\n min-width: 100px;\n padding: 7px 10px;\n color: #111111;\n}\n\n.right-dropdown-currency .dropdown-link {\n min-width: 55px;\n padding: 7px 10px;\n}\n\n.right-dropdown-currency .dropdown-link li a span.symbol {\n margin-right: 7px;\n}\n\n#login-modal .modal-content {\n border-radius: 0px;\n}\n\n#login-modal .modal-content .modal-header {\n background: #38c8a8;\n border-radius: 0;\n}\n\n#login-modal .modal-content .modal-body .form-group input {\n background: #ffffff;\n border: 1px solid #c8c8c8;\n border-radius: 0px;\n}\n\n#login-modal .modal-content .modal-body .form-group input:focus {\n border: 1px solid #c8c8c8 !important;\n}\n\n#login-modal .modal-content form {\n margin-bottom: 10px;\n}\n\n.modal-title {\n padding: 0px;\n color: #ffffff;\n font-size: 18px;\n text-transform: uppercase;\n}\n\n.btn-template-outlined {\n background: #111111;\n color: #ffffff;\n border: none;\n border-radius: 0px;\n}\n\n.btn-template-outlined i {\n padding-right: 10px;\n}\n\n.text-muted {\n padding: 10px 0px;\n}\n\n.slogan-line {\n float: right;\n color: #ffffff;\n font-size: 13px;\n}\n\n.middle-area {\n padding: 30px 0px;\n}\n\n.header-search {\n padding: 3px 0px;\n}\n\n.header-search form {\n position: relative;\n box-shadow: 0px 1px 10px -1px rgba(0, 0, 0, 0.2);\n}\n\n.header-search .btn-group.bootstrap-select {\n position: absolute;\n left: 0px;\n top: 0px;\n}\n\n.header-search input {\n width: 100%;\n min-height: 45px;\n border-radius: 0px;\n border: none;\n padding-left: 15px;\n border: 1px solid #e0e7ed;\n}\n\n.header-search form .search-btn {\n position: absolute;\n right: 0;\n top: 0;\n border: 0;\n color: #fff;\n font-size: 20px;\n padding: 4px 15px;\n border-radius: 0px;\n background-color: #38c8a8;\n cursor: pointer;\n}\n\n.header-search form .search-btn:hover {\n background: #111111;\n}\n\n.wish-box {\n float: right;\n}\n\n.wish-box a {\n display: inline-block;\n}\n\n.wish-box a:hover {\n color: #38c8a8;\n}\n\n.wish-box a span.icon {\n background: #38c8a8;\n width: 40px;\n height: 40px;\n display: inline-block;\n line-height: 40px;\n text-align: center;\n color: #ffffff;\n position: relative;\n border-radius: 2px;\n}\n\n.wish-box a span.icon:hover {\n background: #111111;\n}\n\n.cart-content-right {\n padding: 5px 0px;\n}\n\n.cart-content-box .items {\n text-align: center;\n}\n\n.product-media {\n width: 60px;\n float: left;\n position: relative;\n}\n\n.cart-content-box .items:hover .product-media::before {\n transform: scale(1);\n -webkit-transform: scale(1);\n -moz-transform: scale(1);\n -ms-transform: scale(1);\n -o-transform: scale(1);\n}\n\n.product-media::before {\n position: absolute;\n content: \"\";\n z-index: 2;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #38c8a8;\n opacity: 0.4;\n transform: scale(0);\n -webkit-transform: scale(0);\n -moz-transform: scale(0);\n -ms-transform: scale(0);\n -o-transform: scale(0);\n transition: all 0.5s ease;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n}\n\n.cart-content-box .items .item .remove {\n position: absolute;\n right: 0px;\n top: 0px;\n background: #38c8a8;\n color: #ffffff;\n width: 20px;\n height: 20px;\n line-height: 18px;\n border-radius: 2px;\n}\n\n.cart-content-box .items .item {\n margin-bottom: 10px;\n padding-bottom: 10px;\n border-bottom: 1px solid #e0e7ed;\n position: relative;\n}\n\n.cart-content-box .items .item .product-info {\n padding-top: 10px;\n padding-left: 71px;\n text-align: left;\n}\n\n.cart-content-box .items .item .remove:hover {\n background: #111111;\n}\n\n.subtotal {\n text-align: left;\n text-transform: capitalize;\n color: #38c8a8;\n font-weight: 500;\n margin-bottom: 15px;\n}\n\n.subtotal span {\n font-weight: bold;\n color: #111111;\n padding-left: 15px;\n float: right;\n}\n\n.actions .btn-process {\n padding: 5px 16px;\n color: #ffffff;\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n border-radius: 2px;\n overflow: hidden;\n}\n\n.actions .btn-process:hover {\n color: #ffffff;\n}\n\n.line-cart {\n position: relative;\n}\n\n.wish-box a span.icon span {\n position: absolute;\n right: -8px;\n top: -8px;\n line-height: initial;\n background: #38c8a8;\n padding: 3px;\n border-radius: 50%;\n width: 17px;\n height: 17px;\n font-size: 12px;\n}\n\n.main-menu {\n text-align: center;\n}\n\n.main-menu ul {\n margin: 0;\n list-style-type: none;\n}\n\n.main-menu ul > li {\n display: inline-block;\n position: relative;\n}\n\n.main-menu ul > li a {\n padding: 6px 25px 0 25px;\n line-height: 20px;\n font-size: 17px;\n display: block;\n font-weight: 500;\n color: var(--theme-main-color, #055C8D);\n}\n\n.main-menu ul li:last-child a {\n padding-right: 0;\n}\n\n.sub-down li {\n background: #ffffff;\n}\n\n.main-menu ul > li .sub-down li a {\n color: #114c7d;\n font-size: 15px;\n text-transform: capitalize;\n font-weight: 300;\n padding: 12px 5px;\n position: relative;\n border-bottom: solid #eee 1px;\n}\n\n.main-menu ul > li .sub-down li a:hover {\n color: #111111;\n}\n\n.main-menu ul li:first-child {\n margin-left: 0;\n}\n\n.main-menu ul > li > ul {\n opacity: 0;\n position: absolute;\n text-align: left;\n top: 100%;\n transform: scaleY(0);\n transform-origin: 0 0 0;\n transition: all 0.3s ease 0s;\n visibility: hidden;\n width: 240px;\n z-index: 999;\n background: #fff;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n\n.main-menu > ul > li:hover > ul {\n transform: scaleY(1);\n visibility: visible;\n opacity: 1;\n}\n\n.main-menu ul > li > ul > li {\n margin: 0px;\n position: relative;\n display: block;\n}\n\n.main-menu ul > li > ul > li:hover > ul {\n transform: scaleY(1);\n visibility: visible;\n opacity: 1;\n left: 100%;\n top: 10px;\n}\n\n.main-menu ul > li > ul > li > a {\n background: none !important;\n}\n\n.mean-container .mean-nav {\n margin-top: 0px;\n position: absolute;\n top: 100%;\n}\n\n.main-menu ul > li {\n position: inherit;\n display: inline-block;\n vertical-align: middle;\n}\n\n.main-menu ul > li:nth-child(6) {\n padding-right: 0px;\n}\n\n.nav > li {\n position: inherit;\n display: inline-block;\n vertical-align: middle;\n}\n\n.megamenu .sub-down {\n max-width: 1140px;\n width: 100%;\n left: 0;\n margin: 0 auto;\n right: 0;\n padding: 15px 0px;\n}\n\n.simple-down {\n padding: 15px;\n}\n\n.megamenu-categories {\n padding: 10px 0px;\n}\n\n.sub-full.megamenu-categories li {\n display: block;\n}\n\n.megamenu .sub-full.megamenu-categories ol li a {\n padding: 5px 0px;\n font-size: 15px !important;\n font-weight: 500;\n}\n\n.sub-full.megamenu-categories ol li .category-title {\n padding: 15px 0px;\n font-size: 16px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.sub-full.megamenu-categories ol li .category-box a {\n padding: 5px 0px;\n}\n\n.menu-add {\n padding: 30px 15px;\n}\n\n.menu-add img {\n width: 100%;\n}\n\n.main-w img {\n width: 100%;\n}\n\n.women-box {\n position: relative;\n}\n\n.women-box::before {\n content: \"\";\n position: absolute;\n background: rgba(0, 0, 0, 0.3);\n width: 100%;\n height: 100%;\n}\n\n.banner-up-text {\n position: absolute;\n bottom: 10px;\n left: 0px;\n right: 0px;\n text-align: center;\n}\n\n.text-a {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 40px;\n font-weight: 700;\n}\n\n.text-b {\n color: #fff;\n font-size: 28px;\n text-transform: uppercase;\n line-height: 30px;\n padding: 20px 0px;\n}\n\n.text-c {\n color: #ffffff;\n font-size: 31px;\n font-weight: 300;\n text-transform: uppercase;\n line-height: 30px;\n padding-bottom: 20px;\n}\n\n.megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {\n background: #111111;\n color: #ffffff !important;\n display: inline-block;\n padding: 10px 16px;\n border-radius: 2px;\n overflow: hidden;\n font-size: 16px;\n}\n\n.sticky-wrapper .sticky-wrapper-header {\n z-index: 20 !important;\n background: #ffffff;\n}\n\n.is-sticky .sticky-wrapper-header .middle-area {\n padding: 0px 0px;\n}\n\n.sticky-wrapper:not(.is-sticky) {\n height: auto !important;\n}\n\n.hover-btn {\n display: inline-block;\n vertical-align: middle;\n transform: perspective(1px) translateZ(0);\n box-shadow: 0 0 1px rgba(0, 0, 0, 0);\n position: relative;\n background: #111111;\n transition-property: color;\n transition-duration: 0.3s;\n}\n\n.hover-btn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: #38c8a8;\n transform: scaleX(0);\n transform-origin: 50%;\n transition-property: transform;\n transition-duration: 0.3s;\n transition-timing-function: ease-out;\n display: block !important;\n}\n\n.hover-btn:hover::before,\n.hover-btn:focus::before,\n.hover-btn:active::before {\n transform: scaleX(1);\n}\n\n.hover-btn:hover,\n.hover-btn:focus,\n.hover-btn:active {\n color: white;\n box-shadow: none;\n}\n\n.btn-secondary.focus,\n.btn-secondary:focus {\n box-shadow: none;\n}\n\n.img-responsive {\n max-width: 100%;\n}\n\n.padding_right_15_inner {\n padding-right: 15px;\n}\n\n.padding_left_15_inner {\n padding-left: 15px;\n}\n\n.dark_bg {\n background: #114c7d;\n}\n\n/*---------------------------------------------------------------------\n layout new css\n---------------------------------------------------------------------*/\n.header {\n background: #D2D3D5;\n padding: 10px 0px;\n padding-bottom: 10px;\n}\n\n.logo a {\n font-size: 40px;\n font-weight: bold;\n text-transform: uppercase;\n color: #fff;\n line-height: 40px;\n}\n\n.relative {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n bottom: 0;\n}\n\n.banner-main {\n position: relative;\n}\n\n.carousel-caption {\n border-radius: none;\n padding: 2px 2px;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.banner-main .carousel-caption h1 {\n color: #fff;\n font-size: 40px;\n line-height: 40px;\n font-weight: bold;\n padding-top: 40px;\n}\n\n.banner-main .carousel-caption p {\n font-size: 30px;\n padding: 20px 0px 40px 0px;\n}\n\n/** download section **/\n.Screenshot {\n padding-top: 60px;\n padding-bottom: 90px;\n background: #fff;\n}\n\n.Screenshot .titlepage {\n padding-bottom: 60px;\n text-align: center;\n}\n\n.screenshot-title {\n text-align: center;\n}\n\n.screenshot-text {\n font-weight: bold;\n padding-bottom: 5px;\n}\n\n.Screenshot .titlepage span {\n color: var(--theme-main-color, #055C8D);\n}\n\n.Screenshot .titlepage h2 {\n padding: 0px 0px 6px 0px;\n font-size: 30px;\n font-weight: bold;\n color: #050303;\n line-height: 46px;\n margin-bottom: 0px;\n margin-bottom: 20px;\n border-bottom: #fc4311 solid 1px;\n width: 242px;\n margin: 0 auto;\n margin-bottom: 0px;\n margin-bottom: 20px;\n}\n\n.carousel-item {\n text-align: center;\n}\n\n.carousel-control-prev {\n left: inherit;\n}\n\n#main_slider .carousel-control-prev,\n#main_slider .carousel-control-next {\n width: 55px;\n height: 55px;\n background: #000;\n opacity: 1;\n font-size: 30px;\n color: #fff;\n}\n\n#main_slider .carousel-control-prev:hover,\n#main_slider .carousel-control-next:hover,\n#main_slider .carousel-control-prev:focus,\n#main_slider .carousel-control-next:focus {\n background: var(--theme-main-background-color, #055C8D);\n color: #fff;\n}\n\n#main_slider a.carousel-control-prev {\n position: absolute;\n top: 40%;\n}\n\n#main_slider a.carousel-control-next {\n position: absolute;\n top: 40%;\n}\n\n.read-more {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.read-more a {\n background: #000;\n width: 206px;\n text-transform: uppercase;\n color: #fff;\n text-align: center;\n padding: 15px 0px;\n font-weight: 500;\n font-size: 17px;\n line-height: 30px;\n margin-top: -27px;\n transition: ease-in all 0.5s;\n}\n\n.read-more a:hover {\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 25px;\n transition: ease-in all 0.5s;\n}\n\n/** end download section **/\n/** about section **/\n.about {\n padding: 60px 0px;\n background: #f4f4f4;\n}\n\n.top_layer {\n position: relative;\n}\n\n.top_layer::before {\n position: absolute;\n width: 100%;\n height: 50px;\n content: \"\";\n background-position-x: 0%;\n background-position-y: 0%;\n background-repeat: repeat;\n background-size: auto;\n height: 500px;\n background-size: 100% 100%;\n background-position: center center;\n background-repeat: no-repeat;\n top: -180px;\n}\n\n.about .titlepage {\n text-align: center;\n padding-bottom: 60px;\n}\n\n.about .titlepage h2 {\n padding: 0px 0px 6px 0px;\n font-size: 30px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D);\n line-height: 46px;\n border-bottom: #D2D3D5 solid 1px;\n width: 410px;\n margin: 0 auto;\n margin-bottom: 20px;\n}\n\n.about .titlepage span {\n color: #3d3c3c;\n font-size: 14px;\n line-height: 30px;\n}\n\n.about .about-box {\n max-width: 530px;\n width: 100%;\n float: right;\n padding: 18px 0;\n}\n\n.about .about-box h3 {\n font-size: 36px;\n text-transform: uppercase;\n line-height: 37px;\n padding-bottom: 30px;\n}\n\n.about .about-box p {\n font-size: 17px;\n line-height: 28px;\n}\n\n.about .about-img figure {\n margin: 0;\n}\n\n.about a {\n text-transform: uppercase;\n border: #000 solid 1px;\n background: #000;\n width: 206px;\n padding: 15px 0;\n font-weight: 500;\n font-size: 17px;\n line-height: 30px;\n color: #fff;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin: 0 auto;\n margin-top: 50px;\n transition: ease-in all 0.5s;\n}\n\n.about a:hover {\n border: var(--theme-main-border-color, #055C8D) solid 1px;\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 25px;\n transition: ease-in all 0.5s;\n}\n\n/** end about section **/\n/** blog section **/\n.blog {\n background-color: #fff;\n padding: 60px 0px;\n}\n\n.blog .titlepage {\n text-align: center;\n}\n\n.blog .titlepage h2 {\n padding: 0px 0px 20px 0px;\n font-size: 30px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D);\n line-height: 50px;\n display: inline-block;\n position: relative;\n border-bottom: #D2D3D5 solid 1px;\n margin: 0 auto;\n margin-bottom: 0px;\n margin-bottom: 0px;\n margin-bottom: 20px;\n}\n\n.blog .titlepage span {\n color: #0e0f10;\n font-size: 14px;\n line-height: 32px;\n display: inline-block;\n margin-bottom: 0px;\n display: block;\n margin-bottom: none;\n}\n\n.blog .blog-box {\n margin-bottom: 30px;\n}\n\n.blog .blue h3 {\n background: #fff;\n color: var(--theme-main-color, #055C8D);\n font-size: 36px;\n line-height: 100px;\n margin: 10px;\n padding: 2%;\n position: relative;\n text-align: center;\n}\n\n.blog .blog-box figure {\n margin: 0px;\n}\n\n.blog .blog-box figure span {\n top: 0;\n left: 0px;\n position: absolute;\n margin-left: 15px;\n background: var(--theme-main-background-color, #055C8D);\n padding: 10px 30px;\n color: #fff;\n}\n\n.blog .blog-box h3 {\n font-size: 20px;\n padding-top: 10px;\n line-height: 30px;\n}\n\n.blog .blog-box p {\n font-size: 14px;\n line-height: 30px;\n}\n\n.like {\n color: var(--theme-main-color, #055C8D);\n}\n\n.Comment {\n color: var(--theme-main-color, #055C8D);\n}\n\n/** end blog section **/\n.width {\n width: 25%;\n}\n\n.copyright {\n background-color: #fff;\n padding: 20px 0px;\n margin-top: 55px;\n}\n\n.copyright p {\n color: #000;\n font-size: 18px;\n line-height: 22px;\n text-align: center;\n font-weight: 400;\n}\n\n/*---------------------------------------------------------------------\n ener page css\n---------------------------------------------------------------------*/\n.about-bg {\n background-color: #ad2100;\n margin-bottom: 90px;\n}\n\n.about-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Currency-bg {\n background-color: #ad2100;\n}\n\n.Currency-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Request-bg {\n background-color: #ad2100;\n}\n\n.Request-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.Team-bg {\n background-color: #ad2100;\n}\n\n.Team-bg .abouttitle h2 {\n color: #fff;\n text-transform: uppercase;\n font-size: 40px;\n line-height: 45px;\n padding: 40px 0;\n font-weight: 500;\n text-align: center;\n}\n\n.container__header {\n background-color: #fff;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);\n position: sticky;\n top: 0;\n z-index: 4;\n}\n\n.nav__appbar {\n min-height: 1rem;\n padding: 0.65rem 0;\n}\n\n.wrapper__header {\n height: 100%;\n z-index: 14;\n align-items: center;\n display: flex;\n}\n\n.content__container {\n height: 100%;\n max-width: calc(1440px + 12rem);\n}\n\n@media only screen and (min-width: 75rem) {\n .content__container {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n}\n.content__wrapper {\n width: 100%;\n margin: 0 auto;\n align-items: center;\n display: flex;\n}\n\n.section__content {\n display: flex;\n align-items: center;\n height: 100%;\n z-index: 1;\n}\n\n.header__list {\n display: flex;\n list-style-type: none;\n margin: 0;\n padding: 0;\n align-items: center;\n}\n\n.tab__link {\n color: var(--theme-main-color, #055C8D);\n}\n\n.tab__link:hover {\n text-decoration: none;\n cursor: pointer;\n color: var(--theme-main-color, #055C8D);\n}\n\n.desktop__view {\n display: inherit;\n}\n\n.header__list li {\n padding-left: 2.375rem;\n list-style-type: none;\n}\n\n.section__right {\n justify-content: flex-end;\n flex: 1 1;\n}\n\n.btn__medium {\n display: inline-flex;\n justify-content: center;\n font-weight: 500;\n border-radius: 2px;\n padding: 5px;\n font-size: 14px;\n line-height: 1.5;\n min-width: 8rem;\n transition: all 0.1s ease-in-out;\n}\n\n.btn_purple {\n color: #fff;\n background-color: var(--theme-main-background-color, #055C8D);\n border-color: transparent;\n}\n\n.btn_purple:active, .btn_purple:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);\n text-decoration: none;\n color: #fff;\n}\n\n.btn_purple:active {\n color: #fff;\n background-color: var(--theme-main-background-color, #055C8D);\n}\n\n.btn_purple:focus {\n box-shadow: 0 0 0 3px rgba(100, 0, 228, 0.5);\n}\n\n.btn_purple.btn_outline__purple {\n color: var(--theme-main-color, #055C8D);\n background-color: transparent;\n border: 1px solid var(--theme-main-border-color, #055C8D);\n}\n\n.btn_purple.btn_outline__purple:hover {\n background-color: rgba(210, 211, 213, 0.5);\n box-shadow: none;\n}\n\n.btn_purple.btn_outline__purple:active {\n background-color: rgba(100, 0, 228, 0.4);\n box-shadow: none;\n}\n\n.register__btn {\n padding: 0;\n}\n\n.container__main-page {\n max-width: 90rem !important;\n margin: auto;\n width: 100%;\n padding-left: 1rem;\n padding-right: 1rem;\n position: relative;\n}\n\n@media only screen and (min-width: 48rem) {\n .container__main-page {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n::ng-deep .carousel-control-next,\n::ng-deep .carousel-control-prev {\n width: 55px;\n height: 55px;\n background: #000;\n opacity: 1;\n font-size: 30px;\n color: #fff;\n position: absolute;\n top: 40%;\n}\n\n::ng-deep .carousel-control-next:hover,\n::ng-deep .carousel-control-prev:hover,\n::ng-deep .carousel-control-next:focus,\n::ng-deep .carousel-control-prev:focus {\n background: var(--theme-main-background-color, #055C8D);\n color: #fff;\n border-radius: 25px;\n opacity: 1;\n}\n\n::ng-deep .carousel-control-prev {\n left: inherit;\n}\n\n::ng-deep .primary {\n min-width: 132px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.login-full-width {\n width: 100%;\n}\n\n.mat-mdc-dialog-actions {\n justify-content: flex-end;\n}\n\nmat-progress-spinner {\n margin-right: 2%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.menu-item-text {\n color: #dedcdc;\n font-size: 1rem;\n flex-shrink: 1;\n align-self: center;\n}\n\n.menu-header-item-icon {\n color: #dedcdc;\n font-size: 17px;\n font-family: Inter !important;\n align-self: center;\n vertical-align: middle;\n font-weight: bold;\n}\n\n.accordian-button-text {\n color: white !important;\n font-size: 18px !important;\n font-weight: normal !important;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 24px;\n}\n\n.organisation-suspended::after {\n content: \" (suspended)\";\n}\n\n::ng-deep .card-header {\n padding-left: 5px !important;\n padding-right: 5px !important;\n}\n\n::ng-deep .card-body {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-right: 0 !important;\n padding-left: 15px !important;\n}\n\n.menu-header-item-text {\n color: var(--theme-active-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.logo-background-color {\n background-color: var(--theme-logo-background-color, #055C8D);\n}\n\n.instruction-row {\n padding-top: 20px;\n padding-right: 15px !important;\n padding-left: 15px;\n flex-basis: 32px;\n}\n\n.nav-pane-text {\n font-size: 14px;\n font-style: italic;\n}\n\n.menu-heading {\n font-size: 16px;\n padding-top: 5px;\n padding-left: 6px;\n font-weight: 600;\n}\n\nhr.solid {\n border-top: 1px solid #ececec;\n width: 100%;\n opacity: 1;\n}\n\n.select-municipality-row {\n padding-top: 5px;\n padding-right: 5px;\n padding-left: 5px;\n flex-basis: 32px;\n}\n\n.select-labels-padding {\n padding-bottom: 2px;\n padding-left: 6px;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n}\n\n.view-documentation-row {\n padding-right: 5px;\n padding-left: none;\n}\n\n.create-application-row {\n margin-top: 10px;\n padding-top: 10px;\n padding-right: 5px;\n padding-left: none;\n}\n\n.link-text {\n cursor: pointer;\n color: #fff;\n font-size: 15px !important;\n padding-left: 2px;\n padding-right: 2px;\n font-style: normal;\n transition: none;\n text-decoration: none;\n}\n\n.link-textcreatenew {\n cursor: pointer;\n color: #fff;\n font-size: 14px;\n padding-left: 1px;\n}\n\n.linktextcreateapplication {\n border-top: #fff;\n border-style: solid;\n border-width: 1px;\n}\n\n.searchButton {\n position: left;\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 7px;\n color: #fff;\n cursor: pointer;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n}\n\n.searchButton:hover {\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 6px;\n color: #fff;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n}\n\n.search-my-application-row {\n display: flex;\n align-items: center;\n margin-bottom: -11px;\n padding: 0;\n border-top: 1px solid #fff;\n width: 100%;\n max-width: 500px;\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n transition: none;\n}\n\n.settings-div {\n padding-top: 0.5px !important;\n padding-left: 5px !important;\n}\n\n.add-organisation-row {\n margin-top: auto;\n border-top: 1px solid rgb(236, 236, 236);\n padding-right: 5px;\n flex-basis: 32px;\n min-height: 32px;\n}\n\n.logout-row {\n border-top: 1px solid #fff;\n padding-top: 5px;\n padding-bottom: 0px;\n justify-content: space-between;\n padding-right: 0.3vw;\n padding-left: 0.3vw;\n max-height: 32px;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 10px 0;\n}\n\n.mb-3 {\n margin-bottom: 10px !important;\n}\n\n.p-2 {\n padding-top: 0px !important;\n}\n\n.menu-row {\n flex-shrink: 1;\n flex-grow: 1;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.add-organisation-link {\n text-align: center;\n color: white;\n cursor: pointer;\n}\n\n.search-application-link-text {\n text-align: center;\n color: white;\n cursor: pointer;\n transition: none;\n margin-left: 10px;\n}\n\n.logout-link {\n text-decoration: none;\n text-align: center;\n color: var(--theme-main-color, #055C8D);\n cursor: pointer;\n font-size: 13px;\n background-color: #fff;\n padding-top: 3.5px;\n padding-bottom: 7px;\n margin-bottom: 3px;\n padding-left: 4.5vw;\n padding-right: 6.1vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n max-width: 300px;\n box-sizing: border-box;\n border: 1px solid #fff;\n width: auto;\n}\n\n.logout-link:hover {\n text-decoration: none;\n text-align: center;\n color: #fff;\n cursor: pointer;\n font-size: 13px;\n background-color: var(--theme-active-color, #055C8D);\n padding-top: 4.5px;\n padding-bottom: 7px;\n margin-bottom: 3px;\n transform: none;\n padding-left: 4.5vw;\n padding-right: 6.1vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n max-width: 300px;\n box-sizing: border-box;\n border: 1px solid #fff;\n width: auto;\n}\n\n.settings-link {\n text-decoration: none;\n text-align: left;\n color: var(--theme-main-color, #055C8D);\n cursor: pointer;\n font-size: 13px;\n background-color: #fff;\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 1px;\n padding-left: 1.5vw;\n padding-right: 1.5vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n}\n\n.settings-link:hover {\n text-decoration: none;\n text-align: left;\n color: #fff;\n cursor: pointer;\n font-size: 13px;\n background-color: var(--theme-main-background-color, #055C8D);\n padding-top: 3px;\n padding-bottom: 4px;\n margin-bottom: 1px;\n padding-left: 1.5vw;\n padding-right: 1.5vw;\n border: 1px;\n border-color: #fff;\n border-style: solid;\n border-radius: 8px;\n}\n\n.content-panel {\n overflow-y: auto;\n min-height: 0;\n}\n\n.settings-icon {\n color: white;\n}\n\n.icon-button {\n padding: 0;\n min-width: 0;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n line-height: 20px;\n border-radius: 50%;\n color: white;\n}\n\n.las {\n font-size: 17px;\n padding-top: 5px !important;\n}\n\n.organisation-modules-settings {\n height: 93%;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.menu-item {\n padding-left: 28px;\n}\n\n.organisation-line {\n color: white;\n background-color: white;\n width: 100%;\n}\n\n.bottom-group {\n position: absolute;\n bottom: 4%;\n width: 229.63px;\n}\n\n.bottom-group-line {\n background-color: white;\n width: 100%;\n}\n\n.link-spacer {\n margin-top: 1%;\n margin-bottom: 1%;\n}\n\n.row-item {\n padding-top: 15px;\n padding-bottom: 15px;\n}\n\n.padded-menu-item {\n padding-left: 5%;\n}\n\n.icon {\n color: white;\n float: right;\n}\n\n.menu-item-module {\n padding-left: 40px;\n}\n\n.tool-map {\n bottom: 1%;\n position: absolute;\n width: 100%;\n}\n\n.keyboard-backspace {\n vertical-align: top;\n color: white;\n}\n\n.organisation-setting-icon {\n display: none;\n width: 10%;\n}\n\n.organisation-setting-label {\n font-weight: bold;\n padding-right: 0;\n padding-left: 0;\n}\n\n.user-organisations {\n overflow-y: scroll;\n height: 40%;\n}\n\n.module-item {\n width: 85%;\n margin-left: 5%;\n}\n\n.icon-button {\n cursor: pointer;\n font-size: 20px;\n vertical-align: middle;\n}\n\n.icon-header-button {\n cursor: pointer;\n font-size: 26px;\n vertical-align: middle;\n}\n\n.dropdown-content {\n display: block;\n position: absolute; /* new */\n width: 100%; /* new */\n}\n\n.module-item-icon-column {\n flex-basis: 24px;\n min-width: 24px;\n max-width: 24px;\n}\n\n.module-item-column {\n flex-shrink: 1;\n flex-grow: 1;\n cursor: pointer;\n}\n\n.add-org {\n padding-left: 5px;\n}\n\n.module-suspended::after {\n content: \" (suspended)\";\n}\n\n.select-application {\n margin: 1px !important;\n}\n\n.form-select {\n padding: 0.5rem 2.25rem 0.375rem 0.75rem !important;\n width: 92% !important;\n margin-left: 10px !important;\n}\n\n.hiddenmenu-row {\n padding-bottom: 8px;\n border-bottom: #ececec;\n margin-left: 2px;\n margin-right: 2px;\n border-style: solid;\n border-width: 1px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.search-my-application-row {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border-top: 1px solid #fff;\n box-sizing: border-box;\n transition: none;\n}\n\n.search-my-application-row .searchButton {\n margin-right: 4px;\n}\n\n.link-text {\n line-height: 1.5;\n margin-left: 4px;\n}\n\n@media (max-width: 1320px) {\n .search-my-application-row {\n justify-content: center;\n }\n .searchButton {\n position: left;\n width: 2vw;\n height: 30px;\n border: none;\n background: none;\n text-align: center;\n margin-left: 26px;\n color: #fff;\n cursor: pointer;\n border-radius: 0 5px 5px 0;\n cursor: pointer;\n font-size: 15px;\n }\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.toolbar-spacer {\n color: var(--theme-main-color, #055C8D);\n padding-left: 18px;\n font-size: 17px;\n}\n\n.toolbar-header {\n height: 41px;\n font-family: Inter !important;\n}\n\n.main-content {\n background-color: #f3f3f3;\n}\n\n.notification-button {\n margin: 0 0 0 auto;\n}\n\nmat-toolbar {\n background-color: #ffffff;\n padding-right: 5%;\n display: flex;\n z-index: 990;\n height: 70px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 230px;\n}\n\na {\n color: #B2B2B2;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.routing-container {\n padding-left: 25.5px;\n padding-right: 0px;\n min-width: 430px;\n min-height: 640px;\n width: 100%;\n}\n\n.link {\n cursor: pointer;\n color: var(--theme-main-color, #055C8D);\n}\n\n.link:hover {\n cursor: pointer;\n color: var(--theme-main-darker-color, #053551);\n}\n\n.mat-icon {\n color: var(--theme-main-color, #055C8D);\n background-color: #fff;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `mat-sidenav {\n width: 15%;\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n min-width: 160px;\n}\n\nmat-sidenav-content {\n overflow-y: hidden;\n}\n\n.user-area {\n display: flex;\n bottom: 1%;\n width: 100%;\n}\n\na span {\n vertical-align: middle;\n}\n\n.menu-items {\n height: 100% !important;\n}\n\n.icon-text {\n margin-top: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-documentation) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.checkbox-column {\n display: inline-block;\n width: 30%;\n}\n\n.required-document-label {\n font-size: 14px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.upload-required-document-label {\n font-size: 12x;\n text-align: left;\n font-weight: 400;\n margin-bottom: 20px;\n color: #4a4a4a;\n}\n\n.required-document-label {\n font-size: 1rem;\n text-align: left;\n font-weight: 500;\n margin-bottom: 20px;\n margin-left: 10px;\n color: var(--theme-main-darker-color, #053551);\n}\n\n.row-margins {\n margin-bottom: 5px;\n margin-top: 5px;\n}\n\n.justify-content-end {\n margin-left: 2%;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n padding-right: 0px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.custom-checkbox > [type=checkbox]:disabled + label {\n cursor: not-allowed;\n font-weight: 600;\n color: #4a4a4a;\n}\n\n.custom-checkbox > [type=checkbox]:disabled:not(:checked) + label:before, .custom-checkbox > [type=checkbox]:disabled:checked + label:before {\n box-shadow: none;\n background-color: #f3f3f3;\n border-color: #f3f3f3;\n cursor: not-allowed;\n opacity: 1;\n font-family: \"FontAwesome\";\n content: \"\\\\f00d\";\n color: #4a4a4a;\n}\n\n.table-height {\n height: 40vh;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.link-text {\n padding: 0 5px 0 2px;\n cursor: pointer;\n}\n\n.form-check-label-highlighted {\n background-color: #FF0;\n}\n\n.custom-required-document-label {\n color: black !important;\n text-decoration: none !important;\n cursor: pointer;\n}\n\n.sub-header {\n margin-top: 30px;\n margin-bottom: 30px;\n font-size: 14px;\n font-weight: bold;\n color: var(--theme-main-color, #055C8D);\n}\n\n.info-section {\n font-size: 12px;\n text-align: left;\n font-weight: 400;\n margin-bottom: 20px;\n color: #4a4a4a;\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-notes) {\n height: 100%;\n width: 98%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.note-text {\n resize: none;\n border: none Transparent;\n outline: none;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n margin-left: 5px;\n margin-right: 5px;\n width: 100%;\n}\n\n.margin-bottom {\n margin-bottom: 15px;\n}\n\n.noteLabel {\n width: 90px;\n}\n\n.add-note-row {\n margin-bottom: 15px;\n}\n\n.note-form {\n height: 100%;\n}\n\n.note-row {\n margin-bottom: 5px;\n border-bottom: 1px solid lightgray;\n padding-bottom: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.note {\n margin-bottom: 0px;\n color: black;\n display: flex;\n align-items: 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, `:host(app-create-application-people-of-interest) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-a) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.businessOwnerHeader {\n text-align: center;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n padding-left: 10px;\n}\n\ninput, textarea {\n font-size: 13px !important;\n border-radius: 0 !important;\n background: #FDFDFD !important;\n border: 1px solid #EAEAEA !important;\n box-sizing: border-box !important;\n width: 99.3%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-bpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.action-button {\n margin-left: 5px;\n}\n\n.button-row {\n margin-bottom: 5px;\n}\n\n.deceased-table {\n height: 305px;\n}\n\n.table {\n height: 300px;\n margin-bottom: 0rem;\n}\n\n.total-input {\n background-color: #e9ecef !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n padding-left: 10px;\n width: 100%;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.form-control {\n width: 100% !important;\n}\n\n.filter-bar {\n width: 100% !important;\n}\n\n.filter-by {\n margin-left: 10px;\n margin-right: 20px;\n}\n\n.content-panel {\n overflow-y: auto;\n overflow-x: auto;\n min-height: 0;\n margin-bottom: 5px !important;\n}\n\n.w-100 {\n width: 100% !important;\n margin-top: 0px !important;\n}\n\n.label-margin {\n margin-top: 30px;\n}\n\n.sub-label-margin-top {\n margin-top: 20px;\n}\n\n.building-margin-top {\n margin-top: 15px;\n}\n\n.building-padding-bottom {\n padding-bottom: 5px;\n}\n\n.button-panel-margin-top {\n margin-top: 15px;\n margin-right: 15px !important;\n}\n\n.descriptionpadding {\n padding-bottom: 10px;\n}\n\n.nav-tabs {\n margin-top: 15px !important;\n margin-bottom: 15px !important;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n color: var(--theme-main-darker-color, #053551);\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-control-left-alignment {\n padding-left: 24px !important;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.section-header {\n margin-top: 0px !important;\n vertical-align: middle;\n line-height: 34px;\n margin-bottom: 0px !important;\n}\n\n.copy-button {\n margin-left: 10px;\n}\n\n.copy-applicant-row {\n margin-bottom: 10px;\n}\n\n.textarea {\n resize: vertical;\n padding-left: 5px !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-cm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 98% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.not-required {\n padding-bottom: 20px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.description-text {\n width: 100% !important;\n}\n\n.form-control {\n width: 100.3% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 99.5%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.form-control {\n width: 99.5%;\n}\n\n.error-div {\n height: 22px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-ec) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-gtia) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.bottom-spacer {\n margin-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-gtia) {\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-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.verified-reference-number {\n color: green;\n margin-left: 5px;\n}\n\n.unverified-reference-number {\n color: red;\n margin-left: 5px;\n}\n\n.flex-container {\n display: flex;\n align-items: stretch;\n}\n\n.trade-goods-div {\n margin-bottom: 15px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-stakeholders-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.traders-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-plams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.red {\n color: red;\n margin-bottom: 10px;\n}\n\n.green {\n color: green;\n margin-bottom: 10px;\n}\n\n.h7 {\n margin-bottom: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n color: red;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-plams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.red {\n color: red;\n display: inline-block;\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.green {\n color: green;\n display: inline-block;\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n color: red;\n}\n\n.application_type_select {\n padding-top: 20px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n}\n\n.error-div {\n height: 22px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-sn) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.location-form {\n height: 100%;\n overflow-x: hidden;\n}\n\ntextarea {\n resize: none;\n rows: 10;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-cm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.box-adjustment {\n margin-left: 9px;\n}\n\n.form-control {\n width: 100.1% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-select {\n width: 101% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-tmams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-details-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.bottom-spacer {\n margin-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-w) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-wams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.desc {\n padding-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-control-left-alignment {\n padding-left: 24px !important;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.section-header {\n margin-top: 0px !important;\n vertical-align: middle;\n line-height: 34px;\n margin-bottom: 0px !important;\n}\n\n.copy-button {\n margin-left: 10px;\n}\n\n.copy-applicant-row {\n margin-bottom: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-burial-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-create-application-location-zcams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput:disabled {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* import the required JSAPI css */\n.esri-view {\n height: 500px;\n}\n\n.center {\n position: relative;\n bottom: 55px;\n left: 10px;\n width: 35px;\n}\n\n.center ::ng-deep .mat-mdc-progress-spinner circle, .mat-mdc-progress-spinner circle {\n stroke: #000000;\n position: relative;\n bottom: 60px;\n left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.bufferContainer {\n width: 120px;\n}\n\n.displayLabel {\n margin-top: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.window {\n margin: 0 7px;\n}\n\n.text {\n margin-bottom: 7px;\n}\n\n.inputs {\n margin-bottom: 7px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.extent {\n background-color: none !important;\n height: 220px;\n width: 245px;\n padding: 0px 5px 10px 10px;\n box-shadow: none !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.esri-component {\n margin-bottom: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.heading {\n height: 9%;\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: left;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n height: 25px;\n padding-left: 10px;\n}\n\n.menu {\n margin-top: 5px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.base-tree-container {\n max-width: 97.8%;\n display: flex;\n flex-direction: column;\n height: 100%;\n position: relative;\n color: #859296;\n font-size: 14px;\n margin-left: 8px;\n padding: 20px;\n background-color: #FFF;\n height: 80vh;\n}\n.base-tree-container .tree-header {\n display: flex;\n padding: 5px;\n height: 38px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.base-tree-container .tree-header .tree-column {\n color: #6E6E6E;\n vertical-align: bottom;\n font-size: 12px;\n font-weight: 500;\n align-items: center;\n}\n.base-tree-container .primary {\n font-size: 16px;\n color: var(--theme-main-color, #055C8D);\n font-weight: 600;\n}\n.base-tree-container .secondary {\n font-size: 14px;\n color: var(--theme-main-color, #055C8D);\n}\n.base-tree-container .tree-wrapper {\n flex: 1;\n max-height: calc(70vh - 0.2rem);\n}\n.base-tree-container .tree-node-wrapper {\n padding-top: 0.2rem;\n padding-bottom: 0.2rem;\n padding-left: 0.2rem;\n display: flex;\n flex-direction: row;\n}\n.base-tree-container .node-content-wrapper {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n flex: 1;\n margin-right: 0.25rem;\n}\n.base-tree-container .tree-header {\n width: 100%;\n}\n.base-tree-container .tree-column-wrapper, .base-tree-container .tree-header {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n}\n.base-tree-container .tree-column-wrapper span, .base-tree-container .tree-header span {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.base-tree-container .tree-column-wrapper .tree-column, .base-tree-container .tree-header .tree-column {\n flex-grow: 1;\n display: flex;\n padding-left: 5px;\n padding-right: 5px;\n align-items: center;\n}\n.base-tree-container .tree-column-wrapper .tree-column:first-child, .base-tree-container .tree-header .tree-column:first-child {\n overflow: hidden;\n margin-right: auto;\n flex-grow: 0;\n min-width: 0px;\n}\n.base-tree-container .tree-column-wrapper .tree-column:first-child span, .base-tree-container .tree-header .tree-column:first-child span {\n white-space: initial;\n}\n.base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n flex-grow: 0;\n flex-shrink: 0;\n align-items: stretch;\n width: 600px;\n padding-top: 5px;\n}\n@media (max-width: 1800px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 500px;\n }\n}\n@media (max-width: 1600px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 400px;\n }\n}\n@media (max-width: 1439px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 300px;\n }\n}\n@media (max-width: 1024px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n width: 200px !important;\n }\n}\n@media (max-width: 768px) {\n .base-tree-container .tree-column-wrapper .tree-column:not(:first-child), .base-tree-container .tree-header .tree-column:not(:first-child) {\n display: 100px !important;\n }\n}\n.base-tree-container .tree-column-wrapper:last-child, .base-tree-container .tree-header:last-child {\n overflow: hidden;\n margin-right: auto;\n flex-shrink: 1;\n min-width: 150px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main-heading {\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 18px;\n line-height: 22px;\n letter-spacing: 0.300001px;\n}\n\n.module-heading {\n font-family: Inter;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 22px;\n letter-spacing: 0.300001px;\n}\n\n.sub-heading {\n font-weight: 500;\n font-size: 2vh;\n letter-spacing: 0.3px;\n color: #FFFFFF;\n opacity: 0.53;\n margin-left: 25px;\n}\n\n.actions {\n margin-right: 20px;\n}\n\n.heading-container {\n border-left: 5px solid var(--theme-header-border-color, #8DE7E3);\n background-color: var(--theme-main-background-color, #055C8D);\n color: white;\n padding-left: 39px !important;\n margin-left: 5px;\n height: 57px;\n margin-bottom: 10px;\n}\n\n.w-100 {\n width: 98% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n background: var(--theme-main-background-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\n.primary:hover {\n background: var(--theme-main-darker-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: #FFFFFF;\n border: none;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: none;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-button {\n margin-left: 2%;\n}\n\n.install-text {\n margin-bottom: 3%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.main-container {\n margin-right: 1%;\n}\n\n.header-row {\n width: 100%;\n}\n\n.table {\n overflow-y: scroll !important;\n padding-top: 3px;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.table-header {\n border-top: none;\n position: sticky;\n top: 0;\n background: #F3F3F3;\n z-index: 1;\n vertical-align: middle !important;\n}\n\n.link-text {\n font-family: Inter, serif;\n font-style: normal;\n font-weight: bold;\n font-size: 10px;\n line-height: 12px;\n letter-spacing: 0.254903px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.link-text .map-link-text {\n padding: 0 5px 0 2px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.view-link-content {\n align-items: center !important;\n}\n.view-link-content:focus {\n outline: none !important;\n}\n\n.view-link-content .map-link {\n left: 20px;\n}\n\n*:focus {\n outline: none !important;\n}\n\n.map {\n margin-right: 20px;\n}\n\n.map-row {\n height: 100%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.container {\n display: flex;\n flex-flow: row wrap;\n}\n\nh6 {\n text-align: left;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray;\n opacity: 1;\n}\n\n.grey-out2 {\n background-color: lightgray;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -12px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.verify-button {\n margin-top: 10px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Important part */\n.modal-dialog {\n overflow-y: initial !important;\n}\n\n.modal-body {\n max-height: calc(100vh - 471px);\n overflow-y: auto;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.container {\n display: flex;\n flex-flow: row wrap;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.mat-mdc-select-panel {\n font-size: 12px;\n}\n\n.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate, .mat-accent .mat-pseudo-checkbox-checked, .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: var(--theme-main-background-color, #055C8D);\n}\n\n.mat-mdc-select-panel .mat-mdc-optgroup-label, .mat-select-panel .mat-mdc-option {\n font-size: inherit;\n line-height: 1.5;\n height: 2em;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n height: 92px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -13px;\n height: 92px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\nbody {\n background: #e8cbc0;\n background: linear-gradient(to right, #e8cbc0, #636fa4);\n min-height: 100vh;\n}\n\n.bootstrap-select .bs-ok-default::after {\n width: 0.3em;\n height: 0.6em;\n border-width: 0 0.1em 0.1em 0;\n transform: rotate(45deg) translateY(0.5rem);\n}\n\n.btn.dropdown-toggle:focus {\n outline: none !important;\n}\n\n::ng-deep .cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n background-color: #efedf1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* Important part */\n.modal-dialog {\n overflow-y: initial !important;\n}\n\n.modal-body {\n max-height: calc(100vh - 471px);\n overflow-y: auto;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.container {\n display: flex;\n flex-flow: row wrap;\n}\n\nh6 {\n text-align: left;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.left-padding {\n margin-left: 15px;\n padding-top: 5px;\n}\n\n.left-margin {\n margin-left: 23px;\n}\n\n.margin-left-postal {\n margin-left: -5px;\n}\n\n.z-index {\n z-index: 9000;\n}\n\n.check-box-input-margin-left {\n margin-left: 8px;\n}\n\n.left-padding-displayGroups {\n padding-left: 40px;\n margin-bottom: 15px;\n}\n\n.label-width {\n width: 100px;\n}\n\n.left-margin-span {\n margin-left: -5px;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n.grey-out {\n background-color: lightgray !important;\n opacity: 1;\n}\n\n/* TODO(mdc-migration): The following rule targets internal classes of select that may no longer apply for the MDC version. */\n.mat-select-disabled, .mat-select-value {\n background-color: lightgray;\n}\n\n.mat-mdc-select-panel {\n font-size: 12px;\n}\n\n.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate, .mat-accent .mat-pseudo-checkbox-checked, .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: var(--theme-main-background-color, #055C8D);\n}\n\n.mat-mdc-select-panel .mat-mdc-optgroup-label, .mat-select-panel .mat-mdc-option {\n font-size: inherit;\n line-height: 1.5;\n height: 2em;\n}\n\n.align-select-button {\n margin-top: 25px;\n padding-bottom: 0px;\n}\n\n.displayGroupsMargin {\n margin-left: 15px;\n}\n\n.check-box-margin {\n margin-left: -6px;\n margin-bottom: 5px;\n}\n\n.margins {\n margin-left: -17px;\n margin-right: -14px;\n}\n\n.bottom-margin {\n margin-bottom: -12px;\n}\n\n.postal-address-div-margin {\n margin-bottom: -10px;\n}\n\n.postal-fields-bottom-margin {\n margin-bottom: -13px;\n}\n\n.label-margin {\n margin-top: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\nbody {\n background: #e8cbc0;\n background: linear-gradient(to right, #e8cbc0, #636fa4);\n min-height: 100vh;\n}\n\n.bootstrap-select .bs-ok-default::after {\n width: 0.3em;\n height: 0.6em;\n border-width: 0 0.1em 0.1em 0;\n transform: rotate(45deg) translateY(0.5rem);\n}\n\n.btn.dropdown-toggle:focus {\n outline: none !important;\n}\n\n::ng-deep .cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%;\n background-color: #efedf1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.margins {\n margin-left: 8px;\n z-index: 90000;\n}\n\n.bottom-margin {\n margin-bottom: 5px;\n}\n\n.button-margin-right {\n margin-right: 2px;\n}\n\n.label-width {\n white-space: pre-wrap;\n width: 160px;\n padding-top: 18px;\n padding-left: 0.5rem;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.secondary {\n background: rgb(255, 255, 255);\n border-radius: 8px !important;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n color: var(--theme-main-color, #055C8D) !important;\n border: 1px solid var(--theme-main-border-color, #055C8D) !important;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\n.secondary:hover {\n background: var(--theme-active-color, #055C8D);\n border-radius: 8px;\n outline: none;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 13px;\n line-height: 16px;\n text-align: center;\n letter-spacing: 0.331373px;\n /* color: var(--theme-main-darker-color, #053551);\n border: 1px solid var(--theme-main-darker-color, #053551); */\n background: var(--theme-active-color, #055C8D) !important;\n color: #FFF !important;\n border: 1px solid #FFF !important;\n width: -moz-fit-content;\n width: fit-content;\n height: 34px;\n white-space: nowrap;\n min-width: 80px;\n}\n\nbutton.focus {\n outline: 0 !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-a) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.businessOwnerHeader {\n text-align: center;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-bl) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `input, textarea {\n font-size: 13px !important;\n padding-left: 10px !important;\n border-radius: 0 !important;\n background-color: lightgray !important;\n opacity: 1;\n box-sizing: border-box !important;\n width: 99.3% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: -10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.action-button {\n margin-left: 5px;\n}\n\n.button-row {\n margin-bottom: 5px;\n}\n\n.deceased-table {\n height: 305px;\n}\n\n.table {\n height: 300px;\n margin-bottom: 0rem;\n}\n\n.total-input {\n background-color: #e9ecef !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.label-margin {\n margin-top: 30px;\n}\n\n.sub-label-margin-top {\n margin-top: 20px;\n}\n\n.building-margin-top {\n margin-top: 15px;\n}\n\n.building-padding-bottom {\n padding-bottom: 5px;\n}\n\n.button-panel-margin-top {\n margin-top: 15px;\n}\n\n.w-100 {\n width: 100% !important;\n margin-top: 0 !important;\n}\n\n.content-panel {\n margin-bottom: 5px !important;\n}\n\n.form-select {\n width: 100% !important;\n}\n\n.input-outer {\n padding-left: 4px;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n padding-top: 25px !important;\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.col-6 {\n flex: 0 0 auto;\n width: 49.5%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\ninput, select {\n background-color: lightgray !important;\n}\n\n.col-6 {\n padding-bottom: 11px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n margin-left: -13px;\n padding-inline-start: 19px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}\n\n.form-select {\n margin-left: -4px;\n}\n\n.form-control {\n margin-left: -5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-ec) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `input, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.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-gtia) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.description-text {\n width: 102% !important;\n margin-left: -32px;\n padding-inline-start: 38px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-stakeholders-itams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.traders-form {\n height: 100%;\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.error-div {\n height: 30px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 10px;\n color: var(--theme-main-color, #055C8D);\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-plams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.red {\n color: red;\n margin-bottom: 10px;\n}\n\n.green {\n color: green;\n margin-bottom: 10px;\n}\n\n.h7 {\n margin-bottom: 10px;\n}\n\n.form-control:disabled,\n.form-control[readonly] {\n background-color: lightgray !important;\n opacity: 1;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-plams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-main-color, #055C8D);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 10px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-sn) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 103% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\n.form-select {\n width: 104% !important;\n margin-left: -30px;\n padding-inline-start: 38px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-location-dm) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.form-alignment {\n width: 101%;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-tpams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}\n\n.text-adjustment {\n width: 101%;\n}\n\n.table-alignment {\n width: 101%;\n}\n\n.input-alignment {\n margin-left: -1%;\n width: 51%;\n}\n\n.map-alignment {\n padding-right: -1%;\n}\n\n.align-map {\n padding-right: 10.5px;\n padding-left: 4px;\n}\n\n.tab-move {\n padding-left: 4px;\n}\n\n.input-outer {\n padding-left: 4px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-wams) {\n height: calc(100vh - 288px);\n width: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.left-column {\n padding-right: 5px;\n}\n\n.right-column {\n padding-left: 5px;\n}\n\n.error-small {\n font-size: 12px;\n white-space: pre;\n}\n\n.disabled-input {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-wams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.toolbar-headings {\n margin-left: 57.5px;\n justify-content: space-between;\n font-family: Inter;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: -0.0960779px;\n width: 170px;\n}\n\n.menu-item-text {\n color: #B2B2B2;\n font-weight: 600;\n text-align: center;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: -0.083333px;\n}\n\n.active-heading {\n color: var(--theme-active-color, #243391);\n}\n\n.sidebar {\n mix-blend-mode: normal;\n background-color: rgba(234, 234, 234, 0.29);\n width: 200px;\n flex-basis: 200px;\n min-width: 200px;\n}\n\n.map {\n margin-right: 10px;\n}\n\n.map-row {\n min-height: 60vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.div-margin {\n margin-bottom: 0px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.greyed-out {\n background-color: #e9ecef;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-details-zcams) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 98% !important;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-location-rc) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.map-row {\n min-height: 37vh;\n max-height: 70vh;\n}\n\n.row {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.missing-zones-label {\n font-size: 13px;\n color: #000000;\n padding: 0;\n}\n\n.row-padding {\n padding-right: 0%;\n}\n\n.propertypadding {\n margin-top: 15px;\n}\n\ninput, select, textarea {\n background-color: lightgray !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.primary {\n margin-left: 10px !important;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.required-marker {\n color: #ff0000;\n font-size: 0.8em;\n font-weight: bolder;\n}\n\n.uploadFileContainer {\n height: 140px;\n width: 100%;\n border: 2px dashed var(--theme-main-border-color, #055C8D);\n border-radius: 10px;\n}\n\n.drag-drop-label {\n color: gray;\n}\n\n.la-cloud-upload-alt {\n font-size: 5rem;\n}\n\n.uploadfilecontainer:hover {\n cursor: pointer;\n background-color: #9ecbec !important;\n opacity: 0.8;\n}\n\n.files-list {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 6px;\n background: #ffffff;\n border: 1px dashed;\n border-radius: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.files-list .delete-file {\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.files-list .delete-file img {\n width: 30px;\n}\n\n.la-trash-alt {\n color: red;\n}\n\n.uploader-height {\n height: 200px;\n}\n\n.error-message-div {\n height: 20px;\n}\n\n.error-message {\n color: #ff0000;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-documentation) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.checkbox-column {\n display: inline-block;\n width: 30%;\n}\n\n.required-document-label {\n font-size: 12px;\n text-align: left;\n font-weight: 400;\n margin-bottom: 20px;\n color: #4a4a4a;\n}\n\n.myapplication-document-label {\n font-size: 14px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.row-margins {\n margin-bottom: 5px;\n margin-top: 5px;\n}\n\n.justify-content-end {\n margin-right: 1.5%;\n}\n\n.last-row {\n margin-top: 5px;\n margin-bottom: 5px;\n}\n\n.primary {\n margin-left: 5px;\n}\n\n.secondary {\n margin-left: 5px;\n}\n\n.custom-checkbox > [type=checkbox]:disabled + label {\n cursor: not-allowed;\n font-weight: 700;\n color: #000000;\n}\n\n.table-height {\n height: 40vh;\n}\n\n.view-link {\n vertical-align: middle;\n}\n\n.link-text {\n padding: 0 5px 0 2px;\n cursor: pointer;\n}\n\n.form-check-label-highlighted {\n background-color: #FF0;\n}\n\n.custom-required-document-label {\n color: black !important;\n text-decoration: none !important;\n cursor: pointer;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host(app-view-application-people-of-interest) {\n height: 100%;\n width: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.text-adjustment {\n margin-left: 10px;\n}\n\n.box-adjustment {\n margin-left: 10px;\n width: 99%;\n}\n\n.form-select {\n width: 101% !important;\n}\n\n.description-text {\n resize: none;\n border: none Transparent;\n outline: none;\n height: 50px;\n color: #2C2B2D;\n font-family: Inter;\n font-style: normal;\n font-size: 13px;\n width: 100%;\n padding-left: 10px;\n}\n\n.detail-form {\n height: 100%;\n}\n\n.remove-button {\n margin-left: 10px;\n}\n\n.required {\n color: red;\n font-size: 11px;\n padding-left: 2px;\n}\n\nlabel {\n font-size: 13px;\n}\n\n.names {\n width: 100%;\n height: 400px;\n overflow: hidden;\n}\n\n.step-header {\n font-size: 17px;\n text-align: left;\n font-weight: bold;\n margin-bottom: 20px;\n margin-left: 12px;\n color: var(--theme-main-color, #055C8D);\n}\n\n.form-control {\n width: 100% !important;\n}`, \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 11544,\n\t\"./af.js\": 11544,\n\t\"./ar\": 33108,\n\t\"./ar-dz\": 52155,\n\t\"./ar-dz.js\": 52155,\n\t\"./ar-kw\": 53583,\n\t\"./ar-kw.js\": 53583,\n\t\"./ar-ly\": 41638,\n\t\"./ar-ly.js\": 41638,\n\t\"./ar-ma\": 87823,\n\t\"./ar-ma.js\": 87823,\n\t\"./ar-ps\": 7712,\n\t\"./ar-ps.js\": 7712,\n\t\"./ar-sa\": 78261,\n\t\"./ar-sa.js\": 78261,\n\t\"./ar-tn\": 56703,\n\t\"./ar-tn.js\": 56703,\n\t\"./ar.js\": 33108,\n\t\"./az\": 46508,\n\t\"./az.js\": 46508,\n\t\"./be\": 16766,\n\t\"./be.js\": 16766,\n\t\"./bg\": 28564,\n\t\"./bg.js\": 28564,\n\t\"./bm\": 97462,\n\t\"./bm.js\": 97462,\n\t\"./bn\": 17107,\n\t\"./bn-bd\": 43438,\n\t\"./bn-bd.js\": 43438,\n\t\"./bn.js\": 17107,\n\t\"./bo\": 9004,\n\t\"./bo.js\": 9004,\n\t\"./br\": 50927,\n\t\"./br.js\": 50927,\n\t\"./bs\": 87768,\n\t\"./bs.js\": 87768,\n\t\"./ca\": 56291,\n\t\"./ca.js\": 56291,\n\t\"./cs\": 85301,\n\t\"./cs.js\": 85301,\n\t\"./cv\": 66666,\n\t\"./cv.js\": 66666,\n\t\"./cy\": 55163,\n\t\"./cy.js\": 55163,\n\t\"./da\": 87360,\n\t\"./da.js\": 87360,\n\t\"./de\": 45932,\n\t\"./de-at\": 43248,\n\t\"./de-at.js\": 43248,\n\t\"./de-ch\": 83222,\n\t\"./de-ch.js\": 83222,\n\t\"./de.js\": 45932,\n\t\"./dv\": 6405,\n\t\"./dv.js\": 6405,\n\t\"./el\": 60718,\n\t\"./el.js\": 60718,\n\t\"./en-au\": 36319,\n\t\"./en-au.js\": 36319,\n\t\"./en-ca\": 80597,\n\t\"./en-ca.js\": 80597,\n\t\"./en-gb\": 51800,\n\t\"./en-gb.js\": 51800,\n\t\"./en-ie\": 807,\n\t\"./en-ie.js\": 807,\n\t\"./en-il\": 95960,\n\t\"./en-il.js\": 95960,\n\t\"./en-in\": 84418,\n\t\"./en-in.js\": 84418,\n\t\"./en-nz\": 46865,\n\t\"./en-nz.js\": 46865,\n\t\"./en-sg\": 32647,\n\t\"./en-sg.js\": 32647,\n\t\"./eo\": 61931,\n\t\"./eo.js\": 61931,\n\t\"./es\": 46679,\n\t\"./es-do\": 41805,\n\t\"./es-do.js\": 41805,\n\t\"./es-mx\": 83445,\n\t\"./es-mx.js\": 83445,\n\t\"./es-us\": 81516,\n\t\"./es-us.js\": 81516,\n\t\"./es.js\": 46679,\n\t\"./et\": 88150,\n\t\"./et.js\": 88150,\n\t\"./eu\": 80757,\n\t\"./eu.js\": 80757,\n\t\"./fa\": 65742,\n\t\"./fa.js\": 65742,\n\t\"./fi\": 33958,\n\t\"./fi.js\": 33958,\n\t\"./fil\": 46720,\n\t\"./fil.js\": 46720,\n\t\"./fo\": 98352,\n\t\"./fo.js\": 98352,\n\t\"./fr\": 4059,\n\t\"./fr-ca\": 42096,\n\t\"./fr-ca.js\": 42096,\n\t\"./fr-ch\": 95759,\n\t\"./fr-ch.js\": 95759,\n\t\"./fr.js\": 4059,\n\t\"./fy\": 15958,\n\t\"./fy.js\": 15958,\n\t\"./ga\": 94143,\n\t\"./ga.js\": 94143,\n\t\"./gd\": 67028,\n\t\"./gd.js\": 67028,\n\t\"./gl\": 80428,\n\t\"./gl.js\": 80428,\n\t\"./gom-deva\": 76861,\n\t\"./gom-deva.js\": 76861,\n\t\"./gom-latn\": 57718,\n\t\"./gom-latn.js\": 57718,\n\t\"./gu\": 26827,\n\t\"./gu.js\": 26827,\n\t\"./he\": 21936,\n\t\"./he.js\": 21936,\n\t\"./hi\": 31332,\n\t\"./hi.js\": 31332,\n\t\"./hr\": 91957,\n\t\"./hr.js\": 91957,\n\t\"./hu\": 48928,\n\t\"./hu.js\": 48928,\n\t\"./hy-am\": 56215,\n\t\"./hy-am.js\": 56215,\n\t\"./id\": 586,\n\t\"./id.js\": 586,\n\t\"./is\": 90211,\n\t\"./is.js\": 90211,\n\t\"./it\": 70170,\n\t\"./it-ch\": 22340,\n\t\"./it-ch.js\": 22340,\n\t\"./it.js\": 70170,\n\t\"./ja\": 39770,\n\t\"./ja.js\": 39770,\n\t\"./jv\": 73875,\n\t\"./jv.js\": 73875,\n\t\"./ka\": 79499,\n\t\"./ka.js\": 79499,\n\t\"./kk\": 93573,\n\t\"./kk.js\": 93573,\n\t\"./km\": 68807,\n\t\"./km.js\": 68807,\n\t\"./kn\": 65082,\n\t\"./kn.js\": 65082,\n\t\"./ko\": 20137,\n\t\"./ko.js\": 20137,\n\t\"./ku\": 70111,\n\t\"./ku-kmr\": 63744,\n\t\"./ku-kmr.js\": 63744,\n\t\"./ku.js\": 70111,\n\t\"./ky\": 99187,\n\t\"./ky.js\": 99187,\n\t\"./lb\": 35969,\n\t\"./lb.js\": 35969,\n\t\"./lo\": 33526,\n\t\"./lo.js\": 33526,\n\t\"./lt\": 90411,\n\t\"./lt.js\": 90411,\n\t\"./lv\": 32621,\n\t\"./lv.js\": 32621,\n\t\"./me\": 85869,\n\t\"./me.js\": 85869,\n\t\"./mi\": 35881,\n\t\"./mi.js\": 35881,\n\t\"./mk\": 92391,\n\t\"./mk.js\": 92391,\n\t\"./ml\": 21126,\n\t\"./ml.js\": 21126,\n\t\"./mn\": 44892,\n\t\"./mn.js\": 44892,\n\t\"./mr\": 59080,\n\t\"./mr.js\": 59080,\n\t\"./ms\": 70399,\n\t\"./ms-my\": 25950,\n\t\"./ms-my.js\": 25950,\n\t\"./ms.js\": 70399,\n\t\"./mt\": 79902,\n\t\"./mt.js\": 79902,\n\t\"./my\": 72985,\n\t\"./my.js\": 72985,\n\t\"./nb\": 67859,\n\t\"./nb.js\": 67859,\n\t\"./ne\": 13642,\n\t\"./ne.js\": 13642,\n\t\"./nl\": 65441,\n\t\"./nl-be\": 99875,\n\t\"./nl-be.js\": 99875,\n\t\"./nl.js\": 65441,\n\t\"./nn\": 81311,\n\t\"./nn.js\": 81311,\n\t\"./oc-lnc\": 72567,\n\t\"./oc-lnc.js\": 72567,\n\t\"./pa-in\": 56962,\n\t\"./pa-in.js\": 56962,\n\t\"./pl\": 61063,\n\t\"./pl.js\": 61063,\n\t\"./pt\": 78719,\n\t\"./pt-br\": 97476,\n\t\"./pt-br.js\": 97476,\n\t\"./pt.js\": 78719,\n\t\"./ro\": 51004,\n\t\"./ro.js\": 51004,\n\t\"./ru\": 51326,\n\t\"./ru.js\": 51326,\n\t\"./sd\": 72608,\n\t\"./sd.js\": 72608,\n\t\"./se\": 13911,\n\t\"./se.js\": 13911,\n\t\"./si\": 25147,\n\t\"./si.js\": 25147,\n\t\"./sk\": 23741,\n\t\"./sk.js\": 23741,\n\t\"./sl\": 93000,\n\t\"./sl.js\": 93000,\n\t\"./sq\": 60451,\n\t\"./sq.js\": 60451,\n\t\"./sr\": 55046,\n\t\"./sr-cyrl\": 40905,\n\t\"./sr-cyrl.js\": 40905,\n\t\"./sr.js\": 55046,\n\t\"./ss\": 85765,\n\t\"./ss.js\": 85765,\n\t\"./sv\": 99290,\n\t\"./sv.js\": 99290,\n\t\"./sw\": 53449,\n\t\"./sw.js\": 53449,\n\t\"./ta\": 72688,\n\t\"./ta.js\": 72688,\n\t\"./te\": 32060,\n\t\"./te.js\": 32060,\n\t\"./tet\": 93290,\n\t\"./tet.js\": 93290,\n\t\"./tg\": 8294,\n\t\"./tg.js\": 8294,\n\t\"./th\": 1231,\n\t\"./th.js\": 1231,\n\t\"./tk\": 3746,\n\t\"./tk.js\": 3746,\n\t\"./tl-ph\": 49040,\n\t\"./tl-ph.js\": 49040,\n\t\"./tlh\": 17187,\n\t\"./tlh.js\": 17187,\n\t\"./tr\": 60153,\n\t\"./tr.js\": 60153,\n\t\"./tzl\": 88521,\n\t\"./tzl.js\": 88521,\n\t\"./tzm\": 18010,\n\t\"./tzm-latn\": 22234,\n\t\"./tzm-latn.js\": 22234,\n\t\"./tzm.js\": 18010,\n\t\"./ug-cn\": 63349,\n\t\"./ug-cn.js\": 63349,\n\t\"./uk\": 68479,\n\t\"./uk.js\": 68479,\n\t\"./ur\": 43024,\n\t\"./ur.js\": 43024,\n\t\"./uz\": 19800,\n\t\"./uz-latn\": 72376,\n\t\"./uz-latn.js\": 72376,\n\t\"./uz.js\": 19800,\n\t\"./vi\": 89366,\n\t\"./vi.js\": 89366,\n\t\"./x-pseudo\": 69702,\n\t\"./x-pseudo.js\": 69702,\n\t\"./yo\": 72655,\n\t\"./yo.js\": 72655,\n\t\"./zh-cn\": 575,\n\t\"./zh-cn.js\": 575,\n\t\"./zh-hk\": 18351,\n\t\"./zh-hk.js\": 18351,\n\t\"./zh-mo\": 51626,\n\t\"./zh-mo.js\": 51626,\n\t\"./zh-tw\": 8887,\n\t\"./zh-tw.js\": 8887\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;"],"names":["__decorate","Component","AflaCommonComponent","constructor","ngOnInit","ctorParameters","selector","template","CUSTOM_ELEMENTS_SCHEMA","NgModule","ZaesriAngularCalciteModule","CommonTableComponent","CommonTableSortHeaderDirective","CommonFilterByComponent","FormsModule","NgPipesModule","CommonModule","HighlightWithColumnPipe","CommonDropDownComponent","CommonPopUpComponent","CommonSecondaryButtonComponent","CommonPrimaryButtonComponent","AflaCommonModule","schemas","declarations","imports","exports","Injectable","AflaCommonService","branding","setThemeColors","providedIn","__NG_CLI_RESOURCE__0","__NG_CLI_RESOURCE__1","ChangeDetectionStrategy","ChangeDetectorRef","EventEmitter","Input","Output","SharedConstants","changeDetectorRef","aflaCommonService","options","valueSelected","stateReset","preSelected","placeholder","doNotSort","selected","indexOf","Error","refreshSelectionOptions","detectChanges","PLACEHOLDER_TEXT","emit","sort","emitValueChange","$event","value","target","type","propDecorators","changeDetection","OnPush","styles","filterByOptions","filterByChanged","filterTextChanged","errorMessageDisplay","pageName","initialFilterText","initialFilterColumn","label","FILTER_PREFIX","filterTextPlaceHolder","filterText","dropDownValue","dropDownPlaceHolder","FILTER_BY_PLACEHOLDER","dropDownDefault","FILTER_BY_DEFAULT","addFilterByDefault","initializePlaceHolder","filterChanged","text","column","markForCheck","textChanged","NO_FILTER_SELECTED_MESSAGE","unshift","EXCLUDE_HEADING_ACTIONS","toLocaleLowerCase","FILTER_ITEMS_PLACEHOLDER","NgbActiveModal","activeModal","title","contentMessage","data","updateBtnPlaceholder","YES_LABEL","cancelBtnPlaceholder","NO_LABEL","onBtnOkClick","close","onBtnCancel","displayText","clickCallBack","disabled","toLowerCase","onclick","CommonTableComponent_1","ViewChildren","compare","ActivatedRoute","Router","moment","SearchUtils","_","elId","route","router","headers","tableItems","columnToItemPropertyMap","tdTemplate","tdTemplate2","thTemplate","showFilter","rowActions","checkboxColumn","showRadioButtonColumn","allowSingleSelect","disableRowSelect","nextID","defaultSort","showRecipientTypeColumn","parentComponent","allowExport","isApplicationSearchTable","tableItemClicked","tableItemsChecked","tableColumns","visibleTableItems","searchTerm","selectedColumn","focusedElement","selectedRows","isSelected","preSelectedFilterText","preSelectedFilterColumn","noItemsMessage","NO_ITEMS_AVAILABLE_MESSAGE","noFilterResults","NO_FILTER_RESULTS","exportFilenameLabel","ENTER_FILENAME_LABEL","applyTableWidthClass","checkIfObject","test","checkIfDate","SYSTEM_DATE_FORMAT_DEFAULT","isValid","checkIfNumber","maybeNumber","checkNumber","Number","isNaN","getObjectId","row","hasOwnProperty","id","toString","ngAfterViewInit","forEach","header","sortable","direction","expandTableHorizontally","ngOnChanges","changes","currentValue","setInitialVisibleTableItems","filterTable","checkIfColumnMappingExists","listenForQueryParamChanges","initialize","radioButtonAction","push","map","tableItem","checkBoxAction","event","index","splice","checkAllBox","document","getElementById","checked","checkedAll","slice","selectedRow","executeClickAction","getElementValue","element","propertyValue","getTableItemValue","undefined","INVALID_TABLE_VALUE_ERROR","filter","setQueryParams","setVisibleTableItems","filterAllTableItems","filterTableItemsByColumn","onSort","setSortableHeaders","sortTableItems","getTableDate","resetTableColumns","Array","from","keys","initializeFilterOptions","length","sortByDefault","searchAllItemsProperties","listOfVisibleColumns","list","mappedColumn","get","search","searchAllItemsSingleProperty","items","checkForExistingCheckedItems","includes","checkbox","console","log","values","a","b","result","getCorrectPrimitiveTypeForPropertyValue","toLocaleString","TABLE_COLUMN_MAPPING_EXISTS_ERROR","queryParams","subscribe","navigate","queryParamsHandling","size","args","SEARCH_PREFIX","FILTER_DEFAULT","SEARCH_NOT_BLANK","REQUIRED_INPUT_CONTROL_VALIDATION","Directive","rotate","host","asc","desc","v1","v2","Date","diff","HighlightWithColumnPipe_1","Pipe","DomSanitizer","sanitizer","checkColumnsEqual","firstColumn","secondColumn","formatColumnValue","trim","replace","transform","currentColumn","stringValue","re","RegExp","match","replacedValue","bypassSecurityTrustHtml","name","searchKey","searchableColumns","caseSensitive","item","searchItemProperties","Object","some","key","searchItemProperty","property","BehaviorSubject","Subject","Alert","AlertType","Injector","isDevMode","NavigationStart","SessionStorageService","SessionStorageEnum","HttpStatusCodeEnum","Title","AppConfig","UserInformationService","AppControllerService","sessionStorage","titleService","injector","selectedApplicationID","selectedJobID","modules","organisations","appTitle","alertSubject","keepAfterRouteChange","selectedOrgIdSubject","selectedOrgSubject","$selectedOrgSubject","asObservable","baseRequestObject","authenticatedUser","moduleID","appID","_selectedOrganisationID","configLoadedSubject","$configLoadedSubject","moduleAllowResubmissionSubject","$moduleAllowResubmissionSubject","events","_selectedModuleID","selectedModuleID","doubleQuoteRe","SelectedModuleID","selectedOrganisationId","moduleAllowResubmission","selectedOrganisationID","organisationId","next","org","configLoadedComplete","complete","setTitle","settings","projectSettings","projectName","getRequest","includeAppID","includeModuleID","request","JSON","parse","stringify","AppID","getAlert","alertId","pipe","x","showMessage","message","alert","clearMessage","showConsoleMessage","setSelectedModule","set","setModuleAllowResubmission","userInformationService","module","getModuleInformation","enableResubmission","handleServerErrorMessage","objectName","httpErrorResponse","operation","status","InternalServerError","BadRequest","error","Warning","errors","errorValue","join","e","Forbidden","FORBIDDEN_MESSAGE","NotFound","NOT_FOUND_MESSAGE","Conflict","CONFLICT_MESSAGE","UNKNOWN_ERROR_MESSAGE","AppRoutingConstants","ROUTE_SEPERATOR","PATH_MATCH_FULL","API_PREFIX","API_VERSION_1","API_VERSION_2","MODULE_ID_ROUTE_PARAMETER","APPLICATION_ID_ROUTE_PARAMETER","ORGANISATION_ROUTE_ID_PARAMETER","ADD_ORGANISATION_ROUTE","ORGANISATION_APPLY_ACCESS_ROUTE","REFRESH_ROUTE","LOGOUT_ROUTE","REFRESH_VIEW_APPLICATION_ROUTE","createEndpointRoutev2","endpointSuffixRoutes","endpointURL","emptySpaceRe","createEndpointRoutev1","createRouteToView","routeComponents","DashRe","DoubleRouteRe","createRouteToViewWithPrefixRouteSeparator","routeComponentsWithSeparator","RouterModule","BackgroundPreloadService","CreateApplicationRoutingConstants","AuthGuard","aflaModuleServiceProvider","SearchApplicationsRoutingConstants","RefreshComponent","DocumentsAndInformationRoutingConstants","ViewApplicationRoutingConstants","RefreshViewApplicationComponent","MapRoutingConstants","LogoutComponent","routes","path","ESRI_MAP_ROUTE","loadChildren","then","mod","MapModule","canActivate","preload","CREATE_APPLICATION_ROUTE","CreateApplicationModule","VIEW_APPLICATION_ROUTE","ViewApplicationModule","VIEW_DOCUMENTS_AND_INFORMATION_ROUTE","DocumentsAndInformationModule","SEARCH_APPLICATIONS_ROUTE","SearchApplicationsModule","component","AppRoutingModule","forRoot","preloadingStrategy","providers","AuthService","LoginService","WindowReference","MatBottomSheet","RequestStatusService","SystemModuleSettingsService","ServerNotificationService","WebNotificationService","LocalStorageEnum","LocalStorageService","LandingPageService","AutoUnsubPortal","AppComponent","appController","authService","loginService","sessionStorageService","windowReference","bottomSheet","landingPageService","appConfig","requestStatusService","systemModuleSettingsService","serverMessageService","webNotificationService","localStorage","changeDetectorRefs","themeMainColor","themeMainDarkerColor","themeMainBackgroundColor","themeMainBorderColor","themeHeaderBorderColor","themeActiveColor","themeActiveAlternateColor","themeLogoBackgroundColor","themePrimaryButtonColor","calciteUIBrand","calciteUIBrandHover","calciteUIBrandPress","mapCenter","basemapType","mapZoomLevel","$isAuthenticated","$userInformationFetched","showBusyIndicator","showLandingPage","deferredPromptEvent","ON_SAME_RELOAD_STRATEGY","messageReceivedSubscription","saveUrl","listenForLandingPageLogin","startAuthenticationProcess","setupPwaInstall","listenForBusySpinnerChanges","setRouterReloadStrategy","strings","window","location","href","split","url","Url","loadAppConfig","localStorageIsAuthenticated","Nonce","unAuthenticateFrontChannel","checkIfLoggedIn","configureAuth","authenticate","appConfigLoadedAction","load","styling","handleUserLoggedIn","nativeWindow","addEventListener","preventDefault","promptInstallPWA","prompt","$requestBusy","listenForServerMessages","messageReceived","showNotification","onSameUrlNavigation","loginButtonClicked","isLoginButtonClicked","busySpinnerDoubleClick","printBusyIndicators","AppConfig_1","HttpClient","http","uniqueParam","getTime","jsonFile","Promise","resolve","reject","toPromise","response","catch","BrowserModule","ErrorHandler","BrowserAnimationsModule","ServiceWorkerModule","environment","ServerInterceptor","HTTP_INTERCEPTORS","provideHttpClient","withInterceptorsFromDi","DashboardModule","LoginComponent","SharedModule","MatToolbarModule","MatIconModule","MatDialogModule","MatInputModule","MatSidenavModule","MatProgressSpinnerModule","ReactiveFormsModule","MatButtonModule","MatBottomSheetModule","NavModule","OAuthModule","NgbModule","TreeModule","APP_BASE_HREF","PlatformLocation","GlobalErrorHandler","LandingPageComponent","AppInjector","AppModule","bootstrap","register","enabled","production","provide","useClass","multi","useFactory","s","getBaseHrefFromDOM","deps","DashboardComponent","DashboardRoutingModule","forChild","of","switchMap","DashboardConstants","changeDetector","appControllerService","howItWorks","HOW_IT_WORKS","howItWorksText","note","NOTE","noteText","overview","OVERVIEW","applicationText","APPLICATONS","InProgress","IN_PROGRESS","unCompleted","UNCOMPLETED","aflaPortal","aflaPortalText","$authenticated","isAuthenticated","applicationsCount","applicationInProgressCount","applicationUncompletedCount","authenticatedSubscribe","loadDashboarInformaton","dashboard","retrieveMyPortalApplications","myApp","ap","onSearchApplicationClicked","FILTERED_SEARCH_APPLICATIONS_ROUTE","PHASES_HEADING","DEFAULT_COLUMN","MODULES_SEARCH_PLACEHOLDER_TEXT","AFLA_PORTAL","MatGridListModule","DisclaimerDialogBodyComponent","MatDialogRef","DisclaimerDialogBodyConstants","dialogRef","DEFAULT_COLOR","DEFAULT_DARKER_COLOR","DEFAULT_HEADER_BORDER_COLOR","DEFAULT_ACTIVE_COLOR","DEFAULT_ACTIVE_ALTERNATE_COLOR","DEFAULT_PRIMARY_BUTTON_COLOR","disclaimerTitle","disclaimerContent","acceptDisclaimerURL","ACCEPT_DISCLAIMER_URL","acceptButtonLabel","ACCEPT_DISCLAIMER_TEXT","httpSubscription","disclaimer","content","acceptDisclaimer","showBusySpinner","post","closeDisclaimer","removeBusySpinner","ApiUserConstants","URL","FUNCTION_ACCEPT_DISCLAIMER","LandingPageConstants","logoImageUrl","logoImageAlt","loginButtonLabel","LOGIN_TEXT","mainBannerBackgroundImageUrl","mainBannerHeading","bannerSubHeading","bannerContent","aboutSectionHeading","aboutSectionDescription","modulesAndToolsHeading","modulesAndToolsSubHeading","moduleRows","screenshotSectionMainHeader","screenshotSectionSubHeader","screenshots","copyrightText","moduleRowCount","halfLastRow","loadConfigData","onLoginClicked","config","landingPageData","show","Math","ceil","i","screenshot","FormControl","FormGroup","Validators","takeUntil","LoginConstants","FormErrorStateMatcher","loginErrorStateMatcher","ngUnsubscribe","usernamePlaceHolderText","USERNAME_TEXT","passwordPlaceHolderText","PASSWORD_TEXT","usernameRequiredErrorText","USERNAME_REQUIRED_TEXT","passwordRequiredErrorText","PASSWORD_REQUIRED_TEXT","dialogTitle","LOGIN_DIALOGUE_TITLE","loginButtonText","LOGIN_BUTTON_TEXT","loginErrorText","LOGIN_ERROR_TEXT","spinnerDiameter","LOGIN_SPINNER_DIAMETER","spinnerMode","LOGIN_SPINNER_MODE","loginFormGroup","loginInProgress","loginErrorOccured","username","USERNAME_FORM_CONTROL","password","PASSWORD_FORM_CONTROL","required","trackChangesForLoginError","ngOnDestroy","ngAfterContentInit","testing","setValue","login","loginDisabled","valid","hasUsernameRequiredError","hasError","REQUIRED_ERROR_CODE","hasPasswordRequiredError","handleAuthenticationResult","userResult","resultStatus","success","Success","loginSuccessful","valueChanges","ApiOrganisationConstants","ApiModuleConstants","NavPanService","selectedApplication$","getMunicipalities","params","$filter","newResult","getMunicipalitiesByModuleId","moduleId","getApplicationTypes","GET_PORTAL_MODULES","NavConstants","NgbModal","SelectedApplicationService","ApplicationCreateService","NavPaneContentComponent","applicationCreateService","selectedApplicationService","navService","modalService","modulesLink","homeLinkText","HOME_LINK_TEXT","logoutLinkText","LOGOUT_LINK_TEXT","activeId","isSystemModuleSettingsFetched","selectMunicipalityText","municipalities","selectedMunicipality","applicationTypes","selectedApplicationType","applications","selectMunicipalityLabel","SELECT_MUNICIPALITY_LABEL","selectApplicationLabel","SELECT_APPLICATION_LABEL","viewDocumentationText","VIEW_DOCUMENTATION_TEXT","createApplicationText","CREATE_APPLICATION_TEXT","searchMyApplicationText","SEARCH_MY_APPLICATION_TEXT","selectAnOptionText","PLEASE_SELECT_AN_OPTION","logo","loadedApplicationTypesMap","Map","INCOMPLETE_APPLICATIONS_TITLE","dialogMessage","INCOMPLETE_APPLICATIONS_MESSAGE","modalBodyOptions","MODAL_OPTIONS","selectedMunicipalityId","selectedApplicationTypeId","redirectUrl","userInformationServiceSubscription","isAuthenticatedSubscription","navServiceSubscription","systemModuleSettingsServiceSubscription","navServiceApplicationTypesSubscription","navServiceSelectedApplicationSubscription","redirectToDefaultLink","subscribeToConfigSubject","loadMunicipalities","listenForAuthentication","listenForModuleFetch","showDefaultModule","subscribeToSelectedApplicationFromSearchPage","authenticated","remove","extractModulId","urlArray","jobId","logout","logOutRedirect","onCreateApplicationClicked","checkIncompleteApplications","hasOpenPortalApplications","openIncompleteApplicationsDialog","proceedToCreateApplications","onViewDocumentationClicked","selectMunicipality","input","find","m","selectApplicationType","setSelectedApplication","SelectedJobID","setIncompleteJobId","setSelectGoToStep","navigateByUrl","skipLocationChange","open","componentInstance","OK_LABEL","CANCEL_LABEL","proceed","activePanel","connected","mun","moduleMunicipalities","moduleMunicipality","p","municipalityId","has","appType","configLoaded","logoUrl","$systemModuleSettingsFetched","application","setMunicipalityAndSelectedApplicationTypes","organisationName","applicationType","clearResetDropdowns","NavToolbarContentComponent_1","NavigationEnd","Link","ModuleConfigService","NavToolbarContentComponent","moduleConfigService","sideNavToggle","headingLinks","showHeadings","notificationIsOn","activeRoute","headingRoutes","propertyLayersForModules","appConfigLoadedSub","getLink","headingText","address","selectedSystemModuleID","initializeHeadingLinks","addHeadingLinks","populateHeadingRoutes","setActivatedRoute","listenForRouteChanges","checkMapServicePropertyLayer","loaded","isShowDiv","linkText","PROPERTIES_HEADING_TEXT","isCemeteryModule","LOCATION_HEADING_TEXT","checkPropertyLayer","layerName","found","layer","layerType","toggleSideNav","routeToUpdateProfile","ids","issuer","redirectUri","applicationAlias","clientId","APPLICATIONS_HEADING_TEXT","reactToRouteChanges","handleNavigationStart","handleNavigationEnd","checkIfHeadingRoute","headingRoute","urlAfterRedirects","clearHeadings","routerState","snapshot","ViewChild","NavComponent","sidenav","toggle","ADD_ORGANISATION_LINK_TEXT","DEFAULT_APPLICANT_AGENT_TEXT","centered","backdrop","r","RequiredDocumentsHeadingEnum","AflaModuleStrategyService","CRUDOperation","CreateApplicationConstants","DeleteDocumentsConfirmationDialogComponent","AddDocumentsDialogComponent","DatePipe","EditDocumentsDialogComponent","CreateApplicationViewBaseComponent","CreateApplicationDocumentationConstants","FileUtils","SearchApplicationsService","CreateApplicationDocumentationComponent","aflaModuleStrategyService","datePipe","searchApplicationsService","showNoRequiredDocumentText","showCheckBoxColumn","tableMapper","tableDataSource","documentForm","requiredDocuments","optionalDocuments","showOptionalDocuments","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","uploadOptionalDocumentLabel","UPLOAD_OPTIONAL_DOC_LABEL","optionalDocumentsLabel","OPTIONAL_DOCUMENTS_LABEL","selectedApplicationApplicationTypes","selectedDocuments","documentTypes","configUploadSettings","currentApplication","applicationCreateServiceSubscription","applicationCreateServiceSelectModuleSubscription","getAttachmentContentSubscription","selectedApplicationSubscription2","uploadFile","initForm","initializeColumnToObjectMapping","setupSubscribers","loadMetadata","stepMeta","arrayReturned","documents","onDeleteBtnClicked","NO_ITEM_SELECTED","modalRef","documentsToDelete","deletedDocuments","idsOfDocumentsToBeDeleted","deleteUploadDocumentsObservable","deleteSelectedDocsFromTable","updateDocumentChecklist","updateFormControl","Delete","onAddBtnClicked","evt","getDocumentTypes","selectedDocumentType","innerHTML","newDocument","addDocumentToTable","onEditBtnClicked","MORE_THAN_ONE_SELECTED","documentToEdit","resultObject","idsToDelete","editedDocument","onDownloadAttachment","attachment","attachmentId","fileName","getAttachmentContent","attachmentContent","openFile","Get","getRequiredDocumentsLookups","$expand","getLookupsObservable","lookups","onGetRequiredDocumentsLookupsCompleted","loadSavedAttachments","attachments","updateDocumentChecklistOnInit","buildRequiredDocumentsObjects","sortRequiredDocumentsAlphabetically","doc","optionalUpload","docs","lookup","category","appendRequiredDocuments","removeDuplicateDocuments","documentsAlreadyOnTheTable","docsInTable","resetDocumentsChecklist","newDocuments","deleteDocument","documentIdOfDeletedDocument","subscribeToSelectedApplication","$selectedApplication","getApplicationAttachments","getStepHeadingSubscribers","selectedModuleNameAsObservable","modName","REQUIRED_DOCUMENTATION_HEADING","toUpperCase","substr","form","clearValidators","attachmentsForTable","attachmentObject","attachmentType","description","dateUploaded","date","formIsValid","uploaded","addValidators","markAllAsTouched","updateValueAndValidity","getAttachments","requiredDocument","optionalDocument","types","localeCompare","sensitivity","uniqueRequiredDocuments","distinctDocumentsArray","optionalDocumentsArray","documentObject","optionalDoc","DELETE_DIALOG_TITLE","CreateApplicationNotesConstants","NoteHeadingEnum","CreateApplicationNotesComponent","noteForm","tableHeader","dataSource","defaultSortColumn","deleteLabel","DELETE_LABEL","addNotePlaceHolderText","ADD_NOTE_PLACEHOLDER","addNoteLabel","ADD_NOTE_LABEL","noteCharacterLimit","NOTE_CHARACTER_LIMIT","addLabel","ADD_LABEL","removeLabel","REMOVE_LABEL","noteFormControlName","NOTE_FORM_CONTROL_NAME","selectedApplicationEcSubscription","getNotesSubscription","getNotes","populateForm","notes","idControl","notesControl","STEP_TITLE","getNotesObservable","err","NoteHeadingEnumLookup","userName","CreateApplicationPeopleOfInterestConstants","CreateApplicationPeopleOfInterestComponent","createApplicationService","peopleOfInterestForm","transferorFormControlName","TRANSFEROR_FORM_CONTROL_NAME","transfereeFormControlName","TRANSFEREE_FORM_CONTROL_NAME","conveyancerFormControlName","CONVEYANCER_FORM_CONTROL_NAME","transferorDisableFilterBy","transferorDisableEditing","transferorGroups","transferorLabel","TRANSFEROR_LABEL","transfereeDisableFilterBy","transfereeDisableEditing","transfereeGroups","transfereeLabel","TRANSFEREE_LABEL","copyApplicantToTransfereeLabel","COPY_APPLICANT_TO_TRANSFEREE_LABEL","conveyancerDisableFilterBy","conveyancerDisableEditing","conveyancerGroups","conveyancerLabel","CONVEYANCER_LABEL","copyApplicantToTransfereeFormControlName","COPY_APPLICANT_TO_TRANSFEREE_FORM_CONTROL_NAME","savedApplicant","getMetadata","isApplicationLoadedFromTheSearchPage","checkApplicationData","subScribeToSelectedApplication","transferorGroup","transfereeGroup","conveyancerGroup","INVALID_METADATA","onBtnCopyApplicantToTransfereeClicked","transfereeFormControl","currentTarget","assign","transferee","groups","disable","enable","reset","isFormPristine","pristine","isFormUnTouched","untouched","isFormInvalid","invalid","onGetApplicationDataCompleted","selectedApplication","transferor","transferorFormControl","conveyancer","conveyancerFormControl","applicant","LOCATION_ROUTE","DETAILS_ROUTE","APPLICANT_ROUTE","AGENT_ROUTE","WELCOME_ROUTE","STATUS_ROUTE","PROFESSIONAL_BODIES_ROUTE","BURIAL_ROUTE","DECEASED_ROUTE","FAMILY_ROUTE","REQUIRED_DOCS","NOTES_ROUTE","FUNERAL_PARLOUR","TRADERS_ROUTE","PEOPLE_OF_INTEREST_ROUTE","CreateApplicationDetailsAConstants","LookupConstants","phoneNumberValidator","RecipientSelectComponent","CreateApplicationDetailsAComponent","detailsForm","personResponsibleComponentRef","advertisementFormGroup","advertisementsFormGroupName","ADVERTISEMENTS_FORM_GROUP_NAME","validationMessages","VALIDATION_MESSAGES","applicationDetailsFormGroupName","APPLICATION_DETAILS_FORM_GROUP_NAME","detailsFormGroupName","DETAILS_FORM_GROUP_NAME","descriptionFormControlName","DESCRIPTION_FORM_CONTROL_NAME","isAdvertisementPermanentOrTemporaryFormControlName","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_FORM_CONTROL_NAME","applicationTypeFormControlName","APPLICATION_TYPE_FORM_CONTROL_NAME","displayStartDateControlName","DISPLAY_START_DATE_FORM_CONTROL_NAME","displayEndDateControlName","DISPLAY_END_DATE_FORM_CONTROL_NAME","displayRemovalDateControlName","DISPLAY_REMOVAL_DATE_FORM_CONTROL_NAME","numberOfPostersControlName","NUMBER_OF_POSTERS_FORM_CONTROL_NAME","nameOfBusinessControlName","NAME_OF_BUSINESS_FORM_CONTROL_NAME","notifySignageRemovalPeriodControlName","NOTIFY_SIGNAGE_REMOVAL_PERIOD_FORM_CONTROL_NAME","positionOfTheDisplayControlName","POSITION_OF_DISPLAY_FORM_CONTROL_NAME","heightControlName","HEIGHT_FORM_CONTROL_NAME","widthControlName","WIDTH_FORM_CONTROL_NAME","depthControlName","DEPTH_FORM_CONTROL_NAME","materialControlName","MATERIAL_FORM_CONTROL_NAME","coloursControlName","COLOURS_FORM_CONTROL_NAME","frontalAreaControlName","FRONTAL_AREA_FORM_CONTROL_NAME","totalAreaControlName","TOTAL_AREA_FORM_CONTROL_NAME","signTypeControlName","SIGN_TYPE_FORM_CONTROL_NAME","weightControlName","WEIGHT_FORM_CONTROL_NAME","wattageControlName","WATTAGE_FORM_CONTROL_NAME","signContractorControlName","SIGN_CONTRACTOR_NAME_FORM_CONTROL_NAME","signContractorAddressControlName","SIGN_CONTRACTOR_ADDRESS_FORM_CONTROL_NAME","signContractorTelephoneControlName","SIGN_CONTRACTOR_TELEPHONE_FORM_CONTROL_NAME","forSaleControlName","FOR_SALE_FORM_CONTROL_NAME","onShowControlName","ON_SHOW_FORM_CONTROL_NAME","toLetControlName","TO_LET_FORM_CONTROL_NAME","soldControlName","SOLD_FORM_CONTROL_NAME","OtherControlName","OTHER_FORM_CONTROL_NAME","constructionBoardSignControlName","CONSTRUCTION_BOARD_SIGN_FORM_CONTROL_NAME","groundSignControlName","GROUND_SIGN_FORM_CONTROL_NAME","flagControlName","FLAG_FORM_CONTROL_NAME","sandwichBoardControlName","SANDWICH_BOARD_FORM_CONTROL_NAME","pylonControlName","PYLON_FORM_CONTROL_NAME","wallSignControlName","WALL_SIGN_FORM_CONTROL_NAME","billBoardControlName","BILLBOARD_FORM_CONTROL_NAME","buildingAttachmentControlName","BUILDING_ATTACHMENT_FORM_CONTROL_NAME","projectingWallControlName","PROJECTING_WALL_SIGN_FORM_CONTROL_NAME","wallPaintedControlName","WALL_PAINTED_FORM_CONTROL_NAME","roofSignControlName","ROOF_SIGN_FORM_CONTROL_NAME","skySignControlName","SKY_SIGN_FORM_CONTROL_NAME","verandaControlName","VERANDA_FORM_CONTROL_NAME","aerialSignControlName","AERIAL_SIGN_FORM_CONTROL_NAME","windowSignControlName","WINDOW_SIGN_FORM_CONTROL_NAME","schoolSignControlName","SCHOOL_SIGN_FORM_CONTROL_NAME","combinationSignControlName","COMBINATION_SIGN_FORM_CONTROL_NAME","underAwningSignControlName","UNDER_AWNING_SIGN_FORM_CONTROL_NAME","flagSignControlName","FLAG_SIGN_FORM_CONTROL_NAME","canopyControlName","CANOPY_FORM_CONTROL_NAME","balconyControlName","BALCONY_FORM_CONTROL_NAME","electronicSignControlName","ELECTRONIC_SIGN_FORM_CONTROL_NAME","developmentBoardControlName","DEVELOPMENT_BOARD_FORM_CONTROL_NAME","otherFiveYearControlName","OTHER_FIVE_YEAR_FORM_CONTROL_NAME","nonIlluminatedBillboardControlName","NON_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME","digitalBillboardControlName","DIGITAL_BILLBOARD_FORM_CONTROL_NAME","nonIlluminatedGantryControlName","NON_ILLUMINATED_GANTRY_FORM_CONTROL_NAME","digitalGantryControlName","DIGITAL_GANTRY_FORM_CONTROL_NAME","internallyIlluminatedBillboardControlName","INTERNALLY_ILLUMINATED_BILLBOARD_FORM_CONTROL_NAME","internallyIlluminatedGantryControlName","INTERNALLY_ILLUMINATED_GANTRY_FORM_CONTROL_NAME","municipalConsumerAccountNumberFormControlName","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_CONTROL_NAME","personResponsibleFormControlName","PERSON_RESPONSIBLE_CONTROL_NAME","descriptionLabel","DESCRIPTION_LABEL","typeLabel","APPLICATION_TYPE_LABEL","displayStartDateLabel","DISPLAY_START_DATE_LABEL","displayEndDateLabel","DISPLAY_END_DATE_LABEL","displayRemovalDateLabel","DISPLAY_REMOVAL_DATE_LABEL","numberOfPostersLabel","NUMBER_OF_POSTERS_LABEL","nameOfBusinessLabel","NAME_OF_BUSINESS_LABEL","notifySignageRemovalPeriodLabel","NOTIFY_SIGNAGE_REMOVAL_LABEL","positionOfTheDisplayLabel","POSITION_OF_THE_DISPLAY_LABEL","heightLabel","HEIGHT_LABEL","widthLabel","WIDTH_LABEL","depthLabel","DEPTH_LABEL","materialLabel","MATERIAL_LABEL","coloursLabel","COLOURS_LABEL","frontalAreaLabel","FRONTAL_AREA_LABEL","totalAreaLabel","TOTAL_AREA_LABEL","signTypeLabel","SIGN_TYPE_LABEL","weightLabel","WEIGHT_LABEL","wattageLabel","WATTAGE_LABEL","signContractorLabel","SIGN_CONTRACTOR_LABEL","signContractorAddressLabel","SIGN_CONTRACTOR_ADDRESS_LABEL","signContractorTelephoneLabel","SIGN_CONTRACTOR_TELEPHONE_LABEL","forSaleAddressLabel","FOR_SALE_LABEL","onShowLabel","ON_SHOW_LABEL","toLetLabel","TO_LET_LABEL","soldLabel","SOLD_LABEL","constructionBoardSignLabel","CONSTRUCTION_BOARD_SIGN_LABEL","otherLabel","OTHER_LABEL","groundSignLabel","GROUND_SIGN_FORM_LABEL","flagLabel","FLAG_FORM_LABEL","sandwichBoardLabel","SANDWICH_BOARD_FORM_LABEL","pylonLabel","PYLON_FORM_LABEL","wallSignLabel","WALL_SIGN_FORM_LABEL","billBoardLabel","BILLBOARD_FORM_LABEL","buildingAttachmentLabel","BUILDING_ATTACHMENT_LABEL","projectingWallLabel","PROJECTING_WALL_SIGN_LABEL","wallPaintedLabel","WALL_PAINTED_LABEL","roofSignLabel","ROOF_SIGN_LABEL","skySignLabel","SKY_SIGN_LABEL","verandaLabel","VERANDA_LABEL","aerialSignLabel","AERIAL_SIGN_LABEL","windowSignLabel","WINDOW_SIGN_LABEL","schoolSignLabel","SCHOOL_SIGN_LABEL","combinationSignLabel","COMBINATION_SIGN_LABEL","underAwningSignLabel","UNDER_AWNING_SIGN_LABEL","flagSignLabel","FLAG_SIGN_LABEL","canopyLabel","CANOPY_LABEL","balconyLabel","BALCONY_LABEL","electronicSignLabel","ELECTRONIC_SIGN_LABEL","developmentBoardLabel","DEVELOPMENT_BOARD_LABEL","otherFiveYearLabel","OTHER_FIVE_YEAR_LABEL","nonIlluminatedBillboardLabel","NON_ILLUMINATED_BILLBOARD_LABEL","digitalBillboardLabel","DIGITAL_BILLBOARD_LABEL","nonIlluminatedGantryLabel","NON_ILLUMINATED_GANTRY_LABEL","digitalGantryLabel","DIGITAL_GANTRY_LABEL","internallyIlluminatedBillboardLabel","INTERNALLY_ILLUMINATED_BILLBOARD_LABEL","internallyIlluminatedGantryLabel","INTERNALLY_ILLUMINATED_GANTRY_LABEL","municipalConsumerAccountNumberLabel","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_LABEL","personResponsibleLabel","PERSON_RESPONSIBLE_CONTROL_LABEL","applicationTypesLookups","signTypeLookups","removalPeriodLookups","REMOVAL_PERIOD_LOOKUPS_A","nonIlluminatedBillboardLookups","NON_ILLUMINATED_BILLBOARD_A","nonIlluminatedGantryLookups","NON_ILLUMINATED_GANTRY_A","internallyIlluminatedBillboardLookups","INTERNALLY_ILLUMINATED_BILLBOARD_LOOKUPS_A","digitalGantryLookups","DIGITAL_GANTRY_A","dropdownPlaceholderMessage","notApplicablePlaceholderMessage","NOT_APPLICABLE_MESSAGE","showTemporaryApplicationFields","showPermanentApplicationFields","show5YearPermanentApplicationOptionalFields","show1YearPermanentApplicationOptionalFields","personResponsibleDisableEditing","personResponsibleDisableFilterBy","personResponsibleGroups","personResponsibleShowFields","temporaryApplicationType","permanentApplicationType","getLookupsObservableSubscription","markStepFormGroupAsTouchedSubscription","touched","checkIfFormWasPreviouslyCompleted","setForms","getLookups","subscribeToCheckFormValidity","personResponsibleGroup","advertisementType","handleAdvertisementTypeValueChanged","getLookupCompleted","lookUp","lookUpContent","handleTemporaryAdvertisementSelected","hidePermanentAdvertisementTypeFields","showTemporaryApplicationTypeFields","handlePermanentAdvertisementSelected","clearTemporaryAdvertisementFieldsValidators","resetTemporaryAdvertisementFields","hideTemporaryAdvertisementFields","showPermanentAdvertisementFields","show1YearPermanentApplicationFields","show5YearPermanentApplicationFields","add5YearApplicationFieldsValidators","addMainPermanentFieldsValidators","reset5YearPermanentApplicationFields","set5YearApplicationFieldsFormValues","nonIlluminatedBillboard","digitalBillboard","nonIlluminatedGantry","digitalGantry","internallyIlluminatedBillboard","internallyIlluminatedGantry","reset1yearPermanentApplicationFields","removeValidatorsToMainPermanentFields","setPermanentAdvertisementFormValues","personResponsible","nameOfBusiness","notifySignageRemovalPeriod","positionOfDisplay","dimensionsH","dimensionsW","dimensionsD","material","colours","frontalArea","totalArea","signType","weight","wattage","contractorName","contractorAddress","contractorTelephone","municipalConsumerAccountNumber","resetMainPermanentFields","filterApplicationTypeAccordingToSelectedAdvertisementType","advertisementTypeValue","isAdvetisingPermanentOrTemporary","setupDefaultFormsForPermanentAdvertisementApplications","setupDefaultFormsFor1YearPermanentAdvertisementApplications","setupDefaultFormsFor5YearPermanentAdvertisementApplications","setupDefaultFormsForTemporaryAdvertisementApplications","clearValidatorsOn5YearPermanentApplicationFields","hide5YearPermanentApplicationFields","set1YearPermanentApplicationFormValues","hide1YearPermanentApplicationFields","resetAndHidePermanentApplicationFields","addValidatorsToTemporaryFields","setTemporaryApplicationFormValues","displayStartDate","displayEndDate","displayRemovalDate","numberOfPosters","setNumberToDecimal","control","decimalPlace","decimalString","parseFloat","toFixed","decimalValue","hideMainPermanentFields","clearMainPermanentFieldsValidators","forSale","onShow","toLet","sold","constructionBoardSign","otherOneYear","$markStepFormGroupAsTouchedSubscription","formGroupName","IS_ADVERTISEMENT_PERMANENT_OR_TEMPORARY_LABEL","APPLICATION_DURATION_LABEL","ADVERTISEMENTS_FORM_CONTROL_NAME","APPLICATION_DURATION_FORM_CONTROL_NAME","MUNICIPAL_CONSUMER_ACCOUNT_NUMBER_FORM_CONTROL_NAME","MODAL_DIALOG_TITLE","MODAL_DIALOG_MESSAGE","keyboard","isAdvertisingPermanentOrTemporary","applicationDuration","whoIsApplying","positionOfTheDisplay","height","width","depth","signContractor","signContractorAddress","signContractorTelephone","CreateApplicationLocationAConstants","MapTools","MapService","ApiProxyConstants","UrlConstants","PopUpComponent","debounceTime","WktConverterUtils","JsonUtils","CreateApplicationUtils","CreateApplicationLocationAComponent","mapTools","mapService","displayMap","activeTabIndex","advertisementsForm","descriptionLabel1","DESCRIPTION_LABEL_1","descriptionLabel2","DESCRIPTION_LABEL_2","descriptionLabel3","DESCRIPTION_LABEL_3","ADVERTISEMENT_FORM_GROUP_NAME","advertisementsFormControlName","ADVERTISEMENT_FORM_CONTROL_NAME","areaOfDisplayFormControlName","AREA_OF_DISPLAY_FORM_CONTROL_NAME","layerReference","LAYER_REFERENCE","streetNamesFormControl","STREET_NAMES_FORM_CONTROL","propertyDescriptionFormControlName","PROPERTY_DESCRIPTION_FORM_CONTROL_NAME","addressOrStreetFormControlName","ADDRESS_OR_STREET_FORM_CONTROL_NAME","areaOfDisplayLabel","AREA_OF_CONTROL_LABEL","streetNamesLabel","STREET_NAMES_LABEL","propertyDescriptionLabel","PROPERTY_DESCRIPTION_LABEL","addressOrStreetLabel","ADDRESS_OR_STREET_LABEL","removeAdvertisementLabel","REMOVE_ADVERTISEMENT_LABEL","isAdvertisementPermanentOrTemporaryFormLabel","selectedAdvertisementType","areaOfDisplayLookups","AREA_OF_DISPLAY_LOOKUPS_A","showPermanentApplicationsFields","showTemporaryApplicationsFields","permanentOrTemporaryLookupOptions","PERMANENT_OR_TEMPORARY_LOOKUPS_A","applicationTypesLookupsOptions","showApplicationType","isMapLoaded","sketchTool","selectedGraphic","mapComponent","selectedPropertySubscription","selectedApplicationBpamsSubscription","getTrueCentroidSubscription","clearLayerGraphicsSubjectSubscription","loadFormsAndData","setupSubscriptions","mapLoaded","syncMapGeometries","onPermanentOrTemporaryAdvertisementSelected","advertisementFormArray","getAdvertisements","loadMap","confirmChangeFromUser","onBtnRemovePropertyClicked","propertyIndex","removeAt","onBtnRemoveFeature","featureIndex","setAdvertisementData","propertyObject","geometry","newAdvertisingFormGroup","setAdvertisingFormGroup","createAdvertisingFormGroup","getGPToolURL","formData","getGPToolFormData","getTrueCentroid","trueCentroidResponse","showApplicationTypeField","setApplicationValidators","setPropertyTrueCentroidData","geometries","controls","geom","addGeometriesOnMap","subscribeToAdvertisement","$selectedProperty","objectId","featureDataAlternateColumnName","attributes","propertyHasAlreadyBeenAddedBefore","checkIfSelectedPropertyHasAlreadyBeenAdded","featureHasAlreadyBeenAddedBefore","check","DUPLICATE_MESSAGE","featureObject","name1","name2","returnVal","entries","areaOfDisplay","streetNames","streetOrAddress","addressStreetInformation","propertyDescription","centroid","proxyUrl","gpToolUrl","arcGIS","servicesURL","GEO_PROCESSING","GET_TRUE_CENTROID","GP_SERVER","EXECUTE","FormData","append","newFormGroup","advertisementsArray","results","clear","formGroup","setValidators","addTemporaryAdvertisementFieldsValidators","addPermanentAdvertisementFieldsValidators","handleTemporaryApplicationSelected","handlePermanentApplicationSelected","initializeSketchTools","getMapTool","expandWidget","on","state","handleSketchComplete","sketchGraphicsLayer","removeAll","graphic","setMapToolsForTemporaryAdvertisement","create","visibleElements","POLYGON_SKETCH_TOOLS_OPTIONS","setMapToolsForPermanentAdvertisement","POINT_SKETCH_TOOLS_OPTIONS","canContinueMakingChanges","resetLocationDetails","removeGraphicsFromMap","showMap","onGetLookupsCompleted","polygon","point","subscribeToClearGraphics","$clearLayerGraphicsSubject","clearGraphics","hideApplicationTypeField","setComponentData","advertisementControl","isAdvertisingPermanentOrTemporaryValue","geometryArc","ConvertWktToArcGisJson","shape","fromJSON","updatedAdvertisementFormGroup","getUpdatedAdvertisementFormGroup","getPropertyCentroidObservable","setAdvertisementType","setApplicationType","handleTrueCentroidResponse","TRUE_CENTROID","onApplicationTypeSelected","advertisingFormArray","selectedAdvertisementFormGroup","applicationTypeControl","applicationTypeValue","static","FEATURE_REQUIRED","FARM_NO_TEXT_PLACEHOLDER","INVALID_OWNER_ATTRIBUTE","subdivision","farmNo","addressOrStreet","code","createTools","circle","polyline","rectangle","selectionTools","CreateApplicationDetailsBlConstants","CreateApplicationDetailsBlComponent","typeFormControlName","TYPE_FORM_CONTROL_NAME","TYPE_LABEL","tradeNameLabel","TRADE_NAME_LABEL","tradeNameFormControlName","TRADE_NAME_CONTROL","businessOwnerLabel","BUSINESS_OWNER_LABEL","businessOwnerFormControlName","BUSINESS_OWNER_CONTROL","businessOwnerHeading","BUSINESS_OWNER_HEADING","businessOwnerDisableFilterBy","businessOwnerDisableEditing","businessOwnerGroups","APPLICATION_TYPE_LOOKUP_NAME","businessOwnerGroup","updateFormData","tradeName","businessOwner","CreateApplicationLocationBlConstants","CreateApplicationLocationBlComponent","active","propertiesForm","erfNoControl","ERF_NO_CONTROL","propertiesFormGroupName","PROPERTIES_FORM_GROUP_NAME","propertiesFormControlName","PROPERTIES_FORM_CONTROL","subdivisionControl","SUBDIVISION_CONTROL","allotmentControl","ALLOTMENT_CONTROL","farmNoControl","FARM_NO_CONTROL","sgCodeControl","SG_CODE_CONTROL","addressControl","ADDRESS_CONTROL","unitNumberControl","UNIT_NUMBER_CONTROL","shopNumberControl","SHOP_NUMBER_CONTROL","titleDeedNumberControl","TITLE_DEED_NUMBER_CONTROL","titleDeedDescriptionNumberControl","TITLE_DEED_DESCRIPTION_CONTROL","erfNoTextPlaceHolder","ERF_NO_TEXT_PLACEHOLDER","subdivisionTextPlaceHolder","SUBDIVISION_TEXT_PLACEHOLDER","allotmentTextPlaceHolder","ALLOTMENT_TEXT_PLACEHOLDER","farmNoTextPlaceHolder","sgCodeTextPlaceHolder","SG_CODE_TEXT_PLACEHOLDER","addressTextPlaceHolder","ADDRESS_TEXT_PLACEHOLDER","unitNumberPlaceHolder","UNIT_NUMBER_PLACEHOLDER","erfSizeTextPlaceHolder","ERF_SIZE_TEXT_PLACEHOLDER","shopNumberTextPlaceHolder","SHOP_NUMBER_TEXT_PLACEHOLDER","titleDeedNumberTextPlaceHolder","TITLE_DEED_NUMBER_TEXT_PLACEHOLDER","nameOfAccommodationTextPlaceholder","NAME_OF_ACCOMMODATION_TEXT_PLACEHOLDER","nameOfAccommodationControl","NAME_OF_ACCOMMODATION_CONTROL","titleDeedDescriptionTextPlaceHolder","TITLE_DEED_DESCRIPTION_TEXT_PLACEHOLDER","removePropertyLabel","REMOVE_PROPERTY_LABEL","subdivisionControlRequired","farmNoControlRequired","erfNoControlRequired","LAYER_REF","hasLoadedApplicationProperties","getProperties","actionPropertyEnabled","onBtnRemoveSelectedPropertyClicked","updateRequiredFields","propertyControl","markAsUntouched","subscribeToProperty","updateComponentData","tabIndex","properties","savedProperty","newPropertyFormGroup","getUpdatedPropertiesFormGroup","updatePropertyIds","setPropertyData","sgCode","propertyDataAlternateColumnName","newProperty","erfNo","allotment","unitNumber","shopNumber","accommodationName","titleDeedNumber","titleDeedDescription","handleAddProperty","ONLY_ONE_PROPERTY_ALLOWED","erfNumber","farmNumber","PROPERTY_REQUIRED","erfSize","CreateApplicationDetailsBpamsConstants","CreateApplicationDetailsBpamsComponent","isMinorBuildingWorkLabel","IS_MINOR_BUILDING_WORK_LABEL","sectorLabel","SECTOR_LABEL","isRDPLabel","IS_RDP_LABEL","buildingUseLabel","BUILDING_USE_LABEL","applicationTypeLabel","estimatedByLabel","APPLICATION_ESTIMATED_BY_LABEL","estimatedCostLabel","APPLICATION_ESTIMATED_COST_LABEL","previousReferenceNumberLabel","PREVIOUS_REFERENCE_NUMBER_LABEL","isResubmissionLabel","IS_RESUBMISSION_LABEL","isMinorBuildingWorkFormControlName","IS_MINOR_BUILDING_WORK_FORM_CONTROL_NAME","sectorFormControlName","SECTOR_FORM_CONTROL_NAME","isRDPFormControlName","IS_RDP_FORM_CONTROL_NAME","buildingUseFormControlName","BUILDING_USE_FORM_CONTROL_NAME","estimatedByFormControlName","APPLICATION_ESTIMATED_BY_FORM_CONTROL_NAME","estimatedCostFormControlName","APPLICATION_ESTIMATED_COST_FORM_CONTROL_NAME","previousReferenceNumberFormControlName","PREVIOUS_APPLICATION_REFERENCE_NUMBER_FORM_CONTROL_NAME","isResubmissionFormControlName","IS_RESUBMISSION_FORM_CONTROL_NAME","yesNoOptions","sectorOptions","buildingUseOptions","applicationTypeOptions","estimatedByOptions","supportResubmissions","isResubmission","yesnoenumKey","YES_NO_ENUM","buildingUse","sector","estimatedBy","setApplicationDetails","isMinorBuildingWork","isRdp","applicationEstimatedBy","applicationEstimatedCost","previousReferenceNumber","onIsResubmissionChecked","isRDP","CreateApplicationLocationBpamsConstants","AddBuildingComponent","modalTitle","addForm","cancelLabel","createLabel","CREATE_LABEL","floorLabel","FLOOR_LABEL","existingSizeLabel","EXISTING_SIZE_LABEL","addedSizeLabel","ADDED_SIZE_LABEL","buildingNameNumberLabel","BUILDING_NAME_NUMBER_LABEL","floorControlName","FLOOR_CONTROL_NAME","existingSizeControlName","EXISTING_SIZE_CONTROL_NAME","addedSizeControlName","ADDED_SIZE_CONTROL_NAME","buildingNameNumberControlName","BUILDING_NAME_NUMBER_CONTROL_NAME","floor","existingSize","addedSize","buildingNameNumber","onBtnSaveClicked","FORM_NOT_VALID","onBtnCancelClicked","FormArray","Query","PropertyBuildingHeadingEnumHeadingLookup","EditBuildingComponent","ViewApplicationLocationBpamsConstants","MapServiceConstants","CreateApplicationLocationEcConstants","RecipientUtils","CreateApplicationLocationBpamsComponent","ownersComponentRef","descriptionLabel4","DESCRIPTION_LABEL_4","propertyApplicationDetailsLabel","PROPERTY_APPLICATION_DETAILS_LABEL","erfSizeControl","ERF_SIZE_CONTROL","titleDeedControl","TITLE_DEED_CONTROL","zoneControl","ZONE_CONTROL","ownerControl","OWNER_CONTROL","titleDeedTextPlaceHolder","TITLE_DEED_TEXT_PLACEHOLDER","zoneLabel","ZONE_LABEL","addZoneLabel","ADD_ZONE_LABEL","ownerLabel","OWNER_LABEL","copyOwnerLabel","COPY_OWNER_LABEL","propertyHeadingLabel","PROPERTY_HEADING_LABEL","ownerDisableFilterBy","ownerDisableAdd","ownerDisableEditing","ownerShowGroupsDropdown","ownerGroups","ownerListLabel","fullApplicationCheckRequired","showOnlyPropertyAndZoningLayers","titleDeedRestrictionsTextPlaceHolder","TITLE_DEED_RESTRICTION_LABEL","titleDeedRestrictionsControl","TITLE_DEED_RESTRICTION_CONTROL","propertyDescriptionTextPlaceHolder","propertyDescriptionControl","PROPERTY_DESCRIPTION_CONTROL","externalWallsTextPlaceHolder","EXTERNAL_WALLS_LABEL","internalWallsTextPlaceHolder","INTERNAL_WALLS_LABEL","roofingTextPlaceHolder","ROOFING_LABEL","numberOfHousesUnitsTextPlaceHolder","NUMBER_OF_HOUSES_UNITS_LABEL","externalWallsControl","EXTERNAL_WALLS_CONTROL","internalWallsControl","INTERNAL_WALLS_CONTROL","roofingControl","ROOFING_CONTROL","numberOfHousesUnitsControl","NUMBER_OF_HOUSES_UNITS_CONTROL","buildingDetailsLabel","BUILDING_DETAILS_LABEL","mainBuildingLabel","MAIN_BUILDING_LABEL","outBuildingLabel","OUT_BUILDING_LABEL","buildingTotalLabel","BUILDING_TOTAL_LABEL","stoepLabel","STOEP_LABEL","miscellaneousLabel","MISCELLANEOUS_LABEL","totalExistingPlaceHolder","TOTAL_EXISTING_LABEL","totalAddedTextPlaceHolder","TOTAL_ADDED_LABEL","totalFloorAreaTextPlaceHolder","TOTAL_FLOOR_AREA_LABEL","totalExistingControl","TOTAL_EXISTING_CONTROL","totalAddedControl","TOTAL_ADDED_CONTROL","totalFloorAreaControl","TOTAL_FLOOR_AREA_CONTROL","coveredExistingTextPlaceHolder","COVERED_EXISTING_LABEL","coveredAddedTextPlaceHolder","COVERED_ADDED_LABEL","openExistingTextPlaceHolder","OPEN_EXISTING_LABEL","openAddedTextPlaceHolder","OPEN_ADDED_LABEL","totalExistingPatioTextPlaceHolder","TOTAL_EXISTING_PATIO_LABEL","totalAddedPatioTextPlaceHolder","TOTAL_ADDED_PATIO_LABEL","coveredExistingControl","COVERED_EXISTING_CONTROL","coveredAddedControl","COVERED_ADDED_CONTROL","openExistingControl","OPEN_EXISTING_CONTROL","openAddedControl","OPEN_ADDED_CONTROL","totalExistingPatioControl","TOTAL_EXISTING_PATIO_CONTROL","totalAddedPatioControl","TOTAL_ADDED_PATIO_CONTROL","poolTextPlaceHolder","POOL_LABEL","boundaryWallHeightTextPlaceHolder","BOUNDARY_WALL_HEIGHT_LABEL","boundaryWallRunningTextPlaceHolder","BOUNDARY_WALL_RUNNING_LABEL","coverageTextPlaceHolder","COVERAGE_LABEL","bulkCalculationTextPlaceHolder","BULK_CALCULATION_LABEL","calculationsLabel","CALCULATIONS_LABEL","poolControl","POOL_CONTROL","boundaryWallHeightControl","BOUNDARY_WALL_HEIGHT_CONTROL","boundaryWallRunningControl","BOUNDARY_WALL_RUNNING_CONTROL","coverageControl","COVERAGE_CONTROL","bulkCalculationControl","BULK_CALCULATION_CONTROL","editLabel","EDIT_LABEL","removeDialogTitle","REMOVE_DIALOG_TEXT","removeMainContent","REMOVE_MESSAGE","removeOutContent","selectPromptMessage","selectOneDocMessage","zoneOptions","externalWallsOptions","internalWallsOptions","roofingOptions","mainTableMapper","outTableMapper","applicantGroups","missingZoneTuple","missingZoneList","modalOptions","selectedApplicationPropertyId","showForm","selectedApplicationLocationBpamsSubscription","sendMissingLookupsEmailSubscription","checkAndInitialiseLookups","destroyMap","ownerGroup","applicantGroup","getZones","updatePropertyRequiredFields","onBtnRemoveZoneClicked","zoneIndex","onBtnAddZoneClicked","zonesControl","zoneGroup","zone","onBtnRemoveMainClicked","mainTableSelection","mainTableDataSource","itemsAlreadyOnTable","getValue","deletedIndex","delIndex","findIndex","allItems","syncMainBuildings","res","onBtnEditMainClicked","building","editedIndex","updatedbuilding","onBtnAddMainClicked","newBuilding","onBtnRemoveOutClicked","outTableSelection","outTableDataSource","syncOutBuildings","onBtnEditOutClicked","updatedBuilding","onBtnAddOutClicked","getMissingZones","sendEmailMissingLookupForZones","zones","count","MISSING_ZONE_LABEL","MISSING_ZONE_LABEL_EMAIL","mainArrayReturned","array","outArrayReturned","formItems","newItem","calculateTotals","totalExistingPatioCalculated","totalAddedPatioCalculated","totalExistingCalculated","totalAddedCalculated","totalFloorCalculated","totalGroundFloorCalculated","patioCoverageExisting","patioOpenExisting","patioCoverageAdded","patioOpenAdded","mainBuildings","outBuildings","totalCoveredPatio","totalCoveredArea","totalFloorArea","covered","bulkCalculation","round","formControl","syncMainBuildingsOnGet","PropertyFormGroup","syncOutBuildingsOnGet","subscribeToClearMapGraphics","onGetSelectedApplication","titleDeed","min","owners","titleDeedRestrictions","externalWalls","internalWalls","roofing","numberOfHousesUnits","totalExisting","totalAdded","coveredExisting","coveredAdded","openExisting","openAdded","totalExistingPatio","totalAddedPatio","pool","boundaryWallHeight","boundaryWallRunning","coverage","roofings","setHasLoadedLookups","sortLookups","loadExistingProperty","propertiesFormArray","tempId","zoningLayerObj","userMaps","selectionLayerType","PROPERTY_ZONING_LAYER","zoningLayer","zoningQuery","where","returnGeometry","outFields","queryFeatures","zoneFeatureSet","features","foundZone","zoneItem","ZONING_NOT_FOUND","INVALID_ZONING_ATTRIBUTE","zoningError","$missingLookupsForZones","missingLookupsForZones","applicationDescription","applicationRestrictions","numberOfHouses","patioCoveredExisting","patioCoveredAdded","zonings","zoneOption","zoning","applicationPropertyId","deleted","mainItems","outItems","buildings","calculateTotalsOnGet","checkIfPropertyIsAlreadyLoaded","MISSING_LOOKUP_EMAIL_REQUEST_URL","lookupType","lookupList","sendMissingLookupsEmail","MISSING_ZONE_LABEL_EMAIL_FAILED","Selecting","replaceData","onCopyOwnerToApplicant","ownersControl","selectedOwners","NO_OWNERS_SELECTED_MESSAGE","MULTIPLE_OWNERS_SELECTED_MESSAGE","buildApplicantStringForUserSettings","MISSING_ZONE_EMAIL_SUBJECT","MISSING_ZONE_EMAIL_CONTENT","TOTAL_LABEL","REMOVE_TITLE","COPY_OWNER_TO_APPLICANT_SUCCESS_MESSAGE","editForm","UPDATE_LABEL","PropertyBuildingHeadingEnum","Floor","ExistingSize","AddedSize","BuildingNameNumber","RecipientService","CreateApplicationProfessionalBodiesBpamsConstants","take","forkJoin","CreateApplicationProfessionalBodiesBpamsComponent","recipientService","architectRecipientComponent","engineerRecipientComponent","contractorRecipientComponent","fireConsultantRecipientComponent","otherProfessionalRecipientComponent","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","markFireConsultantAsRequiredLabel","MARK_FIRE_CONSULTANT_AS_REQUIRED_LABEL","markFireConsultantAsRequiredFormControlName","MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","copyApplicantDetailsToFireConsultantLabel","COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_LABEL","copyApplicantDetailsToFireConsultantFormControlName","COPY_APPLICANT_DETAILS_TO_FIRE_CONSULTANT_FORM_CONTROL_NAME","markOtherProfessionalAsRequiredLabel","MARK_OTHER_PROFESSIONAL_AS_REQUIRED_LABEL","markOtherProfessionalAsRequiredFormControlName","MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","copyApplicantDetailsToOtherProfessionalLabel","COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_LABEL","copyApplicantDetailsToOtherProfessionalFormControlName","COPY_APPLICANT_DETAILS_TO_OTHER_PROFESSIONAL_FORM_CONTROL_NAME","architectFormControlName","ARCHITECT_FORM_CONTROL_NAME","engineerFormControlName","ENGINEER_FORM_CONTROL_NAME","contractorFormControlName","ELECTRICAL_CONTRACTOR_FORM_CONTROL_NAME","fireConsultantFormControlName","FIRE_CONSULTANT_FORM_CONTROL_NAME","otherProfessionalFormControlName","OTHER_PROFESSIONAL_FORM_CONTROL_NAME","showArchitect","showEngineer","showElectricalContractor","showSACAPOptions","showFireConsultant","showOtherProfessional","showArchitectRequiredCheckbox","architectDisableFilterBy","architectDisableEditing","architectShowFields","architectGroups","architectLabel","ARCHITECT_LABEL","architectShowGroupsDropdown","architectIsRequiredChecked","engineerDisableFilterBy","engineerDisableAdd","engineerDisableEditing","engineerShowFields","engineerIsInternal","engineerGroups","engineerLabel","ENGINEER_LABEL","engineerShowGroupsDropdown","engineerIsRequiredChecked","fireConsultantDisableFilterBy","fireConsultantDisableAdd","fireConsultantDisableEditing","fireConsultantShowFields","fireConsultantIsInternal","fireConsultantGroups","fireConsultantLabel","FIRE_CONSULTANT_LABEL","fireConsultantShowGroupsDropdown","fireConsultantIsRequiredChecked","otherProfessionalDisableFilterBy","otherProfessionalDisableAdd","otherProfessionalDisableEditing","otherProfessionalShowFields","otherProfessionalIsInternal","otherProfessionalGroups","otherProfessionalLabel","OTHER_PROFESSIONAL_LABEL","otherProfessionalShowGroupsDropdown","otherProfessionalIsRequiredChecked","contractorDisableFilterBy","contractorDisableAdd","contractorDisableEditing","contractorShowFields","contractorIsInternal","contractorGroups","contractorLabel","ELECTRICAL_CONTRACTOR_LABEL","contractorShowGroupsDropdown","contractorIsRequiredChecked","savedArchitect","savedEngineer","savedFireConsultant","savedOtherProfessional","savedContractor","authUserDetails","getApplicantData","initialiseDefaultValues","getAuthUserInformation","architectGroup","engineerGroup","electricalContractorGroup","fireConsultantGroup","otherProfessionalGroup","enableSACAPLookup","configureProfBodiesForSACAP","onMarkArchitectAsRequired","architectIsRequired","onMarkEngineerAsRequired","engineerIsRequired","onMarkFireConsultantAsRequired","fireConsultantIsRequired","onMarkOtherProfessionalAsRequired","otherProfessionalIsRequired","onMarkElectricalContractorAsRequired","contractorIsRequired","onCopyApplicantToArchitect","copyApplicantDataChecked","applicantData","architect","onCopyApplicantToEngineer","engineer","onCopyApplicantToFireConsultant","fireConsultant","onCopyApplicantToOtherProfessional","otherProfessional","onCopyApplicantToElectricalContractor","electricalContractor","markFormControlsAsTouched","sacapno","sacapRegistrationNumber","sacapverified","sacapRegistrationNumberVerified","syncProfBodiesIsRequiredCheckBoxes","syncArchitectIsRequiredCheckBoxes","syncEngineerIsRequiredCheckBoxes","syncElectricalConstructorIsRequiredCheckBoxes","syncFireConsultantIsRequiredCheckBoxes","syncOtherProfessionalIsRequiredCheckBoxes","markAsDirty","architectNotApplicable","architectNa","engineerIsNotApplicable","engineerNa","fireConsultantIsNotApplicable","fireConsultantNa","otherProfessionalIsNotApplicable","otherProfessionalNa","electricalContractorIsNotApplicable","electricalContractorNa","populateProfessionalBodiesForms","populateArchitect","populateEngineer","populateElectricalContractor","populateFireConsultant","populateOtherProfessional","architectControl","group","requiredFields","engineerControl","fireConsultantControl","otherProfessionalControl","electricalContractorControl","getProfBodiesData","architectID","architectId","engineerID","engineerId","contractorID","electricalContractorId","getProfessionalBodiesId","getArchitectDataFromUserSettings","architectAgentParams","engineerParams","contractorParams","getRecipientsObservable","professionalBodies","showProfBodiesBasedOnCurrentFormStatus","applicantID","applicantId","getApplicantByApplicantId","recipients","$authenticatedUser","authUSer","authUserId","getApplicantDataFromUserSettings","userSettingList","userSettingData","recipientData","copyControl","CreateBurialDetailsCmConstants","ViewDeceasedDetailsCmConstant","CreateBurialDetailsCmComponent","burialTypeControl","BURIAL_TYPE_CONTROL","burialTypeLabel","BURIAL_TYPE_LABEL","burialDateControl","BURIAL_DATE_CONTROL","burialDateLabel","BURIAL_DATE_LABEL","burialTypePlaceHolder","BURIAL_TYPE_PH","burialDescriptionControl","DESCRIPTION_CONTROL","burialDescriptionLabel","dropdownPlaceHolder","burialTypes","selectedApplicationCmSubscription","getLookupsObservableSubscripiton","loadLookup","appId","markAsTouched","burialDate","dateString","DATE_CONST","lookupValues","lp","checkBurialDate","selectedDate","numberOfDays","burialDateWarning","warningDate","getBusinessDates","setErrors","currentDate","dayOfWeek","getDay","setDate","getDate","burialType","CreateDeceasedDetailsCmConstant","CreateDeceasedDetailsCmComponent","deceasedFormGroupName","DECEASED_FORM_GROUP_NAME","nameControl","NAME_CONTROL","surnameControl","SURNAME_CONTROL","startDateControl","START_DATE_CONTROL","nameLabel","NAME_LABEL","surnameLabel","SURNAME_LABEL","startDateLabel","START_DATE_LABEL","sexLabel","SEX_LABEL","nationalityLabel","NATIONALITY_LABEL","maidenNameLabel","MAIDEN_NAME_LABEL","placeOfBirthLabel","PALCE_OF_BIRTH_LABEL","placeOfDeathLabel","PLACE_OF_DEATH_LABEL","provinceOfDeathLabel","PROVINCE_OF_DEATH_LABEL","identificationTypeLabel","IDENTITY_TYPE_LABEL","idNumberLabel","ID_PASSPORT_NUMBER_LABEL","dateOfDeathLabel","DATE_OF_DEATH_LABEL","dateOfBirthLabel","DATE_OF_BIRTH_LABEL","burialOrderNumberLabel","BURIAL_ORDER_LABEL","serialNumenerLabel","SERIAL_NUMBER_LABEL","verticalPositionLabel","VERTICAL_POSITION_LABEL","undertakerLabel","NAME_OF_THE_UNDERTAKER_LABEL","sexControl","SEX_CONTROL","nationalityControl","NATIONALITY_CONTROL","maidenNameControl","MAIDEN_NAME_CONTROL","placeOfBirthControl","PALCE_OF_BIRTH_CONTROL","placeOfDeathControl","PLACE_OF_DEATH_CONTROL","provinceOfDeathControl","PROVINCE_OF_DEATH_CONTROL","identificationTypeControl","IDENTITY_TYPE_CONTROL","idNumberControl","ID_PASSPORT_NUMBER_CONTROL","dateOfDeathControl","DATE_OF_DEATH_CONTROL","dateOfBirthControl","DATE_OF_BIRTH_CONTROL","burialOrderNumberControl","BURIAL_ORDER_CONTROL","serialNumberControl","SERIAL_NUMBER_CONTROL","verticalPositionControl","VERTICAL_POSITION_CONTROL","undertakerControl","NAME_OF_THE_UNDERTAKER_CONTROL","DECEASED_DETAILS_TITLE","sexPh","SEX_PH","nationalityPh","NATIONALITY_PH","provinceOfDeathPh","PROVINCE_OF_DEATH_PH","identityTypePh","IDENTITY_TYPE_PH","verticalPositionPh","VERTICAL_POSITION_PH","deceasedForm","nationalityLookup","COUNTRIES","provinceLookup","PROVINCE","dateofBirth","identificationTypeLookup","sexLookup","verticalPositionLookup","deceasedNameList","deceasedNamesControl","lookupConst","IdentificationType","Sex","VerticalPosition","nationalityControlRequired","identificationTypeControlRequired","idNumberControlRequired","dateOfBirthControlRequired","placeOfBirthControlRequired","sexControlRequired","burialOrderNumberControlRequired","verticalPositionControlRequired","selectedApplicationCreateCmSubscription","getApplicationsSubscription","deceasedNameListSubscription","deceasedNameListObservable","loadLookups","checkSave","onCleanFormEvent","editnamesEvent","addnamesEvent","startDate","deceased","sex","nationality","maidenName","placeOfBirth","placeOfDeath","provinceOfDeath","idType","idNumber","dateOfBirth","dateOfDeath","burialOrderNumber","serialNo","verticalPosition","undertaker","deceasedNames","intDataSource","enableDropdowns","app","getApplicationDeceasedDetails","idTypeChanged","pattern","updateDateOfBirth","dateValue","savedApplication","getApplicationsQuery","updatedApplication","resp","sch","el","surname","TABLE_LABEL","ACTION_LABEL","DELETE_ITEM_TITLE","DELETE_DECEASED_NAME_CONFIRM","SHORT_DATE_CONST","ADD_DECEASED_NAME_LBEL","EDIT_DECEASED_NAME_LBEL","REMOVE_DECEASED_NAME_LBEL","identificationType","wrong","DeceasedNamesTableHeaderEnum","DeceasedNamesTableHeaderLookup","StartDate","CreateFamillyMemberConstant","FAMILY_CONTROL","FAMILY_LABEL","COPY_APPLICANT_TO_FAMILY_LABEL","DUPLICATE_APPLICANT_ERROR_MESSAGE","CreateFamilyMemberDetCmComponent","familyMemberForm","familyMemberGroups","familyMemberShowGroupsDropdown","familyMemberDisableAdd","familyMemberDisableFilterBy","familyMemberDisableEditing","familyMemberListLabel","familyMemberListControl","copyApplicantToFamilyLabel","applicants","family","selectedApplicationCreateFamilyMemberSubscription","familyGroup","onBtnCopyApplicantToFamilyClicked","groupName","GroupName","groupType","GroupType","setRecipients","f","getApplicant","refreshTableIndexes","CreateFuneralParlourConstants","CreateFuneralParlourCmComponent","appService","recipientFilterService","parlourForm","parlourFormGroupName","FUNERAL_PARLOUR_IS_NULL_FORM_GROUP_NAME","parlourLabel","NOTICE_LABEL","parlourControl","PARLOUR_CONTROL","parlourSelectControl","PARLOUR_SELECT_CONTROL","parlourPh","PLACE_HOLDER","parlourSelectLabel","PARLOUR_SELECT_LABEL","TITLE","markFpMotApplicableLabel","MARK_FUNERAL_PARLOUR_AS_NOT_APPLICABLE_LABEL","funeralParlourIsNullFormControlName","FUNERAL_PARLOUR_IS_NULL_FORM_CONTROL_NAME","parlourGroups","parlours","parlourMetadata","disableEditing","funeralParlourNotApplicableChecked","getRecipientsByGroupSubscription","getFuneralParlours","funeralParlourGroup","onSelectParlour","selectedParlour","patchValue","onFuneralParlourNotApplicable","funeralParlourIsNullable","funeralParlourNaChecked","funeralParlourNANotChecked","recipientSelect","ggroup","getRecipientsByGroup","checkCurrentApplicationForSavedFuneralParlours","syncNotApplicableCheckBox","funeralParlour","funeralParlourControl","funeralParlourSelectControl","funeralParlourId","updateNotApplicableCheckBox","funeralParlourNa","funeralParlourNotApplicable","parlourRecipientSelect","DeceasedDtailsCustomValidators","CompareDateToToday","dateOfBirthToDate","isWrong","compareAnyDateToTday","CompareDateToDateOfDeath","dateOfdeath","birthToDeathIsWrong","compareDateOfBirthToDateOfDeath","deathToTodayIsWrong","today","CreateApplicationDetailsDmConstants","CreateApplicationDetailsDmComponent","applicationTypeCtrl","TYPE_CTRL","applicationTypeLbl","TYPE_LBL","descriptionCtrl","DESCRIPTION_CTRL","descriptionLbl","DESCRIPTION_LBL","applicationTypePlaceHolder","APPLICATION_PLACE_HOLDER","selectedApplicationDmSubscription","CreateLocationDMConstants","Polygon","CreateLocationDmComponent","recipientListService","cadastralDescriptionControl","CADASTRAL_DESCRIPTION_CONTROL","rateNumberControl","RATE_NUMBER_CONTROL","existingUseControl","EXISTING_USE_CONTROL","worthyOfPreservationControl","WORTHY_OF_PRESERVATION_CONTROL","reasonControl","REASON_CONTROL","over60Control","OVER_60_CONTROL","amafaPermissionControl","AMAFA_PERMISSION_CONTROL","cadastralDescriptionTextPlaceHolder","CADASTRAL_DESCRIPTION_TEXT_PLACEHOLDER","rateNumberTextPlaceHolder","RATE_NUMBER_TEXT_PLACEHOLDER","existingUseTextPlaceHolder","EXISTING_USE_TEXT_PLACEHOLDER","worthyOfPreservationTextPlaceHolder","WORTHY_OF_PRESERVATION_TEXT_PLACEHOLDER","reasonTextPlaceHolder","REASON_TEXT_PLACEHOLDER","over60TextPlaceHolder","OVER_60_TEXT_PLACEHOLDER","amafaPermissionTextPlaceHolder","AMAFA_PERMISSION_TEXT_PLACEHOLDER","dmApplication","yes","Yes","selectedApplicationLocationDmSubscription","propertyData","checkStepMetaRecipientGroups","selectYesOrNo","syncMapExistingGeometries","applicationId","cadastralDescription","rateNumber","existingUse","worthyOfPreservation","reason","over60","amafaPermission","getPropertyOwners","ownerLayerObj","ownerLayer","ownerQuery","ownerFeatureSet","newOwner","Name","Surname","telephone","Telephone","email","Email","defaultCommunicationMethod","DefaultCommunicationMethod","postalAddress","PostalAddress","designation","Designation","organisation","Organisation","clientVatNumber","ClientVatNumber","streetAddress","StreetAddress","homePhone","Homephone","IDNumber","organisationRegistrationNumber","OrganisationRegistrationNumber","representative","Representative","fax","Fax","cellphone","Cellphone","streetSuburb","StreetSuburb","streetCity","StreetCity","streetProvince","StreetProvince","streetCode","StreetCode","postalSuburb","PostalSuburb","postalCity","PostalCity","postalProvince","PostalProvince","postalCode","PostalCode","postalCountry","PostalCountry","streetCountry","StreetCountry","professionalBody","ProfessionalBody","professionalBodyRegNum","ProfessionalBodyRegistrationNumber","pa","prop","singleFg","propertyFoemGroup","NO_APPLICANT_AVAILABLE","PROPERTY_LAYER_NAME","CreateApplicationDetailsEcConstants","CreateApplicationDetailsEcComponent","whoIsApplyingLabel","WHO_IS_APPLYING_LABEL","descriptionOfProposedWorkLabel","DESCRIPTION_OF_PROPOSED_WORK_LABEL","descriptionOfProposedWorkNote","DESCRIPTION_OF_PROPOSED_WORK_NOTE","phaseLabel","PHASE_LABEL","conventionalPrepaidLabel","CONVENTIONAL_PREPAID_LABEL","estimatedCapacityLabel","ESTIMATED_CAPACITY_LABEL","applicantTypeFormControlName","APPLICANT_TYPE_FORM_CONTROL_NAME","descriptionOfProposedWorkFormControlName","DESCRIPTION_OF_PROPOSED_WORK_FORM_CONTROL_NAME","phaseFormControlName","PHASE_FORM_CONTROL_NAME","paymentTypeControlName","PAYMENT_TYPE_CONTROL_NAME","estimatedCapacityControlName","ESTIMATED_CAPACITY_FORM_CONTROL_NAME","applicantTypes","phases","conventionalPrepaidOptions","applicantType","phase","paymentType","descriptionOfProposedWork","estimatedCapacity","APPLICANT_TYPE_LOOKUP_NAME","PHASE_LOOKUP_NAME","CONVENTIONAL_PREPAID_LOOKUP_NAME","conventionalPrepaid","CreateApplicationLocationEcComponent","buildingNameControl","BUILDING_NAME_CONTROL","floorControl","FLOOR_CONTROL","OWNER_LIST_LABEL","buildingNamePlaceHolder","BUILDING_NAME_LABEL","floorPlaceholder","ecApplication","selectedApplicationLocationEcSubscription","previousActiveIndex","buildingName","CreateApplicationProfessionalBodiesEcConstants","CreateApplicationProfessionalBodiesEcComponent","CreateApplicationDetailsGtiaComponent_1","CreateApplicationDetailsGtiaConstants","CreateApplicationDetailsGtiaComponent","detailsFormControlName","DETAILS_FORM_CONTROL_NAME","referenceNumberControlName","REFERENCE_NUMBER_CONTROL_NAME","amendmentSchemeNumberFormControlName","AMENDMENT_SCHEME_NUMBER_FORM_CONTROL_NAME","fileNumberFormControlName","FILE_NUMBER_FORM_CONTROL_NAME","applicationTypesFormControlName","APPLICATION_TYPES_FORM_CONTROL_NAME","addApplicationTypeLabel","ADD_APPLICATION_TYPE_LABEL","amendmentSchemeNumberLabel","AMENDMENT_SCHEME_NUMBER_LABEL","fileNumberLabel","FILE_NUMBER_LABEL","referenceNumberLabel","REFERENCE_NUMBER_LABEL","applicationTypeLookupName","showRefNumber","applicationTypesControl","selectedApplicationDetailsGtiaSubscription","removeControlsByIndex","setControlValue","controlName","disableControl","getApplicationTypeLookups","onBtnRemoveApplicationTypeClicked","onBtnAddApplicationTypeClicked","typeGroup","filterString","sortApplicationTypesAlphabetically","referenceNumber","fileNumber","amendmentSchemeNumber","appTypes","setTypes","typesControl","ZONES_FORM_CONTROL_NAME","ZONE_FORM_CONTROL_NAME","REZONING_APPLICATION_CONFIRMATION_CONTROL_NAME","REZONING_APPLICATION_CONFIRMATION_LABEL","REZONING_KEYWORD_REZONING","REZONING_KEYWORD_REZONE","CreateApplicationLocationGtiaConstants","CreateApplicationLocationGtiaComponent","showPropertyForm","selectedApplicationLocationGtiaSubscription","lookupResponse","sortZones","setPropertyAttributes","propertyAttributes","duplicateFound","checkIfPropertyIsADuplicate","queryZoningLayer","handleResponseAfterQueryingPropertyZoningFeatures","setPropertyTabs","clearPropertyData","getUpdatedPropertyFormGroup","updateZoneDropdown","$applicationSavedSubject","BUILDING_USE_CONTROL","BUILDING_FLOOR_AREA_CONTROL","BUILDING_USE_TEXT_PLACEHOLDER","BUILDING_FLOOR_AREA_TEXT_PLACEHOLDER","buildingFloorArea","CreateApplicationDetailsItamsConstants","InformalTradeService","CreateApplicationDetailsItamsComponent","informalTradeService","tradingGoodsLabel","TRADING_GOODS_LABEL","tradingGoodsDescriptionLabel","TRADING_GOODS_DESCRIPTION_LABEL","previousApplicationReferenceNumberLabel","PREVIOUS_APPLICATION_REFERENCE_NUMBER_LABEL","verifyReferenceNumberLabel","VERIFY_REFERENCE_NUMBER_LABEL","referenceNumberVerifiedLabel","REFERENCE_VERIFIED_LABEL","unverifiedReferenceNumberLabel","REFERENCE_NOT_VERIFIED_LABEL","tradeGoodsFormArray","TRADING_GOODS_FORM_ARRAY_NAME","tradeGoodsFormControlName","TRADING_GOODS_CONTROL_NAME","tradingGoodsFormControlName","previousApplicationValidatedFormControlName","PREVIOUS_APPLICATION_VALIDATED_CONTROL_NAME","tradingGoodsDescriptionFormControlName","TRADING_GOODS_DESCRIPTION_FORM_CONTROL_NAME","previousApplicationReferenceNumberFormControlName","PREVIOUS_APPLICATION_REFERENCE_NUMBER_CONTROL_NAME","tradersFormGroupName","TRADERS_FORM_GROUP_NAME","baysFormGroupName","BAYS_FORM_GROUP_NAME","baysFormControl","BAYS_FORM_CONTROL_NAME","tradersFormControlName","TRADERS_FORM_CONTROL_NAME","centroidFromControlName","CENTROID_FORM_CONTROL_NAME","deleteTradingGoodsLabel","REMOVE_TRADING_GOODS_LABEL","addTradingGoodsLabel","ADD_TRADING_GOODS_LABEL","tradingGoods","tradingGoodIsRequired","showPreviousApplicationReferenceNumberField","showReferenceNumberVerifiedLabel","showVerifyReferenceNumberButton","hideRemovalAndAddButton","showUnVerifiedReferenceNumberLabel","showTradingGoodsButtons","isReferenceNumberVerified","showVerifiedButton","lastSelectedTradingGood","selectedApplicationItamsSubscription","getInformalTradeApplicationObservableSubscription","previousApplicationReferenceNumber","onVerifyReferenceNumber","getApplicationByReferenceNumber","applicationTypeLookupsLoaded","tradingGoodsLookupsLoaded","TRADING_GOODS_LOOKUP_NAME","onTradingGoodsSelected","selectedTradingGood","getTradingGoods","tradingGoodsDescriptionFormControl","isDuplicateDescription","controlDescription","DUPLICATE_ERROR_DESCRIPTION","isDuplicate","DUPLICATE_ERROR_TRADE_GOODS","tradingGoodFormControl","previousApplicationReferenceNumberFormControl","resetTradingGoodsArray","onBtnAddTradingGoodsClicked","sortDropdowns","subscribeToClearApplicationVerificationSubject","ENTER_REFERENCE_NO","getInformalTradeApplicationObservable","handleApplicationFound","handleApplicationNotVerified","applicationStatus","workflowSection","applicationPercentageComplete","percentageComplete","previousApplicationReferenceNumberControl","populateTradingGoodsFieldsFromPreviousApplication","populateBaysFieldsFromPreviousApplication","populateTradersFromPreviousApplication","savedTradingGoods","tradeGoods","tradeGood","tradingGoodFormGroup","tradingGoodsDescription","enableTradingGoodsFields","resetTradingGoodsFields","resetBays","resetTraders","tradersFormGroup","tradersFormControl","traders","savedApplicationBays","bays","applicationBaysFormGroup","savedApplicationBaysFormControl","applicationBay","bay","bayNumber","baySize","setTrueCentroid","newBayFormGroup","baysFormArray","$clearApplicationVerificationSubject","clearApplicationVerificationData","onBtnRemoveTradingGoods","tradingGoodsControl","tradingGoodsGroup","tradingGoodsFormArray","savedTradeGood","tradeGoodLookupOption","tradingGroupForm","CreateApplicationLocationItamsConstants","CreateApplicationLocationItamsComponent","baysForm","previousApplicationValidated","baysFormControlName","BAYS_FORM_CONTROL","bayNumberControl","BAY_NUMBER_CONTROL","baySizeControl","BAY_SIZE_CONTROL","bayNumberPlaceHolder","BAY_NUMBER_PLACEHOLDER","baySizeTextPlaceHolder","BAY_SIZE_TEXT_PLACEHOLDER","removeBayLabel","REMOVE_BAY_LABEL","selectedBaySubscription","selectedApplicationLocationItamsSubscription","getBays","isPreviousApplicationValidated","actionBayEnabled","onBtnRemoveSelectedBayClicked","bayIndex","subscribeToSelectedBaysOnTheMap","CLEARED_VALIDATION_MESSAGE","$selectedBay","selectedMapFeature","setBayData","bayObject","applicationValidated","newBay","bayControl","savedApplicationBaysFormArray","bayFormArray","BAY_REQUIRED","CreateApplicationStakeholdersItamsConstants","CreateApplicationStakeholdersItamsComponent","tradersForm","disableTraderRecipientFilter","traderConfigurableLabel","traderDisableAddButton","traderRecipientGroups","traderDisableEditButton","traderDisableDeleteButton","TRADERS_CONTROL_NAME","traderLabel","TRADER_LABEL","traderFormControlName","TRADER_FORM_ARRAY_NAME","subscribeToSelectedModuleName","getTraders","traderGroup","getTradersControl","STAKEHOLDERS_HEADER","recipientArray","onGetTradersCompleted","tradersControl","TRADERS_LOOKUP_NAME","CreateApplicationDetailsPlamsConstants","PropertyAndLeaseService","CreateApplicationDetailsPlamsComponent","propertyAndLeaseService","leaseLabel","LEASE_LABEL","drawPolyonLabel","DRAW_POLYGON_LABEL","polygonDrawnLabel","POLYGON_DRAWN_LABEL","leaseTypeLabel","LEASE_TYPE_LABEL","leaseReasonTypeLabel","LEASE_REASON_LABEL","leaseUseLabel","LEASE_USE_LABEL","leaseRentalAgreementLabel","LEASE_RENTAL_AGREEMENT_LABEL","leaseStartDateLabel","LEASE_START_DATE_LABEL","leaseEndDateLabel","LEASE_END_DATE_FORM_LABEL","lesseeTypeTypeLabel","LESSEE_TYPE_LABEL","lesseeLabel","LESSEE_LABEL","alienationLabel","ALIENATION_LABEL","saleAmountLabel","SALE_AMOUNT_LABEL","dateofDeedTransferLabel","DATE_OF_DEED_TRANSFER_LABEL","evaluationAmountLabel","EVALUATION_AMOUNT_LABEL","acquisitionLabel","ACQUISITION_LABEL","buyerLabel","BUYER_LABEL","sellerLabel","SELLER_LABEL","leaseTypeFormControlName","LEASE_TYPE_FORM_CONTROL_NAME","leaseReasonFormControlName","LEASE_REASON_FORM_CONTROL_NAME","leaseUseFormControlName","LEASE_USE_FORM_CONTROL_NAME","leaseRentalAgreementFormControlName","LEASE_RENTAL_AGREEMENT_FORM_CONTROL_NAME","leaseStartDateFormControlName","LEASE_START_DATE_FORM_CONTROL_NAME","leaseEndDateFormControlName","LEASE_END_DATE_FORM_CONTROL_NAME","lesseeTypeFormControlName","LESSEE_TYPE_FORM_CONTROL_NAME","lesseeFormControlName","LESSEE_FORM_CONTROL_NAME","saleAmountAlienationFormControlName","SALE_AMOUNT_ALIENATION_FORM_CONTROL_NAME","dateofDeedAlienationTransferFormControlName","DATE_OF_DEED_TRANSFER_ALIENATION_FORM_CONTROL_NAME","evaluationAmountAlienationFormControlName","EVALUATION_AMOUNT_ALIENATION_FORM_CONTROL_NAME","buyerFormControlName","BUYER_FORM_CONTROL_NAME","saleAmountFormControlName","SALE_AMOUNT_FORM_CONTROL_NAME","dateofDeedTransferFormControlName","DATE_OF_DEED_TRANSFER_FORM_CONTROL_NAME","evaluationAmountFormControlName","EVALUATION_AMOUNT_FORM_CONTROL_NAME","sellerFormControlName","SELLER_FORM_CONTROL_NAME","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","requiredClass","CLASS_REQUIRED_TEXT","requiredText","REQUIRED_TEXT_INDICATOR","descriptionPlaceholder","inputID","CLASS_DESCRIPTION_TEXT","selectedApplicationRcSubscription","selectedApplicationAppSubscription","getApplicants","lesseeGroup","buyerGroup","sellerGroup","saleAmount","evaluationAmount","dateOfDeedTransfer","getBuyers","leaseType","leaseReason","leaseUse","leaseRentalAgreementAmount","leaseEndDate","leaseLesseeType","leaseAreas","getLessees","getSellers","getLesseesObservable","onGetLesseesCompleted","lesseeControl","getSellersObservable","onGetSellersCompleted","sellerControl","getBuyersObservable","onGetBuyersCompleted","buyerControl","TRANSFERRING_ATTORNEY_LABEL","TRANSFERRING_ATTORNEY_FORM_CONTROL_NAME","leaseStartDate","lesseeType","dateofDeedTransfer","CreateApplicationLocationPlamsConstants","GeometryUtils","geometryEngine","CreateApplicationLocationPlamsComponent","descriptionLabel5","DESCRIPTION_LABEL_5","applicationControl","APPLICATION_TYPE_CONTROL","zoningControl","ZONING_CONTROL","streetNumberControl","STREET_NO_CONTROL","streetNameControl","STREET_NAME_CONTROL","townControl","TOWN_CONTROL","applicationSelectLabel","APPLICATION_TYPE_PLACEHOLDER","dropdownApplicationPlaceholder","zoningControlTextPlaceHolder","ZONING_TEXT_PLACEHOLDER","streetNumberTextPlaceHolder","STREET_NO_TEXT_PLACEHOLDER","streetNameTextPlaceHolder","STREET_NAME_TEXT_PLACEHOLDER","townTextPlaceHolder","TOWN_TEXT_PLACEHOLDER","existingApplication","sketch","leaseGraphic","hasLoadedLookups","hasSavedLeaseArea","selectedApplicationDetailsRcSubscription","hasLoadedLookupsAsObservable","$removeAllMapToolGraphics","mapToolGraphicsRemoved","showPopups","propertyGeom","union","within","LEASE_AREA_OUTSIDE_SELECTED_PROPERTY_MESSAGE","NO_PROPERTIES_SELECTED_MESSAGE","LEASE_AREA_EXISTS_MESSAGE","mapGeometryToDTO","numProps","streetNumber","streetName","town","applicationTypeChanged","collapseWidget","cancel","leaseGeom","PROPERTY_ID_CONTROL","CreateApplicationDetailsRcConstants","CreateApplicationDetailsRcComponent","reasonForApplicationLabel","REASON_FOR_APPLICATION","typeOfTransferLabel","TYPE_OF_TRANSFER_LABEL","propertyTypeLabel","PROPERTY_TYPE_LABEL","ratesAccountNumberLabel","RATES_ACCOUNT_NUMBER_LABEL","electronicReferenceLabel","ELECTRONIC_REFERENCE_LABEL","attorneyReferenceLabel","ATTORNEY_REFERENCE_LABEL","councilReferenceLabel","COUNCIL_REFERENCE_LABEL","reasonForApplicationFormControlName","REASON_FOR_APPLICATION_CONTROL_NAME","typeOfTransferFormControlName","TYPE_OF_TRANSFER_CONTROL_NAME","propertyTypeFormControlName","PROPERTY_TYPE_CONTROL_NAME","ratesAccountNumberFormControlName","RATES_ACCOUNT_NUMBER_CONTROL_NAME","electronicReferenceFormControlName","ELECTRONIC_REFERENCE_CONTROL_NAME","attorneyReferenceFormControlName","ATTORNEY_REFERENCE_CONTROL_NAME","councilReferenceFormControlName","COUNCIL_REFERENCE_CONTROL_NAME","typeOfTransferLookupOptions","populateApplicationDetailsData","typeOfTransfer","reasonForApplication","propertyType","ratesAccountNumber","electronicReference","attorneyReference","councilReference","CreateApplicationLocationRcConstants","CreateApplicationLocationRcComponent","recipientSelectService","sectionalTitleSchemeNameControl","SECTIONAL_TITLE_SCHEME_NAME_CONTROL","sectionalTitleSchemeNumberControl","SECTIONAL_TITLE_SCHEME_NUMBER_CONTROL","sectionalTitleSchemeUnitControl","SECTIONAL_TITLE_SCHEME_UNIT_CONTROL","extentControl","EXTENT_CONTROL","purchasePriceControl","PURCHASE_PRICE_CONTROL","dateOfSaleControl","DATE_OF_SALE_CONTROL","electricityAccountNumberControl","ELECTRICITY_ACCOUNT_NUMBER_CONTROL","waterAccountNumberControl","WATER_ACCOUNT_NUMBER_CONTROL","refuseAccountNumberControl","REFUSE_ACCOUNT_NUMBER_CONTROL","managingAgentControl","MANAGING_AGENT_CONTROL","titleDeedNumberLabel","TITLE_DEED_NUMBER_LABEL","zoningLabel","ZONING_LABEL","sectionalTitleSchemeNameLabel","SECTIONAL_TITLE_SCHEME_NAME_LABEL","sectionalTitleSchemeNumberLabel","SECTIONAL_TITLE_SCHEME_NUMBER_LABEL","sectionalTitleSchemeUnitLabel","SECTIONAL_TITLE_SCHEME_UNIT_LABEL","extentLabel","EXTENT_LABEL","purchasePriceLabel","PURCHASE_PRICE_LABEL","dateOfSaleLabel","DATE_OF_SALE_LABEL","electricityAccountNumberLabel","ELECTRICITY_ACCOUNT_NUMBER_LABEL","waterAccountNumberLabel","WATER_ACCOUNT_NUMBER_LABEL","refuseAccountNumberLabel","REFUSE_ACCOUNT_NUMBER_LABEL","MODAL_OPTION","managingAgentDisableFilterBy","managingAgentDisableEditing","managingAgentGroups","managingAgentLabel","managingAgentGroup","sectionalTitleSchemeName","sectionalTitleSchemeNumber","sectionalTitleSchemeUnit","extent","purchasePrice","dateOfSale","electricityAccountNumber","waterAccountNumber","refuseAccountNumber","managingAgent","setPropertyZoning","propertiesArray","featureControl","featureFormGroup","createPropertyFormGroup","MANAGING_AGENT_LABEL","MODAL_SIZE","extraLarge","CreateApplicationDetailsSnConstants","CreateApplicationDetailsSnComponent","DESCRIPTION_FORM_LABEL","APPLICATION_TYPE_FORM_LABEL","applicationTypeLookoutName","APPLICATION_TYPE_LOOKOUT_NAME","CreateApplicationLocationSnConstants","CreateApplicationLocationSnComponent","locationForm","NO_OPTION_SELECTED","showPrivateStreetAreaOrEstateNameField","showCurrentNameField","showFeatureTypeField","showRequiredAsteriskForTheAreaEstateNameField","showRequiredAsteriskForTheCurrentNameField","streetOrFeatureLookUps","STREET_OR_FEATURE_LOOKUPS","publicOrPrivateLookUps","PUBLIC_OR_PRIVATE_LOOKUPS","isNewDevelopmentLookUps","IS_NEW_DEVELOPMENT_LOOKUPS","haveExistingNameLookUps","HAVE_EXISTING_NAME_LOOKUPS","streetOrFeatureLabel","STREET_OR_FEATURE_LABEL","removeFeatureLabel","REMOVE_FEATURE_LABEL","publicOrPrivateLabel","PUBLIC_OR_PRIVATE_LABEL","privateStreetAreaOrEstateNameLabel","PRIVATE_STREET_AREA_OR_ESTATE_NAME_LABEL","isNewDevelopmentLabel","IS_NEW_DEVELOPMENT_NAME_LABEL","haveExistingNameLabel","HAVE_EXISTING_NAME_LABEL","currentNameLabel","CURRENT_NAME_LABEL","locationDescriptionLabel","LOCATION_DESCRIPTION_LABEL","wardLabel","WARD_LABEL","proposedNameLabel","PROPOSED_NAME_LABEL","proposedNameLanguageLabel","PROPOSED_NAME_LANGUAGE_LABEL","proposedNameMeaningLabel","PROPOSED_NAME_MEANING_LABEL","proposedNameOriginLabel","PROPOSED_NAME_ORIGIN_LABEL","proposedAlternativeNameLabel","PROPOSED_ALTERNATIVE_NAME_LABEL","languageOfTheAlternativeNameLabel","LANGUAGE_OF_THE_ALTERNATIVE_NAME_LABEL","meaningAlternativeNameLabel","MEANING_OF_THE_ALTERNATIVE_NAME_LABEL","featureTypeLabel","FEATURE_TYPE_LABEL","reasonForChangeLabel","REASON_FOR_CHANGE_LABEL","featuresFormArrayName","FEATURES_FORM_ARRAY_NAME","locationFormGroupName","LOCATION_FORM_GROUP_NAME","streetOrFeatureFormControlName","STREET_OR_FEATURE_FORM_CONTROL_NAME","publicOrPrivateFormControlName","PUBLIC_OR_PRIVATE_FORM_CONTROL_NAME","privateStreetAreaOrEstateNameFormControlName","PRIVATE_STREET_AREA_OR_ESTATE_NAME_FORM_CONTROL_NAME","isNewDevelopmentFormControlName","IS_NEW_DEVELOPMENT_FORM_CONTROL_NAME","haveExistingNameFormControlName","HAVE_EXISTING_NAME_FORM_CONTROL_NAME","currentNameFormControlName","CURRENT_NAME_FORM_CONTROL_NAME","locationDescriptionFormControlName","LOCATION_DESCRIPTION_FORM_CONTROL_NAME","wardFormControlName","WARD_FORM_CONTROL_NAME","proposedNameFormControlName","PROPOSED_NAME_FORM_CONTROL_NAME","proposedNameLanguageFormControlName","PROPOSED_NAME_LANGUAGE_FORM_CONTROL_NAME","proposedNameMeaningFormControlName","PROPOSED_NAME_MEANING_FORM_CONTROL_NAME","proposedAlternativeNameFormArrayName","PROPOSED_ALTERNATIVE_NAME_FORM_CONTROL_NAME","proposedNameOriginFormControlName","PROPOSED_NAME_ORIGIN_FORM_CONTROL_NAME","featureTypeFormControlName","FEATURE_TYPE_FORM_CONTROL_NAME","reasonForChangeFormControlName","REASON_FOR_CHANGE_FORM_CONTROL_NAME","selectedPOISubjectSubscription","getApplicationsQuerySubscription","selectedStreetSubjectSubscription","getFeatures","subscribeToSelectedPOI","subscribeToSelectedStreet","actionPOIEnabled","actionStreetEnabled","hasControlValidator","validator","onBtnAddAlternativeNameClicked","alternativeNameGroup","language","meaning","alternativeNamesFromArray","getAlternativeNameFormControls","onBtnRemoveAlternativeNameClicked","alternativeDetailsIndex","resetAlternativeNames","onStreetOrFeatureSelected","streetOrFeatureSelected","configureStreetSelected","configureFeatureSelected","onPublicOrPrivateSelected","publicOrPrivateSelected","handlePublicValue","handlePrivate","hidePrivateAreaOrEstateNameFieldIfNoExistingName","onHaveExistingNameSelected","haveExistingNameSelected","handlePropertyOrFeatureHasExistingName","handlePropertyOrFeatureHasNoExistingName","dirty","setApplication","setPOIData","poiAttributes","newPOIFormGroup","setNewPOIFormGroup","createNewPOIFormGroup","configureInitialFeatureForm","setFeatureTrueCentroidData","$selectedPOISubject","poi","checkIfSelectedFeatureHasAlreadyBeenAdded","showStreetFields","hideAreaEstateField","addFeatureTypeField","removeRequiredValidatorPrivateStreetAreaOrEstateNameField","displayPrivateStreetAreaOrEstateNameField","hideFeatureTypeField","addRequiredValidatorOnTheAreaEstateNameField","streetOrFeatureValue","areaEstateNameControl","featureTypeControl","hidePrivateStreetAreaOrEstateNameField","addRequiredValidatorOnTheCurrentNameField","currentNameControl","removeRequiredValidatorOnTheCurrentNameField","setStreetData","streetAttributes","newStreetFormGroup","setNewStreetsFormGroup","createNewStreetsFormGroup","$selectedStreetSubject","street","currentName","streetOrFeature","publicOrPrivate","areaEstateName","isNewDevelopment","haveExistingName","locationDescription","ward","proposedName","proposedNameLanguage","proposedNameMeaning","proposedNameOrigin","alternativeNames","featureType","reasonForChange","poiObject","featuresArray","configureFormsForSelectedStreet","configureFormsForSelectedFeature","showOrHideCurrentNameField","clearValidationOfStreetSpecificFields","hideStreetSpecificFields","clearFeatureTypeValidators","hideFeatureSpecificFields","showStreetSpecificFields","addStreetSpecificFieldsValidators","clearValidationOfFeatureSpecificFields","currentNameValue","getApplicationLocationDetails","line","clearBusyRequestCounter","createFeatureFormGroup","alternativeNamesControl","alternativeNameDetails","alternativeGroup","featureFormArray","selectedFeatureFormGroup","LINE_SKETCH_TOOLS_OPTIONS","CreateApplicationDetailsTmamsConstants","CreateApplicationDetailsTmamsComponent","selectedApplicationDetailsTmamsSubscription","CreateLocationTmConstants","CreateApplicationLocationTmamsComponent","tmApplication","selectedApplicationDetailsTpamsSubscription","CreateApplicationDetailsTpamsComponent_1","CreateApplicationDetailsTpamsConstants","CreateApplicationDetailsTpamsComponent","zonesFormControlName","zoneFormControlName","rezoneConfirmationControlName","zoningLookupName","ZONING_LOOKUP_NAME","rezoneConfirmationLabel","rezoneKeywordRezone","rezoneKeywordRezoning","isRezoning","rezoningChecked","appZones","getApplicationTypeAndZoningLookups","sortZoneDropDownAlphabetically","applicationZonings","setZones","applicationZoning","selectedText","selectedIndex","onRezoningChecked","CreateApplicationLocationTpamsConstants","CreateApplicationLocationTpamsComponent","buildingUseControl","buildingFloorAreaControl","buildingUseTextPlaceHolder","buildingFloorAreaTextPlaceHolder","selectedApplicatioLocationTpamsSubscription","createNewPropertyFormGroup","CreateApplicationDetailsWamsConstants","CompareDatesUtil","CreateApplicationDetailsWamsComponent","clientReferenceNumberFormControlName","CLIENT_REFERENCE_NUMBER_FORM_CONTROL_NAME","applicantTelecommunicationLicenseNumberFormControlName","APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_FORM_CONTROL_NAME","scopeOfWorkFormControlName","SCOPE_OF_WORK_FORM_CONTROL_NAME","estimatedConstructionCostFormControlName","ESTIMATED_CONSTRUCTION_COST_FORM_CONTROL_NAME","applicationFeeFormControlName","APPLICATION_FEE_FORM_CONTROL_NAME","constructionPeriodInWeeksFormControlName","CONSTRUCTION_PERIOD_FORM_CONTROL_NAME","proposedStartDateFormControlName","PROPOSED_START_DATE_FORM_CONTROL_NAME","proposedEndDateFormControlName","PROPOSED_END_DATE_FORM_CONTROL_NAME","laneClosureIsRequiredFormControlName","LANE_CLOSURE_IS_REQUIRED_FORM_CONTROL_NAME","laneClosureExtentFormControlName","LANE_CLOSURE_EXTENT_FORM_CONTROL_NAME","electricalServicesFormControlName","ELECTRICAL_SERVICES_FORM_CONTROL_NAME","clientReferenceNumberLabel","CLIENT_REFERENCE_NUMBER_LABEL","applicantTelecommunicationLicenseNumberLabel","APPLICANT_TELECOMMUNICATION_LICENCE_NUMBER_LABEL","scopeOfWorkFormLabel","SCOPE_OF_WORK_LABEL","estimatedConstructionCostLabel","ESTIMATED_CONSTRUCTION_COST_LABEL","applicationFeeLabel","APPLICATION_FEE_LABEL","constructionPeriodInWeeksLabel","CONSTRUCTION_PERIOD_LABEL","proposedStartDateLabel","PROPOSED_START_DATE_LABEL","proposedEndDateLabel","PROPOSED_END_DATE_LABEL","laneClosureIsRequiredLabel","LANE_CLOSURE_IS_REQUIRED_LABEL","laneClosureExtentLabel","LANE_CLOSURE_EXTENT_LABEL","electricalServicesLabel","ELECTRICAL_SERVICES_LABEL","laneClosureExtentOptions","electricalServicesOptions","dateValidationError","DATE_VALIDATION_ERROR","selectedApplicationDetailsWamsSubscription","verifyProposedDates","formControlName","scopeOfWork","clientReferenceNumber","licenceNumber","applicationFee","estimatedCost","proposedStartDate","proposedEndDate","laneClosureRequired","laneClosureExtent","constructionPeriod","electricalServices","applicantTelecommunicationLicenseNumber","estimatedConstructionCost","laneClosureIsRequired","constructionPeriodInWeeks","CreateApplicationLocationWamsConstants","CreateApplicationLocationWamsComponent","selectedApplicationLocationWamsSubscription","applicationLines","applicationPolygons","setMapData","centroidGeometryArc","showPoint","polygonGeometryArc","polylineGeometryArc","CreateApplicationProfessionalBodiesWamsConstants","CreateApplicationProfessionalBodiesWamsComponent","markImplementingAgentAsRequiredLabel","MARK_IMPLEMENTING_AGENT_AS_REQUIRED_LABEL","markImplementingAgentAsRequiredFormControlName","MARK_IMPLEMENTING_AGENT_AS_REQUIRED_FORM_CONTROL_NAME","copyApplicantDetailsToImplementingAgentLabel","COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_LABEL","copyApplicantDetailsToImplementingAgentFormControlName","COPY_APPLICANT_DETAILS_TO_IMPLEMENTING_AGENT_FORM_CONTROL_NAME","copyApplicantDetailsToContractorFormControlName","COPY_APPLICANT_DETAILS_TO_CONTRACTOR_FORM_CONTROL_NAME","implementingAgentFormControlName","IMPLEMENTING_AGENT_FORM_CONTROL_NAME","showImplementingAgent","implementingAgentDisableFilterBy","implementingAgentDisableEditing","implementingAgentShowFields","implementingAgentGroups","implementingAgentLabel","IMPLEMENTING_AGENT_LABEL","implementingAgentShowGroupsDropdown","implementingAgentIsRequiredChecked","savedImplementingAgent","getProBodiesData","implementingAgentConsultantGroup","responsibleContractorGroup","onMarkImplementingAgentAsNotApplicableChecked","implementingAgentIsRequired","onCopyApplicantToImplementingAgent","implementingAgent","syncImplementingAgentIsRequiredCheckBoxes","syncConstructorIsRequiredCheckBoxes","implementingAgentNotRequired","implementingAgentNa","engineerIsNotRequired","contractorIsNotRequired","contractorNa","populateImplementingAgent","implementingAgentControl","contractorControl","contractor","implementingAgentID","implementingAgentId","contractorId","implementingAgentParams","CreateApplicationDetailsZcConstants","CreateApplicationDetailsZcamsComponent","selectedApplicationDetailsZcamsSubscription","CreateApplicationLocationZcConstants","CreateApplicationLocationZcamsComponent","selectedApplicationLocationZcamsSubscription","zcApplication","ApplicationCreateService_1","RouterParamsService","ApiStepMetaConstants","ApiLookupConstants","TrueCentroidResultsModel","ApiAttachmentConstants","ApiNotesConstants","routeParamsService","propertySubject","propertyObservable","startMetadataSubject","$startMetadata","selectedModuleName","selectGoToStep","selectGoToStepAsObservable","$fullApplicationCheckRequired","routeParamsSubscription","$markStepFormGroupAsTouchedSubject","checkIfChanged","newValue","oldValue","savePropertyData","start","_this","_ref","_asyncToGenerator","handleRouteParamChange","_x","apply","arguments","getStepMeta","_this2","FUNCTION_GET_STEP_META_FOR_AFLA_PORTAL","metadata","setFullApplicationCheckRequired","FUNCTION_GET_LOOKUPS_FOR_AFLA_PORTAL","setModuleName","moduleName","stepIndex","uploadDocumentObservable","FUNCTION_UPLOAD_ATTACHMENT_FROM_PORTAL","FUNCTION_GET_ATTACHMENT_CONTENT","responseType","FUNCTION_DELETE_MULTIPLE_ATTACHMENTS","deserialize","FUNCTION_GET_MY_AFLA_PORTAL_DOCUMENTS","_this3","moduleid","markStepFormGroupAsTouched","currentFormName","incompleteJobIdSubscription","selectedApplicationSubscription","isApplicationLoadedFromSearchPageSubscription","startMetadataSubscription","$incompleteJobId","isApplicationLoadedFromSearchPage","SAVE_BUTTON_PLACEHOLDER","SAVE_LABEL","CONTINUE_BUTTON_PLACEHOLDER","CONTINUE_STEP_TEXT","BACK_BUTTON_PLACEHOLDER","BACK_STEP_TEXT","CREATE_BUTTON_PLACEHOLDER","CLEAR_BUTTON_PLACEHOLDER","CLEAR_LABEL","SUBMIT_BUTTON_PLACEHOLDER","SUBMIT_LABEL","CLOSE_BUTTON_PLACEHOLDER","CLOSE_LABEL","CONTENT_PAGE_HEADING","NAME_INPUT_LABEL","SURNAME_INPUT_LABEL","CREATE_APPLICATION_LABEL","ERF_INPUT_LABEL","ADDRESS_INPUT_LABEL","WELCOME_HEADING","WELCOME_HEADING_APPLICATION","VIEW_DOCUMENTS_LINK_TEXT","APPLICATIONS","PLEASE_CLICK_TEXT","MORE_INFO_TEXT","DETAILS_HEADING","LOCATION_HEADING","PROFESSIONAL_BODIES_HEADING","DECEASED_HEADING","FAMILY_HEADING","APPLICANT_HEADING","APPLICANT_AGENT_HEADING","STATUS_HEADING","WELCOME_MESSAGE","STATUS_MESSAGE","AddDocumentDialogConstants","DOCUMENT_TYPE_LABEL","FILE_LABEL","SELECT_FILE_LABEL","CANCEL_BTN_PLACEHOLDER","DOCUMENT_TYPE_FORM_CONTROL","DESCRIPTION_FORM_CONTROL","FILE_NAME_FORM_CONTROL","SAVE_BTN_LABEL","DOCUMENT_TYPE_ERR_MSG","DESCRIPTION_ERR_MSG","NO_FILE_UPLOADED_ERR_MSG","UPLOADED_FILE_TOO_BIG_ERR_MSG","UPLOADED_FILE_TYPE_NOT_ALLOWED_ERR_MSG","SaLongDatePipe","saLongDatePipe","addDocumentForm","documentTypeLabel","fileLabel","selectFileLabel","documentTypeFormControlName","fileNameFormControlName","saveBtnPlaceholder","uploadedFiles","documentTypeErrMsg","descriptionErrMsg","noFileUploadedErrMsg","uploadedFileTooBigErrMsg","filetypeNotAllowedErrMsg","fileDetails","maxFileSize","allowedFileTypes","documentUploadedBy","uploadDocumentObservableSubscription","maximumSize","agsSupportedAttachmentFileTypes","userInfo","lastName","firstName","onFileSelected","file","files","uploadedFileSize","fileExtension","pop","fileTypeAllowed","allowedFileType","onCancelBtnClicked","onSaveBtnClicked","uploadAttachment","deleteAttachment","stopPropagation","documentType","reader","FileReader","fileString","readAsDataURL","onloadend","readyState","DONE","bytes","substring","AppId","ModuleId","FileName","Data","Description","AttachmentType","ComponentType","AFLAPortalObjectId","UploadedBy","EditDocumentsDialogConstants","editDocumentForm","cancelBtnLabel","saveBtnLabel","fileBlob","deleteUploadDocumentsObservableSubscription","getAttachmentFileContent","setFormValues","markAllControlsAsTouched","editedDoc","deletedParams","Add","Update","CreateApplicationUtilsConstants","duplicatePropertyErrorMessage","savedProperties","propertyFormGroups","propertyFormGroup","selectedPropertySgCode","setTrueCentroidOnNewProperty","Collection","Extent","BookmarkComponent","addBookmarks","bookmarksCollection","bookmarks","bookmark","add","viewpoint","targetGeometry","thumbnail","reactiveUtils","DrawBufferCheckboxComponent","toggleBufferEvent","bufferLabel","toggleBuffer","bufferTool","removeAttribute","setAttribute","addBufferCheckbox","mapView","checkBoxBuffer","getElementsByTagName","when","ready","panel","querySelectorAll","geometryEngineAsync","Graphic","DrawBufferToolbarComponent","activeDrawTool","buffValue","buffType","addBufferWindow","bufferWindow","widget","watch","activeTool","switchTollTip","tipText","toolTip","addBuffer","gLayer","buffEnabled","simpleFillSymbol","color","outline","style","toolGeo","geodesicBuffer","buffer","bufferGraphic","symbol","DrawToolRemoveComponent","addRemoveAllButton","graphicsLayer","bufferLayer","btnRemoveAll","findLayerById","container","appendChild","section","ExtentComponent","addExtentTool","textContainer","textExtent","textSpatialRef","textCenter","textZoom","updateExtent","stationary","xmin","xmax","ymin","ymax","spatialReference","wkid","center","y","zoom","LayerListComponent","layerActions","actionsSections","className","layerActionTrigger","selectedLayer","action","opacity","MapService_1","MapView","esriConfig","GraphicsLayer","MapImageLayer","SpatialReference","urlUtils","FeatureLayer","TileLayer","ApiModuleMapConstants","identify","rxjsOperators","ImageryLayer","ImageryTileLayer","VectorTileLayer","WMTSLayer","WMSLayer","Location","LOD","LayerSearchSource","MapDefaults","baseMap","actionPropertyOwnerEnabled","actionGraveEnabled","layersLoadedSubject","$layersLoaded","removeAllMapToolGraphicsSubject","layerTokens","isSysAdmin","mapFilter","_mapDefaults","_mapView","selectionLayers","layersLoading","selectedPropertySubject","selectedPropertyOwnerSubject","$selectedOwnerProperty","selectedGraveSubject","$selectedGrave","selectedBaySubject","selectedPOISubject","selectedStreetSubject","proceedMapLoading","$proceedMapLoading","authUserInformation","applicationLayer","httpGetSubscription","drawGraphic","addGraphicsLayer","layers","listMode","removeGraphicsLayer","getStartApplicationRoute","setProceedMapLoading","mapViewEl","mapDefaults","getMapView","nativeElement","removeAllMapToolGraphics","fetchModuleData","showOnlyOrganisationMaps","showApplicationsAndBasemapLayers","$orderby","getOrganisationId","FUNCTION_GET_MODULE_FOR_AFLA_PORTAL","urls","loadedIds","mapOrder","addProxyRule","addedLayer","addLayer","defaultVisibility","foundAppLayer","APPLICATION_LAYER","paramsIndex","paramsDomain","mapIndex","printServiceURL","mapDomain","tokenRequestParams","getTokenRequestParams","getLayerTokenHeaders","MapServiceId","Authorization","authorization","apiUrl","api","server","getLayerToken","URL_LAYER_TOKEN","token","layerToken","l","auth","checkIfMapsAreLoaded","setProxySettings","urlPrefix","urlInterceptor","addGeometriesAsGraphics","clearBeforeAdd","addGraphics","transformGeometryToGraphic","externalEsriLoader","assetsPath","prepareExternalUrl","executeIdentifyTask","canShowPopups","mapPoint","mapExtent","feature","fields","fieldName","popupTemplate","fieldInfos","showPopup","executeQueryTask","popupEnabled","canShowPropertyAction","canShowPropertyOwnerAction","canShowGraveAction","canShowBayAction","canShowPOIAction","canShowStreetAction","query","distance","getBufferByModule","units","alias","field","actions","propertyAction","image","bayAction","propertyOwnerAction","poiAction","streetAction","graveAction","addActions","filterApplicationsByAuthUser","authUser","subLayers","sublayers","sublayer","definitionExpression","visible","isProcessing","popup","selectedFeature","setTimeout","checkForSysAdmin","fetched","isSysadminAdmin","addExtent","domain","AFLA_PORTAL_APPLICATION_LAYER","layerAdded","PROPERTY_LAYER","legendEnabled","dockOptions","breakpoint","buttonEnabled","position","querySelector","shadowRoot","graphics","selectedGeometrySymbols","mesh","goTo","expand","createMapView","mapProperties","basemap","mapViewProperties","levelOfDetails","lodIndex","defaultMapScales","scale","lod","level","levelValue","constraints","lods","ui","move","defaultExtent","addDraw","addSearch","addBasemaps","addMeasure","addLegend","addLayerList","addBookmark","addHome","interceptors","before","startsWith","identityToken","$authenticationToken","tokenChange","requestOptions","webMapObj","Web_Map_as_JSON","updatedWebMapObj","operationalLayers","legendLayer","layoutOptions","legendOptions","lt","after","getElementsByClassName","link","defaultPrevented","endPointUrl","subscribeToMapsLoaded","addMapsInSearchComponent","searchWidget","isSelectionLayer","loadedMapLayer","source","prepareSearchSource","sources","forbiddenFields","suggestionTemplate","searchFields","exactMatch","withinViewEnabled","suggestionsEnabled","maxSuggestions","minSuggestCharacters","userMap","defaultQueryBuffer","isStreetNamingModule","BasemapGallery","Expand","Sketch","Measurement","Legend","LayerList","Search","Bookmarks","MeasureComponent","CoordinateConversion","SearchComponent","Home","drawRemoveAll","bufferCheckbox","measureTool","extentTool","layerList","expandableWidgets","basemapGallery","view","portal","useVectorBasemaps","addToolExpand","defaultCreateOptions","mode","createElement","Measure","linearUnit","areaUnit","initializeMeasureTool","btnMeasure","legend","listItemCreatedFunction","editingEnabled","getCustomSources","allPlaceholder","includeDefaultSources","searchMultipleResults","homeBtn","tool","icon","expandTooltip","expandIcon","t","collapse","btnArea","btnLocation","btnDistance","btnRemove","switchToArea","switchToDistance","switchToLocation","removeMeasurements","classList","PopupTemplate","customGeolocators","geoLocator","addLocatorSource","memoryCollection","markerSymbol","createMarkerSymbol","pointGraphics","determineCoordinate","longitude","latitude","createPointGraphic","geometryType","Postal","locatorSearchSource","searchSources","countryCode","PropertySearchOption","ApiPropertyAndLeaseConstants","ApiTownPlanningConstants","ApiBuildingPlansConstants","ApiCemeteryConstants","ApiWayleaveConstants","ApiElectricalConnectionConstants","ApiDemolitionManagementConstants","ApiInformalTradeConstants","ApiAdvertisingConstants","ApiBusinessLicenceConstants","mapLocation","mapLocationAsObservable","isApplicationLoadedFromSearchPageSubject$","propertyUrl","addMapLocatorLinks","setMapLink","link2","eLodgementComplete","setViewApplicationLink","setCreateApplicationLink","OPEN_APPLICATION_TEXT","clickAction","getApplicationSelected","getURLForModule","systemPrefix","FUNCTION_GET_MY_AFLA_PORTAL_TOWN_PLANNING_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_BUILDING_PLANS_APPLICATIONS","FUNCTION_GET_MY_AFLA_BUSINESS_LICENCE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_PROPERTY_AND_LEASE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_CEMETERY_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_WAYLEAVE_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_EC_APPLICATIONS","FUNCTION_GET_MY_AFLA_PORTAL_DEMOLITION_APPLICATIONS","FUNCTION_GET_MY_AFLA_ADVERTISING_APPLICATIONS","FUNCTION_GET_MY_AFLA_INFORMAL_TRADING_APPLICATIONS","getParamsForModule","selectedMapLocator","VIEW_ON_MAP_TEXT","changeMapLocation","clearURLList","setURL","searchType","Property","findApplication","getSelectedApplicationGeometry","returnValue","setGeometry","searchApplicationGeometry","cemeteryApplication","applicationGeometry","propertiesGeometry","graves","grave","wayleaveApplication","applicationPolygon","applicationLine","advertisingApplication","isErrorState","isSubmitted","submitted","esriBugExceptions","messagesToIgnore","handleError","rejection","GLOBAL_ERROR_MESSAGE","minLengthArray","c","libphonenumber","invalidErrorObj","phoneUtil","PhoneNumberUtil","getInstance","validString","checkAgainstStrings","number","parseAndKeepRawInput","validNumber","isValidNumber","setError","acceptableCharacters","validCharacter","_window","animate","transition","trigger","AlertComponent","alerts","removeAlert","cssClass","Info","animations","ContentMenuComponent","pageHeading","menuItems","relativeLinks","selectedModule","selectedOrganisationName","checkState","routeToMenuItem","menuItem","relativeTo","DocumentTreeViewComponent","nodes","displayField","descriptionField","downloadField","columns","useVirtualScroll","nodeHeight","isExpandedField","HelpModalComponent","helpMessage","closeBtnPlaceholder","onCloseBtnClicked","InputComponent","placeHolder","parentFormGroup","requiredErrorText","setFormControlName","addToFormGroup","defaultPlaceHolder","random","hasRequiredError","getFormControl","hasErrors","getFirstErrorAvailable","addControl","getValidators","validatorsList","PageHeadingComponent","routerParamsService","heading","subheading","moduleHeading","organisationHeading","currentModule","currentOrganisation","onlyValidParamsSubscription","systemModulesSubscription","listenForRouteParamChanges","setModuleHeadings","onlyValidParams","param","organisationid","$systemModules","PrimaryButtonComponent","MatBottomSheetRef","PwaInstallBottomSheetComponent","bottomSheetRef","install","dismiss","forwardRef","AddRecipientModalComponent","FormBuilder","NG_VALIDATORS","NG_VALUE_ACCESSOR","RecipientListConstant","RecipientsHeadingLookup","EditRecipientModalComponent","ConfirmDeleteModalComponent","RecipientListComponent","formBuilder","stepMetaRecipientGroups","showRecipientsGroupsDropdown","disableAddRecipientButton","disableEditRecipientButton","disableDeleteRecipientButton","hideFilter","configurableLabel","hideAddButton","hideEditButton","hideDeleteButton","showAllFormFields","formName","tableSelection","recipientListForm","groupsOptions","showDefaultCommunicationMethods","metadataPropertyNotSetErrMsg","newRecipients","recipient","buildRecipientGroupsArray","onChange","onTouched","registerOnTouched","fn","registerOnChange","initialiseForm","configureComponentOnInit","writeValue","setDisabledState","validate","groupsFromMetadata","showDefaultCommunicationMethod","newRecipient","recipientsAlreadyInTheTable","generateTempId","originalRecipient","selectedRecipientGroups","groupsStringArray","recipientToEdit","showRecipientGroupsDropdown","editedRecipient","ItemIndex","deleteRecipients","recipientsToBeDeleted","len","loadRecipient","overrideGroup","appendToList","onRecipientTypeChanged","selectedRecipient","radioButtonValue","emailField","loadAllRecipients","stepMetaPropertyNotSetErrMessage","propertyName","recipientGroups","groupNameString","getGroupsFromMetadata","showOrHideAddRecipientButton","showOrHideEditRecipientButton","showOrHideDeleteRecipientButton","checkOrganisationSettings","standardizeRecipientGroupsObject","uuidValue","k","randomValue","organisationSettings","getOrganisationSettings","setDefaultCommunicationSettings","disableCommunicationMethods","organisationInformation","getOrganisationInformation","isSMSEnabledFromOrganisationSettings","enableSms","hasSMSProvider","smsProvider","useExisting","RecipientHeadingEnum","RecipientSelectConstants","DefaultRequiredFields","UcFirstPipe","upperFirst","isGroupsComingFromMetadata","showGroupsDropdown","disableFilter","recipientForm","Validator","recipientFormLabelHeading","provinceOptions","countryOptions","maritalStatusOptions","MARITAL_STATUS_LOOKUPS_RECIPIENT_COMPONENTS","employmentStatusOptions","EMPLOYMENT_STATUS_LOOKUPS_RECIPIENT_COMPONENTS","selectOptionText","sameAsResidentialChecked","onChangeSubscription","defaultRequiredFields","recipientGroupSettings","verifiedSACAPNumber","showNameField","showSurnameField","showHomeTelephoneField","showWorkTelephoneField","showCellphoneField","showEmailField","showOrganisationField","showDesignationField","showProfessionalBodyField","showProfessionalBodyRegNumField","showStreetAddressField","showStreetSuburbField","showStreetCityField","showStreetProvinceField","showStreetCountryField","showStreetCodeField","showPostalAddressField","showPostalSuburbField","showPostalCityField","showPostalProvinceField","showPostalCountryField","showPostalCodeField","showClientVatNumberField","showIdNumberField","showMaritalStatusField","showRelativesFullNameField","showRelativesContactNumberField","showRelativesAddressField","showEmploymentStatusField","showEmployersNameField","showEmployersContactNumberField","showEmployersAddressField","homePhoneTelephoneLabel","homeTelePhoneLabel","workTelephoneLabel","cellphoneLabel","defaultCommunicationMethodLabel","emailRadioButtonLabel","smsRadioButtonLabel","emailLabel","organisationLabel","clientVatNumberLabel","designationLabel","professionalBodyHeader","professionalBodyLabel","relativeDetailsBodyLabel","employersDetailsHeader","employerDetailsHeader","maritalStatusLabel","relativesFullNameLabel","relativesContactNumberLabel","relativesAddressLabel","employmentStatusLabel","employersNameLabel","employersContactNumberLabel","employersAddressLabel","professionalBodyRegNoLabel","streetAddressHeader","streetAddressLabel","streetSuburbLabel","streetCityLabel","streetProvinceLabel","streetCountryLabel","streetCodeLabel","postalDetailsHeader","postalAddressLabel","postalSuburbLabel","postalCityLabel","postalProvinceLabel","postalCountryLabel","postalCodeLabel","sameAsStreetAddressLabel","groupsHeader","groupsLabel","defaultComponentName","validationMessage","SACAPRegistrationLabel","sacapRegistrationHeader","sacapRegistrationNumberLabel","sacapRegistrationLabel","sacapVerificationLabel","sacapVerificationButtonLabel","idFormControlName","jobIdFormControlName","moduleIdFormControlName","nameFormControlName","nameFormControl","surnameFormControlName","surnameFormControl","homePhoneFormControlName","homeTelePhoneFormControl","workTelephoneFormControlName","workTelephoneFormControl","cellphoneFormControlName","defaultCommunicationMethodFormControlName","emailFormControlName","organisationFormControlName","clientVatNumberFormControlName","designationFormControlName","professionalBodyFormControlName","professionalBodyRegNoFormControlName","maritalStatusFormControlName","idNumberFormControlName","relativesFullNameFormControlName","relativesContactNumberFormControlName","relativesAddressFormControlName","employmentStatusFormControlName","employersNameFormControlName","employersContactNumberFormControlName","employersAddressFormControlName","streetAddressFormControlName","streetSuburbFormControlName","streetCityFormControlName","streetProvinceFormControlName","streetCountryFormControlName","streetCodeFormControlName","postalAddressFormControlName","postalSuburbFormControlName","postalCityFormControlName","postalProvinceFormControlName","postalCountryFormControlName","postalCodeFormControlName","groupsFormControlName","groupsStringArrayFormControlName","sacapRegistrationNumberFormControlName","sacapRegistrationNumberFormControl","sacapRegistrationVerifiedFormControlName","sacapRegistrationNumberVerifiedFormControl","selectOptionTextOption","maximunLengthForThentyWord","maximunLengthForFiftyWord","maximunLengthForHundredWord","maximunLengthForTwoFiftyWord","maximunLengthFiveHundredWord","requiredFieldsPlaceHolder","requireFieldKey","getRecipientGroupSettingsSubscription","listenToClearRecipientSubscription","verifySACAPRegistrationSubscription","maritalStatus","relativesFullName","relativesContactNumber","relativesAddress","employmentStatus","employersName","employersContactNumber","employersAddress","setRecipientGroupsFromTheGroupsStringArray","checkIfPostalDetailsIsTheSameAsResidentialDetails","loadRecipientGroupSettings","resetFormControls","subscribeToFormChanges","subscribeToClearForm","unsubscribe","onResidentialInputEntered","inputValue","postalFormControl","onSameAsResidentialChecked","checkBoxStatus","copyStreetDetailsDataToPostalDetailsFields","clearPostalDetailsValidators","enablePostalDetails","restorePostalDetailsValidators","enablePostalSelects","disablePostalSelects","markControlAsTouched","updateModel","currentGroupStringArray","groupStringValue","onRadioButtonChanged","selectedMethodOfCommunication","preferredMethodOfCommunication","emailFormControl","cellphoneFormControl","recipientGroup","isCellPhoneRequiredFromMetaData","isCellphoneFormFieldRequiredInTheMetadata","isEmailRequiredFromMetadata","isEmailFormFieldRequiredInTheMetadata","setEmailFormFieldAsRequired","setCellphoneFormFieldAsRequired","clearCellphoneFormFieldRequiredValidation","onVerifySacapDetails","constituentId","verifySACAPRegistration","professionalNumber","setVerifiedSACAPNumber","setSACAPRecipientData","setSACAPRecipientVerification","clearSACAPRecipientVerification","checkSACAPOptions","populateVerifiedSACAPNumber","hasValidator","minLength","getRecipientGroupSettings","setRequiredFields","groupNameFromStringArray","groupFromMetadata","DEFAULT_COUNTRY","populateGroupsDropdown","getRecipientGroupsSettings","groupSettings","populateRecipientGroups","groupLookup","postalDetailsMatchResidentialDetails","checkAddressDetails","disablePostalDetails","setGroupsFromMetadata","setDisableEditing","setConfigurableLabel","setJobId","showOrHideGroupsDropdown","configuration","loadRequiredFields","listenToClearRecipient","isCleaned","formatObjectKey","showOrHideControl","wordArr","word","charAt","keyToChange","formattedString","isCellphoneRequired","getPropertyThatMatchesDataCase","isEsmailRequired","clearEmailFormFieldRequiredValidation","memberData","firstname","lastname","sacapControl","selectGroupsLabel","maxlength","MAX_LENGTH_INPUT_CONTROL_VALIDATION","RecipientFormConstants","newRecipientForm","emailRequired","smsRequired","newRecipientFormLabelHeading","showSave","checkRequiredFields","checkCommunicationMethods","setFormDefaults","activeModalService","deleteConfirmationText","deleteBtnPlaceholder","onBtnDeleteClicked","editRecipientForm","groupsOptionsObservable","selectedGroupsOptionsSubject","getGroupsStringArray","RecipientFilterConstants","RecipientFilterComponent","disableAddRecipientBtn","isUsedInRecipientSelect","loadAllRecipientsEventEmitted","loadRecipientEventEmitted","stepMetaGroups","displayGroupsLabel","selectAllFromGroupBtnLabel","selectedGroupsFromDropdown","selectedGroupOptions","selectedRecipientFromDropdown","selectedRecipientOptions","displayFilterGroups","showSelectRecipientBtn","recipientsFromDb","showSelectAllRecipientsBtn","AddOrSelectRecipientLabel","displayAddButton","displayGroupsChecked","addRecipientBtnLabel","recipientGroupsFromMetadata","getRecipients","showOrRemoveFilterButtons","onDisplayGroupsChangedChecked","consolidatedGroup","onSelectGroupsChanged","groupSelected","filterRecipients","onSelectRecipientBtnClicked","loadRecipients","onSelectedRecipientChanged","onSelectAllFromGroupBtnClicked","onAddRecipientBtnClicked","fullName","createConsolidatedGroups","generateFilterObject","populateGroupsDropDown","populateRecipientsDropDown","configureFilterComponent","configureForRecipientSelect","configureForRecipientList","addOrSelectText","textLabel","sortGroupsAlphabetically","ApiRecipientConstants","ApiUserSettingsConstants","ApiRecipientVerificationConstants","ApiRecipientGroupSettingsConstants","clearRecipientEvent","FUNCTION_GET_PORTAL_RECIPIENT","FUNCTION_GET_PORTAL_RECIPIENTS_BY_GROUP","getRecipientGroupsLookupObservable","$orderBy","mapStepMetaRecipientGroups","clearRecipientTrigger","isCleared","userId","isInternal","FUNCTION_GET_AFLA_PORTAL_RECIPIENT_GROUPS","SecondaryButtonComponent","ViewApplicationStepperComponent","API_V2","FUNCTION_SET_APPLICANT_AND_APPLICANT_AGENT","FUNCTION_SET_PROPERTIES","FUNCTION_RESET_APPLICATION_VALUES","FUNCTION_GET_GENERATE_INVOICE","FUNCTION_GET_APPLICATION_TYPE","FUNCTION_CREATE_PARTIAL_APPLICATION","FUNCTION_GET_GENERATE_REQUIRED_DOCUMENTS_CHECKLIST","ApiApplicationSearchConstants","FUNCTION_GET_USERS_FOR_MODULE","FUNCTION_GET_TOWNPLANNERS","FUNCTION_GET_APPLICATIONS_BY_USER","FUNCTION_GET_TP_APPLICATIONS_BY_USER","FUNCTION_GET_GTIA_APPLICATIONS_BY_USER","FUNCTION_GET_EH_APPLICATIONS_BY_USER","FUNCTION_GET_BP_APPLICATIONS_BY_USER","FUNCTION_GET_PL_APPLICATIONS_BY_USER","FUNCTION_GET_CM_APPLICATIONS_BY_USER","FUNCTION_GET_W_APPLICATIONS_BY_USER","FUNCTION_GET_DM_APPLICATIONS_BY_USER","FUNCTION_GET_RC_APPLICATIONS_BY_USER","FUNCTION_GET_EC_APPLICATIONS_BY_USER","FUNCTION_GET_TM_APPLICATION_BY_USER","FUNCTION_GET_CM_APPLICATIONS_WITH_FAMILIES","FUNCTION_GET_CM_APPLICATIONS_WITH_GRAVE","FUNCTION_GET_PL_APPLICATIONS_WITH_GROUPS","FUNCTION_UPLOAD_ATTACHMENT","FUNCTION_SET_PROFESSIONAL_BODIES","FUNCTION_GET_FAMILY","FUNCTION_SET_FAMILY","FUNCTION_SET_DETAILS","FUNCTION_SET_DECEASED","ApiCommunicationConstants","FUNCTION_GET_COMMUNICATION_BY_JOBID","FUNCTION_GENERATE_EMAIL","ApiGautrainConstants","FUNCTION_SET_ZONES","FUNCTION_SET_APPLICATION_TYPES","FUNCTION_GET_DISTINCT_APPLICATION_TYPES","FUNCTION_GET_APPLICATION_TYPES","FUNCTION_GET_MY_AFLA_PORTAL_GAUTAIN_APPLICATIONS","FUNCTION_SET_TRADERS","FUNCTION_DELETE_MULTIPLE_LOOKUPS","FUNCTION_GET_LOOKUP_ATTACHMENT","FUNCTION_UPLOAD_LOOKUP_ATTACHMENT","FUNCTION_DELETE_ALL_LOOKUPS","FUNCTION_DELETE_MULTIPLE_MODULE_MAPS","FUNCTION_DELETE_ALL_MODULE_MAPS","ApiModuleSettingConstants","FUNCTION_GET_AFLA_PORTAL_SETTINGS","FUNCTION_REJECT_APPLICATION","FUNCTION_ACCEPT_APPLICATION","FUNCTION_GET_APPLICATIONS","FUNCTION_REINSTATE_ORGANISATION","FUNCTION_SUSPEND_ORGANISATION","FUNCTION_UNSUSPEND_USER_FROM_ORGANISATION","FUNCTION_SUSPEND_USER_FROM_ORGANISATION","FUNCTION_REMOVE_USERS_FROM_ORGANISATION","FUNCTION_REMOVE_USER_FROM_ORGANISATION","FUNCTION_GET_USERS","FUNCTION_APPLY_TO_ORGANISATION","FUNCTION_GET_LESSEES","FUNCTION_GET_BUYERS","FUNCTION_GET_SELLERS","URL_POST","FUNCTION_CHECK_SECURE_URL","QUERY_PREFIX","PARAMETER_PREFIX","ApiRatesCertificateConstants","FUNCTION_GET_MY_AFLA_PORTAL_RC_APPLICATIONS","FUNCTION_DELETE_MULTIPLE_RECIPIENTS","FUNCTION_DELETE_GROUPS","FUNCTION_ADD_GROUPS","FUNCTION_GET_RECIPIENT_FROM_TABLE_AND_FIELD","FUNCTION_GET_RECIPIENTS_BY_GROUP","FUNCTION_GET_STEP_META_CONFIGURATION","FUNCTION_VALIDATE_STEP_META_JSON_SCHEMA","ApiStreetNamingConstants","ApiTrainingConstants","FUNCTION_DELINK_MODULE_ROLE","FUNCTION_DELINK_SYSTEM_ROLE","FUNCTION_LINK_MODULE_ROLE","FUNCTION_LINK_SYSTEM_ROLE","RETRIEVE_MY_PORTAL_APPLICATIONS_URL","HAS_OPEN_PORTAL_APPLICATIONS","SAVE_DEFAULT_APPLICANT_AGENT","RETRIEVE_DEFAULT_APPLICANT_AGENT","FUNCTION_GET_WAYLEAVE_APPLICATIONS_BY_USER","FUNCTION_SET_LOCATION","ApiWorkflowConstants","FUNCTION_SAVE","FUNCTION_CONTINUE","FUNCTION_AD_HOC_MOVE_TO_WORKFLOW_STEP","FUNCTION_WITHDRAW_APPLICATION","FUNCTION_GET_WORKFLOW_CLOSED_STATES","FUNCTION_GET_WORKFLOW_STEP_NAMES","FUNCTION_GET_STEP_META","FUNCTION_JOB_CURRENT_STEPS","FUNCTION_GET_ALL_MOVABLE_STEP_TYPES","FUNCTION_MOVE_TO_WORKFLOW_STEP","FUNCTION_GET_JOB_TRACKER_DATA","FUNCTION_GET_JOB_WORKFLOW_IMAGE","FUNCTION_FLUSH_CACHES","FUNCTION_GET_ALL_STEP_TYPES","FUNCTION_SAVE_START","FUNCTION_CONTINUE_START","FUNCTION_SAVE_CREATE_INVOICE","FUNCTION_CONTINUE_CREATE_INVOICE","FUNCTION_SAVE_END","FUNCTION_CONTINUE_END","FUNCTION_SAVE_GEN_ASSIGN_RECIPIENT","FUNCTION_CONTINUE_GEN_ASSIGN_RECIPIENT","FUNCTION_SAVE_GEN_AWAIT","FUNCTION_CONTINUE_GEN_AWAIT","FUNCTION_SAVE_GEN_CAPTURE_ASSESSMENT","FUNCTION_CONTINUE_GEN_CAPTURE_ASSESSMENT","FUNCTION_SAVE_GEN_CAPTURE_PROOF_OF_PAYMENT","FUNCTION_CONTINUE_GEN_CAPTURE_PROOF_OF_PAYMENT","FUNCTION_SAVE_GEN_CAPTURE_RESULT","FUNCTION_CONTINUE_GEN_CAPTURE_RESULT","FUNCTION_SAVE_GEN_PLACEHOLDER","FUNCTION_CONTINUE_GEN_PLACEHOLDER","FUNCTION_SAVE_GEN_QUESTION","FUNCTION_CONTINUE_GEN_QUESTION","FUNCTION_SAVE_GEN_RECIEVE_COMMS","FUNCTION_CONTINUE_GEN_RECIEVE_COMMS","FUNCTION_SAVE_GEN_REPORT","FUNCTION_CONTINUE_GEN_REPORT","FUNCTION_SAVE_GEN_REQUEST_SURVEY_123","FUNCTION_CONTINUE_GEN_REQUEST_SURVEY_123","FUNCTION_SAVE_GEN_SEND_COMMS","FUNCTION_CONTINUE_GEN_SEND_COMMS","FUNCTION_SAVE_GEN_SET_CONDITIONS","FUNCTION_CONTINUE_GEN_SET_CONDITIONS","FUNCTION_SAVE_GEN_SET_FIELDS","FUNCTION_CONTINUE_GEN_SET_FIELDS","FUNCTION_SAVE_GEN_SET_GRAVE","FUNCTION_CONTINUE_GEN_SET_GRAVE","FUNCTION_SAVE_GEN_START_TIMEOUT","FUNCTION_CONTINUE_GEN_START_TIMEOUT","FUNCTION_SAVE_GEN_STOP_TIMEOUT","FUNCTION_CONTINUE_GEN_STOP_TIMEOUT","FUNCTION_SAVE_GEN_UPDATE_CHECKLIST","FUNCTION_CONTINUE_GEN_UPDATE_CHECKLIST","FUNCTION_SAVE_VERIFY_INVOICE","FUNCTION_CONTINUE_VERIFY_INVOICE","ApiZoningCertificateConstants","FUNCTION_GET_MY_AFLA_PORTAL_ZONING_CERTIFICATE_APPLICATIONS","TEMPLATE_TYPES","YES_NO","APPLICATION_DURATION_LOOKUPS_A","MODULE_ID_FILTER_STRING","EDIT_TITLE","ADD_TITLE","NAME_FORM_CONTROL","TYPE_FORM_CONTROL","URL_FORM_CONTROL","IS_AUTHENTICATED_CONTROL","AUTH_TYPE_CONTROL","CLIENT_ID_CONTROL","SECRET_CONTROL","USERNAME_CONTROL","PASSWORD_CONTROL","MAP_ORDER_CONTROL","SELECTION_LAYER_CONTROL","DEFAULT_VISIBILITY_CONTROL","SHOW_POPUPS_CONTROL","NAME_FORM_TEXT","TYPE_FORM_TEXT","URL_FORM_TEXT","IS_AUTHENTICATED_TEXT","AUTH_TYPE_TEXT","CLIENT_ID_TEXT","SECRET_TEXT","MAP_ORDER_TEXT","SELECTION_LAYER_TEXT","DEFAULT_VISIBILITY_TEXT","SHOW_POPUPS_TEXT","NAME_FORM_PLACEHOLDER","TYPE_FORM_PLACEHOLDER","URL_FORM_PLACEHOLDER","AUTH_TYPE_FORM_PLACEHOLDER","CLIENT_ID_FORM_PLACEHOLDER","SECRET_FORM_PLACEHOLDER","USERNAME_FORM_PLACEHOLDER","PASSWORD_FORM_PLACEHOLDER","MAP_SERVICE_TEXT","INVALID_ESRI_URL","INVALID_ESRI_AUTH","DUPLICATE_NAME_MESSAGE","DUPLICATE_URL_MESSAGE","PROPERTY_OWNER_LAYER","CEMETERY_LAYER","GRAVE_LAYER","SERVICE_NAME_MAX_LENGTH","APPLICATION_LAYER_ID_COLUMN","maxLength","authType","secret","SUSPEND_LABEL","REINSTATE_LABEL","SELECT_LABEL","SEND_LABEL","REFRESH_LABEL","HELP_INFO_TEXT","FILE_CONTROL_DEFAULT","PHONE_NUMBER_VALIDATION_MESSAGE","EMAIL_VALIDATION_MESSAGE","NUMERIC_INPUT_CONTROL_VALIDATION","DATE_INPUT_CONTROL_VALIDATION","DECIMAL_INPUT_CONTROL_VALIDATION","INVALID_INPUT_CONTROL_VALIDATION","MINIMUM_NUMERIC_INPUT_CONTROL_VALIDATION","UNIQUE_INPUT_CONTROL_VALIDATION","USED_VALUE_INPUT_CONTROL_VALIDATION","EMAIL_NOT_SENT","CONTINUE_CREATE_APPLICATION","FORM_DATA_CLEARED","FORM_DATA_SAVED","BOOKMARK_SAVED","PHONE_VALIDATOR_PATTERN","URL_VALIDATOR_PATTERN","DECIMAL_VALIDATOR_PATERN","REASSIGN_TITLE","SUSPEND_MESSAGE","UNSUSPEND_MESSAGE","REASSIGN_MESSAGE","ADD_SUCCESS","ADD_FAILED","UPDATE_SUCCESS","UPLOAD_SUCCESS","UPDATE_FAILED","ADD_DOCUMENT_FAIL","REMOVE_SUCCESS","REMOVE_FAILED","SUSPEND_SUCCESS","SUSPEND_FAILED","REINSTATE_SUCCESS","ITEM_NOT_SUSPENDED_LABEL","ITEM_ALREADY_SUSPENDED_LABEL","ITEM_SUSPENDED","SUBMIT_SUCCESS","APPLICATION_CREATED_PART1","APPLICATION_CREATED_PART2","CLIPBOARD_MESSAGE","CLIPBOARD_NO_DATA","BAD_REQUEST_MESSAGE","EXPORT_NO_DATA_MESSAGE","UNKNOWN_MODULE_ERROR_MESSAGE","NO_SEARCH_TEXT_ENTERED_MESSAGE","NO_SEARCH_SELECTED_MESSAGE","INSUFFICIENT_PERMISSIONS","MISSING_METADATA","STEP_CONTINUE_FALSE","DASHBOARD_FILTERS","LatestApplications","OverdueApplications","ApplicationStatus","OPTION_CHECKBOX_ID","ATTACHMENT_TYPE","SEARCH_BY_DEFAULT","MAP_TEXT","ENLARGE_MAP_TEXT","SHRINK_MAP_TEXT","ADVANCED_SEARCH_TEXT","NEXT_STEP_TEXT","SAVE_STEP_TEXT","VIEW_APPLICATION_TEXT","NEXT_STEPS_LABEL_TEXT","UNKNOWN_ORGANISATION","PROPERTY_SEARCH_STATUS","APPLICATION_SEARCH_STATUS","ARCGIS_COLUMN_ID","INPUT_TYPE_TEXT","INPUT_TYPE_TEXTAREA","CURRENCY_SYMBOL","DECIMAL_PLACES","NO_APPLICATION_LAYER","EXPORT_LABEL","EXPORT_FILENAME_PLACEHOLDER_TEXT","large","small","ROLES_ENUM","Admin","Login","User","No","SYSTEM_ROLES_ENUM","SuperAdmin","OrganisationAdmin","FIELD_TYPE","NumberType","StringType","DateType","DecimalType","DropdownType","SERVER_MESSAGE_LISTENER_EVENT","SEND_SERVER_MESSAGE_ACTION","SERVER_HUB_CONNECTION_ERROR_MESSAGE","PERMISSION_NOT_GRANTED_FOR_NOTIFICATIONS_ERROR","NO_NOTIFICATION_BROWSER_SUPPORT_ERROR","DAYS_LIMIT","CREATED_USER_LABEL","CREATED_DATE_LABEL","LAST_EDITED_USER_LABEL","LAST_EDITED_DATE_LABEL","OBJECT_ID","GLOBAL_ID","MODULE_ID","JOB_ID","SYSTEM_FIELD_LIST","RECIPIENT_FIELDLIST","ADDRESS_JOINED","INVOICE_DETAILS_LABEL","NOT_BUSY_INDICATOR","GET_MY_PORTAL_INFORMATION_URL","SIGNAL_R_HUB_SUFFIX","original","prototype","ElementRef","HostBinding","HostListener","DragDropDirective","background","uponFileDropped","onDragOver","onDragLeave","ondrop","dataTransfer","$iAuthenticated","handleActivation","canActivateChild","childRoute","init","ProfessionalBodyRegNum","TrueCentroidResultErrorObject","details","messages","ModuleConfig","memo","AppViewShortDatePipe","HighlightPipe","SaShortDatePipe","SafeHtmlPipe","UtcDatePipe","AStrategyService_1","ApplicationSearchService","OdataQueryService","HttpParams","ODataAction","ViewApplicationDocumentationComponent","ViewApplicationDetailsAComponent","ViewApplicationLocationAComponent","ApplicationSearchConstants","ViewApplicationNotesComponent","ApplicationHeadingEnum","applicationHeadingLookup","ReferenceNumber","Applicant","ApplicationType","CreatedDate","DaysLeft","LastEditedBy","LastEditedOn","ApplicationSummaryColumnsEnum","applicationSummaryColumnsLookup","Phase","AExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_A","CreateApplicationMenuHeadings","HeaderConfigurableTextTypes","PageConfigurableTextTypes","CreateAppHeadingConfigurableTextType","Welcome","Details","Notes","Documentation","CreateAppPageConfigurableTextType","ViewApplicationMenuHeadings","ViewAppHeadingConfigurableTextType","Status","Summary","Communication","AStrategyService","saShortDatePipe","applicationSearchService","oDataQueryService","createApplicationMenuHeadings","viewApplicationComponentLookup","Advertising","defaultSearchColumns","applicationEndpoint","createApplicationComponentLookup","viewApplicationMenuHeadings","applicationSummaryColumnsMap","applicationServiceUrl","moduleUsers","expandListForApplicationPartial","createApplicationSteps","viewApplicationSteps","isFormValidSubject","isFormValidAsObservable","createAppHeadingConfigurableTextType","viewAppHeadingConfigurableTextType","createAppPageConfigurableTextType","postApplicationSubscription","getRecipientFullName","getRecipientName","getFirstRecipient","buildExpand","buildListFilter","buildFilterFromArray","initializeApplicationSummaryColumnsMap","defaultSearchModel","createdDate","daysLeft","daysUntilExpired","lastEditedBy","getLastEditedByUser","lastEditedUser","lastEditedOn","lastEditedDate","getUserName","user","getUserNameFromId","mapFromApplicationEntityToApplicationSearchModel","initializeViewApplicationComponents","initializeCreateApplicationComponents","buildApplicationSearchBaseRequest","buildModuleIDFilter","createApplication","buildApplication","postApplicationService","successMessage","resetForm","saveApplicationStep","step","continueAfterSave","stepTitle","buildApplicantStep","buildDetailsStep","setAdvertisementsGeometry","setApplicationNotes","buildDocumentationStep","applicationRequestDto","aApplication","moveApplicationToNextStepAfterSave","createPartialApplicationObservable","eLodgementStep","Saving","setIsFormValidSubject","getCurrentFormName","withdrawApplication","getWorkflowClosedStates","getSelectedApplicationSummaryExpand","getSearchUrlForModule","selectedSearchOption","initialiseCreateApplicationSteps","stepId","stepSubtitle","stepType","stepContent","initialiseViewApplicationSteps","getCreateApplicationStepsLookup","v","applicationHasGeometry","resetFormForStep","queryConfigurableTextLookup","propertyArray","selectedPropertyFormGroup","cleanPropertyOwners","setApplicationPointData","setApplicationPolygonData","points","geometryJSON","ConvertArcGISJsonToWkt","pointShape","selectedPropertyControl","polygonShape","permanentApplicationDuration","groundSign","flag","sandwichBoard","pylon","wallSign","billboard","buildingAttachment","projectingWallSign","wallPainted","roofSign","skySign","veranda","aerialSign","windowSign","schoolSign","combinationSign","underAwningSign","flagSign","canopy","balcony","electronicSign","developmentBoard","otherFiveYear","personResponsibleId","personResponsibleValue","removeInvalidRecipientProperties","noteId","noteValue","applicantFormValue","advertisements","applicantForm","applicantRecipient","notesForm","TpamsStrategyService","BpamsStrategyService","CemeteryStrategyService","WamsStrategyService","PlamsStrategyService","DamsStrategyService","TmamsStrategyService","EcStrategyService","ItamsStrategyService","RcStrategyService","ZcamsStrategyService","SnStrategyService","BlStrategyService","GtiaStrategyService","aflaModuleStrategyServiceFactory","tpamsStrategyService","bpamsStrategyService","cemeteryStrategyService","plamsStrategyService","wamsStrategyService","damsStrategyService","tmamsStrategyService","ecStrategyService","itamsStrategyService","rcStrategyService","zcamsStrategyService","snStrategyService","aStrategyService","blStrategyService","gtiaStrategyService","currentSelectedModuleConfigName","getCurrentlySelectedModuleConfigName","buildJobIDFilter","getConfigurationTextLookup","configurableTextFilter","odataCollection","contents","vl","BlStrategyService_1","ObjectUtils","ViewApplicationDetailsBlComponent","ViewApplicationLocationBlComponent","Agent","ErfNumber","blExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_BL","BusinessLicence","agent","applicantAgent","erfNumbers","getCommaSeparatedValuesFromListForKey","buildApplicantAgentStep","buildLocationStep","blApplication","$select","isDummy","updateGeometry","businessOwnerFormValue","applicantAgentIsNullValue","applicantAgentFormValue","applicantAgentNa","applicantAgentForm","applicantAgentRecipient","applicantAgentIsNull","BpamsStrategyService_1","ViewApplicationDetailsBpamsComponent","ViewApplicationLocationBpamsComponent","ViewApplicationProfessionalBodiesBpamsComponent","BPExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_BP","CreateApplicationBpamsMenuHeadings","ProfessionalBodies","BuildingPlans","buildProfessionalBodiesStep","bpApplication","architectRecipient","engineerRecipients","fireConsultantRecipients","otherProfessionalRecipients","electricalContractorRecipient","markArchitectAsRequired","markEngineerAsRequired","markFireConsultantAsRequired","markOtherProfessionalAsRequired","markElectricalContractorAsRequired","copyApplicantToArchitect","copyApplicantToEngineer","copyApplicantToContractor","copyApplicantToFireConsultant","copyApplicantToOtherProfessional","decision","owner","mainBuildingsArray","mainBuilding","outBuildingsArray","outBuilding","propertyZonesArray","missingZone","electricalContractorIsRequired","professionalBodiesArchitectFormValue","professionalBodiesEngineerFormValue","professionalBodiesFireConsultantFormValue","professionalBodiesOtherProfessionalFormValue","professionalBodiesSelectElectricalContractorFormValue","CemeteryStrategyService_1","ViewFuneralParlourCmComponent","ViewFamilyMemberCmComponent","ViewDeceasedDetailsCmComponent","ViewBurialDetailsCmComponent","BurialDate","DateOfBirth","BurialOrderNumber","SerialNo","CMExpandListForApplicationSearch","APP_EXPAND_PORTAL_APP_CM","CreateApplicationCemeteryMenuHeadings","BurialDetails","DeceasedDetails","FamilyMemberDetails","FuneralParlour","ViewApplicationMenuConfigurableTextType","Cemetery","buildBurialDetailsStep","buildDeceasedStep","buildFamilyMemberStep","buildFuneralParlourStep","cmApplication","clearDeceasedNamesTableSubject$","burialForm","funeralParlourForm","parlourRecipient","parlourSelector","funeralParlourIsNull","burialFormValue","deceasedFormValue","familyMemberFormValue","deletedMembers","funeralParlourIsNullValue","funeralParlourIDValue","DamsStrategyService_1","ViewApplicationDetailsDmComponent","ViewLocationDmComponent","DMExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_DM","CreateApplicationDemolitionMenuHeadings","DemolitionManagement","useCompleteListForSearch","buildDemolitionDetailsStep","demolitionDetailsForm","EcStrategyService_1","ViewApplicationDetailsEcComponent","ViewApplicationProfessionalBodiesEcComponent","ViewApplicationLocationEcComponent","ECExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_EC","CreateApplicationECMenuHeadings","ElectricalConnection","buildEConnectionDetailsStep","electricalEngineerRecipients","markElectricalEngineerAsRequired","copyApplicantToElectricalEngineer","electricalEngineerNa","centroidControl","GtiaStrategyService_1","ViewApplicationLocationGtiaComponent","ViewApplicationDetailsGtiaComponent","GTIAExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_GTIA","Gautrain","gtApplication","typesArray","ItamsStrategyService_1","ViewApplicationDetailsItamsComponent","ViewApplicationLocationItamsComponent","ViewApplicationStakeholdersItamsComponent","ItExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_IT","Traders","InformalTrade","buildStakeholderStep","itApplication","baysArray","tradeGoodsControl","trader","PlamsStrategyService_1","ViewApplicationDetailsPlamsComponent","ViewApplicationLocationPlamsComponent","LeaseStartDate","LeaseEndDate","LeaseApplicationStatus","LeaseType","DateOfDeedTransfer","SaleAmount","EvaluationAmount","PExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_PL","PropertyAndLease","leaseApplicationStatus","plApplication","lesseeRecipient","buyerRecipient","leaseContractNumber","leaseAccountNumber","leaseContractEscalation","leasePeriod","leaseNoticePeriod","sellerRecipient","saleAmountAlienation","dateOfDeedTransferAlienation","evaluationAmountAlienation","transferringAttorneyRecipient","leaseArea","leaseAreaId","geomLease","leaseAreaGeometryJSON","lessees","lessee","sellers","seller","buyers","buyer","RcStrategyService_1","ViewApplicationDetailsRcComponent","ViewApplicationLocationRcComponent","ViewApplicationPeopleOfInterestComponent","RCExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_RC","CreateApplicationRcMenuHeadings","PeopleOfInterest","RatesCertificate","buildRcDetailsStep","buildPeopleOfInterestStep","rcApplication","copyApplicantToTransferee","extentStringValue","purchasePriceStringValue","extentDecimalValue","purchasePriceDecimalValue","transfereeFormControlValue","transferorFormControlValue","conveyancerFormControlValue","SnStrategyService_1","ViewApplicationDetailsSnComponent","ViewApplicationLocationSnComponent","SNExpandListForApplicationSearch","APP_SEARCH_EXPAND_FULL_LIST_SN","StreetNaming","snApplication","elodgementStep","elodgementComplete","locationArray","setLocationDetails","setApplicationPolygon","setApplicationLine","selectedLocationItem","selectedLocationFormGroup","lineShape","TmamsStrategyService_1","ViewApplicationDetailsTmamsComponent","ViewApplicationLocationTmamsComponent","APP_SEARCH_EXPAND_FULL_LIST_TM","CreateApplicationTrainingMenuHeadings","TrainingModule","buildTrainingDetailsStep","TrainingDetailsForm","TpamsStrategyService_1","ViewApplicationDetailsTpamsComponent","ViewApplicationLocationTpamsComponent","TPExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_TP","TownPlanning","tpApplication","zonesArray","WamsStrategyService_1","ViewApplicationDetailsWamsComponent","ViewApplicationLocationWamsComponent","ViewApplicationProfessionalBodiesWamsComponent","WExpandListForApplicationPartial","APP_EXPAND_PORTAL_APP_W","Wayleaves","statusColumn","createApplicationWamsSubscription","wApplication","polylineDto","polygonDto","actualStartDate","actualEndDate","markImplementingAgentAsRequired","implementingAgentRecipient","responsibleContractorRecipient","copyApplicantToImplementingAgent","getEntityColumn","searchColumn","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","isGautrainModule","isBuildingPlanModule","isWayleaveModule","isPropertyAndLeaseModule","isTrainingModule","isInformalTradeModule","isAdvertisingModule","isBusinessLicenceModule","getApplicationSaveDetailsObservable","getApplicationSavePropertiesObservable","OdataOperator","OdataQueryService_1","isStringCheck","expandList","filters","Filter","And","buildOperation","firstOperand","secondOperand","Contains","buildFilterWithCollectionSubQuery","filterList","buildFilterWithSubQuery","buildExpandWithFilter","In","itemCount","filterListKey","busyRequests","countBusyRequests","requestBusySubject","Set","clearRequestsOnRouteChange","updateSomeRequestBusy","change","RouterParamsService_1","paramsSnapshot","_paramsSubject","initializeParamData","listenForRouterEvents","checkIfUrlChanged","checkParamsAreDifferent","currentParams","nextParams","currentKeys","nextKeys","getParams","root","mergeParamsFromSnapshot","children","endsWith","SelectedApplicationService_1","childRefreshedSubject","applicationRefreshed","refreshUrl","selectedApplicationSubject","incompleteJobId","startNewApplication","$startNewApplication","buildGetSingleRequest","getExpandList","setStartNewApplication","fetchSelectedApplicationFromJobID","jobID","getSingleApplication","applicationList","ServerNotificationService_1","HubConnectionBuilder","LogLevel","connectionEstablished","_connectionIsEstablished","_hubConnection","_authenticationToken","buildHubUrl","getLogLevel","Debug","None","sendMessage","invoke","setupConnection","authToken","createConnection","registerServerEvents","startConnection","listenForAuthenticationTokenChanges","closeCurrentConnection","withUrl","accessTokenFactory","logger","build","handleConnectionEstablished","isConnectionActive","stop","ServerInterceptor_1","HttpErrorResponse","HttpResponse","throwError","catchError","tap","CONTENT_TYPE","authenticationToken","checkForUnAuthenticated","httpResponse","UnAuthorized","configureUrl","isRequestValidForProgressUpdate","showProgressHeader","intercept","req","handleNonApiRequest","handleApiRequest","handleUnAuthenticated","showBusySpinnerForRequest","executePipelineActions","checkIfBusyIndicatorMustShow","serverRequest","setHeaders","oldRequest","handle","handleResponse","handleHttpError","removeBusySpinnerForRequest","showResponseContent","body","clone","withCredentials","Accept","StorageBase","STORAGE_ERROR","storage","storageType","getItem","getStorage","removeItem","determineIfString","setItem","serialized","toBeDetermined","String","httpClient","systemModuleSettingsSubject","$systemModuleSettings","_configName","setupSystemModuleSettingsFetched","listenForAuthenticationChanges","getSystemModuleSettingsRequest","moduleSettings","setModuleConfigs","getSystemModuleSettings","systemModuleSetting","systemModuleSettings","ANONYMOUS_USER","organisationApplications","matDialog","systemModulesLoaded$","systemOrganisationsSubject","$systemOrganisations","systemModulesSubject","userInformationFetchedSubject","authenticatedUserSubject","setUpListeners","userInformationFetchedValue","getUserInformation","getUserInformationRequest","userInformation","handleUserInformation","foundModule","getSystemModules","OrganisationId","foundOrganisation","getOrganisations","publishAuthUserValue","publishSystemModules","publishSystemOrganisations","showDisclaimer","setupAuthenticationListener","_permissionGranted","requestPermission","createNewNotification","getPermissionRequest","permissionResponse","handlePermissionResponse","Notification","permission","removePermission","MatSelectModule","TitleCasePipe","MatTableModule","MatPaginatorModule","QuillModule","MatDividerModule","MatTooltipModule","ViewApplicationHostDirective","startDateFormControlName","endDateFormControlName","sourceFormControl","endDate","saveAs","ALLOWED_MIME_TYPES","abs","ai","aif","aifc","aiff","aim","art","asf","asx","au","avi","avx","bcpio","bin","bmp","cdf","cer","class","cpio","csh","css","dib","dtd","dv","dvi","eot","eps","etx","exe","gif","gtar","gz","hdf","hqx","htc","htm","html","ief","jad","jar","java","jnlp","jpe","jpeg","jpg","js","jsf","json","jspf","kar","latex","m3u","mac","man","mathml","me","mid","midi","mif","mov","movie","mp1","mp2","mp3","mp4","mpa","mpe","mpeg","mpega","mpg","mpv2","ms","nc","oda","odb","odc","odf","odg","odi","odm","odp","ods","odt","otg","oth","otp","ots","ott","ogx","ogv","oga","ogg","otf","spx","flac","anx","axa","axv","xspf","pbm","pct","pdf","pgm","pic","pict","pls","png","pnm","pnt","ppm","ppt","pps","ps","psd","qt","qti","qtif","ras","rdf","rgb","rm","roff","rtf","rtx","sfnt","sh","shar","sit","snd","src","sv4cpio","sv4crc","svg","svgz","swf","tar","tcl","tex","texi","texinfo","tif","tiff","tr","tsv","ttf","txt","ulw","ustar","vxml","xbm","xht","xhtml","xls","xml","xpm","xsl","xslt","xul","xwd","vsd","wav","wbmp","wml","wmlc","wmls","wmlscriptc","wmv","woff","woff2","wrl","wspolicy","z","zip","lastIndexOf","mime","newAttachementContent","Blob","fileURL","createObjectURL","cache","hasM","hasZ","isSelfIntersecting","rings","commaSeparated","isString","groupObj","setRecipient","makeDeepCopies","removeId","recipientDeepCopy","sameAsResidential","streetAddressValue","postalAddressValue","streetSuburbValue","postalSuburbValue","streetCityValue","postalCityValue","streetProvinceValue","postalProvinceValue","streetCountryValue","postalCountryValue","streetCodeValue","postalCodeValue","recipientFormGroup","standardizedRecipientGroups","recipientControl","propertyItem","ownerData","ownerDataDeepCopy","WKT","ArcGIS","wkt","wkidSpatialReference","geojson","ConvertWktToGeoJson","parseOptions","sr","arcgisGeometry","ConvertGeoJsonToArcGis","convert","arcgisJson","ConvertArcGisToGeoJson","ConvertGeoJsonToWkt","testPerformanceLoop","startTime","endTime","timeDiffms","timeDiffSec","ViewApplicationBaseComponent","ApplicationViewService","ViewApplicationDetailsAConstants","applicationViewService","personResponsibleDisableAdd","personResponsibleIsInternal","selectedApplicationIASubscription","listenForRouteParamChange","handleRouteChange","configureFormsForPermanentApplication","configureFormsForTemporaryApplication","setMainPermanentFields","getPersonResponsibleByApplicantId","set1yearPermanentApplicationFields","set5yearPermanentApplicationFields","setTemporaryAdvertisementFields","savedPersonResponsible","ViewApplicationLocationAConstants","selectedApplicationStatus","applicationLoaded","listenForSelectedApplication","advertisingFormGroup","configureInitialAdvertisingForm","configureFormsForTemporaryAdvertisingForm","configureFormsForPermanentAdvertisingForm","ViewApplicationDetailsItamsConstants","ViewApplicationDetailsBlConstants","getBusinessOwnerByApplicantId","businessOwnerId","savedBusinessOwner","ViewApplicationLocationBlConstants","CENTROID_CONTROL","geometryControl","GEOMETRY_CONTROL","setApplicationData","createFormGroup","disablePropertyControls","ViewApplicationDetailsBpamsConstants","propertiesControl","PROPERTIES_CONTROL","ownerDisableDelete","totalLabel","getZoningLookups","setZonesControls","zoningLookups","onGetZoningLookupsCompleted","zoneObject","_form","outbuildings","ViewApplicationProfessionalBodiesBpamsConstants","ViewApplicationConstants","markArchitectAsNotApplicableLabel","MARK_ARCHITECT_AS_NOT_APPLICABLE_LABEL","markArchitectAsNotApplicableFormControlName","MARK_ARCHITECT_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","markEngineerAsNotApplicableLabel","MARK_ENGINEER_AS_NOT_APPLICABLE_LABEL","markEngineerAsNotApplicableFormControlName","MARK_ENGINEER_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","markElectricalContractorAsNotApplicableLabel","MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_LABEL","markElectricalContractorAsNotApplicableFormControlName","MARK_ELECTRICAL_CONTRACTOR_AS_NOT_APPLICABLE_FORM_CONTROL_NAME","markFireConsultantAsNotApplicableLabel","MARK_FIRE_CONSULTANT_AS_NOT_APPLICABLE_LABEL","markFireConsultantAsNotApplicableFormControlName","markOtherProfessionalAsNotApplicableLabel","MARK_OTHER_PROFESSIONAL_AS_NOT_APPLICABLE_LABEL","markOtherProfessionalAsNotApplicableFormControlName","selectedModuleNameAsObservableSubscription","ViewBurialDetailsCmConstants","saShortdatePipe","serialNumenerControl","tableLabel","statDate","ViewFamilyMemberCmConstants","markFuneralParlourAsNotApplicableLabel","funeralParlourNotApplicableCheckboxDisabled","selectedApplicationFPSubscription","selectedFuneralParlour","disableFields","syncFuneralParlourNotApplicableCheckbox","ViewApplicationDetailsDmConstants","selectedApplicationPFSubscription","ViewLocationDmConstants","selectedApplicationDMSubscription","ViewApplicationDetailsEcConstants","ViewApplicationLocationEcConstants","selectedApplicationECSubscription","ViewApplicationProfessionalBodiesEcConstants","ViewApplicationDetailsGtiaConstants","ViewApplicationLocationGtiaConstants","referenceNumberFormControlName","setSelectedApplicationType","ViewApplicationLocationItamsConstants","baysControl","BAYS_CONTROL","savedBay","disableBayControls","ViewApplicationStakeholdersItamsConstants","getRecipientsObservableSubscription","ViewApplicationDetailsPlamsConstants","leaseContractNumberLabel","LEASE_CONTRACT_NUMBER_LabeL","leaseAccountNumberLabel","LEASE_ACCOUNT_NUMBER_LabeL","leaseContractEscalationLabel","LEASE_CONTRACT_ESCALLATION_LabeL","leasePeriodLabel","LEASE_PERIOD_LabeL","leaseNoticePeriodLabel","LEASE_NOTICE_PERIOD_DATE_LabeL","leaseContractNumberFormControlName","LEASE_CONTRACT_NUMBER_FORM_CONTROL_NAME","leaseAccountNumberFormControlName","LEASE_ACCOUNT_NUMBER_FORM_CONTROL_NAME","leaseContractEscalationFormControlName","LEASE_CONTRACT_ESCALATION_FORM_CONTROL_NAME","leasePeriodFormControlName","LEASE_PERIOD_FORM_CONTROL_NAME","leaseNoticePeriodFormControlName","LEASE_NOTICE_PERIOD_DATE_FORM_CONTROL_NAME","lesseeDisableDelete","buyerDisableDelete","sellerDisableDelete","getLesseesObservableSubscription","getSellersObservableSubscription","propertyAndLeaseServiceSubscription","LEASE_COMMENTS_LabeL","LEASE_STATUS_ACCORDING_TO_COUNCIL_LabeL","LEASE_COMMENTS_FORM_CONTROL_NAME","LEASE_STATUS_ACCORDING_TO_COUNCIL_FORM_CONTROL_NAME","ViewApplicationLocationPlamsConstants","ownerMetaData","ViewApplicationDetailsRcConstants","selectedApplicationRCSubscription","disableForm","ViewApplicationLocationRcConstants","managingAgentDisableAdd","propertiesFormGroup","mangingAgentControl","ViewApplicationDetailsSnConstants","ViewApplicationLocationSnConstant","REASON_FOR_CHANGE_NAME_LOOKUPS","ViewApplicationDetailsTmamsConstants","selectedApplicationTMAMSSubscription","ViewLocationTmConstants","_isMapLoaded","ViewApplicationDetailsTpamsConstants","typeControls","ViewApplicationLocationTpamsConstants","ViewApplicationDetailsWamsConstants","shortDatePipe","isAppLoaded","selectedApplicationWAMSSubscription","ViewApplicationProfessionalBodiesWamsConstants","professionalBodiesFormControl","PROFESSIONAL_BODIES_FORM_CONTROL","markImplementingAgentAsNotApplicableLabel","MARK_IMPLEMENTING_AGENT_AS_NOT_APPLICABLE_LABEL","markContractorAsNotApplicableLabel","MARK_CONTRACTOR_AS_NOT_APPLICABLE_LABEL","RESPONSIBLE_CONTRACTOR_FORM_CONTROL_NAME","showContractor","implementingAgentDetailsHeader","IMPLEMENTING_AGENT_DETAILS_HEADER","engineerDetailsHeader","ENGINEER_DETAILS_HEADER","RESPONSIBLE_CONTRACTOR_LABEL","contractorDetailsHeader","CONTRACTOR_DETAILS_HEADER","ViewApplicationDetailsZcConstants","ViewApplicationLocationZcConstants","selectedApplicationCMSubscription","FORM_CONTROLS","contactNameLabel","contactSurnameLabel","assignedToLabel","townplannerLabel","transferAttorneyLabel","fromDateLabel","toDateLabel","beforeDateLabel","afterDateLabel","percentCompleteLabel","statusLabel","erfNoLabel","farmNoLabel","allotmentLabel","sgCodeLabel","timeoutStatusLabel","daysUntilExpiredLabel","dateLabel","datePlaceholder","endDateLabel","searchText","assignedToUsersForm","idNumberFormControl","organisationFormControl","erfNoFormControl","farmNoFormControl","allotmentFormControl","sgCodeFormControl","assignedToUsersFormControl","createdDateFormControl","toCreatedDateFormControl","fromCreatedDateFormControl","dateOfDeathFormControl","statusFormControl","daysUntilExpiredFormControl","applicationTypeFormControl","townPlannerFormControl","groupNameFormControl","deedTransferBeforeDateFormControl","deedTransferAfterDateFormControl","deedTransferDateFormControl","leaseContractDateFormControl","leaseEndDateFormControl","leaseStartDateFormControl","APPLICATION_AGENT","FAMILY","ORGANISATION","APPLICANT","STATUS","NAME","SURNAME","USER_ID","USER","LAST_NAME","FIRST_NAME","CREATED_DATE","DEFAULT_SEARCH","PERCENT_COMPLETE","APPLICATION_JOB_LINK","WORKFLOW_SECTION","DAYS_UNTIL_EXPIRED","TIMEOUT_STATUS","APPLICATION_TYPES","APPLICATION_TYPE","OWNERS","PROPERTIES","PROPERTY_BUILDINGS","PROPERTY_ZONINGS","ZONINGS","BUILDINGS","TOWNPLANNER_ID","DECEASED","DECEASED_NAMES","BURIAL_ORDER_NUMBER","ID_NUMBER","DATE_OF_BIRTH","DATE_OF_DEATH","OPTION_SELECT_GRAVE","GRAVES","ERF_NUMBER","FARM_NUMBER","ALLOTMENT","SG_CODE","SEARCH_BY_SHAPE","TRANSFER_ATTORNEY","BUYERS","SELLERS","LESSEES","DATE_DEED_TRANSFER","LEASE_START_DATE","LEASE_END_DATE","WITH_GRAVE","ApplicationSearchService_1","utcDate","sortApplicationList","sortColumn","ascendingSort","aKey","ApplicationViewService_1","getApplicationRecipients","getCommunications","getNotesPostObservable","authenticatedUserSubscription","onerror","uploadDocumentObservableSubscripition","ViewApplicationBaseComponent_1","selectedApplicationVABSubscription","routerParamsSubscription","ViewContainerRef","viewContainerRef","COMMUNICATION_HEADING","ViewApplicationDocumentationConstants","disableComponent","sessionDocumentCantBeDeletedMsg","SESSION_DOCUMENTS_CANT_BE_DELETED_MESSAGE","sessionDocumentCantBeEditedMsg","SESSION_DOCUMENTS_CANT_BE_EDITED_MESSAGE","addDocumentDialogTitle","editDocumentDialogTitle","deleteDocumentDialogTitle","DELETE_DOCUMENTS_DIALOG_TITLE","datePipeDateFormat","documentFormControl","documentsFormControl","optionalDocumentsHeader","OPTIONAL_DOCUMENTS_HEADER","savedDocumentsIds","getAttachmentsSubscription","getApplicationTypesSubscription","checkIfDocumentCanBeAltered","preventDocumentEdit","docsThatCantBeAltered","selectedDocument","captureIdsOfDocuments","stepName","ViewApplicationNotesConstants","getNotesObservableSubscription","subscribeToHeader","isArray","ViewApplicationPeopleOfInterestConstants","transferorShowFields","transfereeShowFields","conveyancerShowFields","populatePeopleOfInterestForms","JOB_ID_ROUTE_PARAMETER","VIEW_APPLICATION_HEADING_TEXT","APPLICATION_CONTENT_ROUTE","APPLICATION_STATUS_ROUTE","COMMUNICATION","enableProdMode","platformBrowserDynamic","defineCustomElements","bootstrapModule","CalciteButtonComponent","btnRef","appearance","setBtnText","CalciteCardComponent","cardTitle","CalciteCheckboxComponent","CalciteComboboxComponent","comboboxItemsObservable","setItemsAsSelectedObservable","allowCustomValues","disableComboBox","comboBoxPlaceholder","comboBoxScale","maxItems","overlayPositioning","setSelectedItems","onComboBoxChange","comboBoxOptions","setSubscribers","detail","selectedItems","setComboBoxItems","comboBoxItem","elementId","comboBoxElement","comboBoxItemHTMLElement","setItemsAsSelected","comboBoxListItemNodes","childNodes","calciteNodeItem","itemValue","selectedItem","comboBoxItems","CalciteDatePickerComponent","CalciteDropdownComponent","UntypedFormBuilder","CalciteFormMultiselectComponent","subscriptions","groupsControl","onSelectionChanged","CalciteInputComponent","addClearInputBtn","groupSeparator","inputLabelText","val","inputForm","calciteFormControl","onTouch","Renderer2","RequiredClassDirective","renderer","elmRef","addClass","CalciteLinkComponent","CalciteListComponent","CalciteSelectComponent","selectForm","selectOptions","calciteSelectFormControl","CalciteStepperService","CalciteStepperComponent","calciteStepperService","calciteStepper","onStepClicked","numbered","stepperHtmlElement","stepOptionsAsObservableSubscription","setStepOptions","totalSteps","stepOptionsAsObservable","setItemValues","option","innerText","onClick","stepOptions","stepIndexAsObservable","setStepIndex","steps","getStepOptions","updateStep","updatedStep","getStepByStepID","currentStep","getStepByStepIndex"],"sourceRoot":""}