{"version":3,"sources":["webpack:///./src/app/admin/admin-ip-modal.component.html","webpack:///./src/app/admin/admin-modal.component.html","webpack:///./src/app/admin/admin-pw-modal.component.html","webpack:///./src/app/info/encrypt/encrypt-tree-modal.component.html","webpack:///./src/app/info/program/program-info-modal.component.html","webpack:///./src/app/layouts/admin/admin-layout.component.html","webpack:///./src/app/layouts/auth/auth-layout.component.html","webpack:///./src/app/modal/alarm.component.html","webpack:///./src/app/modal/conf-apply.component.html","webpack:///./src/app/modal/handle-error.component.html","webpack:///./src/app/modal/handle-success.component.html","webpack:///./src/app/modal/session-out.component.html","webpack:///./src/app/modal/tree-modal.component.html","webpack:///./src/app/tree/dropdown-manual.html","webpack:///./src/app/tree/progress-csv-modal.component.html","webpack:///./src/app/tree/search-exceptionpolicy-modal.component.html","webpack:///./src/app/tree/search-modal.component.html","webpack:///./src/app/tree/search-pccurrentstatus-modal.component.html","webpack:///./src/app/tree/search-permission-modal.component.html","webpack:///./src/app/tree/search-policy-modal.component.html","webpack:///./src/app/tree/tree.component.html","webpack:///./src/app/url/adminurl-modal.component.html","webpack:///./src/app/url/adminurladd-modal.component.html","webpack:///./src/app/url/adminurloverlap-modal.component.html","webpack:///./src/app/modal/alarm.component.ts","webpack:///./src/app/tree/progress-csv-modal.component.ts","webpack:///crypto (ignored)","webpack:///./src/app/globals.ts","webpack:///./src/app/modal/handle-success.component.ts","webpack:///./src/app/info.service.ts","webpack:///./src/app/modal/conf-apply.component.ts","webpack:///./src/app/auth.service.ts","webpack:///crypto (ignored)?046e","webpack:///./src/app/admin/admin-modal.component.ts","webpack:///./src/app/url/adminurloverlap-modal.component.ts","webpack:///./src/app/modal/handle-error.component.ts","webpack:///./src/app/admin/admin-ip-modal.component.ts","webpack:///./src/app/admin/admin-pw.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/auth.guard.ts","webpack:///./src/app/info/program/program-info-modal.component.ts","webpack:///./src/app/layouts/admin/admin-layout.component.ts","webpack:///./src/app/layouts/auth/auth-layout.component.ts","webpack:///./src/app/tree/search-exceptionpolicy-modal.component.ts","webpack:///./src/app/tree/search-modal.component.ts","webpack:///./src/app/tree/search-pccurrentstatus-modal.component.ts","webpack:///./src/app/tree/search-permission-modal.component.ts","webpack:///./src/app/tree/search-policy-modal.component.ts","webpack:///./src/app/url/adminurladd-modal.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/app/modal/session-out.component.ts","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/modal/tree-modal.component.ts","webpack:///./src/app/http.factory.ts","webpack:///./src/app/url/adminurl-modal.component.ts","webpack:///./src/app/info/encrypt/encrypt-tree-modal.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/http.interceptor.ts","webpack:///./src/app/index.ts","webpack:///./src/app/pager.component.ts","webpack:///./src/app/tree/dropdown-manual.ts","webpack:///./src/app/tree/tree.component.ts"],"names":[],"mappings":"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A+E;AAExE,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,EAAE;CACX,CAAC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACRsD;AAChB;AAC+B;AACF;AAOrE;IAEI,YAAoB,IAAU,EAAU,MAAc,EAAS,WAA2B;QAAtE,SAAI,GAAJ,IAAI,CAAM;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAgB;IAAG,CAAC;IAE9F,QAAQ;IAEX,CAAC;IACD,YAAY;QACX,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;AACF,CAAC;AAVA;IAAC,2EAAK,EAAE;;6CAAA;AANT;IAAC,+EAAS,CAAC;QACV,QAAQ,EAAE,qBAAqB;QAC/B,mCAA2C;KAC3C,CAAC;;mBAAA;AAaD;;;;;;;;ACrBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrH0E;AAC5B;AACU;AACtB;AAElC,EAAE,CAAC,CAAC,8EAAW,CAAC,UAAU,CA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","file":"main.bundle.js","sourcesContent":["module.exports = \"\\r\\n<!--편집/추가 모달-->\\r\\n<form [formGroup]=\\\"ipAddressForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n  <!--\\r\\n  다국어 코드 한글값\\r\\n  \\\"adminIpModal.comp.1001\\\":\\\"허용 IP 설정\\\",\\r\\n\\t\\\"adminIpModal.comp.1002\\\":\\\"IP 선택\\\",\\r\\n\\t\\\"adminIpModal.comp.1003\\\":\\\"IP 허용/차단 정책\\\",\\r\\n\\t\\\"adminIpModal.comp.1004\\\":\\\"IP 지정\\\",\\r\\n\\t\\\"adminIpModal.comp.1005\\\":\\\"IP 범위\\\",\\r\\n\\t\\\"adminIpModal.comp.1006\\\":\\\"확인\\\",\\r\\n\\t\\\"adminIpModal.comp.1007\\\":\\\"취소\\\",\\r\\n\\t\\\"adminIpModal.comp.1008\\\":\\\"IP 등록\\\",\\r\\n\\t\\\"adminIpModal.comp.1009\\\":\\\"IP 삭제\\\",\\r\\n\\t\\\"adminIpModal.comp.1010\\\":\\\"미적용\\\",\\r\\n\\t\\\"adminIpModal.comp.1011\\\":\\\"허용 적용\\\",\\r\\n\\t\\\"adminIpModal.comp.1012\\\":\\\"차단 적용\\\",\\r\\n\\t\\\"adminIpModal.comp.1013\\\":\\\"허용 IP\\\",\\r\\n\\t\\\"adminIpModal.comp.1014\\\":\\\"날짜\\\",\\r\\n\\t\\\"adminIpModal.comp.1015\\\":\\\"IP 형식이 잘못되었습니다.\\\",\\r\\n\\t\\\"adminIpModal.comp.1016\\\":\\\"중복된 IP 입니다.\\\",\\r\\n  \\\"adminIpModal.comp.1017\\\":\\\"IP 범위가 잘못되었습니다.\\\",\\r\\n  \\\"adminIpModal.comp.1018\\\":\\\"없는 IP 입니다.\\\",\\r\\n  \\\"adminIpModal.comp.1019\\\":\\\"IP를 입력해주세요.\\\",\\r\\n  -->\\r\\n  <div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{ 'adminIpModal.comp.1001' | translate }}</h3>\\r\\n    <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n      <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\">\\r\\n    <p style=\\\"margin-left: 15px;\\\">\\r\\n      <span> {{ 'adminIpModal.comp.1002' | translate }}</span>\\r\\n    </p>\\r\\n    <section>\\r\\n      <div class=\\\"card card-default\\\">\\r\\n        <div class=\\\"card-header\\\">\\r\\n          <h4>{{ 'adminIpModal.comp.1003' | translate }}</h4>\\r\\n        </div>\\r\\n        <div class=\\\"card-block chk-version\\\">\\r\\n          <fieldset [disabled]=\\\"true\\\">\\r\\n            <div class=\\\"form-group row\\\">\\r\\n              <div class=\\\"col-sm-4\\\">\\r\\n                <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"opacity: 1; cursor: default;\\\">\\r\\n                  <input type=\\\"radio\\\" class=\\\"form-check-input\\\" value=\\\"0\\\" formControlName=\\\"ds30133\\\" [(ngModel)]=\\\"ipAddress.ds30133\\\" >\\r\\n                  <i style=\\\"opacity: 1;\\\"></i>\\r\\n                  {{'adminIpModal.comp.1010' | translate}}\\r\\n                </label>\\r\\n              </div>\\r\\n              <div class=\\\"col-sm-4\\\">\\r\\n                <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"opacity: 1; cursor: default;\\\">\\r\\n                  <input type=\\\"radio\\\" class=\\\"form-check-input\\\" value=\\\"1\\\" formControlName=\\\"ds30133\\\" [(ngModel)]=\\\"ipAddress.ds30133\\\">\\r\\n                  <i style=\\\"opacity: 1;\\\"></i>\\r\\n                  {{'adminIpModal.comp.1011' | translate}}\\r\\n                </label>\\r\\n              </div>\\r\\n              <div class=\\\"col-sm-4\\\">\\r\\n                <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"opacity: 1; cursor: default;\\\">\\r\\n                  <input type=\\\"radio\\\" class=\\\"form-check-input\\\" value=\\\"2\\\" formControlName=\\\"ds30133\\\" [(ngModel)]=\\\"ipAddress.ds30133\\\">\\r\\n                  <i style=\\\"opacity: 1;\\\"></i>\\r\\n                  {{'adminIpModal.comp.1012' | translate}}\\r\\n                </label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </fieldset>\\r\\n        </div>\\r\\n      </div>\\r\\n    </section>\\r\\n    <div style=\\\"display: flex; flex-direction: row; align-items: center; justify-content: space-between; height: 84px;\\\">\\r\\n      <div class=\\\"form-group row\\\" style=\\\"margin-top: 26px; display: flex; align-items: center; flex-direction: row; flex-wrap: nowrap;\\\">\\r\\n        <label class=\\\"col-form-label positionCenter\\\" style=\\\"margin-left: 30px; white-space: nowrap;\\\">\\r\\n          {{ 'adminIpModal.comp.1004' | translate }}\\r\\n        </label>\\r\\n        <div style=\\\"display: flex; justify-content: space-around; margin-left: 15px;\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            style=\\\"margin-left: 40px;\\\"\\r\\n            [style.borderColor]=\\\"ipAddressForm.get('ds30130')?.invalid||!checkPass||!checkDelete||!checkValue?'red': ''\\\"\\r\\n            placeholder=\\\"0  .  0  .  0  .  0\\\" \\r\\n            formControlName=\\\"ds30130\\\"\\r\\n            class=\\\"form-control ng-untouched ng-pristine ng-valid positionCenter ipInputBox\\\" \\r\\n            (ngModelChange)=\\\"onInputChange($event)\\\"\\r\\n            [(ngModel)]=\\\"ipAddress.ds30130\\\"\\r\\n          >\\r\\n          <span *ngIf=\\\"ipAddressForm.get('ds30130')?.invalid\\\" class=\\\"ipErrorBox positionCenter\\\">\\r\\n            {{ 'adminIpModal.comp.1015' | translate }}\\r\\n          </span>\\r\\n          <span *ngIf=\\\"!checkPass\\\" class=\\\"ipErrorBox positionCenter\\\">\\r\\n            {{ 'adminIpModal.comp.1016' | translate }}\\r\\n          </span>\\r\\n          <span *ngIf=\\\"!checkDelete\\\" class=\\\"ipErrorBox positionCenter\\\">\\r\\n            {{ 'adminIpModal.comp.1018' | translate }}\\r\\n          </span>\\r\\n          <span *ngIf=\\\"!checkValue\\\" class=\\\"ipErrorBox positionCenter\\\">\\r\\n            {{ 'adminIpModal.comp.1019' | translate }}\\r\\n          </span>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div style=\\\"display: flex; justify-content: center; padding: 10px;\\\">\\r\\n        <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" style=\\\"margin-right: .25rem;\\\" (click)=\\\"fnAdd()\\\">{{ 'adminIpModal.comp.1008' | translate }}</button>\\r\\n        <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" style=\\\"margin-right: .25rem;\\\" (click)=\\\"fnDelete()\\\">{{ 'adminIpModal.comp.1009' | translate }}</button>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"form-group row\\\" style=\\\"height: 280px\\\">\\r\\n      <div class=\\\"col-12\\\">\\r\\n        <article class=\\\"card card-default\\\" style=\\\"height: 250px\\\">\\r\\n          <div class=\\\"card-block no-padding auto-scroll\\\">\\r\\n            <ngx-datatable\\r\\n              class=\\\"material\\\" \\r\\n              style=\\\"height: 248px;\\\"\\r\\n              [columns]=\\\"columns\\\"\\r\\n              [columnMode]=\\\"'standard'\\\"\\r\\n              [headerHeight]=\\\"28\\\"\\r\\n              [footerHeight]=\\\"0\\\"\\r\\n              [rowHeight]=\\\"28\\\"\\r\\n              [rows]='rows' \\r\\n              [scrollbarH]=\\\"true\\\"\\r\\n              [scrollbarV]=\\\"true\\\"\\r\\n              [selectionType]=\\\"'row'\\\"\\r\\n              [selected]=\\\"selected\\\"\\r\\n              (select)=\\\"onSelect($event)\\\">\\r\\n            </ngx-datatable>\\r\\n          </div>\\r\\n        </article>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"form-group row\\\" style=\\\"display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center;\\\">\\r\\n      <label class=\\\"col-sm-1 col-form-label\\\" style=\\\"white-space: nowrap; margin-left: 15px;\\\">\\r\\n        {{ 'adminIpModal.comp.1005' | translate }}\\r\\n      </label>\\r\\n      <div class=\\\"col-sm-5\\\" style=\\\"margin-left: 10px; display: flex; flex-direction: column; align-items: center;\\\">\\r\\n        <input \\r\\n          type=\\\"text\\\" \\r\\n          [style.borderColor]=\\\"ipAddressForm.get('ds30131')?.invalid||!checkRangePass?'red': ''\\\"\\r\\n          placeholder=\\\"0  .  0  .  0  .  0\\\" \\r\\n          class=\\\"form-control ng-untouched ng-pristine ng-valid ipInputBox\\\" \\r\\n          formControlName=\\\"ds30131\\\"\\r\\n          (ngModelChange)=\\\"onInputRangeChange($event)\\\"\\r\\n          [(ngModel)]=\\\"ipAddress.ds30131\\\"\\r\\n        >\\r\\n        <span *ngIf=\\\"ipAddressForm.get('ds30131')?.invalid\\\" style=\\\"color: red;\\\">\\r\\n          {{ 'adminIpModal.comp.1015' | translate }}\\r\\n        </span>\\r\\n        <span *ngIf=\\\"!checkRangePass\\\" style=\\\"color: red;\\\">\\r\\n          {{ 'adminIpModal.comp.1017' | translate }}\\r\\n        </span>\\r\\n      </div>\\r\\n      <span>~</span>\\r\\n      <div class=\\\"col-sm-5\\\" style=\\\"display: flex; flex-direction: column; align-items: center;\\\">\\r\\n        <input \\r\\n          type=\\\"text\\\" \\r\\n          [style.borderColor]=\\\"ipAddressForm.get('ds30132')?.invalid||!checkRangePass?'red': ''\\\"\\r\\n          placeholder=\\\"0  .  0  .  0  .  0\\\" \\r\\n          class=\\\"form-control ng-untouched ng-pristine ng-valid ipInputBox\\\"\\r\\n          formControlName=\\\"ds30132\\\"\\r\\n          (ngModelChange)=\\\"onInputRangeChange($event)\\\"\\r\\n          [(ngModel)]=\\\"ipAddress.ds30132\\\"\\r\\n        >\\r\\n        <span *ngIf=\\\"ipAddressForm.get('ds30132')?.invalid\\\" style=\\\"color: red;\\\">\\r\\n          {{ 'adminIpModal.comp.1015' | translate }}\\r\\n        </span>\\r\\n        <span *ngIf=\\\"!checkRangePass\\\" style=\\\"color: red;\\\">\\r\\n          {{ 'adminIpModal.comp.1017' | translate }}\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onSubmit()\\\">{{'adminIpModal.comp.1006' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onCancle()\\\">{{'adminIpModal.comp.1007' | translate}}</button>\\r\\n\\t</div>\\r\\n</form>\\r\\n\\r\\n<!--허용 IP 설정 모달-->\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/admin-ip-modal.component.html\n// module id = 1376\n// module chunks = 27","module.exports = \"\\r\\n<!--편집/추가 모달-->\\r\\n\\t<form [formGroup]=\\\"adminForm\\\">\\r\\n\\t\\t<!--\\r\\n\\t\\t다국어 코드 한글값\\r\\n\\t\\t\\\"adminModal.comp.1001\\\":\\\"관리자 추가\\\",\\r\\n\\t\\t\\\"adminModal.comp.1002\\\":\\\"새로운 중간 관리자의 계정을 추가합니다.\\\",\\r\\n\\t\\t\\\"adminModal.comp.1003\\\":\\\"*로 표기된 사항은 반드시 입력해야 합니다.\\\",\\r\\n\\t\\t\\\"adminModal.comp.1004\\\":\\\"관리자 정보\\\",\\r\\n\\t\\t\\\"adminModal.comp.1005\\\":\\\"관리자 ID *\\\",\\r\\n\\t\\t\\\"adminModal.comp.1006\\\":\\\"비밀번호 *\\\",\\r\\n\\t\\t\\\"adminModal.comp.1007\\\":\\\"비밀번호 확인 *\\\",\\r\\n\\t\\t\\\"adminModal.comp.1008\\\":\\\"비밀번호가 일치하지 않습니다.\\\",\\r\\n\\t\\t\\\"adminModal.comp.1009\\\":\\\"관리자 이름 *\\\",\\r\\n\\t\\t\\\"adminModal.comp.1010\\\":\\\"관리자 소속\\\",\\r\\n\\t\\t\\\"adminModal.comp.1011\\\":\\\"관리자 E-mail 주소\\\",\\r\\n\\t\\t\\\"adminModal.comp.1012\\\":\\\"올바른 이메일 주소가 아닙니다.\\\",\\r\\n\\t\\t\\\"adminModal.comp.1013\\\":\\\"관리자 연락처\\\",\\r\\n\\t\\t\\\"adminModal.comp.1014\\\":\\\"올바른 연락처가 아닙니다.\\\",\\r\\n\\t\\t\\\"adminModal.comp.1015\\\":\\\"확인\\\",\\r\\n\\t\\t\\\"adminModal.comp.1016\\\":\\\"취소\\\",\\r\\n\\t\\t\\\"adminModal.comp.1031\\\":\\\"시스템 관리자 정책 관리\\\",\\r\\n\\t\\t\\\"adminModal.comp.1032\\\":\\\"새 비밀번호 *\\\",\\r\\n\\t\\t\\\"adminModal.comp.1033\\\":\\\"비밀번호 변경\\\",\\r\\n\\t\\t\\\"adminModal.comp.1034\\\":\\\"현재 비밀번호 *\\\"\\r\\n\\t\\t\\\"adminModal.comp.1039\\\":\\\"IP 설정\\\"\\r\\n\\t\\t-->\\r\\n\\t\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t\\t<h3 *ngIf=\\\"!isSystemAdminPolicy\\\" class=\\\"modal-title\\\">{{ 'adminModal.comp.1001' | translate }}</h3>\\r\\n\\t\\t\\t<h3 *ngIf=\\\"isSystemAdminPolicy\\\" class=\\\"modal-title\\\">{{ 'adminModal.comp.1031' | translate }}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t\\t</button>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t\\t<p>\\r\\n                <span *ngIf=\\\"!isSystemAdminPolicy\\\">- {{ 'adminModal.comp.1002' | translate }} <br/>- {{ 'adminModal.comp.1003' | translate }}</span>\\r\\n            </p>\\r\\n\\t\\t\\t<div style=\\\"display: flex\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card card-default\\\" style=\\\"float: left; width: 50%;\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t\\t\\t<h4>{{ 'adminModal.comp.1004' | translate }}</h4>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-1\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1005' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1201\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds1201\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div *ngIf=\\\"!isSystemAdminPolicy\\\">\\r\\n\\r\\n                            <div *ngIf=\\\"isSystemAdmin || managerPolicyTab == 'Y' || useManagerPwCheck == 'N'\\\">\\r\\n                                <div class=\\\"form-group row\\\">\\r\\n                                    <label for=\\\"admin-m-2\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1006' | translate }}</label>\\r\\n                                    <div class=\\\"col-sm-6\\\">\\r\\n                                        <input\\r\\n                                            type=\\\"password\\\"\\r\\n                                            id=\\\"admin-m-2\\\"\\r\\n                                            class=\\\"form-control\\\"\\r\\n                                            formControlName=\\\"ds1202\\\"\\r\\n                                            [(ngModel)]=\\\"app.ds1202\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group row\\\">\\r\\n                                    <label for=\\\"admin-m-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1007' | translate }}</label>\\r\\n                                    <div class=\\\"col-sm-6\\\">\\r\\n                                        <input\\r\\n                                            type=\\\"password\\\"\\r\\n                                            id=\\\"admin-m-3\\\"\\r\\n                                            class=\\\"form-control\\\"\\r\\n                                            formControlName=\\\"ds12021\\\"\\r\\n                                            [(ngModel)]=\\\"app.ds12021\\\">\\r\\n                                        <small\\r\\n                                            *ngIf=\\\"adminForm.controls['ds12021'].errors?.equalTo\\\" class=\\\"md-text-warn\\\">\\r\\n                                            {{ 'adminModal.comp.1008' | translate }}\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-5\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1009' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1203\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds1203\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-6\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1010' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1204\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds1204\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-7\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1011' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"email\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1205\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds1205\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<small\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t*ngIf=\\\"adminForm.controls['ds1205'].errors?.email\\\" class=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1012' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-8\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1013' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-8\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1206\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds1206\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<small\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t*ngIf=\\\"adminForm.controls['ds1206'].errors?.phone\\\" class=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1013' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<div *ngIf=\\\"isSystemAdminPolicy\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-2\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1034' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"password\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-9\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds4225\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"appPw.ds4225\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-2\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1032' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"password\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-10\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds4226\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"appPw.ds4226\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1007' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"password\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-11\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds4226_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"appPw.ds4226_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<small *ngIf=\\\"adminForm.controls['ds12021'].errors?.equalTo\\\" class=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1008' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\" *ngIf=\\\"!isSystemAdminPolicy\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-m-12\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminModal.comp.1037' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-12\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_USE_AUTH\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_USE_AUTH\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of useAuth\\\" [ngValue]=\\\"state.value\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state.name }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<!--<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-m-9\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t사용 기한\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tplaceholder=\\\"yyyy-mm-dd\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tname=\\\"dp3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tngbDatepicker\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t#e=\\\"ngbDatepicker\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"시작일\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon\\\" (click)=\\\"e.toggle()\\\" >\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i class=\\\"material-icons\\\">date_range</i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tplaceholder=\\\"yyyy-mm-dd\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tname=\\\"dp5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tngbDatepicker\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t#e=\\\"ngbDatepicker\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"종료일\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon\\\" (click)=\\\"e.toggle()\\\" >\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i class=\\\"material-icons\\\">date_range</i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>-->\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"modal-footer text-right\\\" *ngIf=\\\"isSystemAdminPolicy || (!isSystemAdminPolicy && !isSystemAdmin && managerPolicyTab == 'N' && useManagerPwCheck == 'Y')\\\">\\r\\n\\t\\t\\t\\t\\t\\t<button\\r\\n\\t\\t\\t\\t\\t\\t\\t(click)=\\\"isSystemAdminPolicy ? changeSystemAdminPw() : openAdminPw()\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"(!appPw.ds4225 || !appPw.ds4226 || appPw.ds4226 != appPw.ds4226_2) && isSystemAdmin\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\ttype=\\\"button\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tclass=\\\"btn btn-md btn-secondary\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1033' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t</button>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"card card-default\\\" style=\\\"float: right; width: 50%\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t\\t\\t<h4>{{ 'adminModal.comp.1017' | translate }}</h4>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-block\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-1\\\" class=\\\"col-sm-12 form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_MODIFY_PW\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('PPTN_MODIFY_PW', 'all')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_MODIFY_PW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1018' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_MODIFY_PW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-2\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"width: 100%\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_CHANGEPW_PERIOD_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('PPTN_CHANGEPW_PERIOD_YN', 'PPTN_CHANGEPW_PERIOD')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('PPTN_CHANGEPW_PERIOD_YN', 'PPTN_CHANGEPW_PERIOD')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_CHANGEPW_PERIOD_YN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1019' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"패스워드 변경주기\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_CHANGEPW_PERIOD\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_CHANGEPW_PERIOD\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.PPTN_CHANGEPW_PERIOD_YN && policy.PPTN_CHANGEPW_PERIOD == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1029' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_MODIFY_PW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-4\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_CHANGEPW_PATTERN_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('PPTN_CHANGEPW_PATTERN_YN', 'PPTN_CHANGEPW_PATTERN')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('PPTN_CHANGEPW_PATTERN_YN', 'PPTN_CHANGEPW_PATTERN')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_CHANGEPW_PATTERN_YN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1021' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"변경 패턴 제한\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_CHANGEPW_PATTERN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(keyup)=\\\"changeVal('PPTN_CHANGEPW_PATTERN')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_CHANGEPW_PATTERN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.PPTN_CHANGEPW_PATTERN_YN && policy.PPTN_CHANGEPW_PATTERN == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1028' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" style=\\\"padding-left: 30px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_CHANGEPW_PATTERN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-6\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_PATTERN_PWLEVEL_1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"policy.PPTN_PATTERN_PWLEVEL_1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_PATTERN_PWLEVEL_1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1022' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" style=\\\"padding-left: 30px; padding-bottom: 5px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_CHANGEPW_PATTERN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-7\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_PATTERN_PWLEVEL_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"policy.PPTN_PATTERN_PWLEVEL_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_PATTERN_PWLEVEL_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1023' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_MODIFY_PW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-8\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-8\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_MODIFY_PW_FIRSTLOGIN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_MODIFY_PW_FIRSTLOGIN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1024' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.PPTN_MODIFY_PW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-9\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-9\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_MODIFY_PW_NOSAMEPW\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('PPTN_MODIFY_PW_NOSAMEPW', 'PPTN_MODIFY_PW_NOSAMEPW_NUM')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('PPTN_MODIFY_PW_NOSAMEPW', 'PPTN_MODIFY_PW_NOSAMEPW_NUM')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_MODIFY_PW_NOSAMEPW\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1025' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-10\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"이전 패스워드와 동일한 패스워드 사용금지\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"PPTN_MODIFY_PW_NOSAMEPW_NUM\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.PPTN_MODIFY_PW_NOSAMEPW_NUM\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.PPTN_MODIFY_PW_NOSAMEPW && policy.PPTN_MODIFY_PW_NOSAMEPW_NUM == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1030' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-11\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-11\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_OLDDAY_NOTLOGIN_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('MANAGER_OLDDAY_NOTLOGIN_YN', 'MANAGER_OLDDAY_NOTLOGIN')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('MANAGER_OLDDAY_NOTLOGIN_YN', 'MANAGER_OLDDAY_NOTLOGIN')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_OLDDAY_NOTLOGIN_YN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1026' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-12\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"미사용 계정 잠금\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_OLDDAY_NOTLOGIN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_OLDDAY_NOTLOGIN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.MANAGER_OLDDAY_NOTLOGIN_YN && policy.MANAGER_OLDDAY_NOTLOGIN == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1029' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-13\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-13\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_LOGINFAIL_LIMITNUM_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('MANAGER_LOGINFAIL_LIMITNUM_YN', 'MANAGER_LOGINFAIL_LIMITNUM')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('MANAGER_LOGINFAIL_LIMITNUM_YN', 'MANAGER_LOGINFAIL_LIMITNUM')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_LOGINFAIL_LIMITNUM_YN\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1027' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-14\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"로그인 실패 제한 횟수\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_LOGINFAIL_LIMITNUM\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(keyup)=\\\"changeVal('MANAGER_LOGINFAIL_LIMITNUM')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_LOGINFAIL_LIMITNUM\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.MANAGER_LOGINFAIL_LIMITNUM_YN && policy.MANAGER_LOGINFAIL_LIMITNUM == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1030' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" style=\\\"padding-left: 30px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!policy.MANAGER_LOGINFAIL_LIMITNUM\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label for=\\\"admin-pw-15\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-15\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_LOGINFAIL_DENY_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(ngModelChange)=\\\"changeVal('MANAGER_LOGINFAIL_DENY_YN', 'MANAGER_LOGINFAIL_DENY')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"changeVal('MANAGER_LOGINFAIL_DENY_YN', 'MANAGER_LOGINFAIL_DENY')\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_LOGINFAIL_DENY_YN\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(click)=\\\"!isSystemAdminPolicy\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1035' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"admin-pw-16\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"number\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"로그인 차단 시간\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"MANAGER_LOGINFAIL_DENY\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"policy.MANAGER_LOGINFAIL_DENY\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"!policy.MANAGER_LOGINFAIL_DENY_YN && policy.MANAGER_LOGINFAIL_DENY == null\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group-addon no-bg\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminModal.comp.1036' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-8\\\">\\r\\n                                    <label for=\\\"admin-pw-17\\\" class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                        <input\\r\\n                                                id=\\\"admin-pw-17\\\"\\r\\n                                                type=\\\"checkbox\\\"\\r\\n                                                class=\\\"form-check-input\\\"\\r\\n                                                formControlName=\\\"MANAGER_USING_TIME_YN\\\"\\r\\n                                                (ngModelChange)=\\\"changeVal('MANAGER_USING_TIME_YN', 'MANAGER_USING_TIME')\\\"\\r\\n                                                (change)=\\\"changeVal('MANAGER_USING_TIME_YN', 'MANAGER_USING_TIME')\\\"\\r\\n                                                [(ngModel)]=\\\"policy.MANAGER_USING_TIME_YN\\\">\\r\\n                                        <i></i>\\r\\n                                        {{ 'adminModal.comp.1040' | translate }}\\r\\n                                    </label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-4\\\">\\r\\n                                    <div class=\\\"input-group\\\">\\r\\n                                        <input\\r\\n                                                id=\\\"admin-pw-17\\\"\\r\\n                                                type=\\\"number\\\"\\r\\n                                                class=\\\"form-control\\\"\\r\\n                                                aria-label=\\\"로그인 유지 시간\\\"\\r\\n                                                formControlName=\\\"MANAGER_USING_TIME\\\"\\r\\n                                                [(ngModel)]=\\\"policy.MANAGER_USING_TIME\\\"\\r\\n                                                [readonly]=\\\"!policy.MANAGER_USING_TIME_YN && policy.MANAGER_USING_TIME == null\\\">\\r\\n                                        <div class=\\\"input-group-addon no-bg\\\">\\r\\n                                            {{ 'adminModal.comp.1036' | translate }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t\\t<button\\r\\n\\t\\t\\t*ngIf=\\\"opt==='edit'\\\"\\r\\n\\t\\t\\t\\ttype=\\\"button\\\"\\r\\n\\t\\t\\t\\tclass=\\\"btn btn-md btn-secondary\\\"\\r\\n\\t\\t\\t\\t(click)=\\\"openIpPop()\\\"\\r\\n\\t\\t\\t\\t[disabled]=\\\"!adminForm.valid\\\" >\\r\\n\\t\\t\\t\\t{{ 'adminModal.comp.1039' | translate }}\\r\\n\\t\\t</button>\\r\\n\\r\\n\\t\\t\\t<button\\r\\n\\t\\t\\t\\t*ngIf=\\\"!isSystemAdminPolicy\\\"\\r\\n                type=\\\"button\\\"\\r\\n                class=\\\"btn btn-md btn-secondary\\\"\\r\\n\\t\\t\\t\\t(click)=\\\"onSubmit()\\\"\\r\\n                [disabled]=\\\"!adminForm.valid\\\" >\\r\\n                {{ 'adminModal.comp.1015' | translate }}\\r\\n            </button>\\r\\n\\r\\n\\t\\t\\t<button\\r\\n\\t\\t\\t\\t*ngIf=\\\"isSystemAdminPolicy\\\"\\r\\n\\t\\t\\t\\ttype=\\\"button\\\"\\r\\n\\t\\t\\t\\tclass=\\\"btn btn-md btn-secondary\\\"\\r\\n\\t\\t\\t\\t(click)=\\\"onSubmit()\\\"\\r\\n\\t\\t\\t\\t[disabled]=\\\"policy.MANAGER_LOGINFAIL_DENY_YN && policy.MANAGER_LOGINFAIL_DENY == null\\\">\\r\\n\\t\\t\\t\\t{{ 'adminModal.comp.1015' | translate }}\\r\\n\\t\\t\\t</button>\\r\\n\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"adminForm.reset();activeModal.close(false)\\\">{{ 'adminModal.comp.1016' | translate }}</button>\\r\\n\\t\\t</div>\\r\\n\\t</form>\\r\\n\\r\\n<!--//편집/추가 모달-->\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/admin-modal.component.html\n// module id = 1377\n// module chunks = 27","module.exports = \"<!--중간 관리자 비밀번호 변경 모달-->\\r\\n<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{ 'adminPwModal.comp.1001' | translate }}</h3>\\r\\n</div>\\r\\n<form [formGroup]=\\\"pwForm\\\" (ngSubmit)=\\\"changeAdminPw()\\\">\\r\\n    <div class=\\\"modal-body\\\">\\r\\n        <div class=\\\"form-group row\\\">\\r\\n            <label for=\\\"admin-m-1\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminPwModal.comp.1002' | translate }}</label>\\r\\n            <div class=\\\"col-sm-6\\\">\\r\\n                <input\\r\\n                        type=\\\"password\\\"\\r\\n                        id=\\\"admin-m-1\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        formControlName=\\\"ds4225\\\"\\r\\n                        [(ngModel)]=\\\"app.ds4225\\\">\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"form-group row\\\">\\r\\n            <label for=\\\"admin-m-2\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminPwModal.comp.1003' | translate }}</label>\\r\\n            <div class=\\\"col-sm-6\\\">\\r\\n                <input\\r\\n                        type=\\\"password\\\"\\r\\n                        id=\\\"admin-m-2\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        formControlName=\\\"ds4226\\\"\\r\\n                        [(ngModel)]=\\\"app.ds4226\\\">\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"form-group row\\\">\\r\\n            <label for=\\\"admin-m-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminPwModal.comp.1004' | translate }}</label>\\r\\n            <div class=\\\"col-sm-6\\\">\\r\\n                <input\\r\\n                        type=\\\"password\\\"\\r\\n                        id=\\\"admin-m-3\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        formControlName=\\\"ds4226_2\\\"\\r\\n                        [(ngModel)]=\\\"app.ds4226_2\\\">\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"modal-footer\\\">\\r\\n        <button\\r\\n                type=\\\"submit\\\"\\r\\n                class=\\\"btn btn-secondary\\\"\\r\\n                [disabled]=\\\"!pwForm.valid\\\">\\r\\n            {{ 'adminPwModal.comp.1005' | translate }}\\r\\n        </button>\\r\\n        <button\\r\\n                type=\\\"\\\"\\r\\n                class=\\\"btn btn-secondary\\\"\\r\\n                (click)=\\\"activeModal.close()\\\"\\r\\n            >\\r\\n            {{ 'adminPwModal.comp.1006' | translate }}\\r\\n        </button>\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/admin-pw-modal.component.html\n// module id = 1378\n// module chunks = 27","module.exports = \"<form [formGroup]=\\\"encryptModalForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{ 'infoEncrypt.tree.1001' | translate }}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<!--\\r\\n다국어 코드 한글값\\r\\n\\\"infoEncrypt.tree.1001\\\":\\\"그룹 강제암호화 권한\\\",\\r\\n\\\"infoEncrypt.tree.1002\\\":\\\"해당 사용자 및 그룹이 보안 문서 생성 시 강제적으로 접근 권한을 부여할 그룹과 선택된 그룹이 가지는 세부 권한을 설정하십시오.\\\",\\r\\n\\\"infoEncrypt.tree.1003\\\":\\\"그룹 권한 지정\\\",\\r\\n\\\"infoEncrypt.tree.1004\\\":\\\"읽기\\\",\\r\\n\\\"infoEncrypt.tree.1005\\\":\\\"편집\\\",\\r\\n\\\"infoEncrypt.tree.1006\\\":\\\"해제\\\",\\r\\n\\\"infoEncrypt.tree.1007\\\":\\\"반출\\\",\\r\\n\\\"infoEncrypt.tree.1008\\\":\\\"출력\\\",\\r\\n\\\"infoEncrypt.tree.1009\\\":\\\"마킹\\\",\\r\\n\\\"infoEncrypt.tree.1010\\\":\\\"권한 변경\\\",\\r\\n\\\"infoEncrypt.tree.1011\\\":\\\"하위그룹 포함\\\",\\r\\n\\\"infoEncrypt.tree.1012\\\":\\\"확인\\\",\\r\\n\\\"infoEncrypt.tree.1013\\\":\\\"취소\\\",\\r\\n-->\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{ 'infoEncrypt.tree.1002' | translate }}</p>\\r\\n    <div class=\\\"card card-default panel-basic-info\\\">\\r\\n        <div class=\\\"card-header\\\">\\r\\n            <h4>{{ 'infoEncrypt.tree.1003' | translate }}</h4>\\r\\n        </div>\\r\\n        <div class=\\\"card-block  container-tree\\\">\\r\\n            <org-tree [accessMode]=\\\"accessMode\\\" (onSelectGroup)=\\\"onSelectGroup($event)\\\"></org-tree>          \\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-12\\\">\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    formControlName=\\\"ds2014\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2014\\\" \\r\\n                    >\\r\\n                <i></i> {{ 'infoEncrypt.tree.1004' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    formControlName=\\\"ds2015\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2015\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1005' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    formControlName=\\\"ds2017\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2017\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1006' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    formControlName=\\\"ds2016\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2016\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1007' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-12\\\">\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    formControlName=\\\"ds2018\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2018\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1008' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    formControlName=\\\"ds2019\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2019\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1009' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\">\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    formControlName=\\\"ds2020\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds2020\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1010' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n        <div class=\\\"form-check form-check-inline\\\" >\\r\\n            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                <input \\r\\n                    class=\\\"form-check-input\\\" \\r\\n                    type=\\\"checkbox\\\" \\r\\n                    formControlName=\\\"ds3073\\\" \\r\\n                    [(ngModel)]=\\\"encrypt.ds3073\\\">\\r\\n                <i></i> {{ 'infoEncrypt.tree.1011' | translate }}\\r\\n            </label>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-secondary\\\" \\r\\n        (click)=\\\"onSubmit()\\\">\\r\\n        {{ 'infoEncrypt.tree.1012' | translate }}\\r\\n    </button>\\r\\n    <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"activeModal.close('Close Click')\\\">{{ 'infoEncrypt.tree.1013' | translate }}</button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/info/encrypt/encrypt-tree-modal.component.html\n// module id = 1379\n// module chunks = 27","module.exports = \"<!--편집/추가 모달-->\\r\\n<form>\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'infoProgram.comp.ts.1001' | translate }}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<!--\\r\\n\\t다국어 코드 한글값\\r\\n\\t\\\"infoProgram.comp.ts.1001\\\": \\\"관리자 프로그램 정보\\\",\\r\\n\\t\\\"infoProgram.comp.ts.1002\\\": \\\"최근 로그인 사용자\\\",\\r\\n\\t\\\"infoProgram.comp.ts.1003\\\": \\\"등록된 사용자\\\",\\r\\n\\t\\\"infoProgram.comp.ts.1004\\\": \\\"로그인 허용 사용자\\\",\\r\\n\\t\\\"infoProgram.comp.ts.1005\\\": \\\"로그인 차단 사용자\\\",\\r\\n\\t-->\\r\\n  <div class=\\\"form-group row\\\">\\r\\n    <div class=\\\"col-12\\\">\\r\\n      <article class=\\\"card card-default\\\">\\r\\n        <div class=\\\"card-block no-padding\\\">\\r\\n          <div class=\\\"vertical-header-table\\\">\\r\\n            <div class=\\\"vertical-header\\\">\\r\\n              <div class=\\\"vertical-header-cell\\\" *ngFor=\\\"let column of columns\\\">{{ column.name }}</div>\\r\\n            </div>\\r\\n            <div class=\\\"vertical-body\\\">\\r\\n              <div *ngIf=\\\"!row\\\" style=\\\"height: 40px; line-height: 40px; padding: 0 10px;\\\">No data to display</div>\\r\\n              <div class=\\\"vertical-row\\\" *ngFor=\\\"let row of rows\\\">\\r\\n                <div class=\\\"vertical-cell\\\" *ngFor=\\\"let column of columns\\\">{{ row[column.prop] }}</div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </article>\\r\\n    </div>\\r\\n  </div>\\r\\n</form>\\r\\n\\r\\n<!--//편집/추가 모달-->\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/info/program/program-info-modal.component.html\n// module id = 1380\n// module chunks = 27","module.exports = \"<div class=\\\"app\\\" dir=\\\"ltr\\\" [ngClass]=\\\"{'app-dark': dark, 'boxed': boxed}\\\" (onChangeSidebarLayout)=\\\"receiverStatus($event)\\\" >\\r\\n\\r\\n\\t<!--상단 툴바-->\\r\\n\\t<section *ngIf=\\\"!isIframe\\\" class=\\\"main-header\\\" [ngClass]=\\\"customS1 == 'Y'? 'header-s1' : customIsolation == 'Y'? 'header-isol':''\\\" color=\\\"blue-grey\\\"  [hidden]=\\\"!isComplete\\\">\\r\\n\\t\\t<!--<button (click)=\\\"sidemenu.toggle()\\\" md-icon-button>\\r\\n\\t\\t\\t<md-icon>menu</md-icon>\\r\\n\\t\\t</button>-->\\r\\n\\t\\t\\r\\n\\t\\t<nav  class=\\\"toolbar-btn-group toolbar-family\\\" ng-reflect-klass=\\\"toolbar-btn-group\\\" ng-reflect-ng-class=\\\"toolbar-family\\\" style=\\\"margin-top: -5px; margin-left: 1px; float: left; position: relative; z-index: 1000;\\\">\\r\\n\\t\\t\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\"  (click)=\\\"onSlide($event, item)\\\" style=\\\"width: 24; height: 24; border: none; background-color: transparent;\\\">\\r\\n\\t\\t\\t\\t<img src=\\\"assets/images/hamburger-menu.png\\\" alt=\\\"메뉴 열기\\\"/>\\r\\n\\t\\t\\t</button>\\r\\n\\t\\t</nav>\\r\\n\\t\\t\\r\\n\\t\\t<!-- 개별 이미지 사용 여부 -->\\r\\n\\t\\t<div *ngIf=\\\"changeLogo == 'Y'\\\" style=\\\"height: 70px; position: absolute; display: table;\\\">\\r\\n\\t\\t\\t<div style=\\\"display: table-cell; vertical-align: middle;\\\">\\r\\n\\t\\t\\t\\t<img style=\\\"max-height: 70px;\\\" class=\\\"abcd\\\" src=\\\"/images/logo.png\\\" alt=\\\"\\\"/>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t\\r\\n\\t\\t<h1 *ngIf=\\\"changeLogo != 'Y'\\\">\\r\\n\\t\\t\\t<span class=\\\"\\\" [ngClass]=\\\"customS1 == 'Y'? customS1EspImg == 'Y' ? 'logo-esp' : 'logo-s1': customMaxeon == 'Y'? 'logo-mx': customIsolation == 'Y'? 'logo-isol':'logo'\\\">\\r\\n\\t\\t\\t</span>\\r\\n\\t\\t</h1>\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t<nav class=\\\"toolbar-btn-group\\\" [ngClass]=\\\"customS1 == 'Y'? 'toolbar-s1': customIsolation == 'Y'? 'toolbar-isol':''\\\">\\r\\n\\t\\t\\t<!-- <a [routerLink]=\\\"\\\">\\r\\n\\t\\t\\t\\t<md-icon aria-hidden=\\\"true\\\">info_outline</md-icon>\\r\\n\\t\\t\\t\\t<span>제품 정보</span>\\r\\n\\t\\t\\t</a>\\r\\n\\t\\t\\t<a [routerLink]=\\\"\\\">\\r\\n\\t\\t\\t\\t<md-icon aria-hidden=\\\"true\\\">help_outline</md-icon>\\r\\n\\t\\t\\t\\t<span>도움말</span>\\r\\n\\t\\t\\t</a> -->\\r\\n\\r\\n\\t\\t\\t<!-- <a routerLink=\\\"/custom\\\" *ngIf=\\\"currentUser == 1\\\" title=\\\"설정\\\">\\r\\n\\t\\t\\t\\t<md-icon aria-hidden=\\\"true\\\">settings</md-icon>\\r\\n\\t\\t\\t</a> -->\\r\\n\\t\\t\\t<!-- set locale -->\\r\\n\\t\\t\\t<!--\\r\\n\\t\\t\\t<a title=\\\"언어\\\">\\r\\n\\t\\t\\t\\t<md-icon class=\\\"material-icons\\\" [mdMenuTriggerFor]=\\\"menu\\\" aria-hidden=\\\"true\\\" >language</md-icon>\\r\\n\\t\\t\\t\\t<md-menu #menu=\\\"mdMenu\\\">\\r\\n\\t\\t\\t\\t\\t<button md-menu-item (click)=\\\"changeLocale('ko')\\\">한국어</button>\\r\\n\\t\\t\\t\\t\\t<button md-menu-item (click)=\\\"changeLocale('en')\\\">English</button>\\r\\n\\t\\t\\t\\t\\t<button md-menu-item (click)=\\\"changeLocale('ja')\\\">日本語</button>\\r\\n\\t\\t\\t\\t</md-menu>\\r\\n\\t\\t\\t</a>\\r\\n\\t\\t\\t -->\\r\\n\\t\\t\\t<a title=\\\"{{'infoEncrypt.comp.1004' | translate}}\\\" *ngIf=\\\"currentUser == 1 || managerMenuAuth != 0 || managerPolicyTab == 'Y'\\\">\\r\\n\\t\\t\\t\\t<md-icon class=\\\"material-icons\\\" [mdMenuTriggerFor]=\\\"menu\\\" aria-hidden=\\\"true\\\">settings</md-icon>\\r\\n\\t\\t\\t\\t<md-menu #menu=\\\"mdMenu\\\">\\r\\n\\t\\t\\t\\t\\t<!--연동 시스템 관리 메뉴 숨김 처리(임시)-->\\r\\n\\t\\t\\t\\t\\t<button md-menu-item  routerLink=\\\"/admin\\\" *ngIf=\\\"currentUser == 1 || managerMenuAuth != 0 || managerPolicyTab == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">person</md-icon>{{ 'adminLayout.tab.1003' | translate }}</button>\\r\\n                    <div *ngIf=\\\"currentUser == 1\\\">\\r\\n                        <button md-menu-item  routerLink=\\\"/logpolicy\\\" *ngIf=\\\"useLogPolicy == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">import_contacts</md-icon>{{ 'logpolicy.comp.ts.1001' | translate }}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/license\\\" *ngIf=\\\"customIsolation == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">assignment</md-icon>{{'adminLayout.comp.1002' | translate}}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/adminurl\\\" *ngIf=\\\"useSecuURL == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">vpn_lock</md-icon>{{'secureurl.table.comp.ts.1006' | translate}}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/positionmanagement\\\" ><md-icon aria-hidden=\\\"true\\\">terrain</md-icon>{{'secureurl.table.comp.ts.1010' | translate}}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/secureurl\\\" *ngIf=\\\"useSecuURL == 'N' && nonStandardAddUI == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">vpn_lock</md-icon>{{'secureurl.table.comp.ts.1006' | translate}}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/traceLogInfo\\\" *ngIf=\\\"useTraceLog == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">location_searching</md-icon>{{ 'traceLog.comp.ts.1001' | translate }}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/sworkControl\\\" *ngIf=\\\"useSwork == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">folder_zip</md-icon>{{ 'adminLayout.tab.1008' | translate }}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/sworkmanagement\\\" *ngIf=\\\"useSwork == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">storage</md-icon>{{ 'adminLayout.tab.1009' | translate }}</button>\\r\\n                        <button md-menu-item  routerLink=\\\"/serverProfile\\\" *ngIf=\\\"serverProfile == 'Y'\\\"><md-icon aria-hidden=\\\"true\\\">dns</md-icon>{{'adminLayout.comp.1009' | translate}}</button>\\r\\n                        <button md-menu-item  (click)=\\\"openPolicyModal()\\\"><md-icon aria-hidden=\\\"true\\\">info_outline</md-icon>{{'adminLayout.comp.1008' | translate}}</button>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<button md-menu-item  (click)=\\\"openProgramInfoModal()\\\"><md-icon aria-hidden=\\\"true\\\">infomation</md-icon>{{'adminLayout.comp.1011' | translate}}</button>\\r\\n                    </div>\\r\\n\\t\\t\\t\\t</md-menu>\\r\\n\\t\\t\\t</a>\\r\\n\\t\\t\\t<!--\\r\\n\\t\\t\\t다국어 코드 한글값\\r\\n\\t\\t\\t\\\"adminLayout.comp.1001\\\":\\\"커스텀정책 관리\\\",\\r\\n\\t\\t\\t\\\"adminLayout.comp.1002\\\":\\\"라이선스 관리\\\",\\r\\n\\t\\t\\t\\\"adminLayout.comp.1003\\\":\\\"로그아웃\\\",\\r\\n\\t\\t\\t\\\"adminLayout.comp.1004\\\":\\\"조직도\\\",\\r\\n\\t\\t\\t\\\"adminLayout.tab.1001\\\":\\\"관리 도구\\\",\\r\\n\\t\\t\\t\\\"adminLayout.tab.1002\\\":\\\"설치 현황\\\",\\r\\n\\t\\t\\t\\\"adminLayout.tab.1003\\\":\\\"관리자 정책\\\",\\r\\n\\t\\t\\t\\\"adminLayout.tab.1004\\\":\\\"중앙저장소 관리\\\",\\r\\n\\t\\t\\t\\\"adminLayout.tab.1005\\\":\\\"폴더 권한 관리\\\",\\r\\n\\t\\t\\t\\\"adminLayout.comp.1006\\\":\\\"연동 시스템 관리\\\",\\r\\n\\t\\t\\t\\\"secureurl.table.comp.ts.1010\\\":\\\"직위관리\\\",\\r\\n\\t\\t\\t\\\"adminLayout.comp.1008\\\":\\\"시스템 관리자 정책\\\",\\r\\n\\t\\t\\t\\\"infoEncrypt.comp.1004\\\" : \\\"설정\\\",\\r\\n\\t\\t\\t-->\\r\\n\\t\\t\\t<a *ngIf=\\\"logoutHideYN != 'Y'\\\" id=\\\"btnLogout\\\" (click)=\\\"logout()\\\">\\r\\n\\t\\t\\t\\t<md-icon aria-hidden=\\\"true\\\">person</md-icon>\\r\\n\\t\\t\\t\\t<span>{{'adminLayout.comp.1003' | translate}}</span> \\r\\n\\t\\t\\t\\t<!-- \\t\\t\\t\\t<md-icon class=\\\"menu-caret\\\">arrow_drop_down</md-icon> -->\\r\\n\\t\\t\\t</a>\\r\\n\\t\\t</nav>\\r\\n\\t\\t\\r\\n\\t\\t<!-- SSO 로그인 패밀리 사이트 -->\\r\\n\\t\\t<nav *ngFor=\\\"let item of familyInfo\\\" class=\\\"toolbar-btn-group\\\" [ngClass]=\\\"customS1 == 'Y'? 'toolbar-family-s1': 'toolbar-family'\\\">\\r\\n\\t\\t\\t<a  [routerLink]=\\\"\\\" (click)=\\\"onClickSite($event, item)\\\">\\r\\n\\t\\t\\t\\t<span>{{item.site_name}}</span>\\r\\n\\t\\t\\t</a>\\r\\n\\t\\t</nav>\\r\\n\\t\\t\\r\\n\\t\\t<!-- 로그인 사용자 환영 문구 -->\\r\\n\\t\\t<nav class=\\\"toolbar-btn-group\\\"  [ngClass]=\\\"customS1 == 'Y'? 'toolbar-family-s1': 'toolbar-family'\\\">\\r\\n\\t\\t\\t<a href=\\\"#\\\" style=\\\"cursor:default; pointer-events: none;\\\"><span>{{welcomeContent}}</span></a>\\r\\n\\t\\t</nav>\\r\\n\\t\\t\\r\\n\\t\\t<div *ngIf=\\\"(customS1 == 'Y' || customIsolation == 'Y') && customS1EspImg !='Y'\\\" class=\\\"right\\\"></div>\\r\\n\\t\\t<div *ngIf=\\\"customS1 == 'Y' && customS1EspImg =='Y'\\\" class=\\\"right-esp\\\"></div>\\r\\n\\t</section>\\r\\n\\t<!--//상단 툴바-->\\r\\n\\r\\n\\t<!--트리메뉴 부분-->\\r\\n\\t<div #sidemenu class=\\\"sidebar-panel\\\" [ngClass]=\\\"isIframe? 'sidebar-iframe':''\\\" id=\\\"sidebar-panel\\\">\\r\\n\\t\\t<div class=\\\"title-org\\\">\\r\\n\\t\\t\\t<h2>{{'adminLayout.comp.1004' | translate}}</h2>\\r\\n\\t\\t</div>\\r\\n\\t\\t<org-tree [accessMode]=\\\"accessMode\\\" (onSelectGroup)=\\\"onDataLoad($event)\\\"></org-tree>\\r\\n\\t</div>\\r\\n\\t<section class=\\\"app-inner md-sidenav-content\\\" [ngClass]=\\\"isIframe ? 'content-iframe':''\\\" md-is-locked-open=\\\"true\\\">\\r\\n\\t\\t<div class=\\\"main-tab-area\\\" [ngClass]=\\\"isIframe? 'hide':''\\\">\\r\\n\\t\\t\\t<ul class=\\\"nav nav-tabs\\\">\\r\\n\\t\\t\\t\\t<!--<li class=\\\"nav-item\\\" role=\\\"presentation\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/policy\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('policy')\\\">정책 관리</a>\\r\\n\\t\\t\\t\\t</li>-->\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"mngToolHideYN !='Y'\\\" >\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/tool\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('tool')\\\">{{'adminLayout.tab.1001' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customS1 == 'Y'|| agent == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/agent\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('agent')\\\">{{'adminLayout.tab.1002' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"cloudService == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/user\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('user')\\\">{{'adminLayout.tab.1006' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"cloudService == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/licenseMng\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('licenseMng')\\\">{{'adminLayout.tab.1007' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMaxeon == 'Y' && currentUser == 1\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/central\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('central')\\\">{{'adminLayout.tab.1004' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMaxeon == 'Y' && currentUser == 1\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/folderAuth\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('folderAuth')\\\">{{'adminLayout.tab.1005' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n<!-- \\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"currentUser == 1\\\"> -->\\r\\n<!-- \\t\\t\\t\\t\\t<a routerLink=\\\"/custom\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('custom')\\\">커스텀 정책 관리</a> -->\\r\\n<!-- \\t\\t\\t\\t</li> -->\\r\\n\\t\\t\\t\\t<!--<li class=\\\"nav-item\\\" role=\\\"presentation\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/setting\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('setting')\\\">환경 설정</a>\\r\\n\\t\\t\\t\\t</li>-->\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMnd == 'N' && isSystemAdmin\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/categoryPolicy\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('categoryPolicy')\\\">{{'adminLayout.tab.1010' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<!--\\\"adminLayout.tab.1011\\\": \\\"등급 정책\\\",-->\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"useGradePolicy == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/gradePolicy\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('gradePolicy')\\\">{{'adminLayout.tab.1011' | translate}}</a>\\r\\n\\t\\t\\t\\t</li>\\r\\n\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMnd == 'N' && addInManagement == 'Y'&&isSystemAdmin\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/addinmanagement\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('addinmanagement')\\\">{{ 'adminLayout.comp.1010' | translate }}</a> <!-- 애드인 관리 -->\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMnd == 'N' && isSystemAdmin\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/custom\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('custom')\\\">{{ 'adminLayout.comp.1001' | translate }}</a> <!-- 커스텀정책 관리 -->\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"customMnd == 'N' && isSystemAdmin\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/linkSystem\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('linkSystem')\\\">{{ 'adminLayout.comp.1006' | translate }}</a> <!-- 연동 시스템 관리 -->\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t<li class=\\\"nav-item\\\" role=\\\"presentation\\\" *ngIf=\\\"useLogMangement == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t<a routerLink=\\\"/logmanagement\\\" class=\\\"nav-link\\\" [ngClass]=\\\"highlightTab('logmanagement')\\\">{{ 'logmanagement.comp.ts.1001' | translate }}</a> <!-- 로그관리 -->\\r\\n\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t</ul>\\r\\n\\t\\t</div>\\r\\n\\t\\t\\r\\n\\t\\t<router-outlet></router-outlet>\\r\\n\\t</section>\\r\\n\\t<!--//트리메뉴 부분-->\\r\\n\\t\\r\\n\\t<!--모달창 위치-->\\r\\n\\t<template ngbModalContainer></template>\\r\\n\\t<!--//모달창 위치-->\\r\\n\\t\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layouts/admin/admin-layout.component.html\n// module id = 1381\n// module chunks = 27","module.exports = \"<router-outlet></router-outlet>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layouts/auth/auth-layout.component.html\n// module id = 1382\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'alarm.comp.1001' | translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p [innerHTML]=\\\"data\\\"></p>\\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-primary\\\" \\r\\n        (click)=\\\"activeModal.close('Confirm')\\\">\\r\\n        {{'alarm.comp.1002' | translate}}\\r\\n    </button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/alarm.component.html\n// module id = 1383\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'confApply.comp.1001' |  translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{data}}</p>   \\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-primary\\\" \\r\\n        (click)=\\\"activeModal.close('Yes')\\\">\\r\\n        {{'confApply.comp.1002' |  translate}}\\r\\n    </button>\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-secondary\\\" \\r\\n        (click)=\\\"activeModal.close('No')\\\">\\r\\n        {{'confApply.comp.1003' |  translate}}\\r\\n    </button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/conf-apply.component.html\n// module id = 1384\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'handleError.comp.1001' |  translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{'handleError.comp.1002' |  translate}}</p>\\r\\n    <p *ngIf=\\\"data != undefined && data != '' \\\"> Error message : {{data}}</p> \\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-secondary\\\" \\r\\n         (click)=\\\"activeModal.close('Confirm')\\\">\\r\\n         {{'handleError.comp.1003' |  translate}}\\r\\n    </button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/handle-error.component.html\n// module id = 1385\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'handleSuccess.comp.1001' |  translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{'handleSuccess.comp.1002' |  translate}}</p>   \\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-secondary\\\" \\r\\n         (click)=\\\"activeModal.close('Confirm')\\\">\\r\\n         {{'handleSuccess.comp.1003' |  translate}}\\r\\n    </button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/handle-success.component.html\n// module id = 1386\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'sessionOut.comp.1001' | translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{'sessionOut.comp.1002' | translate}}</p>   \\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-primary\\\" \\r\\n        (click)=\\\"pageRedirect()\\\">\\r\\n        {{'sessionOut.comp.1003' | translate}}\\r\\n    </button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/session-out.component.html\n// module id = 1387\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{'treeModal.comp.1001' | translate}}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p>{{data}}</p>\\r\\n    <div class=\\\"card card-default panel-basic-info\\\">\\r\\n        <div class=\\\"card-header\\\">\\r\\n            <h4>{{'treeModal.comp.1002' | translate}}</h4>\\r\\n        </div>\\r\\n        <div class=\\\"card-block container-tree\\\">\\r\\n            <org-tree [accessMode]=\\\"accessMode\\\" (onSelectGroup)=\\\"onSelectGroup($event)\\\"></org-tree>            \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-secondary\\\" \\r\\n        (click)=\\\"onSubmit()\\\">\\r\\n        {{'treeModal.comp.1003' | translate}}\\r\\n    </button>\\r\\n    <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"activeModal.close('Close Click')\\\">{{'treeModal.comp.1004' | translate}}</button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modal/tree-modal.component.html\n// module id = 1388\n// module chunks = 27","module.exports = \"<div id=\\\"treeContext\\\" class=\\\"d-inline-block tree-area-dropdown\\\" ngbDropdown #myDrop=\\\"ngbDropdown\\\">\\r\\n    <div class=\\\"dropdown-menu\\\">\\r\\n        <button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' || selectedNode == '0'\\\" (click)=\\\"open(searchMem)\\\">{{ 'webconsole.treeUI.1001' | translate }}</button>\\r\\n        <button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && customS1 == 'N' && ( isSystemAdmin || treeMenuHideAddDel == 'N' ) \\\" (click)=\\\"open(addGruop)\\\">{{ 'webconsole.treeUI.1002' | translate }}</button>\\r\\n        <button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && customS1 == 'N' && ( isSystemAdmin || treeMenuHideAddDel == 'N' ) \\\" (click)=\\\"open(addPerson)\\\">{{ 'webconsole.treeUI.1003' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedType == '2' && customS1 == 'N' && selectedNode == '1' && ( isSystemAdmin || treeMenuHideAddDel == 'N' ) \\\" (click)=\\\"openPop('delGroup')\\\">{{ 'webconsole.treeUI.1004' | translate }}{{selectedSec}}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '0' && customS1 == 'N' && ( isSystemAdmin || treeMenuHideAddDel == 'N' ) \\\" [disabled]=\\\"selectedType == '1'\\\" (click)=\\\"openPop('delPerson')\\\">{{ 'webconsole.treeUI.1005' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && customIsolation == 'Y' && selectedTree.data.id != 'SECURITYDOMAIN'\\\" (click)=\\\"selectTempTree.emit(selectedTree)\\\">{{ 'webconsole.treeUI.1006' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '0' && customIsolation == 'Y' && selectedTree.data.id != 'SECURITYDOMAIN'\\\" (click)=\\\"selectTempTree.emit(selectedTree)\\\">{{ 'webconsole.treeUI.1007' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && customIsolation == 'Y' && selectedTempNode == '1' && isMove\\\" (click)=\\\"paste('moveGroup')\\\">{{ 'webconsole.treeUI.1008' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && customIsolation == 'Y' && selectedTempNode == '0' && isMove\\\" (click)=\\\"paste('moveUser')\\\">{{ 'webconsole.treeUI.1009' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '2'\\\" (click)=\\\"openPop('delPC')\\\">{{ 'webconsole.treeUI.1028' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && treeMenuHidePermission == 'N'\\\" (click)=\\\"openPermission()\\\">{{ 'webconsole.treeUI.1029' | translate }}</button>\\r\\n\\t\\t<button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && usePCcurrentStatus == 'Y'\\\" (click)=\\\"openPCcurrentStatus()\\\">{{ 'webconsole.treeUI.1030' | translate }}</button>\\r\\n        <button class=\\\"dropdown-item\\\" *ngIf=\\\"userPolicySearch == 'Y' && (selectedNode == '1' || selectedNode == '0')\\\" (click)=\\\"openPolicySearch()\\\">{{ 'webconsole.treeUI.1031' | translate }}</button>\\r\\n        <button class=\\\"dropdown-item\\\" *ngIf=\\\"selectedNode == '1' && useExceptionPolicy == 'Y' && selectedTree.data.id == 'SECURITYDOMAIN'\\\" (click)=\\\"openExceptionPolicy()\\\">{{ 'webconsole.treeUI.1032' | translate }}</button>\\r\\n    </div>\\r\\n    <button class=\\\"btn btn-outline-success phantom\\\" (click)=\\\"$event.stopPropagation(); myDrop.open();\\\">{{ 'webconsole.treeUI.1010' | translate }}</button>\\r\\n</div>\\r\\n<!--\\r\\n다국어 코드 한글값\\r\\n\\\"webconsole.treeUI.1001\\\":\\\"검색\\\",\\r\\n\\\"webconsole.treeUI.1002\\\":\\\"그룹 추가\\\",\\r\\n\\\"webconsole.treeUI.1003\\\":\\\"사용자 추가\\\",\\r\\n\\\"webconsole.treeUI.1004\\\":\\\"그룹 삭제\\\",\\r\\n\\\"webconsole.treeUI.1005\\\":\\\"사용자 삭제\\\",\\r\\n\\\"webconsole.treeUI.1006\\\":\\\"그룹 이동\\\",\\r\\n\\\"webconsole.treeUI.1007\\\":\\\"사용자 이동\\\",\\r\\n\\\"webconsole.treeUI.1008\\\":\\\"붙여넣기 (그룹 이동)\\\",\\r\\n\\\"webconsole.treeUI.1009\\\":\\\"붙여넣기 (사용자 이동)\\\",\\r\\n\\\"webconsole.treeUI.1010\\\":\\\"열기\\\",\\r\\n\\\"webconsole.treeUI.1011\\\":\\\"이름\\\",\\r\\n\\\"webconsole.treeUI.1012\\\":\\\"아이디\\\",\\r\\n\\\"webconsole.treeUI.1013\\\":\\\"검색\\\",\\r\\n\\\"webconsole.treeUI.1014\\\":\\\"그룹 추가\\\",\\r\\n\\\"webconsole.treeUI.1015\\\":\\\"이름 입력\\\",\\r\\n\\\"webconsole.treeUI.1016\\\":\\\"추가\\\",\\r\\n\\\"webconsole.treeUI.1017\\\":\\\"그룹 삭제\\\",\\r\\n\\\"webconsole.treeUI.1018\\\":\\\"사용자 추가\\\",\\r\\n\\\"webconsole.treeUI.1019\\\":\\\"사용자 아이디\\\",\\r\\n\\\"webconsole.treeUI.1020\\\":\\\"사용자 비밀번호\\\",\\r\\n\\\"webconsole.treeUI.1021\\\":\\\"사용자 이름\\\",\\r\\n\\\"webconsole.treeUI.1022\\\":\\\"추가\\\",\\r\\n\\\"webconsole.treeUI.1023\\\":\\\"사용자 삭제\\\",\\r\\n\\\"webconsole.treeUI.1024\\\":\\\"그룹명을 입력하세요.\\\",\\r\\n\\\"webconsole.treeUI.1025\\\":\\\"사용자 아이디를 입력하세요.\\\",\\r\\n\\\"webconsole.treeUI.1026\\\":\\\"사용자 비밀번호를 입력하세요.\\\",\\r\\n\\\"webconsole.treeUI.1027\\\":\\\"사용자 이름을 입력하세요.\\\",\\r\\n\\\"webconsole.treeUI.1028\\\":\\\"PC 삭제\\\",\\r\\n\\\"webconsole.treeUI.1029\\\":\\\"권한별 검색\\\",\\r\\n-->\\r\\n<template #searchMem let-c=\\\"close\\\" let-d=\\\"dismiss\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'webconsole.treeUI.1001' | translate }}</h3>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"d('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<form [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"searchSubmit()\\\" (keyPress)=\\\"keyDownFunction($event)\\\">\\r\\n\\t\\t<div class=\\\"modal-body\\\">\\t\\t\\r\\n\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\taria-label=\\\"이름\\\" \\r\\n\\t\\t\\t\\t\\tformControlName=\\\"searchName\\\"\\r\\n\\t\\t\\t\\t\\t[(ngModel)]=\\\"searchName\\\"\\r\\n\\t\\t\\t\\t\\tplaceholder=\\\"{{ 'webconsole.treeUI.1011' | translate }}\\\">\\r\\n\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\taria-label=\\\"아이디\\\" \\r\\n\\t\\t\\t\\t\\tformControlName=\\\"searchId\\\"\\r\\n\\t\\t\\t\\t\\t[(ngModel)]=\\\"searchId\\\"\\r\\n\\t\\t\\t\\t\\tplaceholder=\\\"{{ 'webconsole.treeUI.1012' | translate }}\\\">\\r\\n\\t\\t\\t</div>\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"modal-footer\\\">\\r\\n\\t\\t\\t<button\\r\\n\\t\\t\\t\\ttype=\\\"submit\\\"\\r\\n\\t\\t\\t\\tclass=\\\"btn btn-secondary\\\"\\r\\n\\t\\t\\t\\t[disabled]=\\\"!searchName && !searchId\\\">\\r\\n\\t\\t\\t\\t{{ 'webconsole.treeUI.1013' | translate }}\\r\\n\\t\\t\\t</button>\\r\\n\\t\\t</div>\\r\\n\\t</form>\\r\\n</template>\\r\\n\\r\\n<template #addGruop let-c=\\\"close\\\" let-d=\\\"dismiss\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'webconsole.treeUI.1014' | translate }}</h3>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"d('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t<form [formGroup]=\\\"groupform\\\" (ngSubmit)=\\\"createGroup()\\\">\\r\\n\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t<input type=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t[formControl]=\\\"groupform.controls['gNm']\\\"\\r\\n\\t\\t\\t\\t\\t[(ngModel)]=\\\"groupNm\\\"\\r\\n\\t\\t\\t\\t\\tplaceholder=\\\"{{ 'webconsole.treeUI.1015' | translate }}\\\">\\r\\n\\t\\t\\t\\t<span class=\\\"input-group-btn\\\">\\r\\n\\t\\t\\t\\t\\t<button\\r\\n\\t\\t\\t\\t\\t\\ttype=\\\"submit\\\"\\r\\n\\t\\t\\t\\t\\t\\t[disabled]=\\\"!groupform.valid\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"btn btn-secondary\\\">\\r\\n\\t\\t\\t\\t\\t\\t{{ 'webconsole.treeUI.1016' | translate }}\\r\\n\\t\\t\\t\\t\\t</button>\\r\\n\\t\\t\\t\\t</span>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<small\\r\\n\\t\\t\\t\\t*ngIf=\\\"groupform.controls['gNm'].hasError('required') && groupform.controls['gNm'].touched\\\"\\r\\n\\t\\t\\t\\tclass=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t{{ 'webconsole.treeUI.1017' | translate }}\\r\\n\\t\\t\\t</small>\\r\\n\\t\\t</form>\\r\\n\\t</div>\\r\\n</template>\\r\\n\\r\\n<template #addPerson let-c=\\\"close\\\" let-d=\\\"dismiss\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'webconsole.treeUI.1018' | translate }}</h3>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"d('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<form [formGroup]=\\\"personform\\\" (ngSubmit)=\\\"createPerson()\\\">\\r\\n\\t\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t<label for=\\\"inp-user-1\\\" class=\\\"col-5 col-form-label\\\">{{ 'webconsole.treeUI.1019' | translate }}</label>\\r\\n\\t\\t\\t\\t<div class=\\\"col-7\\\">\\r\\n\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\tid=\\\"inp-user-id\\\"\\r\\n\\t\\t\\t\\t\\t\\t[formControl]=\\\"personform.controls['pId']\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"personId\\\">\\r\\n\\t\\t\\t\\t\\t<small\\r\\n\\t\\t\\t\\t\\t\\t*ngIf=\\\"personform.controls['pId'].hasError('required') && personform.controls['pId'].touched\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t{{ 'webconsole.treeUI.1025' | translate }}\\r\\n\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t<label for=\\\"inp-user-2\\\" class=\\\"col-5 col-form-label\\\">{{ 'webconsole.treeUI.1020' | translate }}</label>\\r\\n\\t\\t\\t\\t<div class=\\\"col-7\\\">\\r\\n\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\ttype=\\\"password\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\tid=\\\"inp-user-2\\\"\\r\\n\\t\\t\\t\\t\\t\\t[formControl]=\\\"personform.controls['pPw']\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"personPw\\\">\\r\\n\\t\\t\\t\\t\\t<small\\r\\n\\t\\t\\t\\t\\t\\t*ngIf=\\\"personform.controls['pPw'].hasError('required') && personform.controls['pPw'].touched\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t{{ 'webconsole.treeUI.1026' | translate }}\\r\\n\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t<label for=\\\"inp-user-3\\\" class=\\\"col-5 col-form-label\\\">{{ 'webconsole.treeUI.1021' | translate }}</label>\\r\\n\\t\\t\\t\\t<div class=\\\"col-7\\\">\\r\\n\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\ttype=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\tid=\\\"inp-user-3\\\"\\r\\n\\t\\t\\t\\t\\t\\t[formControl]=\\\"personform.controls['pNm']\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"personNm\\\">\\r\\n\\t\\t\\t\\t\\t<small\\r\\n\\t\\t\\t\\t\\t\\t*ngIf=\\\"personform.controls['pNm'].hasError('required') && personform.controls['pNm'].touched\\\"\\r\\n\\t\\t\\t\\t\\t\\tclass=\\\"md-text-warn\\\">\\r\\n\\t\\t\\t\\t\\t\\t{{ 'webconsole.treeUI.1027' | translate }}\\r\\n\\t\\t\\t\\t\\t</small>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"modal-footer\\\">\\r\\n\\t\\t\\t<button\\r\\n\\t\\t\\t\\ttype=\\\"submit\\\"\\r\\n\\t\\t\\t\\tclass=\\\"btn btn-secondary\\\"\\r\\n\\t\\t\\t\\t[disabled]=\\\"!personform.valid\\\">\\r\\n\\t\\t\\t\\t{{ 'webconsole.treeUI.1022' | translate }}\\r\\n\\t\\t\\t</button>\\r\\n\\t\\t</div>\\r\\n\\t</form>\\r\\n</template>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/dropdown-manual.html\n// module id = 1389\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{ 'agentProgress.modal.comp.1001' | translate }}</h3>\\r\\n</div>\\r\\n<!--\\r\\n    다국어 코드 한글값\\r\\n    \\\"agentProgress.modal.comp.1001\\\":\\\"파일 생성 중\\\",\\r\\n\\t\\\"agentProgress.modal.comp.1002\\\":\\\"파일 생성 취소\\\",\\r\\n\\t\\\"agentProgress.modal.comp.1003\\\":\\\"데이터 양이 많을 경우, 파일 생성이 지연될 수 있습니다.\\\",\\r\\n-->\\r\\n<div class=\\\"modal-body\\\" style=\\\"text-align: center\\\">\\r\\n<!--    <p *ngIf=\\\"progress != NaN\\\"><ngb-progressbar [showValue]=\\\"true\\\" type=\\\"info\\\" [value]=\\\"progress\\\"></ngb-progressbar></p>-->\\r\\n\\r\\n    <div *ngIf=\\\"progress != NaN\\\"><img src=\\\"assets/images/spin_new.gif\\\"></div>\\r\\n    <p style=\\\"margin-top: 10px\\\">{{ 'agentProgress.modal.comp.1003' | translate }}</p>\\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button type=\\\"button\\\" class=\\\"btn btn-md btn-primary\\\" (click)=\\\"stopProgress()\\\">{{ 'agentProgress.modal.comp.1002' | translate }}</button>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/progress-csv-modal.component.html\n// module id = 1390\n// module chunks = 27","module.exports = \"\\t<!--\\r\\n\\t다국어 코드 한글값\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1001\\\" : \\\"예외정책 조회\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1002\\\" : \\\"캡쳐관련\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1003\\\" : \\\"프로그램삭제허용\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1004\\\" : \\\"애드인 정책\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1005\\\" : \\\"커스텀 정책\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1006\\\" : \\\"SECURITYDOMAIN의 정책과 상이한 정책을 확인할 수 있습니다.\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1007\\\" : \\\"총\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1008\\\" : \\\"건\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1009\\\" : \\\"조회\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1010\\\" : \\\"저장\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.ts.1011\\\" : \\\"취소\\\",\\r\\n\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1001\\\" : \\\"구분\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1002\\\" : \\\"부서명\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1003\\\" : \\\"사용자 이름\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1004\\\" : \\\"아이디\\\",\\r\\n\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1005\\\" : \\\"화면 캡쳐 툴 제어\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1006\\\" : \\\"프린트 스크린을 통한 화면 캡처\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1007\\\" : \\\"화면 캡쳐 제어 예외 프로그램\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1008\\\" : \\\"OS 캡처 스케치 캡쳐 차단\\\",\\r\\n\\t\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1009\\\" : \\\"프로그램 삭제 허용\\\",\\r\\n\\t\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1010\\\" : \\\"애드인 정책명\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1011\\\" : \\\"애드인 파일버전\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1012\\\" : \\\"애드인 정책\\\",\\r\\n\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1013\\\" : \\\"커스텀 정책명\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1014\\\" : \\\"정책 아이디\\\",\\r\\n\\t\\\"search.exceptionpolicy.modal.comp.table.1015\\\" : \\\"정책값\\\"\\r\\n\\t-->\\r\\n\\t<form [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{'search.exceptionpolicy.modal.comp.ts.1001' | translate}}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-body\\\" style=\\\"height: 620px\\\">\\r\\n\\t\\t\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"sub-tab-area\\\">\\r\\n\\t\\t\\t\\t<ul class=\\\"nav nav-tabs\\\">\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\"> \\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('capture')\\\" [ngClass]=\\\"highlightTab('capture')\\\">{{'search.exceptionpolicy.modal.comp.ts.1002' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('programDelete')\\\" [ngClass]=\\\"highlightTab('programDelete')\\\">{{'search.exceptionpolicy.modal.comp.ts.1003' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('addInPolicy')\\\" [ngClass]=\\\"highlightTab('addInPolicy')\\\">{{'search.exceptionpolicy.modal.comp.ts.1004' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('customPolicy')\\\" [ngClass]=\\\"highlightTab('customPolicy')\\\">{{'search.exceptionpolicy.modal.comp.ts.1005' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t</ul>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t<p>{{'search.exceptionpolicy.modal.comp.ts.1006' | translate}}</p>\\r\\n\\t\\t\\t</div>\\r\\n            <section [hidden]=\\\"activeTab != 'capture'\\\">\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'programDelete'\\\">\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'addInPolicy'\\\">\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'customPolicy'\\\">\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t<div class=\\\"form-horizontal col-sm-10\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\" style=\\\"margin-left: -20px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select id=\\\"custom-m-10\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"search.type\\\">\\t\\t\\t\\t\\t\\t\\t \\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of customPolicyList\\\" [ngValue]=\\\"state.value\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state.name }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</option> \\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n  \\t\\t\\t</section>\\r\\n\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\" style=\\\"height: 430px\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t<article class=\\\"card card-default\\\" style=\\\"height: 420px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block no-padding auto-scroll\\\">\\r\\n                            <ngx-datatable *ngIf=\\\"showTable\\\"\\r\\n                                    id=\\\"datatable\\\"\\r\\n                                    class=\\\"material m-bd pop dataExample\\\"\\r\\n                                    [columns]=\\\"columns\\\"\\r\\n                                    [columnMode]=\\\"'standard'\\\"\\r\\n                                     [headerHeight]=\\\"activeTab === 'capture' ? 53 : 28\\\"\\r\\n                                    [footerHeight]=\\\"0\\\"\\r\\n                                    [rowHeight]=\\\"42\\\"\\r\\n                                    [rows]='rows'\\r\\n                                    [scrollbarH]=\\\"true\\\"\\r\\n                                    [scrollbarV]=\\\"true\\\"\\r\\n                                    [selectionType]=\\\"'row'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"height: 353px;\\\">\\r\\n                            </ngx-datatable>\\r\\n                            <div *ngIf=\\\"rows.length != 0\\\" style=\\\"border-top: 1px solid rgba(0, 0, 0, 0.125);\\\">\\r\\n                                <span class=\\\"totla-count\\\" >\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{'search.exceptionpolicy.modal.comp.ts.1007' | translate}} {{totalCnt}} {{'search.exceptionpolicy.modal.comp.ts.1008' | translate}}\\r\\n                                </span>\\r\\n                                <div class=\\\"pagination\\\">\\r\\n                                    <ngb-pagination [pageSize]=\\\"perPage\\\" [collectionSize]=\\\"totalCnt\\\" [(page)]=\\\"page\\\" [maxSize]=\\\"5\\\" [boundaryLinks]=\\\"true\\\" size=\\\"sm\\\" (pageChange)=\\\"pageinate(page-1, perPage)\\\"></ngb-pagination>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</article>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-primary\\\" (click)=\\\"onSearch();\\\">{{'search.exceptionpolicy.modal.comp.ts.1009' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-primary\\\" (click)=\\\"open();\\\" [disabled]=\\\"rows.length == 0\\\">{{'search.exceptionpolicy.modal.comp.ts.1010' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"activeModal.close('Close Click')\\\">{{'search.exceptionpolicy.modal.comp.ts.1011' | translate}}</button>\\r\\n\\t</div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/search-exceptionpolicy-modal.component.html\n// module id = 1391\n// module chunks = 27","module.exports = \"<div class=\\\"modal-header\\\">\\r\\n    <h3 class=\\\"modal-title\\\">{{ 'treeSearch.modal.comp.1001' | translate }}</h3>\\r\\n        <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\r\\n    </button>\\r\\n</div>\\r\\n<!--\\r\\n다국어 코드 한글값\\r\\n\\\"treeSearch.modal.comp.1001\\\":\\\"검색 결과\\\",\\r\\n\\\"treeSearch.modal.comp.1002\\\":\\\"검색 결과가 없습니다.\\\",\\r\\n\\\"treeSearch.modal.comp.1003\\\":\\\"이동\\\",\\r\\n\\\"treeSearch.modal.comp.1004\\\":\\\"취소\\\",\\r\\n\\\"treeSearch.modal.comp.1005\\\":\\\"이름\\\",\\r\\n\\\"treeSearch.modal.comp.1006\\\":\\\"아이디\\\",\\r\\n\\\"treeSearch.modal.comp.1007\\\":\\\"소속\\\",\\r\\n\\\"treeSearch.modal.comp.1008\\\":\\\"그룹경로\\\",\\r\\n-->\\r\\n<div class=\\\"modal-body\\\">\\r\\n    <p *ngIf=\\\"rows.length == 0\\\" class=\\\"md-text-warn\\\">{{ 'treeSearch.modal.comp.1002' | translate }}</p>\\r\\n    <ngx-datatable\\r\\n        class=\\\"material m-bd\\\" \\r\\n        [columns]=\\\"columns\\\"\\r\\n        [columnMode]=\\\"'force'\\\"\\r\\n        [headerHeight]=\\\"28\\\"\\r\\n        [footerHeight]=\\\"28\\\"\\r\\n        [rowHeight]=\\\"28\\\"\\r\\n        [rows]='rows' \\r\\n        [selected]=\\\"selected\\\"\\r\\n        [selectionType]=\\\"'row'\\\" \\r\\n        [scrollbarV]=\\\"false\\\"\\r\\n        [scrollbarH]=\\\"true\\\"\\r\\n        [externalPaging]=\\\"true\\\"\\r\\n        [count]=\\\"count\\\"\\r\\n        [offset]=\\\"offset\\\"\\r\\n        [limit]=\\\"limit\\\"\\r\\n        (page)='onPage($event)'\\r\\n        (select)=\\\"onSelect($event)\\\">\\r\\n        <ngx-datatable-column name=\\\"{{ 'treeSearch.modal.comp.1005' | translate }}\\\" [width]=\\\"150\\\" prop=\\\"name\\\"></ngx-datatable-column> \\r\\n        <ngx-datatable-column name=\\\"{{ 'treeSearch.modal.comp.1006' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"id\\\"></ngx-datatable-column> \\r\\n        <ngx-datatable-column name=\\\"{{ 'treeSearch.modal.comp.1007' | translate }}\\\" [width]=\\\"180\\\" prop=\\\"team\\\"></ngx-datatable-column> \\r\\n        <ngx-datatable-column name=\\\"{{ 'treeSearch.modal.comp.1008' | translate }}\\\" [width]=\\\"700\\\" prop=\\\"path\\\"></ngx-datatable-column> \\r\\n    </ngx-datatable>\\r\\n</div>\\r\\n<div class=\\\"modal-footer text-right\\\">\\r\\n    <button \\r\\n        type=\\\"button\\\" \\r\\n        class=\\\"btn btn-md btn-primary\\\" \\r\\n        [disabled]=\\\"selected.length == 0\\\" \\r\\n        (click)=\\\"onSubmit()\\\">\\r\\n        {{ 'treeSearch.modal.comp.1003' | translate }}\\r\\n    </button>\\r\\n    <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"activeModal.close('Close Click')\\\">{{ 'treeSearch.modal.comp.1004' | translate }}</button>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/search-modal.component.html\n// module id = 1392\n// module chunks = 27","module.exports = \"<form [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'search.pccurrentstatus.modal.comp.ts.1015' | translate }}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t<p>{{ 'search.pccurrentstatus.modal.comp.ts.1013' | translate }}<br/>{{ 'search.pccurrentstatus.modal.comp.ts.1014' | translate }}</p>\\r\\n\\t</div>\\r\\n\\t<article class=\\\"card card-default\\\">\\r\\n\\t   <div class=\\\"card-block\\\">\\r\\n\\t\\t\\t<div class=\\\"form-horizontal col-sm-10\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"type\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"search.type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onSelectChange($event)\\\">\\r\\n                            <option *ngFor=\\\"let state of serchTypeList\\\" [ngValue]=\\\"state.value\\\">\\r\\n                                {{ state.name }}\\r\\n                            </option>\\r\\n                        </select>\\r\\n\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\" [hidden]=\\\"search.type == '1103'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-3\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"value\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"search.value\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[value]=\\\"search.type === 4218 ? '' : search.value\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[readOnly]=\\\"search.type == 4218\\\">\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\" [hidden]=\\\"search.type != '1103'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input type=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"startDate\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"search.startDate\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tngbDatepicker #d=\\\"ngbDatepicker\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<button class=\\\"input-group-addon\\\" (click)=\\\"d.toggle()\\\" type=\\\"button\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i class=\\\"material-icons\\\">date_range</i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</button>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\" [hidden]=\\\"search.type != '1103'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input type=\\\"text\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"endDate\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"search.endDate\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tngbDatepicker #e=\\\"ngbDatepicker\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<button class=\\\"input-group-addon\\\" (click)=\\\"e.toggle()\\\" type=\\\"button\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i class=\\\"material-icons\\\">date_range</i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</button>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t<div class=\\\"card-footer text-right\\\">\\r\\n          <button class=\\\"btn btn-md btn-primary\\\" type=\\\"submit\\\">{{'search.pccurrentstatus.modal.comp.ts.1016' | translate}}</button>\\r\\n    </div>\\r\\n\\t</article>\\r\\n\\t<article class=\\\"card card-default\\\">\\r\\n\\t\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t\\t<ngx-datatable\\r\\n\\t\\t\\t\\tid=\\\"datatable\\\"\\r\\n\\t\\t\\t\\tclass=\\\"material\\\"\\r\\n\\t\\t\\t\\t[columns]=\\\"columns\\\"\\r\\n\\t\\t\\t\\t[columnMode]=\\\"'force'\\\"\\r\\n\\t\\t\\t\\t[headerHeight]=\\\"28\\\"\\r\\n\\t\\t\\t\\t[footerHeight]=\\\"0\\\"\\r\\n\\t\\t\\t\\t[rowHeight]=\\\"28\\\"\\r\\n\\t\\t\\t\\t[rows]='rows'\\r\\n\\t\\t\\t\\t[scrollbarH]=\\\"true\\\"\\r\\n\\t\\t\\t\\t[scrollbarV]=\\\"false\\\"\\r\\n\\t\\t\\t\\t[selectionType]=\\\"'row'\\\">\\r\\n\\t\\t\\t</ngx-datatable>\\r\\n\\t\\t\\t<div *ngIf=\\\"!rows.length == 0\\\">\\r\\n\\t\\t\\t\\t<span class=\\\"totla-count\\\">\\r\\n\\t\\t\\t\\t\\t{{ 'toolTable.comp.1002' | translate }} {{totalCnt}} {{ 'toolTable.comp.1003' | translate }}\\r\\n\\t\\t\\t\\t</span>\\r\\n\\t\\t\\t\\t<div class=\\\"pagination\\\">\\r\\n\\t\\t\\t\\t\\t<ngb-pagination [collectionSize]=\\\"totalCnt\\\" [(page)]=\\\"page\\\" [maxSize]=\\\"5\\\" [boundaryLinks]=\\\"true\\\" size=\\\"sm\\\" (pageChange)=\\\"pageinate(page-1, 10)\\\"></ngb-pagination>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>        \\r\\n\\t\\t</div>\\r\\n\\t</article>\\r\\n\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\"  [disabled]=\\\"!rows || rows.length == 0\\\" (click)=\\\"onSave();\\\">{{'searchPermission.modal.comp.1029' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onCancle();\\\">{{'searchPermission.modal.comp.1031' | translate}}</button>\\r\\n\\t</div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/search-pccurrentstatus-modal.component.html\n// module id = 1393\n// module chunks = 27","module.exports = \"<form [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n\\t<!--\\r\\n\\t다국어 코드 한글값\\r\\n\\t\\\"searchPermission.modal.comp.1001\\\" : \\\"권한별 검색\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1002\\\" : \\\"특정 권한을 가진 사용자를 검색할 수 있습니다.\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1003\\\" : \\\"아래의 탭에서 조건을 선택하십시오.\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1004\\\" : \\\"강제권한\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1005\\\" : \\\"APP 제어\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1006\\\" : \\\"프린트 마킹\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1007\\\" : \\\"범주\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1008\\\" : \\\"온라인 권한\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1009\\\" : \\\"오프라인 권한\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1010\\\" : \\\"해제\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1011\\\" : \\\"읽기\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1012\\\" : \\\"반출\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1013\\\" : \\\"편집\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1014\\\" : \\\"출력\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1015\\\" : \\\"유효기간\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1016\\\" : \\\"권한 변경\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1017\\\" : \\\"권한 유효기간\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1018\\\" : \\\"화면캡쳐 툴 제어\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1019\\\" : \\\"프린트 스크린키를 통한 화면캡쳐 허용\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1020\\\" : \\\"보안 문서\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1021\\\" : \\\"보안/일반 문서\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1022\\\" : \\\"검색 그룹\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1023\\\" : \\\"하위 그룹 구성원 표시\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1024\\\" : \\\"검색\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1025\\\" : \\\"아이디\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1026\\\" : \\\"이름\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1027\\\" : \\\"사용자직위\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1028\\\" : \\\"그룹경로\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1029\\\" : \\\"저장\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1030\\\" : \\\"이동\\\",\\r\\n\\t\\\"searchPermission.modal.comp.1031\\\" : \\\"취소\\\"\\r\\n\\t\\\"searchPermission.modal.comp.1032\\\" : \\\"전사공통권한\\\"\\r\\n\\t\\\"searchPermission.modal.comp.1033\\\" : \\\"예외정책\\\"\\r\\n\\t\\\"allpolicy.comp.1008\\\" : 추출\\r\\n\\t\\\"allpolicy.comp.1009\\\" : 캡처\\r\\n\\t-->\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{'searchPermission.modal.comp.1001' | translate}}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-body\\\">\\r\\n\\t\\t<p>{{'searchPermission.modal.comp.1002' | translate}}<br/>{{'searchPermission.modal.comp.1003' | translate}}</p>\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"sub-tab-area\\\">\\r\\n\\t\\t\\t\\t<ul class=\\\"nav nav-tabs\\\">\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\" *ngIf=\\\"gvpnChangeUI != 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('forcePermission')\\\" [ngClass]=\\\"highlightTab('forcePermission')\\\">{{'searchPermission.modal.comp.1004' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\" *ngIf=\\\"gvpnChangeUI == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('companyWidePermission')\\\" [ngClass]=\\\"highlightTab('companyWidePermission')\\\">{{'searchPermission.modal.comp.1032' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\" *ngIf=\\\"gvpnChangeUI != 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('appControl')\\\" [ngClass]=\\\"highlightTab('appControl')\\\">{{'searchPermission.modal.comp.1005' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\" *ngIf=\\\"gvpnChangeUI == 'Y'\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('exceptionPolicy')\\\" [ngClass]=\\\"highlightTab('exceptionPolicy')\\\">{{'searchPermission.modal.comp.1033' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('printMark')\\\" [ngClass]=\\\"highlightTab('printMark')\\\">{{'searchPermission.modal.comp.1006' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t</ul>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'forcePermission'\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"enc-1\\\" class=\\\"col-sm-2 col-form-label\\\">{{'searchPermission.modal.comp.1007' | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"enc-2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds105\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds105\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of ds105\\\" [ngValue]=\\\"state.value\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state.name }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds3133\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds3133\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1008' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds3134\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds3134\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1009' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds212\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds212\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1010' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds210\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds210\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1011' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds213\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds213\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1012' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds211\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds211\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1013' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds214\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds214\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1014' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds109\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds109\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1015' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds218\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds218\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1016' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds2124\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds2124\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1017' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds215\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.forceOptions.ds215\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1034' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'companyWidePermission'\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label style=\\\"display:none;\\\" for=\\\"enc-1\\\" class=\\\"col-sm-2 col-form-label\\\">{{'searchPermission.modal.comp.1007' | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-4\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"enc-1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds105_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds105_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of ds105\\\" [ngValue]=\\\"state.value\\\" type=\\\"hidden\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state.name }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds3133_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds3133_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1008' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds3134_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds3134_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1009' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds212_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds212_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1010' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds210_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds210_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1011' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds213_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds213_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1012' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds211_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds211_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1013' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds214_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tng-false-value=\\\"true\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds214_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1014' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds109_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds109_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1015' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds218_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds218_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1016' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds2124_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.companyWidePermissionOptions.ds2124_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1017' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'appControl'\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1508\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.appControlOptions.ds1508\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1018' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds2042\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.appControlOptions.ds2042\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1019' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'exceptionPolicy'\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds2041\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.exceptionPolicyOptions.ds2041\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'allpolicy.comp.1008' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6 form-check\\\" style=\\\"display:none;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1508_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.exceptionPolicyOptions.ds1508_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6 form-check\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds2042_2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.exceptionPolicyOptions.ds2042_2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'allpolicy.comp.1009' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<section [hidden]=\\\"activeTab != 'printMark'\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" class=\\\"form-check-input\\\" value=\\\"0\\\" formControlName=\\\"ds2021\\\" [checked]=\\\"permissions.printMarkOptions.ds2021 == '0'\\\" [(ngModel)]=\\\"permissions.printMarkOptions.ds2021\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1020' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" class=\\\"form-check-input\\\" value=\\\"1\\\" formControlName=\\\"ds2021\\\" [checked]=\\\"permissions.printMarkOptions.ds2021 == '1'\\\" [(ngModel)]=\\\"permissions.printMarkOptions.ds2021\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1021' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</section>\\r\\n\\t\\t\\t<div class=\\\"modal-footer\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"col-form-label\\\">{{'searchPermission.modal.comp.1022' | translate}} : {{groupName}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-sm-6 modal-footer\\\" style=\\\"border: 0;\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-check\\\" style=\\\"margin: 0;\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds1509\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"permissions.ds1509\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t{{'searchPermission.modal.comp.1023' | translate}}\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onSearch();\\\">{{'searchPermission.modal.comp.1024' | translate}}</button>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t<article class=\\\"card card-default\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block no-padding auto-scroll\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<ngx-datatable\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t*ngIf=\\\"showTable\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"material\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[columns]=\\\"columns\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[columnMode]=\\\"'standard'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[headerHeight]=\\\"28\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[footerHeight]=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[rowHeight]=\\\"42\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[rows]='rows'\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[selected]=\\\"selected\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[scrollbarH]=\\\"true\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[selectionType]=\\\"'row'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(select)=\\\"onSelect($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(activate)=\\\"onActivate($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{'searchPermission.modal.comp.1025' | translate}}\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<template let-row=\\\"row\\\" ngx-datatable-cell-template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i [ngClass]=\\\"row[1] ? 'leaf' : 'group'\\\" class=\\\"icon-tree \\\"></i> {{row[1] ? row[1] : row[9]}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</ngx-datatable-column>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{'searchPermission.modal.comp.1026' | translate}}\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<template let-row=\\\"row\\\" ngx-datatable-cell-template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{row[1] ? row[3] : row[4]}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</ngx-datatable-column>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{'searchPermission.modal.comp.1027' | translate}}\\\" prop=\\\"5\\\"></ngx-datatable-column>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{'searchPermission.modal.comp.1028' | translate}}\\\" width=\\\"350\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<template let-row=\\\"row\\\" ngx-datatable-cell-template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{displayGroupPath(row[19])}}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</template>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</ngx-datatable-column>\\r\\n\\t\\t\\t\\t\\t\\t\\t</ngx-datatable>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</article>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" [disabled]=\\\"!rows || rows.length == 0\\\" (click)=\\\"onSave();\\\">{{'searchPermission.modal.comp.1029' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" [disabled]=\\\"selected.length == 0\\\" (click)=\\\"onSubmit();\\\">{{'searchPermission.modal.comp.1030' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onCancle();\\\">{{'searchPermission.modal.comp.1031' | translate}}</button>\\r\\n\\t</div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/search-permission-modal.component.html\n// module id = 1394\n// module chunks = 27","module.exports = \"\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{'searchPolicy.modal.comp.1001' | translate}}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-body\\\" [ngStyle]=\\\"{height: this.optionType == 'checkbox' ? '780px' : '710px'}\\\">\\r\\n\\t\\t<p>{{'searchPolicy.modal.comp.1006' | translate}}<br/>{{'searchPolicy.modal.comp.1007' | translate}}</p>\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"sub-tab-area\\\">\\r\\n\\t\\t\\t\\t<ul class=\\\"nav nav-tabs\\\">\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('encryptPolicy')\\\" [ngClass]=\\\"highlightTab('encryptPolicy')\\\">{{'searchPolicy.modal.comp.1002' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('categoryAuth')\\\" [ngClass]=\\\"highlightTab('categoryAuth')\\\">{{'searchPolicy.modal.comp.1003' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('profilePolicy')\\\" [ngClass]=\\\"highlightTab('profilePolicy')\\\">{{'searchPolicy.modal.comp.1004' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t\\t<li class=\\\"nav-item\\\">\\r\\n\\t\\t\\t\\t\\t\\t<a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"openTab('customPolicy')\\\" [ngClass]=\\\"highlightTab('customPolicy')\\\">{{'searchPolicy.modal.comp.1005' | translate}}</a>\\r\\n\\t\\t\\t\\t\\t</li>\\r\\n\\t\\t\\t\\t</ul>\\r\\n\\t\\t\\t</div>\\r\\n            <section>\\r\\n\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n                    <div class=\\\"form-group row\\\">\\r\\n                        <div class=\\\"col-sm-5\\\">\\r\\n                            <select class=\\\"form-control\\\" [(ngModel)]=\\\"searchObj.value\\\" (ngModelChange)=\\\"changeMainSelect()\\\">\\r\\n                                <option *ngFor=\\\"let state of searchOptions\\\" [ngValue]=\\\"state.code\\\">\\r\\n                                    {{ state.name }}\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-7\\\" *ngIf=\\\"this.optionType == null\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"searchObj.keyword\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-5\\\" *ngIf=\\\"this.optionType == 'select'\\\">\\r\\n                            <select class=\\\"form-control\\\" [(ngModel)]=\\\"searchObj.keyword\\\" (change)=\\\"onSearch()\\\">\\r\\n                                <option *ngFor=\\\"let state of subSearchOptions\\\" [ngValue]=\\\"state.value\\\">\\r\\n                                    {{ state.name }}\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"form-group row\\\" *ngIf=\\\"this.optionType == 'checkbox'\\\" style=\\\"padding-top: 5px\\\">\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2007_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2007_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1012' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2007_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2007_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1021' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2008_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2008_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1013' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2008_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2008_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1022' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2010_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2010_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1014' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2010_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2010_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1023' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2009_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2009_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1015' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2009_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2009_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1024' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2011_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2011_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1016' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2011_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2011_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1025' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2012_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2012_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1017' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2012_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2012_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1026' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2013_o\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2013_o\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1018' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-2 form-check\\\">\\r\\n                            <label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n                                <input type=\\\"checkbox\\\"\\r\\n                                       class=\\\"form-check-input\\\"\\r\\n                                       [(ngModel)]=\\\"ownerAuth.ds2013_x\\\"\\r\\n                                       [checked]=\\\"ownerAuth.ds2013_x\\\">\\r\\n                                <i></i>\\r\\n                                {{'searchPolicy.modal.comp.1027' | translate}}\\r\\n                            </label>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\t\\t\\t\\t</div>\\r\\n                <div class=\\\"modal-footer text-right\\\">\\r\\n                    <button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"onReset();\\\">{{ 'searchPolicy.modal.comp.1008' | translate }}</button>\\r\\n                    <button type=\\\"button\\\" class=\\\"btn btn-md btn-primary\\\" (click)=\\\"onSearch();\\\">{{ 'searchPolicy.modal.comp.1009' | translate }}</button>\\r\\n                </div>\\r\\n\\t\\t\\t</section>\\r\\n\\r\\n\\t\\t\\t<div class=\\\"form-group row\\\" style=\\\"height: 380px\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-12\\\">\\r\\n\\t\\t\\t\\t\\t<article class=\\\"card card-default\\\" style=\\\"height: 370px\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block no-padding auto-scroll\\\" *ngIf=\\\"activeTab == 'encryptPolicy' || activeTab == 'categoryAuth'\\\">\\r\\n                            <ngx-datatable\\r\\n                                    *ngIf=\\\"showTable\\\"\\r\\n                                    id=\\\"datatable\\\"\\r\\n                                    class=\\\"material m-bd pop\\\"\\r\\n                                    [columns]=\\\"columns\\\"\\r\\n                                    [columnMode]=\\\"'standard'\\\"\\r\\n                                    [headerHeight]=\\\"56\\\"\\r\\n                                    [footerHeight]=\\\"0\\\"\\r\\n                                    [rowHeight]=\\\"42\\\"\\r\\n                                    [rows]='rows'\\r\\n                                    [scrollbarH]=\\\"true\\\"\\r\\n                                    [scrollbarV]=\\\"true\\\"\\r\\n                                    [selectionType]=\\\"'row'\\\">\\r\\n                                <ngx-datatable-column *ngFor=\\\"let column of columns\\\"\\r\\n                                                      [name]=\\\"column.name\\\"\\r\\n                                                      [prop]=\\\"column.prop\\\"\\r\\n                                                      [width]=\\\"column.width\\\"\\r\\n                                                      [resizeable]=\\\"true\\\">\\r\\n                                </ngx-datatable-column>\\r\\n                            </ngx-datatable>\\r\\n                            <div *ngIf=\\\"rows.length != 0\\\" style=\\\"border-top: 1px solid rgba(0, 0, 0, 0.125);\\\">\\r\\n                                <span class=\\\"totla-count\\\" >\\r\\n                                  {{ 'searchPolicy.modal.comp.1019' | translate }} {{totalCnt}} {{ 'searchPolicy.modal.comp.1020' | translate }}\\r\\n                                </span>\\r\\n                                <div class=\\\"pagination\\\">\\r\\n                                    <ngb-pagination [pageSize]=\\\"perPage\\\" [collectionSize]=\\\"totalCnt\\\" [(page)]=\\\"page\\\" [maxSize]=\\\"5\\\" [boundaryLinks]=\\\"true\\\" size=\\\"sm\\\" (pageChange)=\\\"pageinate(page-1, perPage)\\\"></ngb-pagination>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\r\\n                        <div class=\\\"card-block no-padding auto-scroll\\\" *ngIf=\\\"activeTab == 'profilePolicy' || activeTab == 'customPolicy'\\\">\\r\\n                            <ngx-datatable\\r\\n                                    *ngIf=\\\"showTable\\\"\\r\\n                                    id=\\\"datatable\\\"\\r\\n                                    class=\\\"material m-bd pop\\\"\\r\\n                                    [columns]=\\\"columns\\\"\\r\\n                                    [columnMode]=\\\"'standard'\\\"\\r\\n                                    [headerHeight]=\\\"28\\\"\\r\\n                                    [footerHeight]=\\\"0\\\"\\r\\n                                    [rowHeight]=\\\"42\\\"\\r\\n                                    [rows]='rows'\\r\\n                                    [scrollbarH]=\\\"true\\\"\\r\\n                                    [scrollbarV]=\\\"true\\\"\\r\\n                                    [selectionType]=\\\"'row'\\\">\\r\\n                                <ngx-datatable-column *ngFor=\\\"let column of columns\\\"\\r\\n                                                    [name]=\\\"column.name\\\"\\r\\n                                                    [prop]=\\\"column.prop\\\"\\r\\n                                                    [width]=\\\"column.width\\\"\\r\\n                                                    [resizeable]=\\\"true\\\">\\r\\n                                </ngx-datatable-column>\\r\\n                            </ngx-datatable>\\r\\n                            <div *ngIf=\\\"rows.length != 0\\\" style=\\\"border-top: 1px solid rgba(0, 0, 0, 0.125);\\\">\\r\\n                                <span class=\\\"totla-count\\\" >\\r\\n                                  {{ 'searchPolicy.modal.comp.1019' | translate }} {{totalCnt}} {{ 'searchPolicy.modal.comp.1020' | translate }}\\r\\n                                </span>\\r\\n                                <div class=\\\"pagination\\\">\\r\\n                                    <ngb-pagination [pageSize]=\\\"perPage\\\" [collectionSize]=\\\"totalCnt\\\" [(page)]=\\\"page\\\" [maxSize]=\\\"5\\\" [boundaryLinks]=\\\"true\\\" size=\\\"sm\\\" (pageChange)=\\\"pageinate(page-1, perPage)\\\"></ngb-pagination>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\t\\t\\t\\t\\t</article>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-primary\\\" (click)=\\\"open();\\\" [disabled]=\\\"rows.length == 0\\\">{{'searchPolicy.modal.comp.1010' | translate}}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"activeModal.close('Close Click')\\\">{{'searchPolicy.modal.comp.1011' | translate}}</button>\\r\\n\\t</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/search-policy-modal.component.html\n// module id = 1395\n// module chunks = 27","module.exports = \"<div id=\\\"tree-area\\\" class=\\\"tree-area\\\" (window:resize)=\\\"onResize($event)\\\" style=\\\"height: 100%;\\\">\\r\\n\\t<tree-root \\r\\n\\t\\t#tree \\r\\n\\t\\t[nodes]=\\\"nodes\\\"\\r\\n\\t\\t[focused]=\\\"true\\\"\\r\\n\\t\\t[options]=\\\"customTemplateStringOptions\\\" \\r\\n\\t\\t(onUpdateData)=\\\"go($event)\\\">\\r\\n\\t\\t\\r\\n\\t\\t<template #treeNodeTemplate let-node=\\\"node\\\" let-index=\\\"index\\\">\\r\\n\\t\\t\\t<span (click)=\\\"onSelect(node)\\\" class=\\\"ds-{{node.data.id}}\\\">\\r\\n\\t\\t\\t\\t<i aria-label=\\\"그룹\\\" class=\\\"icon-tree group\\\" *ngIf=\\\"node.data.tree == '1'\\\" [ngClass]=\\\"{imagine: node.data.type == '2'}\\\"></i>\\r\\n\\t\\t\\t\\t<i aria-label=\\\"개인\\\" class=\\\"icon-tree leaf\\\" *ngIf=\\\"node.data.tree == '0' && node.data.orderJob != '1'\\\" [ngClass]=\\\"{imagine: node.data.type == '2'}\\\"></i>\\r\\n\\t\\t\\t\\t<i aria-label=\\\"PC\\\" class=\\\"icon-tree pc\\\" *ngIf=\\\"node.data.tree == '2'\\\" [ngClass]=\\\"{on: node.data.type == '1'}\\\"></i>\\r\\n\\t\\t\\t\\t<i aria-label=\\\"겸직자\\\" class=\\\"icon-tree leaf-plus\\\" *ngIf=\\\"node.data.tree == '0' && node.data.orderJob == '1'\\\" [ngClass]=\\\"{imagine: node.data.type == '2'}\\\"></i>\\r\\n\\t\\t\\t\\t<span>{{ node.data.title }}</span>\\r\\n\\t\\t\\t</span>\\t\\t\\r\\n\\t\\t</template>\\r\\n\\t\\t<template #loadingTemplate><span class=\\\"load-tree\\\"></span></template>\\t\\r\\n\\t</tree-root>\\r\\n</div>\\r\\n<ngbd-dropdown-manual \\r\\n\\t(groupUpdated)=\\\"groupUpdated($event)\\\" \\r\\n\\t(deleteItem)=\\\"deleteItem($event)\\\" \\r\\n\\t(onVoted)=\\\"onVoted($event)\\\" \\r\\n\\t(selectTempTree)=\\\"selectTempTree($event)\\\" \\r\\n\\t(moveUserGroup)=\\\"moveUserGroup($event)\\\" \\r\\n\\t[selectedTree]=\\\"selectedTree\\\" \\r\\n\\t[selectedType]=\\\"selectedType\\\" \\r\\n\\t[selectedNode]=\\\"selectedNode\\\"\\r\\n\\t[selectedTempTree]=\\\"selectedTempTree\\\"\\r\\n\\t[selectedTempNode]=\\\"selectedTempNode\\\"\\r\\n\\t[isMove]=\\\"isMove\\\">\\r\\n</ngbd-dropdown-manual>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/tree/tree.component.html\n// module id = 1396\n// module chunks = 27","module.exports = \"<!--편집/추가 모달-->\\r\\n<form [formGroup]=\\\"customForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'adminurl.modal.comp.ts.1011' | translate }}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<!--\\r\\n\\t다국어 코드 한글값\\r\\n\\t\\\"adminurl.modal.comp.ts.1011\\\":\\\"보안 URL 정책 설정\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1012\\\":\\\"정책구분\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1013\\\":\\\"템플릿\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1014\\\":\\\"개별등록\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1015\\\":\\\"정책설정\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1016\\\":\\\"정책 아이디\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1017\\\":\\\"정책 이름\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1018\\\":\\\"등록 사유\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1020\\\":\\\"요청자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1021\\\":\\\"요청자 소속\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1022\\\":\\\"등록자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1023\\\":\\\"URL 이름\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1024\\\":\\\"URL / IP\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1025\\\":\\\"IP범위지정\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1026\\\":\\\"시스템 명\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1027\\\":\\\"이름\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1028\\\":\\\"대표URL\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1029\\\":\\\"시작IP\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1030\\\":\\\"끝IP\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1031\\\":\\\"시스템명\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1032\\\":\\\"등록/수정자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1033\\\":\\\"등록사유\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1034\\\":\\\"요청자소속\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1035\\\":\\\"요청자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1036\\\":\\\"추가\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1037\\\":\\\"적용\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1038\\\":\\\"취소\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1042\\\":\\\"문서 보안 정책\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1043\\\":\\\"인쇄 허용\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1044\\\":\\\"프린트 마킹 예외\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1045\\\":\\\"화면(캡처) 허용\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1046\\\":\\\"다운로드 제어\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1047\\\":\\\"암호화 - 대상 확장자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1048\\\":\\\"암호화 - 저장 차단 확장자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1049\\\":\\\"암호화 방식\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1050\\\":\\\"암호화 방식 - DAC\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1051\\\":\\\"DAC-개인\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1052\\\":\\\"읽기\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1053\\\":\\\"편집\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1054\\\":\\\"해제\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1055\\\":\\\"반출\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1056\\\":\\\"인쇄\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1057\\\":\\\"마킹\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1058\\\":\\\"권한 변경\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1059\\\":\\\"DAC-상위\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1060\\\":\\\"DAC-최상위\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1061\\\":\\\"암호화 방식 - MAC\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1062\\\":\\\"암호화 방식 - GRADE\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1063\\\":\\\"업로드 제어\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1064\\\":\\\"업로드 보안문서에 대하여 모두 복호화\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1065\\\":\\\"업로드 보안문서의 읽기권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1066\\\":\\\"업로드 보안문서의 편집권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1067\\\":\\\"업로드 보안문서의 해제권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1068\\\":\\\"S-Work 정책\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1069\\\":\\\"업로드 제어\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1070\\\":\\\"다운로드 제어\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1071\\\":\\\"예외 확장자\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1072\\\":\\\"문서보안 예외처리 DLL\\\",\\r\\n\\t\\\"adminurl.modal.comp.ts.1073\\\":\\\"업로드시 복호화\\\",\\r\\n\\t-->\\r\\n\\t<div class=\\\"modal-body card-block no-padding auto-scroll\\\" style=\\\"height:700px;\\\">\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurl.modal.comp.ts.1012' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<fieldset [disabled] =\\\"setReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-12\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"row\\\" style=\\\"margin-top: 5px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-radio-input\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30075Type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"app.ds30075Type == '0'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30075Type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1013' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-radio-input\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30075Type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"app.ds30075Type == '1'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30075Type\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1014' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurl.modal.comp.ts.1015' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1016' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30018\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30018\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1017' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30019\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30019\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1018' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30077\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30077\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1020' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30080\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30080\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1021' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30079\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30079\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1022' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30076\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30076\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\treadonly>\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1072' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30456\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30456\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\r\\n\\t\\t<div class=\\\"card card-default selectType\\\" *ngIf=\\\"app.ds30075Type == '1'\\\">\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1023' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30021\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30021\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\" id=\\\"Typeds30022\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30022 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly || opt !='add'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1024' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeUrl\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30022\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30022\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\">\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"  id=\\\"Typeds30083\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30083 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly || opt !='add'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1025' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30083\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30083\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t~\\r\\n\\t\\t\\t\\t\\t\\t<!-- <div class=\\\"col-sm-1\\\">~</div> -->\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30082\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30082\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1026' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\" style=\\\"margin-top: 2px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30081\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30081\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"card card-default\\\" *ngIf=\\\"app.ds30075Type == '1'\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurl.modal.comp.ts.1042' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30458\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30458\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30458\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1043' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30459\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30459\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30459\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1044' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30460\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30460\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30460\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1045' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('ds30469',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1046' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<fieldset [disabled] =!rowObject.ds30469>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1047' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30461\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30461\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1048' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30462\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30462\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1049' | translate }}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\" style=\\\"margin-top: -20px;\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '0'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-11\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1050' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-12\\\">\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"rowObject.ds30463 != '0'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\" style=\\\"width: 104px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('private',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1051' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!privateOj.private\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1052' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1053' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1054' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1055' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1056' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1057' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1058' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"><div class=\\\"col-sm-12\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\" style=\\\"width: 104px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('usergroup',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1059' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!usergroupOj.usergroup\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1052' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1053' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1054' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1055' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1056' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1057' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1058' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"><div class=\\\"col-sm-12\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('topgroup',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1060' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!topgroupOj.topgroup\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1052' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1053' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1054' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1055' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1056' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1057' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurl.modal.comp.ts.1058' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\" style=\\\"margin-top: -45px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '1'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-3\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1061' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<select class=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30464encryptList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30464encryptList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"등급 문서 선택\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of encryptList\\\" [ngValue]=\\\"state['105']\\\" [disabled]=\\\"rowObject.ds30463 != '1'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state['112'] }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\" style=\\\"margin-top: -45px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '2'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-3\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1062' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"등급 문서 선택\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30464docList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30464docList\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of docList\\\" [ngValue]=\\\"state['3057']\\\" [disabled]=\\\"rowObject.ds30463 != '2'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state['3058'] }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</fieldset>\\t\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30470\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30470\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30470\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1063' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-4\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1073' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30465\\\" \\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30465\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"0\\\" [selected]=\\\"rowObject.ds30465 =='0'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurl.modal.comp.ts.1064' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"1\\\" [selected]=\\\"rowObject.ds30465 =='1'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurl.modal.comp.ts.1065' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"2\\\" [selected]=\\\"rowObject.ds30465 =='2'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurl.modal.comp.ts.1066' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"3\\\" [selected]=\\\"rowObject.ds30465 =='3'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurl.modal.comp.ts.1067' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"card card-default\\\" *ngIf=\\\"app.ds30075Type == '1'\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurl.modal.comp.ts.1068' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30466\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30466\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30466\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1069' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30467\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30467\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30467\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1070' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1071' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30468\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30468\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"modal-body\\\" *ngIf=\\\"app.ds30075Type == '0'\\\">\\r\\n\\t\\t\\t<div class=\\\"card-block no-padding\\\">\\r\\n\\t\\t\\t\\t<ngx-datatable\\r\\n\\t\\t\\t\\t\\tclass=\\\"material m-bd pop\\\"\\r\\n\\t\\t\\t\\t\\t[columns]=\\\"urlColumns\\\"\\r\\n\\t\\t\\t\\t\\t[columnMode]=\\\"'force'\\\"\\r\\n\\t\\t\\t\\t\\t[headerHeight]=\\\"28\\\"\\r\\n\\t\\t\\t\\t\\t[footerHeight]=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t[rowHeight]=\\\"28\\\"\\r\\n\\t\\t\\t\\t\\t[rows]='urlRows'\\r\\n\\t\\t\\t\\t\\t[selected]=\\\"urlSelected\\\"\\r\\n\\t\\t\\t\\t\\t[selectionType]=\\\"'row'\\\"\\r\\n\\t\\t\\t\\t\\t[scrollbarV]=\\\"true\\\"\\r\\n\\t\\t\\t\\t\\t[scrollbarH]=\\\"true\\\"\\r\\n\\t\\t\\t\\t\\t(select)=\\\"onSelect($event)\\\"\\r\\n\\t\\t\\t\\t\\t(activate)=\\\"onActivate($event)\\\">\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1027' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30021\\\"></ngx-datatable-column><!--이름   -->\\t\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1028' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30022\\\"></ngx-datatable-column><!--대표URl-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1029' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30083\\\"></ngx-datatable-column><!--시작IP-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1030' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30082\\\"></ngx-datatable-column><!--끝IP-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1031' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30081\\\"></ngx-datatable-column><!--시스템명-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1032' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30084\\\"></ngx-datatable-column><!--등록/수정자-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1033' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30085\\\"></ngx-datatable-column><!--등록사유-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1034' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30087\\\"></ngx-datatable-column><!--요청자소속-->\\r\\n\\t\\t\\t\\t\\t<ngx-datatable-column name=\\\"{{ 'adminurl.modal.comp.ts.1035' | translate }}\\\" [width]=\\\"200\\\" prop=\\\"ds30088\\\"></ngx-datatable-column><!--요청자-->\\r\\n\\t\\t\\t\\t</ngx-datatable>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\r\\n\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\" *ngIf=\\\"!setUsetReadOnly\\\">\\r\\n\\t\\r\\n\\t\\t<button \\r\\n\\t\\t\\t\\ttype=\\\"button\\\" \\r\\n\\t\\t\\t\\t(click)=\\\"add('add')\\\"\\r\\n\\t\\t\\t\\tclass=\\\"btn btn-md btn-secondary\\\"\\r\\n\\t\\t\\t\\t[disabled] =\\\"app.ds30075Type == '1' || setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1036'| translate}}\\r\\n\\t\\t</button>\\r\\n\\t\\t<button \\r\\n\\t\\t\\t\\ttype=\\\"submit\\\" \\r\\n\\t\\t\\t\\tclass=\\\"btn btn-md btn-primary\\\" \\r\\n\\t\\t\\t\\t[disabled]=\\\"!customForm.valid || setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t{{ 'adminurl.modal.comp.ts.1037'| translate}}\\r\\n\\t\\t</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" [disabled]=\\\"urlSelected.length == 0 || setUsetReadOnly\\\" (click)=\\\"deleteItem(urlSelected)\\\">{{'batchencrypt.comp.1027' | translate }}</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"customForm.reset();activeModal.close('Close Click')\\\">{{ 'adminurl.modal.comp.ts.1038' | translate }}</button>\\r\\n\\r\\n\\t</div>\\r\\n\\r\\n\\t<div class=\\\"modal-footer text-right\\\" *ngIf=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"customForm.reset();activeModal.close('Close Click')\\\">{{ 'adminurladd.modal.comp.ts.1016'| translate}}</button>\\r\\n\\t</div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/url/adminurl-modal.component.html\n// module id = 1397\n// module chunks = 27","module.exports = \"<!--편집/추가 모달-->\\r\\n<form [formGroup]=\\\"urladdForm\\\" (ngSubmit)=\\\"onSubmit()\\\">\\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'adminurladd.modal.comp.ts.1001'| translate}}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<!--\\r\\n\\t다국어 코드 한글값\\r\\n\\t\\\"adminurladd.modal.comp.ts.1001\\\":\\\"보안 URL 정책 설정\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1002\\\":\\\"정책 아이디\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1003\\\":\\\"정책 이름\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1004\\\":\\\"등록 사유\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1005\\\":\\\"요청자\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1006\\\":\\\"요청자 소속\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1007\\\":\\\"등록자\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1008\\\":\\\"URL 이름\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1009\\\":\\\"URL / IP\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1010\\\":\\\"IP범위지정\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1011\\\":\\\"시스템 명\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1012\\\":\\\"확인\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1013\\\":\\\"취소\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1014\\\":\\\"보안 URL\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1015\\\":\\\"이미 할당되었습니다.\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1016\\\":\\\"닫기\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1017\\\":\\\"문서 보안 정책\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1018\\\":\\\"인쇄 허용\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1019\\\":\\\"프린트 마킹 예외\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1020\\\":\\\"화면(캡처) 허용\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1021\\\":\\\"다운로드 제어\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1022\\\":\\\"암호화 - 대상 확장자\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1023\\\":\\\"암호화 - 저장 차단 확장자\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1024\\\":\\\"암호화 방식\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1025\\\":\\\"암호화 방식 - DAC\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1026\\\":\\\"DAC-개인\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1027\\\":\\\"읽기\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1028\\\":\\\"편집\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1029\\\":\\\"해제\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1030\\\":\\\"반출\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1031\\\":\\\"인쇄\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1032\\\":\\\"마킹\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1033\\\":\\\"권한 변경\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1034\\\":\\\"DAC-상위\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1035\\\":\\\"DAC-최상위\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1036\\\":\\\"암호화 방식 - MAC\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1037\\\":\\\"암호화 방식 - GRADE\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1038\\\":\\\"업로드 제어\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1039\\\":\\\"업로드 보안문서에 대하여 모두 복호화\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1040\\\":\\\"업로드 보안문서의 읽기권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1041\\\":\\\"업로드 보안문서의 편집권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1042\\\":\\\"업로드 보안문서의 해제권한 존재 시 복호화\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1043\\\":\\\"S-Work 정책\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1044\\\":\\\"업로드 제어\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1045\\\":\\\"다운로드 제어\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1046\\\":\\\"예외 확장자\\\",\\r\\n\\t\\\"adminurladd.modal.comp.ts.1047\\\":\\\"문서보안 예외처리 DLL\\\",\\r\\n\\t-->\\r\\n\\t<div class=\\\"modal-body card-block no-padding auto-scroll\\\" style=\\\"height:700px;\\\">\\r\\n\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurladd.modal.comp.ts.1014'| translate}}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1002'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30018\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30018\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1003'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30019\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30019\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1004'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30077\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30077\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1005'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30080\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30080\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1006'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30079\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30079\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1007'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30076\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"app.ds30076\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\treadonly>\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1008'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30021\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30021\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30022 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly || opt !='add'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChangeAdd($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurladd.modal.comp.ts.1009'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeUrl\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30022\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30022\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\">\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30083 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChangeAdd($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly || opt !='add'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurladd.modal.comp.ts.1010'| translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30083\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30083\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t~\\r\\n\\t\\t\\t\\t\\t\\t<!-- <div class=\\\"col-sm-1\\\">~</div> -->\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30082\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30082\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly || opt !='add'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1026' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\" style=\\\"margin-top: 2px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30081\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30081\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\r\\n\\t\\t<div class=\\\"card card-default selectType\\\" *ngIf=\\\"app.ds30075Type == '1'\\\">\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1023' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30021\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30021\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\" id=\\\"Typeds30022\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30022 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1024' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeUrl\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input\\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30022\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30022\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"  id=\\\"Typeds30083\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"urlRadioType\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30083 != null\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-2\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurl.modal.comp.ts.1025' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30083\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30083\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t~\\r\\n\\t\\t\\t\\t\\t\\t<!-- <div class=\\\"col-sm-1\\\">~</div> -->\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"urlRadioTypeIp\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30082\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30082\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tstyle=\\\"margin-top: 2px;\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tpattern=\\\"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\\\">\\r\\n\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\t\\r\\n\\t\\t\\t\\t\\t\\t<label for=\\\"custom-m-9\\\" class=\\\"col-sm-4 col-form-label\\\">{{ 'adminurl.modal.comp.ts.1026' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\" style=\\\"margin-top: 2px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30081\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30081\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurladd.modal.comp.ts.1017' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30458\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30458\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30458\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1018' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30459\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30459\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30459\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1019' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30460\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30460\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30460\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1020' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30469\\\"\\r\\n\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('ds30469',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1021' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<fieldset [disabled] =!rowObject.ds30469>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1022' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30461\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30461\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1023' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30462\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30462\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1024' | translate }}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\" style=\\\"margin-top: -20px;\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"0\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '0'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-11\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurladd.modal.comp.ts.1025' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-12\\\">\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"rowObject.ds30463 != '0'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\" style=\\\"width: 104px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('private',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1026' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!privateOj.private\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1027' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1028' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1029' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1030' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1031' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1032' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"private7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"privateOj.private7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"privateOj.private7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1033' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"><div class=\\\"col-sm-12\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\" style=\\\"width: 104px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('usergroup',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1034' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!usergroupOj.usergroup\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1027' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1028' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1029' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1030' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1031' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1032' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"usergroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"usergroupOj.usergroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"usergroupOj.usergroup7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1033' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\"><div class=\\\"col-sm-12\\\"></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"checkboxChange('topgroup',$event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1035' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<fieldset [disabled]=\\\"!topgroupOj.topgroup\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1027' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup2\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1028' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup3\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1029' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup4\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1030' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup5\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup5\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1031' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup6\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup6\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1032' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-check form-check-inline\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-check-input ng-untouched ng-pristine ng-valid\\\" type=\\\"checkbox\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"topgroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"topgroupOj.topgroup7\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"topgroupOj.topgroup7\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i> {{ 'adminurladd.modal.comp.ts.1033' | translate }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</fieldset>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\" style=\\\"margin-top: -45px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"1\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '1'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-3\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurladd.modal.comp.ts.1036' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<select class=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30464encryptList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30464encryptList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"등급 문서 선택\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of encryptList\\\" [ngValue]=\\\"state['105']\\\" [disabled]=\\\"rowObject.ds30463 != '1'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state['112'] }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"card-block chk-version\\\" style=\\\"margin-top: -45px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-1\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\" style=\\\"margin-left: -21px;\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input class=\\\"form-radio-input\\\" type=\\\"radio\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvalue=\\\"2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30463\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30463 == '2'\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(change)=\\\"radioChange($event)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<label class=\\\"col-sm-3\\\" style=\\\"margin-left: -3px;\\\">{{ 'adminurladd.modal.comp.ts.1037' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"col-sm-8\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\taria-label=\\\"등급 문서 선택\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30464docList\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30464docList\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let state of docList\\\" [ngValue]=\\\"state['3057']\\\" [disabled]=\\\"rowObject.ds30463 != '2'\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{{ state['3058'] }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</fieldset>\\t\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30470\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30470\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30470\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1038' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-4\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1048' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<select \\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30465\\\" \\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30465\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"0\\\" [selected]=\\\"rowObject.ds30465 =='0'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurladd.modal.comp.ts.1039' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"1\\\" [selected]=\\\"rowObject.ds30465 =='1'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurladd.modal.comp.ts.1040' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"2\\\" [selected]=\\\"rowObject.ds30465 =='2'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurladd.modal.comp.ts.1041' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t<option value=\\\"3\\\" [selected]=\\\"rowObject.ds30465 =='3'\\\" [disabled]=\\\"setUsetReadOnly\\\">{{ 'adminurladd.modal.comp.ts.1042' | translate }}</option>\\r\\n\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t\\t<div class=\\\"card card-default\\\">\\r\\n\\t\\t\\t<div class=\\\"card-header\\\">\\r\\n\\t\\t\\t\\t<h4>{{ 'adminurladd.modal.comp.ts.1043' | translate }}</h4>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"card-block chk-version\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30466\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30466\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30466\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1044' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"form-check\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"form-check-label maxeon-checks maxeon-checks-sm\\\">\\r\\n\\t\\t\\t\\t\\t\\t<!--<input type=\\\"checkbox\\\" id=\\\"l-info-1\\\" class=\\\"form-check-input\\\" formControlName=\\\"ds203\\\" [(ngModel)]=\\\"login.ds203\\\">-->\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" class=\\\"form-check-input\\\"\\r\\n\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30467\\\"\\r\\n\\t\\t\\t\\t\\t\\t[checked]=\\\"rowObject.ds30467\\\"\\r\\n\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30467\\\">\\r\\n\\t\\t\\t\\t\\t\\t<i></i>\\r\\n\\t\\t\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1045' | translate }}\\r\\n\\t\\t\\t\\t\\t</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t<div class=\\\"form-group row\\\">\\r\\n\\t\\t\\t\\t\\t<label for=\\\"l-info-3\\\" class=\\\"col-sm-6 col-form-label\\\">{{ 'adminurladd.modal.comp.ts.1046' | translate }}</label>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<input \\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttype=\\\"text\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"custom-m-9\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"form-control\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\tformControlName=\\\"ds30468\\\" \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"rowObject.ds30468\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[readonly]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\" *ngIf=\\\"!setUsetReadOnly\\\">\\r\\n\\t\\t<button \\r\\n\\t\\t\\t\\ttype=\\\"submit\\\" \\r\\n\\t\\t\\t\\tclass=\\\"btn btn-md btn-secondary\\\"\\r\\n\\t\\t\\t\\t[disabled]=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t\\t\\t{{ 'adminurladd.modal.comp.ts.1012'| translate}}\\r\\n\\t\\t</button>\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"urladdForm.reset();activeModal.close('Close Click')\\\">{{ 'adminurladd.modal.comp.ts.1013'| translate}}</button>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"modal-footer text-right\\\" *ngIf=\\\"setUsetReadOnly\\\">\\r\\n\\t\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"urladdForm.reset();activeModal.close('Close Click')\\\">{{ 'adminurladd.modal.comp.ts.1016'| translate}}</button>\\r\\n\\t</div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/url/adminurladd-modal.component.html\n// module id = 1398\n// module chunks = 27","module.exports = \"<form [formGroup]=\\\"overlapFrom\\\" (ngSubmit)=\\\"onSubmit()\\\"> \\r\\n\\t<div class=\\\"modal-header\\\">\\r\\n\\t\\t<h3 class=\\\"modal-title\\\">{{ 'adminurloverlap.modal.comp.ts.1001'| translate}}</h3>\\r\\n\\t\\t\\t<button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"activeModal.dismiss('Cross click')\\\">\\r\\n\\t\\t\\t<span aria-hidden=\\\"true\\\">&times;</span>\\r\\n\\t\\t</button>\\r\\n\\t</div>\\r\\n\\t<article class=\\\"card card-default\\\">\\r\\n\\t  <header class=\\\"card-header\\\">\\r\\n\\t\\t  <h2>{{ 'adminurloverlap.modal.comp.ts.1002'| translate}}</h2>\\r\\n\\t  </header>\\r\\n\\t  <!--\\r\\n\\t  다국어 코드 한글값\\r\\n\\t  \\\"adminurloverlap.modal.comp.ts.1001\\\":\\\"URL 중복 체크\\\",\\r\\n\\t  \\\"adminurloverlap.modal.comp.ts.1002\\\":\\\"중복 리스트\\\",\\r\\n\\t  \\\"adminurloverlap.modal.comp.ts.1003\\\":\\\"입력한 URL이 위의 템플릿/URL 에 중복되어 있습니다. 중복을 허용하시겠습니까 ?\\\",\\r\\n\\t  \\\"adminurloverlap.modal.comp.ts.1004\\\":\\\"확인\\\",\\r\\n\\t  \\\"adminurloverlap.modal.comp.ts.1005\\\":\\\"취소\\\",\\r\\n\\t  -->\\r\\n\\t  <div class=\\\"card-block no-padding\\\">\\r\\n\\t\\t  \\r\\n\\t\\t  <ngx-datatable\\r\\n\\t\\t\\t  class=\\\"material\\\" \\r\\n\\t\\t\\t  [columns]=\\\"overlapColumns\\\"\\r\\n\\t\\t\\t  [columnMode]=\\\"'force'\\\"\\r\\n\\t\\t\\t  [headerHeight]=\\\"28\\\"\\r\\n\\t\\t\\t  [footerHeight]=\\\"0\\\"\\r\\n\\t\\t\\t  [rowHeight]=\\\"28\\\"\\r\\n\\t\\t\\t  [rows]='overlapRows' \\r\\n\\t\\t\\t  [selected]=\\\"overlapSelected\\\"\\r\\n\\t\\t\\t  [scrollbarH]=\\\"true\\\"\\r\\n\\t\\t\\t  [scrollbarV]=\\\"false\\\"\\r\\n\\t\\t\\t  [count]=\\\"count\\\"\\r\\n\\t\\t\\t  [selectionType]=\\\"'row'\\\"\\r\\n\\t\\t\\t  (activate)=\\\"onActivate($event)\\\"\\r\\n\\t\\t\\t  (select)=\\\"onSelect($event)\\\"\\r\\n\\t\\t\\t  style=\\\"width:776px;\\\">\\r\\n\\t\\t  </ngx-datatable>\\r\\n\\t  </div>\\t\\r\\n\\t  <div class=\\\"card-footer text-left\\\">\\r\\n\\t\\t<span class=\\\"totla-count\\\">\\r\\n\\t\\t\\t{{ 'adminurloverlap.modal.comp.ts.1003'| translate}}\\r\\n\\t\\t</span>\\r\\n   \\t  </div>\\r\\n  </article>\\r\\n  <div class=\\\"card-footer text-right\\\">\\r\\n\\t<button class=\\\"btn btn-md btn-primary\\\" type=\\\"submit\\\">{{ 'adminurloverlap.modal.comp.ts.1004'| translate}}</button>\\r\\n\\t<button type=\\\"button\\\" class=\\\"btn btn-md btn-secondary\\\" (click)=\\\"overlapFrom.reset();activeModal.close('Close Click')\\\">{{ 'adminurloverlap.modal.comp.ts.1005'| translate}}</button>\\r\\n  </div>\\r\\n</form>\\r\\n  \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/url/adminurloverlap-modal.component.html\n// module id = 1399\n// module chunks = 27","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'alarm-content',\r\n\ttemplateUrl: './alarm.component.html'\r\n})\r\n\r\nexport class AlarmModal implements OnInit {\r\n\t@Input() data;   \r\n    constructor(private http: Http, public activeModal: NgbActiveModal) {}\r\n\r\n    ngOnInit(): void {\r\n\t\t\r\n\t}    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/alarm.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { HandleError } from '../modal/handle-error.component';\r\nimport { SessionOutModal } from '../modal/session-out.component';\r\nimport {GlobalService} from \"../globals\";\r\nimport {TranslateService} from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n  selector: 'app-progress-csv-modal',\r\n  templateUrl: './progress-csv-modal.component.html',\r\n})\r\nexport class ProgressCsvModalComponent implements OnInit {\r\n\r\n  @Input() data;\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tdownloadId: number;\r\n\tprogress: number;\r\n\tclearProgress: boolean;\r\n\tprivate timer: any;\r\n\r\n  constructor(private http: Http, private modalService: NgbModal, public activeModal: NgbActiveModal, private global: GlobalService, private translate: TranslateService) {}\r\n\r\n\r\n  ngOnInit(): Promise<any> {\r\n      return this.global.commonCommunication(`${this.data.url}/csvDownload`, this.data.data).then(body => {\r\n\r\n          if (body && body.isValid === true) {\r\n              this.downloadId = body.downloadId;\r\n              this.progress = 0;\r\n              // 0.5초마다 다운로드 결과 얻어옴.\r\n              this.timer = setInterval(() => {\r\n                  this.startDownload();\r\n              }, 500);\r\n          } else if (body.session === false) {\r\n              this.sessionOut();\r\n          }\r\n      })\r\n      .catch(this.handleError);\r\n  }\r\n\r\n  // 다운로드 시작 시 호출\r\n  startDownload(): Promise<any> {\r\n    return this.http.get(`${this.data.url}/statusDownload=${this.downloadId}`)\r\n                .toPromise()\r\n                .then(res => {\r\n          let body = res.json();\r\n\r\n          if(body.status == 'NONE') {\r\n\r\n              clearInterval(this.timer); //progress 바 중단.\r\n              this.activeModal.close('Complete');\t // 모달 창 닫음\r\n\r\n              // \"progress.csv.comp.ts.1001\" : \"조회된 데이터가 없습니다.\"\r\n              alert(this.translate.get('progress.csv.comp.ts.1001')['value']);\r\n\r\n          } else if(this.progress === 100){\r\n            clearInterval(this.timer); //progress 바 중단.\r\n            this.activeModal.close('Complete');\t // 모달 창 닫음\r\n\t\t\tlet url = this.data.url.replace('/esapi','');\r\n\t\t\t\r\n\t\t\t//IE 환경 다운로드 시 데이터 누락으로 인한 0.1초 슬립 추가\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t    window.location.href=`${url}/csvCompleteDownload=${this.downloadId}`; //브라우저에 다운로드 url 적용. 파일 다운로드 시작\r\n            }, 100);\r\n\t\t\t\r\n          }else{\r\n\r\n            if(body && body.status === 'FETCH') {\r\n              // 다운로드 진행시 진행률 표시\r\n              this.progress = body.progress;\r\n            } else if(body && body.status === 'COMPLETE') {\r\n               // 다운로드 완료시\r\n              this.progress = 100;\r\n            } else if(body.session === false) {\r\n              this.sessionOut();\r\n            }\r\n          }        \r\n        })\r\n        .catch(this.handleError);\r\n  }\r\n  // 다운로드 취소 시 호출\r\n  stopProgress(): Promise<any> {\r\n  \r\n\t\treturn this.http.get(`${this.data.url}/cancelDownload=${this.downloadId}`)\r\n                .toPromise()\r\n                .then(res => {\r\n\t\t\t\t\tlet body = res.json();\t\r\n\t\t\t\t\tif(body && body.isValid === true) {\r\n\t\t\t\t\t\tthis.progress = 100;\r\n\t\t\t\t\t\tclearInterval(this.timer); //progress 바 중단.\r\n\t\t\t\t\t\tthis.activeModal.close('Cancel');// 모달 창 닫음\t\t\t\t\t\r\n\t\t\t\t\t} else if(body.session === false) {\r\n\t\t\t\t\t\tthis.sessionOut();\r\n\t\t\t\t\t}\r\n                })\r\n                .catch(this.handleError);\r\n\t}\r\n  // 세션 아웃\r\n  sessionOut(): void {\r\n    const modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n  }\r\n  private handleError(error: any): Promise<any> {\r\n    console.error('An error occurred', error);\r\n    const modalRef = this.modalService.open(HandleError);\r\n    return Promise.reject(error.message || error);\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/progress-csv-modal.component.ts","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// crypto (ignored)\n// module id = 1684\n// module chunks = 27","import { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from './auth.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject }    from 'rxjs/Subject';\r\n// import { Observable } from 'rxjs/Observable';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Router, UrlSegment } from '@angular/router';\r\nimport { promise } from 'selenium-webdriver';\r\nimport { Route } from '@angular/router';\r\nimport {provideForRootGuard} from \"angular2-perfect-scrollbar\";\r\nimport {AlarmModal} from \"./modal/alarm.component\";\r\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Injectable()\r\nexport class GlobalService {\r\n    public appUrl: string;\r\n    public apiUrl: string;\r\n    public dateUrl: string;\r\n    private ssoUrl: string;\r\n    // private modalService: NgbModal;\r\n    private closeResult: string;\r\n    // private dataObs = new Subject<string>();\r\n    private headers = new Headers({'Content-Type': 'application/json'});\r\n    private multiPartHeaders = new Headers({'Content-Type': 'multipart/form-data'});\r\n    // missionAnnounced$ = this.dataObs.asObservable();\r\n    // updateData(data: string) {\r\n    //     this.dataObs.next(data);\r\n    // }\r\n    //\r\n    private CryptoJS = require('crypto-js');\r\n\r\n    constructor(private http: Http, private authService: AuthService, private translate: TranslateService,\r\n                private router: Router, private modalService: NgbModal){\r\n        this.getUrl().then(res => this.ssoUrl = res);\r\n    }\r\n\r\n    getRootPath(){\r\n        if (window.location.host === 'localhost:4200') {\r\n           return 'http://10.31.10.20:8783/DSWebconsole';\r\n        //    return 'http://localhost:8080';\r\n        } else {\r\n\r\n            const host = window.location.protocol + '//' + window.location.host;\r\n            let pathName = window.location.pathname.substring(0, window.location.pathname.indexOf('/', 2));\r\n\r\n            if (pathName === '/session')\r\n                pathName = '';\r\n\r\n            return host + pathName;\r\n        }\r\n    }\r\n\r\n     getUrl(): Promise<string> {\r\n        this.appUrl = this.getRootPath() + '/sciserver/api';\r\n        return Promise.resolve(this.appUrl);\r\n    }\r\n\r\n    //logViewer web api 경로\r\n    getApiUrl(path : string): Promise<string> {\r\n        this.appUrl = this.getRootPath() + '/maxeon/api' + path;\r\n        return Promise.resolve(this.appUrl);\r\n    }\r\n\r\n    //서버시간 획득 api 경로\r\n    getDateUrl(): Promise<string> {\r\n        this.dateUrl = this.getRootPath() + '/webapi/getServerDate.do';\r\n        return Promise.resolve(this.dateUrl);\r\n    }\r\n\r\n    transfer64(s: string) {\r\n        const key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\n\r\n        let i = 0, len = s.length,\r\n            c1, c2, c3,\r\n            e1, e2, e3, e4,\r\n            result = [];\r\n\r\n        while (i < len) {\r\n            c1 = s.charCodeAt(i++);\r\n            c2 = s.charCodeAt(i++);\r\n            c3 = s.charCodeAt(i++);\r\n\r\n            e1 = c1 >> 2;\r\n            e2 = ((c1 & 3) << 4) | (c2 >> 4);\r\n            e3 = ((c2 & 15) << 2) | (c3 >> 6);\r\n            e4 = c3 & 63;\r\n\r\n            if (isNaN(c2)) {\r\n                e3 = e4 = 64;\r\n            } else if (isNaN(c3)) {\r\n                e4 = 64;\r\n            }\r\n\r\n            result.push(e1, e2, e3, e4);\r\n        }\r\n\r\n        return result.map((e) => { return key.charAt(e); }).join('').replace(/=/g, '');\r\n    }\r\n    // 오브젝트 복사\r\n    clone(obj: Object) {\r\n        if (obj === null || typeof(obj) !== 'object')\r\n            return obj;\r\n        const copy = obj.constructor();\r\n        for (const attr in obj) {\r\n            if (obj.hasOwnProperty(attr)) {\r\n                copy[attr] = obj[attr];\r\n            }\r\n        }\r\n        return copy;\r\n    }\r\n\r\n    // 커스텀 정책 로드\r\n    loadCustomPolicy(url): Promise<any> {\r\n\r\n        // const url = this.getRootPath()+ '/assets/customPolicy.ini';\r\n\r\n        // let rawFile = new XMLHttpRequest();\r\n        // let allText;\r\n        // rawFile.open(\"GET\", url, false);\r\n        // rawFile.onreadystatechange = () => {\r\n        //     if(rawFile.readyState === 4) {\r\n        //         if(rawFile.status === 200 || rawFile.status == 0) {\r\n        //             allText = JSON.parse(rawFile.responseText);\r\n        //         }\r\n        //     }\r\n        // }\r\n        // rawFile.send(null);\r\n\r\n        // 외부 경로로 변경\r\n        const reqParam = 'customPolicy';\r\n\r\n        // sessionStorage.setItem('basicPolicy', '[]');     //커스텀 정책 하위 기본 정책 리스트\r\n        // sessionStorage.setItem('customPolicy', '[]');   //커스텀 정책 리스트\r\n\r\n        //외부 hookprogramlist.json 읽어옴\r\n        this.hookJsonread(url);\r\n\r\n        sessionStorage.removeItem('basicPolicy');\r\n        sessionStorage.removeItem('customPolicy');\r\n\r\n         return this.http.get( url + reqParam, {headers: this.headers})\r\n            .toPromise()\r\n            .then(res => {\r\n                const body = res.json();\r\n\r\n                if (body['customPolicy']){\r\n                    sessionStorage.setItem('basicPolicy', JSON.stringify(body['basicPolicy']));     //커스텀 정책 하위 기본 정책 리스트\r\n                    sessionStorage.setItem('customPolicy', JSON.stringify(body['customPolicy']));   //커스텀 정책 리스트\r\n                }\r\n            })\r\n            .catch(this.handleError);\r\n\r\n\r\n    }\r\n\r\n    hookJsonread(url){\r\n\r\n        sessionStorage.removeItem('hookprogramlist');\r\n        // hookprogramList Json 읽기\r\n        const hookParam = 'hookprogramlist';\r\n\r\n        return this.http.get( url + hookParam, {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            const body = res.json();\r\n                sessionStorage.setItem('hookprogramlist', JSON.stringify(body));     //hookprogramlist.json\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    // 커스텀 정책 가져오기\r\n    getCustomPolicy(policyName, key, defaultValue){\r\n        let returnValue = defaultValue;\r\n        let item = sessionStorage.getItem(policyName);\r\n\r\n        if(item){\r\n            const policy = JSON.parse(item);         \r\n            for (let m = 0; m < policy.length ; m++){\r\n                if (policy[m].key === key)\r\n                    returnValue = policy[m].value;\r\n            }\r\n        }     \r\n\r\n        return returnValue;\r\n    }\r\n\r\n    // 커스텀 정책 가져오기\r\n    // promise 방식 (추후 관련 호출부분 수정 필요)\r\n    getCustomPolicy_Promise(policyName, key , defaultValue): Promise<any>{\r\n        const policy = JSON.parse(sessionStorage.getItem(policyName));\r\n        let returnValue = defaultValue;\r\n\r\n        for (let m = 0; m < policy.length ; m++){\r\n            if (policy[m].key === key)\r\n                returnValue = policy[m].value;\r\n        }\r\n\r\n        // return returnValue;\r\n        return Promise.resolve(returnValue);\r\n    }\r\n\r\n\r\n    // 메뉴 설명 로드\r\n    loadMenuDescription(url): Promise<any> {\r\n\r\n        const reqParam = 'menuDescription';\r\n\r\n        sessionStorage.setItem('menuDescription', '[]');   //메뉴 설명 리스트\r\n\r\n        return this.http.get( url + reqParam, {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n        const body = res.json();\r\n            sessionStorage.setItem('menuDescription', JSON.stringify(body['menuDescription']));   //커스텀 정책 리스트\r\n        })\r\n        .catch(this.handleError);\r\n        //return allText;\r\n    }\r\n\r\n    // 메뉴 설명 가져오기\r\n    getMenuDescription(key , defaultValue){\r\n        try {\r\n\r\n            const policy = JSON.parse(sessionStorage.getItem('menuDescription'));\r\n            let returnValue = defaultValue;\r\n\r\n            for (let m = 0; m < policy.length ; m++){\r\n                if (policy[m].key === key)\r\n                    returnValue = policy[m].value;\r\n            }\r\n\r\n            return returnValue;\r\n\r\n        } catch (e) {\r\n            return '';\r\n        }\r\n    }\r\n    /**\r\n     * 다국어 초기 설정\r\n     * @param translate\r\n     */\r\n    initTranslate(translate: TranslateService){\r\n        const userLang = navigator.language;\r\n\r\n        // 다국어 설정(기본언어)\r\n        // translate.setDefaultLang('ko');\r\n        translate.addLangs(['ko', 'en', 'ja']);\r\n\r\n        // console.log(\"current language : \", translate.currentLang);\r\n        // 현재 사용 언어 설정(ko 또는 ja 가 아닌 경우는 en 으로 설정)\r\n        if (userLang.substring(0, 2) === 'ko' || userLang.substring(0, 2) === 'ja')\r\n            translate.use(userLang.substring(0, 2));\r\n        else\r\n            translate.use('en');\r\n    }\r\n\r\n   // merge 임시 (삭제 에정)\r\n   /*\r\n        loadLangString(url): Promise<any> {\r\n\r\n        let reqParam;\r\n        // 외부 경로로 변경\r\n\r\n        var lang = this.getLanguage();\r\n\r\n        if( lang == 'ja-JP'\r\n          || lang == 'ja'){\r\n            reqParam = \"webconsolelangja\";\r\n        }\r\n        else{\r\n            reqParam = \"webconsolelangko\";\r\n        }\r\n\r\n        sessionStorage.setItem('layoutsUI', '[]');\r\n        sessionStorage.setItem('sessionUI', '[]');\r\n        sessionStorage.setItem('treeUI', '[]');\r\n        sessionStorage.setItem('modalUI', '[]');\r\n\r\n        return this.http.get( url + reqParam, {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            let body = res.json();\r\n            // console.log(\"loadLangString body : \",body);\r\n            sessionStorage.setItem('layoutsUI', JSON.stringify(body['layoutsUI']));\r\n            sessionStorage.setItem('sessionUI', JSON.stringify(body['sessionUI']));\r\n            sessionStorage.setItem('treeUI', JSON.stringify(body['treeUI']));\r\n            sessionStorage.setItem('modalUI', JSON.stringify(body['modalUI']));\r\n\r\n        })\r\n        .catch(this.handleError);\r\n\r\n\r\n        //return allText;\r\n    }\r\n\r\n   loadIsolationLang(url): Promise<any> {\r\n\r\n        let reqParam;\r\n        // 외부 경로로 변경\r\n        var lang = this.getLanguage();\r\n\r\n        if(lang == 'ja-JP'\r\n            || lang == 'ja'){\r\n            reqParam = \"IsolationLangja\";\r\n        }\r\n        else{\r\n            reqParam = \"IsolationLangko\";\r\n        }\r\n\r\n        // console.log(\"loadIsolationLang reqParam\",url + reqParam);\r\n\r\n        sessionStorage.setItem('info', '[]');     // 다국어 리소스\r\n        sessionStorage.setItem('tool', '[]');     // 다국어 리소스\r\n        sessionStorage.setItem('admin', '[]');     // 다국어 리소스\r\n\r\n        sessionStorage.setItem('network', '[]');\r\n        sessionStorage.setItem('device', '[]');\r\n        sessionStorage.setItem('folder', '[]');\r\n        sessionStorage.setItem('dataInit', '[]');\r\n        sessionStorage.setItem('etc', '[]');\r\n        sessionStorage.setItem('common', '[]');\r\n        sessionStorage.setItem('navmenu', '[]');\r\n\r\n        return this.http.get( url + reqParam, {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            let body = res.json();\r\n            // console.log(\"loadIsolationLang body\",body);\r\n\r\n            sessionStorage.setItem('info', JSON.stringify(body['info']));\r\n            sessionStorage.setItem('tool', JSON.stringify(body['tool']));\r\n            sessionStorage.setItem('admin', JSON.stringify(body['admin']));\r\n\r\n            sessionStorage.setItem('network', JSON.stringify(body['network']));\r\n            sessionStorage.setItem('device', JSON.stringify(body['device']));\r\n            sessionStorage.setItem('folder', JSON.stringify(body['folder']));\r\n            sessionStorage.setItem('dataInit', JSON.stringify(body['dataInit']));\r\n            sessionStorage.setItem('etc', JSON.stringify(body['etc']));\r\n            sessionStorage.setItem('common', JSON.stringify(body['common']));\r\n            sessionStorage.setItem('navmenu', JSON.stringify(body['navmenu']));\r\n\r\n        })\r\n        .catch(this.handleError);\r\n\r\n\r\n        //return allText;\r\n    }\r\n    */\r\n    // 180625 추가(ejkim)\r\n    // 패밀리 사이트 JSON 정보 로드\r\n    getFamilySiteInfo(url): Promise<any>{\r\n\r\n        return this.http.get(url + 'family', {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            const body = res.json();\r\n            sessionStorage.setItem('familyInfo', JSON.stringify((body['family_info'])));\r\n        })\r\n        .catch(this.handleError);\r\n\r\n    }\r\n\r\n\r\n    /**\r\n     * 190806 추가(ejkim)\r\n     * SSO 로그인 대상 서버에 JWT token 요청 및 redirect\r\n     */\r\n    goFamilySiteByToken(ssoUrl: string, router: Router){\r\n\r\n        const body = {'ssoUrl': ssoUrl };\r\n        const apiUrl = this.ssoUrl.replace('/sciserver/api', '');\r\n\r\n        this.http.post(apiUrl + '/req/ssoLogin.do', JSON.stringify(body), {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            const body = res['_body'];\r\n            const rtv = JSON.parse(body);\r\n\r\n            if (rtv['token']){\r\n                window.open( ssoUrl + '/res/ssoLogin.do?token=' + rtv['token'], '_blank' );\r\n            } else if (rtv['errMsg'] != null && rtv['errMsg'].indexOf(\"Login Session is null\") != -1) {\r\n                console.log(rtv['errMsg']);\r\n                var msg = this.getCustomPolicy('customPolicy', 'sessionOutMsg', '');\r\n                // global.ts.1001 : 로그인 실패하였습니다.\r\n                msg = (msg) ? msg: this.translate.get('global.ts.1001')['value'];\r\n                alert(msg);\r\n            } else{\r\n                console.log(rtv['errMsg']);\r\n                // global.ts.1002 : 토큰 발급에 실패 했습니다. 관리자에게 문의해 주시기 바랍니다.\r\n                alert(this.translate.get('global.ts.1002')['value']);\r\n            }\r\n            return false;\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    // 패밀리 사이트로 이동\r\n    goFamilySite(url){\r\n\r\n        this.http.get(url + '/api/getTicket', {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            const body = res['_body'];\r\n\r\n            window.open( url + '/api/SSOLogin?ticket=' + body, '_blank' );\r\n            return false;\r\n        })\r\n        .catch(this.handleError);\r\n\r\n    }\r\n\r\n    /**\r\n     * 190218 추가(ejkim)\r\n     * Iframe SSO 로그인. 로그인 성공시 onSubmit 호출\r\n     */\r\n    iframeSSOLogin(sso: string, router: Router): Promise<any> {\r\n        const options = new RequestOptions({ headers: this.headers });\r\n        const url = this.ssoUrl.replace('/sciserver/api', '');\r\n        const body = {'sso': sso };\r\n\r\n        return this.http.post(url + '/api/iframeSSOLogin', JSON.stringify(body), {headers: this.headers})\r\n                .toPromise()\r\n                .then(res => {\r\n                    const body = res.json();\r\n                    if (body[0].sucess == 0) {\r\n                       return this.loadData(body);\r\n                    } else {\r\n                        // global.ts.1001 : 로그인 실패하였습니다.\r\n                        alert(this.translate.get('global.ts.1001')['value']);\r\n                        router.navigate(['']);\r\n                        return false;\r\n                    }\r\n                })\r\n                .catch(this.handleError);\r\n    }\r\n\r\n    /**\r\n     * 190218 추가(ejkim)\r\n     * 로그인 성공 시 필수 정보 로드\r\n     */\r\n    loadData(body): Promise<any> {\r\n\r\n        // 브라우저 세션에 로그인 사용자 정보 저장.\r\n        sessionStorage.setItem('currentUser', JSON.stringify(body[1].resultParams[0]));\r\n        sessionStorage.setItem('userInfo', JSON.stringify( body[2][1201]));\r\n        sessionStorage.setItem('iframeSSOLoggedIn', 'true');\r\n        this.authService.setLoggedIn(true);\r\n\r\n        let req;\r\n        const param = body[1].resultParams[0];\r\n        if (param) {\r\n            if (param['2055'] === '1') {\r\n                req = {'reqId': '5000', 'reqParams': [{'9': 'SECURITYDOMAIN', '2058': '1'}]};\r\n            } else {\r\n                req = {'reqId': '5017', 'reqParams': [{'1201': body[2][1201]}]};\r\n            }\r\n        }\r\n\r\n        // 로그인한 사용자의 접근 가능 부서 목록 호출 후 /info/group(그룹 기본 정보)페이지 로드\r\n        return this.commonCommunication(this.ssoUrl, req).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                const res = body[1].resultParams[0];\r\n                const tree = {\r\n                    'tree': '1',\r\n                    'name': res['4'],\r\n                    'id': res['9'],\r\n                    'type': res['2'],\r\n                    'hasChildren': true\r\n                };\r\n                sessionStorage.setItem('selectItem', JSON.stringify(tree));\r\n                // sessionStorage.setItem('leftTabPanel', JSON.stringify(leftTab));\r\n                // this.router.navigate(['/info/group']);\r\n                return true;\r\n            } else {\r\n                return false;\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n     /**\r\n     * 190909 추가(ejkim)\r\n     * UI 숨김 리스트\r\n     */\r\n    getHideUIList(document: Document):void {\r\n        let hideUIList = this.getCustomPolicy('basicPolicy', 'hideUIList', '');\r\n\r\n         if(hideUIList){\r\n             let list:string[] = hideUIList.split(\"|\");\r\n             for (let i = 0; i < list.length; i++) {\r\n                 let elm = document.getElementById(list[i]);\r\n                 if(elm != null) elm.classList.add('custom-hidden');\r\n             }\r\n         }\r\n     }\r\n\r\n    /**\r\n     * 190220 추가(ejkim)\r\n     * 에스원 ESP iframe UI 여부\r\n     */\r\n    isIframeUI(): boolean{\r\n        const customS1 = this.getCustomPolicy('customPolicy', 's1', 'N');\r\n        const iframeLogin = Boolean(sessionStorage.getItem('iframeSSOLoggedIn'));\r\n\r\n        // 에스원 ESP iframe 로그인 인 경우\r\n        if (customS1 === 'Y' && iframeLogin)\r\n            return true;\r\n        else\r\n            return false;\r\n    }\r\n\r\n    /**\r\n     * 190220 추가(ejkim)\r\n     * iframe layout 설정\r\n     */\r\n    setIframeLayout(val: boolean){\r\n        if (val){\r\n            (<HTMLElement>document.querySelector('.sidebar-panel')).classList.remove('hide');\r\n            (<HTMLElement>document.querySelector('.md-sidenav-content')).classList.remove('sidebar-hide');\r\n        }else{\r\n            (<HTMLElement>document.querySelector('.sidebar-panel')).classList.add('hide');\r\n            (<HTMLElement>document.querySelector('.md-sidenav-content')).classList.add('sidebar-hide');\r\n        }\r\n    }\r\n\r\n    // 로그아웃 (서버 요청)\r\n    logout(url: String) : Promise<any> {\r\n        const body = {};\r\n\r\n        return this.commonCommunication(url.replace('api', 'logout'), body).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                sessionStorage.clear();\r\n                this.authService.setLoggedIn(false);\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    /**\r\n     * 191022 추가\r\n     * 로그인 관리자 정보 검색\r\n     * @param url\r\n     * @param userId\r\n     */\r\n    insertMngLog(url: string, userId: string): Promise<any> {\r\n\r\n        const body = {'reqId': '5031', 'reqParams': [{'1201': userId}]};\r\n        let managerInfo: Object = {};\r\n\r\n        return this.commonCommunication(url, body).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                const res = body[1].resultParams[0];\r\n                managerInfo = {\r\n                    'id': res['1201'],\r\n                    'name': res['1203'],\r\n                    'groupName': res['1204'],\r\n                    'mail': res['1205'],\r\n                    'phone': res['1206']\r\n                };\r\n\r\n            } else {\r\n                // 최고 관리자인 경우(임시)\r\n                //    if(userId === \"document\"){\r\n                managerInfo = {\r\n                    'id': userId,\r\n                    'name': '',\r\n                    'groupName': '',\r\n                    'mail': '',\r\n                    'phone': ''\r\n                };\r\n                //    }\r\n            }\r\n            return managerInfo;\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    /**\r\n     * 191022 추가\r\n     * 관리자 로그 저장\r\n     * @param url\r\n     * @param userId\r\n     * @param managerInfo\r\n     */\r\n    insertMngLogSubmit(url: string, params: Object) {\r\n        const options = new RequestOptions({ headers: this.headers });\r\n        const body = {'reqId': '5202' , 'reqParams': [ params ]};\r\n        \r\n        // console.log('insertMngLog Start!' , body);\r\n\r\n        return this.commonCommunication(url, body).then(body => {\r\n            if (body[0].sucess == 0) {\r\n                // console.log('insertMngLog sucess');\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    /**\r\n     * Request 정보 조회\r\n     * @param url\r\n     */\r\n    getRequestInfo(url): Promise<any>{\r\n\r\n        return this.http.get(url + 'req', {headers: this.headers})\r\n        .toPromise()\r\n        .then(res => {\r\n            const body = res.json();\r\n            return body;\r\n        })\r\n        .catch(this.handleError);\r\n\r\n    }\r\n\r\n    /**\r\n     * 211210 추가\r\n     * 최고관리자 유무 확인\r\n     */\r\n    systemAdminCheck(): Promise<boolean>{\r\n        let user = JSON.parse(sessionStorage.getItem('userInfo'));\r\n\r\n        // this.appUrl에 maxeon 이 포함되어 있으면 바로 최고 관리자\r\n        if (this.appUrl && this.appUrl.includes(\"maxeon\")) {\r\n            return Promise.resolve(true);\r\n        }\r\n    \r\n        if (user !== '\"document\"') {\r\n            return this.sendUserId(this.appUrl, user, '9997').then(body => {\r\n                return body == \"1\"; // \"1\"이면 중간관리자 → false, 아니면 최고 → true\r\n            });\r\n        } else {\r\n            return Promise.resolve(true); // document는 최고 관리자\r\n        }\r\n    }\r\n\r\n    private handleError(error: any): Promise<any> {\r\n        console.error('An error occurred', error);\r\n        // const modalRef = this.modalService.open(HandleError);\r\n        return Promise.reject(error.message || error);\r\n    }\r\n\r\n    /**\r\n     * 2023.05.15 TFS148267\r\n     * @param url\r\n     * @param params\r\n     */\r\n    commonCommunication(url: string, params: Object): Promise<any> {\r\n        // 세션 타임아웃 체크\r\n        if(!url.includes('logout') && !url.includes('login')) {\r\n            if(this.sessionTimeout()) {\r\n                return Promise.resolve(new Object());\r\n            }\r\n        }\r\n\r\n        // 암호화 커스텀 옵션 여부\r\n        let encCustomPolicy = this.getCustomPolicy('customPolicy', 'useEnc', 'N');\r\n        let key = this.generateRandomString(16);\r\n        let iv = this.generateRandomString(16);\r\n        let result;\r\n        let returnResult;\r\n        let lastSegment = url.substring(url.lastIndexOf('/') + 1);\r\n        let urlEsCk =  url.indexOf(\"esapi\");\r\n        let urlAgentCk =  url.indexOf(\"agent\");\r\n\r\n        if (encCustomPolicy == 'Y' && ( urlEsCk == -1 && urlAgentCk == -1 && lastSegment !== 'decrypt' && lastSegment !== 'getHeaderInfo' && lastSegment !== 'checkAdminPrivilege') || lastSegment === 'fileDown') {\r\n\r\n            result = this.getRSAData(params, url, key, iv);\r\n\r\n            returnResult = result.then((resultValue) => {\r\n                if(resultValue !== undefined) {\r\n                    let decodedIV = Buffer.from(resultValue.IV, 'base64').toString('utf8');\r\n                    let decodedJSON = Buffer.from(resultValue.Enc_Data, 'base64').toString('utf8');\r\n\r\n                    result = this.jsonDecAES128(decodedJSON, key, decodedIV);\r\n                    return JSON.parse(result);\r\n                }\r\n            });\r\n        }else {\r\n            result = this.communicationPOST(url, params);\r\n            returnResult = result.then((resultValue) => {\r\n                return resultValue;\r\n            });\r\n        }\r\n\r\n        return returnResult;\r\n    }\r\n\r\n    // GET방식 통신 기능\r\n    communicationGET(url: string) {\r\n        window.location.href=url;\r\n    }\r\n\r\n    // POST방식 통신 기능\r\n    communicationPOST(url: string, params: Object) {\r\n        let lastSegment = url.substring(url.lastIndexOf('/') + 1);\r\n\r\n        if(lastSegment === 'decrypt' || lastSegment === 'getHeaderInfo') {\r\n            let formData  = new FormData();\r\n            formData.append('file', params);\r\n\r\n            return this.http.post(url, formData)\r\n                .toPromise()\r\n                .then(res => {\r\n                    let body;\r\n                    if(lastSegment === 'decrypt' || lastSegment === 'getHeaderInfo') {\r\n                        body = res;\r\n                    }else{\r\n                        body = res.json();\r\n                    }\r\n\r\n                    return body;\r\n                })\r\n                .catch(this.handleError);\r\n        }else{\r\n            return this.http.post(url, JSON.stringify(params), {headers: this.headers})\r\n                .toPromise()\r\n                .then(res => {\r\n                    const text = res.text();\r\n                    if (!text) {\r\n                        return {}; \r\n                    }\r\n                    return JSON.parse(text);\r\n                })\r\n                .catch(this.handleError);\r\n        }\r\n    }\r\n\r\n    // 공개키 호출하고, 전문 조합 하는 기능\r\n    getRSAData(params: Object, url: string, key: string, iv: string) {\r\n        let lastSegment = url.substring(url.lastIndexOf('/') + 1);\r\n        const regex = /\\/sciserver\\//;\r\n        const extractedPath = url.match(regex)[0];\r\n        let rsaUrl;\r\n\r\n        if(extractedPath !== '/sciserver/') {\r\n            rsaUrl = url;\r\n        }else if(lastSegment !== 'api') {\r\n            rsaUrl = url.replace(lastSegment, 'getRSA');\r\n        }else{\r\n            rsaUrl = url.replace('api', 'getRSA');\r\n        }\r\n\r\n        return this.http.post(rsaUrl, {headers: this.headers})\r\n            .toPromise()\r\n            .then(res => {\r\n                const body = res['_body'];\r\n                const rtv = JSON.parse(body);\r\n                const pubKey = Buffer.from(rtv.Public_Key, 'base64').toString('utf8');\r\n                let result: Promise<any>;\r\n                let Enc_Data;\r\n\r\n                if(lastSegment === 'fileDown' || lastSegment === 'checkAdminPrivilege') {\r\n                    params = Buffer.from(params.toString(), 'utf8').toString('base64');\r\n                    Enc_Data = this.jsonEncAES128(params.toString(), key, iv);\r\n                }else if (lastSegment === 'checkAdminPrivilege') {\r\n                    params = Buffer.from(params.toString(), 'utf8').toString('base64');\r\n                    Enc_Data = this.jsonEncAES128(params.toString(), key, iv);\r\n                }else{\r\n                    Enc_Data = this.jsonEncAES128(JSON.stringify(params), key, iv);\r\n                }\r\n\r\n                const Symmetric_Key = this.encryptAES128KeyWithRSA(key, pubKey);\r\n                const ivBase64 = Buffer.from(iv, 'utf8').toString('base64');\r\n\r\n                const data = {\"UUID\": rtv.UUID, \"IV\": ivBase64, \"Symmetric_Key\": Symmetric_Key, \"Enc_Data\": Enc_Data};\r\n\r\n                if(lastSegment == 'fileDown') {\r\n                    let uuid = encodeURIComponent(rtv.UUID);\r\n                    uuid = Buffer.from(uuid, 'utf8').toString('base64');\r\n\r\n                    let iv = encodeURIComponent(ivBase64);\r\n                    iv = Buffer.from(iv, 'utf8').toString('base64');\r\n\r\n                    let symmetricKey = encodeURIComponent(Symmetric_Key);\r\n                    symmetricKey = Buffer.from(symmetricKey, 'utf8').toString('base64');\r\n\r\n                    let fileName = encodeURIComponent(Enc_Data);\r\n                    fileName = Buffer.from(fileName, 'utf8').toString('base64');\r\n\r\n                    let reqParam = '/'+uuid+'/'+iv+'/'+symmetricKey+'/'+fileName;\r\n\r\n                    this.communicationGET(url+reqParam);\r\n                }else{\r\n                    result = this.communicationPOST(url, data);\r\n                }\r\n\r\n                return result;\r\n            });\r\n    }\r\n\r\n    // 전문을 AES128방식으로 암호화하는 기능\r\n    jsonEncAES128(req: string, key: string, iv: string): string {\r\n        const encrypted = this.CryptoJS.AES.encrypt(req, this.CryptoJS.enc.Utf8.parse(key), {\r\n            iv: this.CryptoJS.enc.Utf8.parse(iv),\r\n            mode: this.CryptoJS.mode.CBC,\r\n            padding: this.CryptoJS.pad.Pkcs7\r\n        });\r\n\r\n        return encrypted.ciphertext.toString(this.CryptoJS.enc.Base64);\r\n    }\r\n\r\n    // response의 값을 복호화 하여 JSON Object로 return\r\n    jsonDecAES128(res: string, key: string, iv: string) {\r\n        const decryptedBytes = this.CryptoJS.AES.decrypt(res, this.CryptoJS.enc.Utf8.parse(key), {\r\n            iv: this.CryptoJS.enc.Utf8.parse(iv),\r\n            mode: this.CryptoJS.mode.CBC,\r\n            padding: this.CryptoJS.pad.Pkcs7\r\n        });\r\n\r\n        const words = decryptedBytes.words;\r\n        const sigBytes = decryptedBytes.sigBytes;\r\n        const u8 = new Uint8Array(sigBytes);\r\n        for (let i = 0; i < sigBytes; i++) {\r\n            const byte = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\r\n            u8[i] = byte;\r\n        }\r\n\r\n        const result = Buffer.from(u8.buffer).toString('utf8');\r\n        return Buffer.from(result, 'base64').toString('utf8');;\r\n    }\r\n\r\n    //AES KEY RSA로 암호화하는 기능\r\n    encryptAES128KeyWithRSA(aesKey: string, pubKey: string) {\r\n        const forge = require('node-forge');\r\n        const publicKeyObject = forge.pki.publicKeyFromPem(pubKey);\r\n        const encryptedAESKey = publicKeyObject.encrypt(aesKey);\r\n        return forge.util.encode64(encryptedAESKey);\r\n    }\r\n\r\n    // 랜덤 키,IV 생성\r\n    generateRandomString(length) {\r\n        const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\r\n        let randomString = '';\r\n\r\n        for (let i = 0; i < length; i++) {\r\n            const randomIndex = Math.floor(Math.random() * characters.length);\r\n            randomString += characters.charAt(randomIndex);\r\n        }\r\n\r\n        return randomString;\r\n    }\r\n\r\n    sessionTimeout(): boolean {\r\n        const eventDate = sessionStorage.getItem('eventDate');\r\n        const currentUser = JSON.parse(sessionStorage.getItem('currentUser'));\r\n        const MANAGER_USING_TIME = (currentUser != null) ? currentUser['MANAGER_USING_TIME'] : null;\r\n\r\n        if(eventDate != null && MANAGER_USING_TIME != null && MANAGER_USING_TIME != undefined) {\r\n\r\n            const MANAGER_USING_TIME = currentUser['MANAGER_USING_TIME']\r\n            const event = new Date(eventDate);\r\n            const currentDate = new Date();\r\n\r\n            const timeDifference = currentDate.getTime() - event.getTime();\r\n            const timeDifferenceInMinutes = timeDifference / (1000 * 60); // 밀리초를 분으로 변환\r\n\r\n            if (timeDifferenceInMinutes > MANAGER_USING_TIME) {\r\n                const modalRef = this.modalService.open(AlarmModal);\r\n\r\n                // \"global.ts.1003\":\"일정 시간 동안 사용하지 않아 자동으로 로그아웃 되었습니다.\",\r\n                this.translate.get('global.ts.1003').subscribe((res: string) => {\r\n                    modalRef.componentInstance.data = res;\r\n                });\r\n\r\n                modalRef.result.then((result) => {\r\n                    this.sessionLogout();\r\n                },(reason) => {\r\n                    this.sessionLogout();\r\n                });\r\n\r\n                return true;\r\n\r\n            } else {\r\n                sessionStorage.setItem('eventDate', this.dateFormat(new Date()));\r\n            }\r\n        }\r\n\r\n        return false;\r\n    }\r\n\r\n    sessionLogout(): void{\r\n        this.getUrl().then(res => {\r\n            let url = res;\r\n            this.logout(url).then(res => {\r\n                this.router.navigate(['/']).then(() => {\r\n                    // 모든 모달을 닫기 위해 강제 새로고침\r\n                    window.location.reload(true);\r\n                });\r\n            });\r\n        });\r\n    }\r\n\r\n    dateFormat(date): string{\r\n        let month = date.getMonth() + 1;\r\n        let day = date.getDate();\r\n        let hour = date.getHours();\r\n        let minute = date.getMinutes();\r\n        let second = date.getSeconds();\r\n\r\n        month = month >= 10 ? month : '0' + month;\r\n        day = day >= 10 ? day : '0' + day;\r\n        hour = hour >= 10 ? hour : '0' + hour;\r\n        minute = minute >= 10 ? minute : '0' + minute;\r\n        second = second >= 10 ? second : '0' + second;\r\n\r\n        return date.getFullYear() + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;\r\n    }\r\n\r\n    sendUserId(appurl, userId: string, dmtId: string): Promise<any> {\r\n        // 암호화 커스텀 옵션 여부\r\n        let encCustomPolicy = this.getCustomPolicy('customPolicy', 'useEnc', 'N');\r\n        let encSessionPolicy = sessionStorage.getItem('customPolicy');\r\n        let customPolicyArray;\r\n        let useEncValue = encCustomPolicy;  // 일단 encCustomPolicy로 초기화\r\n        \r\n        if (encSessionPolicy) {\r\n            try {\r\n                customPolicyArray = JSON.parse(encSessionPolicy);\r\n                customPolicyArray.forEach(item => {\r\n                    if (item.key === \"useEnc\") {\r\n                        if (encCustomPolicy !== item.value) {\r\n                            useEncValue = item.value;\r\n                        }\r\n                    }\r\n                });\r\n            } catch (e) {\r\n                console.error(\"JSON parse error:\", e);\r\n            }\r\n        }\r\n\r\n        let url = appurl.replace('api', 'checkAdminPrivilege');\r\n        let key = this.generateRandomString(16);\r\n        let iv = this.generateRandomString(16);\r\n        let result;\r\n        let returnResult;\r\n\r\n        let body = { reqId: dmtId, reqParams: [{ '1201': userId }] };\r\n        let jsonBody = JSON.stringify(body);  \r\n\r\n        if (useEncValue == 'Y') {\r\n\r\n            result = this.getRSAData(jsonBody, url, key, iv);\r\n\r\n            returnResult = result.then((resultValue) => {\r\n                if(resultValue !== undefined) {\r\n                    let decodedIV = Buffer.from(resultValue.IV, 'base64').toString('utf8');\r\n                    let decodedJSON = Buffer.from(resultValue.Enc_Data, 'base64').toString('utf8');\r\n\r\n                    result = this.jsonDecAES128(decodedJSON, key, decodedIV);\r\n                    return JSON.parse(result);\r\n                }\r\n            });   \r\n            \r\n        }else {\r\n            result = this.communicationPOST(url, jsonBody);\r\n            returnResult = result.then((resultValue) => {\r\n                return resultValue;\r\n            })\r\n        } \r\n        return returnResult;\r\n    }\r\n    \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/globals.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalService } from '../globals';\r\n\r\n@Component({\r\n\tselector: 'handle-success-content',\r\n\ttemplateUrl: './handle-success.component.html'\r\n})\r\n\r\nexport class HandleSuccess implements OnInit {\r\n\r\n    constructor(private http: Http, public activeModal: NgbActiveModal, private global: GlobalService) {}\r\n\r\n    ngOnInit(): void {\r\n\t\t\r\n\t}\r\n  \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/handle-success.component.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class InfoService {\r\n    submitData(clone: Object) {    \r\n        let rObj = {};    \r\n\t\tfor(let i=0; i<Object.keys(clone).length; i++) {\r\n\t\t\tlet obj = Object.keys(clone)[i];\t\t\r\n\t\t\tif(clone[obj] !== null) {\r\n\t\t\t\tif(typeof clone[obj] === 'boolean') {\r\n\t\t\t\t\tif(clone[obj] === true) {\r\n\t\t\t\t\t\trObj[obj] = \"1\"\r\n\t\t\t\t\t} else if(clone[obj] === false) {\r\n\t\t\t\t\t\trObj[obj] = \"0\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\trObj[obj] = clone[obj];\r\n\t\t\t\t}\r\n\t\t\t\trObj[obj.replace('ds','')] = rObj[obj];\r\n\t\t\t\tdelete rObj[obj];\t\r\n\t\t\t}\t\t\t\t\r\n\t\t}\r\n        return rObj;\r\n    } \r\n\ttableData(clone: Object) {    \r\n        let rObj = {};    \r\n\t\tfor(let i=0; i<Object.keys(clone).length; i++) {\r\n\t\t\tlet obj = Object.keys(clone)[i];\t\t\r\n\t\t\tif(clone[obj] !== null) {\r\n\t\t\t\trObj[obj] = clone[obj];\r\n\t\t\t}\t\r\n\t\t\tdelete rObj['$$index'];\r\n\t\t}\r\n        return rObj;\r\n\t}\r\n\t\r\n\t/**\r\n\t * 191025 추가(ejkim)\r\n\t * 이전/현재 값 비교\r\n\t * @param otherArray \r\n\t * @param keySet \r\n\t */\r\n\tcompareObject(otherArray: any[], keySet: any[]) {\r\n    \t\r\n\t\treturn function(current){\r\n\t\t  return otherArray.filter(function(other){\r\n\t\t\t\r\n\t\t\tlet result = false;\r\n\t\t\tlet count = 0;\r\n\r\n\t\t\tfor (let i = 0; i < keySet.length; i++){\r\n\t\t\t\t// compare value\r\n\t\t\t\tif (other[keySet[i]] == current[keySet[i]]) {\r\n\t\t\t\t\tcount++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (count == keySet.length)\r\n\t\t\t\tresult = true;\r\n\r\n\t\t\treturn result;\r\n\t\t\r\n\t\t  }).length == 0;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 200814 추가(ejkim)\r\n\t * 짝수번째 문자 마스킹\r\n\t * @param str \r\n\t */\r\n\tmaskingEvenStr(str: string): string{\r\n\t\tif(str){\r\n\t\t\tvar regExp_pattern = /(\\w|[ㄱ-ㅎ|ㅏ-ㅣ|가-힣])(\\w|[ㄱ-ㅎ|ㅏ-ㅣ|가-힣])/g;\r\n\t\t\treturn str.replace(regExp_pattern, function(a){return a[0]+\"*\";});\r\n\t\t}else{\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/info.service.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'conf-apply-content',\r\n\ttemplateUrl: './conf-apply.component.html'\r\n})\r\n\r\nexport class ConfApplyModal implements OnInit {\r\n\t@Input() data;   \r\n    constructor(private http: Http, public activeModal: NgbActiveModal) {}\r\n\r\n    ngOnInit(): void {\r\n\t\t\r\n\t}    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/conf-apply.component.ts","import { Injectable } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n  // private authUrl: string = 'https://reqres.in/api';\r\n  private loggedIn: boolean;\r\n  \r\n  constructor(private http: Http) {\r\n    // look at localStorage to check if the user is logged in\r\n    // this.loggedIn = !!localStorage.getItem('auth_token');\r\n  }\r\n\r\n  /**\r\n   * Check if the user is logged in\r\n   */\r\n  isLoggedIn() {\r\n    \r\n    this.loggedIn = !!sessionStorage.getItem('userInfo');\r\n    \r\n    return this.loggedIn;\r\n  }\r\n\r\n  setLoggedIn(val : boolean) {\r\n    this.loggedIn = val;\r\n  }\r\n \r\n  /**\r\n   * Log the user in\r\n   */\r\n//   login(username: string, password: string): Observable<string> {\r\n//     return this.http.post(`${this.authUrl}/login`, { username, password })\r\n//       .map(res => res.json())\r\n//       .do(res => {\r\n//         if (res.token) {\r\n//           localStorage.setItem('auth_token', res.token);\r\n//           this.loggedIn = true;\r\n//         }\r\n//       })\r\n//       .catch(this.handleError);\r\n//   }\r\n\r\n  /**\r\n   * Log the user out\r\n   */\r\n  logout() {\r\n    // localStorage.removeItem('auth_token');\r\n\t  sessionStorage.removeItem('currentUser');\r\n    sessionStorage.removeItem('userInfo');\r\n    sessionStorage.removeItem('commonCustomPolicy');\r\n    // sessionStorage.clear();\r\n    this.loggedIn = false;\r\n  }\r\n\r\n  /**\r\n   * Handle any errors from the API\r\n   */\r\n  private handleError(err) {\r\n    let errMessage: string;\r\n\r\n    if (err instanceof Response) {\r\n      let body   = err.json() || '';\r\n      let error  = body.error || JSON.stringify(body);\r\n      errMessage = `${err.status} - ${err.statusText || ''} ${error}`;\r\n    } else {\r\n      errMessage = err.message ? err.message : err.toString();\r\n    }\r\n\r\n    return Observable.throw(errMessage);\r\n  }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/auth.service.ts","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// crypto (ignored)\n// module id = 439\n// module chunks = 27","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport {HandleError} from \"../modal/handle-error.component\";\r\nimport {TranslateService} from \"@ngx-translate/core\";\r\nimport { AdminPwComponent } from './admin-pw.component';\r\nimport { AdminIpModalComponent } from './admin-ip-modal.component';\r\nimport {log} from \"util\";\r\n\r\nlet password = new FormControl('', Validators.required);\r\nlet confirmPassword = new FormControl('', CustomValidators.equalTo(password));\r\n\r\n@Component({\r\n\tselector: 'admin-modal-content',\r\n\ttemplateUrl: './admin-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\nexport class AdminModalComponent implements OnInit {\r\n    @Input() data;\r\n\t@Input() opt;\r\n\t@Input() appurl;\r\n\t@Input() headers;\r\n    \r\n    adminForm: FormGroup;\r\n\tapp: Object = {\r\n\t\tds1201: '', \r\n\t\tds1202: '',\r\n\t\tds12021: '',\r\n\t\tds1203: '',\r\n\t\tds1204: '',\r\n\t\tds1205: '',\r\n\t\tds1206: '',\r\n\t\tcurrentPw : ''\r\n\t};\r\n\tappPw: Object = {\r\n\t\tds4225: '',\r\n\t\tds4226: '',\r\n\t\tds4226_2: ''\r\n\t};\r\n\t\r\n\tlogin_ipAddress_auth: Object = {\r\n\t\t\"1212\" : '0'\r\n\t};\r\n\r\n\tpolicy: Object = {\r\n\t\tMANAGER_USE_AUTH: '1', // 계정 사용 여부\r\n\t\tPPTN_MODIFY_PW: false, // 패스워드 정책 사용 여부\r\n\t\tPPTN_CHANGEPW_PERIOD_YN: false, // 변경 주기\r\n\t\tPPTN_CHANGEPW_PERIOD: null,\r\n\t\tPPTN_CHANGEPW_PATTERN_YN: false, // 패턴 제한\r\n\t\tPPTN_CHANGEPW_PATTERN: null,\r\n\t\tPPTN_PATTERN_PWLEVEL: null,\r\n\t\tPPTN_PATTERN_PWLEVEL_1: null, // 숫자\r\n\t\tPPTN_PATTERN_PWLEVEL_2: null, // 숫자+특문\r\n\t\tPPTN_MODIFY_PW_FIRSTLOGIN: false, // 최초 로그인시 변경\r\n\t\tPPTN_MODIFY_PW_NOSAMEPW: false, // 이전 패스워드 사용x\r\n\t\tPPTN_MODIFY_PW_NOSAMEPW_NUM: null,\r\n\t\tMANAGER_OLDDAY_NOTLOGIN_YN: false, // 미사용계정 잠금\r\n\t\tMANAGER_OLDDAY_NOTLOGIN: null,\r\n\t\tMANAGER_LOGINFAIL_LIMITNUM_YN: false, // 로그인 실패 횟수\r\n\t\tMANAGER_LOGINFAIL_LIMITNUM: null,\r\n\t\tMANAGER_LOGINFAIL_DENY_YN: false, // 로그인 차단 시간\r\n\t\tMANAGER_LOGINFAIL_DENY: null,\r\n\t\tMANAGER_USING_TIME_YN: false, // 로그인 유지 시간\r\n\t\tMANAGER_USING_TIME: null,\r\n\t};\r\n\r\n\tuseAuth: any[] = [\r\n\t\t{name: '', value: '0'},\r\n\t\t{name: '', value: '1'},\r\n\t\t{name: '', value: '2'},\r\n\t\t{name: '', value: '3'}\r\n\t];\r\n\r\n\tallPolicy: Object = {};\r\n\r\n\tsetReadOnly: boolean;\r\n    isSystemAdminPolicy: boolean; // 최고 관리자의 '시스템 관리자 정책' 접속 여부\r\n\tisSystemAdmin: boolean; // 최고 관리자 여부\r\n\tmanagerPolicyTab: string;\r\n\tmanagerMenuAuth: string;\t// 0: 권한없음, 1: 읽기, 2: 수행\r\n\tuseManagerPwCheck: string;  // 중간관리자의 현재 패스워드 체크 사용 여부\r\n\r\n\r\n\toriPw : String;\r\n\r\n    formData: Object;\r\n\r\n    constructor(\r\n    \tprivate fb: FormBuilder,\r\n\t\tprivate http: Http,\r\n\t\tpublic activeModal: NgbActiveModal,\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate global: GlobalService,\r\n\t\tprivate translate: TranslateService,\r\n\t) {}\r\n\r\n    ngOnInit(): void {\r\n        this.isSystemAdminPolicy = false;\r\n\t\tthis.global.systemAdminCheck().then(isAdmin => {\r\n            this.isSystemAdmin = isAdmin;\r\n        });\r\n\t\tthis.managerPolicyTab = this.global.getCustomPolicy('basicPolicy', 'managerPolicyTab', 'N|N').split(\"|\")[1];\r\n\t\tthis.managerMenuAuth = sessionStorage.getItem('managerMenuAuth');\r\n\t\tthis.useManagerPwCheck = this.global.getCustomPolicy('basicPolicy', 'useManagerPwCheck', 'N');\r\n\r\n\t\tthis.adminForm = this.fb.group({\r\n\t\t\t'ds1201': [null, Validators.compose([Validators.required])],\r\n\t\t\t'ds1202': password,\r\n\t\t\t'ds12021': confirmPassword,\r\n\t\t\t'ds1203': [null, Validators.compose([Validators.required])],\r\n\t\t\t'ds1204': [],\r\n\t\t\t'ds1205': [null, CustomValidators.email],\r\n\t\t\t'ds1206': [],\r\n\r\n\t\t\t'ds4225': [],\r\n\t\t\t'ds4226': password,\r\n\t\t\t'ds4226_2': confirmPassword,\r\n\r\n\t\t\t'currentPw' : '',\r\n\r\n\t\t\t'MANAGER_USE_AUTH': [], // 계정 사용 여부\r\n\t\t\t'PPTN_MODIFY_PW': false, // 패스워드 정책 사용 여부\r\n\t\t\t'PPTN_CHANGEPW_PERIOD_YN': false, // 변경 주기\r\n\t\t\t'PPTN_CHANGEPW_PERIOD': [],\r\n\t\t\t'PPTN_CHANGEPW_PATTERN_YN': false, // 패턴 제한\r\n\t\t\t'PPTN_CHANGEPW_PATTERN': [],\r\n\t\t\t'PPTN_PATTERN_PWLEVEL_1': [], // 숫자\r\n\t\t\t'PPTN_PATTERN_PWLEVEL_2': [], // 숫자+특문\r\n\t\t\t'PPTN_MODIFY_PW_FIRSTLOGIN': false, // 최초 로그인시 변경\r\n\t\t\t'PPTN_MODIFY_PW_NOSAMEPW': false, // 이전 패스워드 사용x\r\n\t\t\t'PPTN_MODIFY_PW_NOSAMEPW_NUM': [],\r\n\t\t\t'MANAGER_OLDDAY_NOTLOGIN_YN': false, // 미사용계정 잠금\r\n\t\t\t'MANAGER_OLDDAY_NOTLOGIN': [],\r\n\t\t\t'MANAGER_LOGINFAIL_LIMITNUM_YN': false, // 로그인 실패 횟수\r\n\t\t\t'MANAGER_LOGINFAIL_LIMITNUM': [],\r\n\t\t\t'MANAGER_LOGINFAIL_DENY_YN': false, // 로그인 차단 시간\r\n\t\t\t'MANAGER_LOGINFAIL_DENY': [],\r\n\t\t\t'MANAGER_USING_TIME_YN': false, // 로그인 유지 시간\r\n\t\t\t'MANAGER_USING_TIME': []\r\n\t\t});\r\n\r\n\t\t// 중간 관리자인 경우 비밀번호 Validators clear\r\n\t\tif(!this.isSystemAdmin){\r\n\t\t\tthis.adminForm.get('ds1202').clearValidators();\r\n\t\t\tthis.adminForm.get('ds12021').clearValidators();\r\n\t\t\tthis.adminForm.get('ds4226').clearValidators();\r\n\t\t\tthis.adminForm.get('ds4226_2').clearValidators();\r\n\t\t}\r\n\r\n\t\tif(this.opt === 'edit') {\r\n\t\t\tlet res = this.data[0];\r\n\t\t\t\r\n\t\t\tfor(var i=0; i<Object.keys(res).length; i++) {\r\n\t\t\t\tlet obj = Object.keys(res)[i];\r\n\t\t\t\tthis.app['ds'+obj] = res[obj];\t\t\t\t\r\n\t\t\t}\r\n\t\t\tthis.app['ds12021'] = res['1202'];\r\n\t\t\tthis.oriPw = res['1202'];\r\n\t\t\tthis.setReadOnly = true;\r\n\r\n\t\t\tthis.getPolocyInfo();\r\n\r\n\t\t} else if(this.opt === 'add') {\r\n\t\t\tthis.setReadOnly = false;\r\n\r\n\t\t} else if(this.opt === 'systemPolicy') {\r\n            this.setReadOnly = true;\r\n            this.isSystemAdminPolicy = true;\r\n            this.app['ds1201'] = JSON.parse(sessionStorage.getItem('userInfo'));\r\n            this.getPolocyInfo();\r\n        }\r\n\r\n\t\tlet arrayLangs = [\r\n\t\t\t\"adminModal.comp.ts.1010\",\t// 차단\r\n\t\t\t\"adminModal.comp.ts.1011\",\t// 허용\r\n\t\t\t\"adminModal.comp.ts.1012\",\t// 로그인 실패 차단\r\n\t\t\t\"adminModal.comp.ts.1013\",\t// 장기 미사용 차단\r\n\t\t];\r\n\r\n\t\tthis.translate.get(arrayLangs).subscribe((res:string) => {\r\n\t\t\tthis.useAuth = [\r\n\t\t\t\t{name: res[\"adminModal.comp.ts.1010\"], value: '0'},\r\n\t\t\t\t{name: res[\"adminModal.comp.ts.1011\"], value: '1'},\r\n\t\t\t\t{name: res[\"adminModal.comp.ts.1012\"], value: '2'},\r\n\t\t\t\t{name: res[\"adminModal.comp.ts.1013\"], value: '3'},\r\n\t\t\t];\r\n\t\t});\r\n\r\n\t}\r\n\r\n    onSubmit(): void {\r\n\r\n\t\t// \"adminModal.comp.ts.1015\":\"최고보안 관리자의 아이디로는 추가할수 없습니다\",\r\n\r\n\t\tvar adminId = '';\r\n\t\tif (this.adminForm) {\r\n\t\t\tvar ctrl = this.adminForm.get('ds1201');\r\n\t\t\tif (ctrl && ctrl.value !== undefined && ctrl.value !== null) {\r\n\t\t\t\tadminId = String(ctrl.value).trim();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif (adminId === '' && this.app && this.app['ds1201'] !== undefined) {\r\n\t\t\tadminId = String(this.app['ds1201']).trim();\r\n\t\t}\r\n\t\t\r\n\t\tif (typeof adminId === 'string' && adminId.toLowerCase().indexOf('document') !== -1) {\r\n\t\t\talert(this.translate.get('adminModal.comp.ts.1015')['value']);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar obj = {};\r\n\r\n\t\tif(!this.isSystemAdminPolicy) {\r\n\t\t\tthis.formData = {\r\n\t\t\t\t'1201': this.app['ds1201'],\r\n\t\t\t\t'1202': this.oriPw == this.app['ds1202']? this.app['ds1202'] : this.global.transfer64(this.app['ds1202']),\r\n\t\t\t\t'1203': this.app['ds1203'],\r\n\t\t\t\t'1204': this.app['ds1204'],\r\n\t\t\t\t'1205': this.app['ds1205'],\r\n\t\t\t\t'1206': this.app['ds1206']\r\n\t\t\t};\r\n\r\n\t\t\tobj['5120'] = this.formData;\r\n\t\t}\r\n\r\n\t\tobj['5119'] = this.setPolicyInfo();\r\n\t\tobj['currentPw'] = this.app['currentPw'];\r\n\r\n\t\tthis.activeModal.close(obj);\r\n    }\r\n\r\n\t// 관리자 정책 변경\r\n\tsetPolicyInfo(): Array<any> {\r\n\r\n\t\t// 기존 정책과 필수 정책 병합\r\n\t\tvar allPolicyList = this.addAllPolicy().concat(this.allPolicy);\r\n\r\n\t\t// 중복 제거\r\n\t\tthis.allPolicy = allPolicyList.filter((v, i) =>\r\n\t\t\tallPolicyList.findIndex(x => x['1211'] != undefined && x['1211'] === v['1211'] ) === i);\r\n\r\n\t\tlet keys = Object.keys(this.allPolicy);\r\n\r\n\t\tfor(var i=0; i<keys.length ; i++) {\r\n\t\t\tvar allPolicyKey = this.allPolicy[i]['1211'];\r\n\t\t\tif(allPolicyKey in this.policy){\r\n\r\n\t\t\t\tif(allPolicyKey == 'PPTN_PATTERN_PWLEVEL') {\r\n\t\t\t\t\tthis.policy[allPolicyKey] =\r\n\t\t\t\t\t\t(this.policy['PPTN_PATTERN_PWLEVEL_1'] && this.policy['PPTN_PATTERN_PWLEVEL_2']) ? \"3\"\r\n\t\t\t\t\t\t\t: (this.policy['PPTN_PATTERN_PWLEVEL_1']) ? \"1\"\r\n\t\t\t\t\t\t\t: (this.policy['PPTN_PATTERN_PWLEVEL_2']) ? \"2\" : null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(this.policy[allPolicyKey] == undefined || this.policy[allPolicyKey] == null || this.policy[allPolicyKey] == '') {\r\n\t\t\t\t\tdelete this.allPolicy[i]['1212']; // 정책 값 없으면 삭제\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.allPolicy[i]['1212'] = ( typeof(this.policy[allPolicyKey]) == 'boolean')\r\n\t\t\t\t\t\t? (this.policy[allPolicyKey] ? \"1\" : \"0\")\r\n\t\t\t\t\t\t: String(this.policy[allPolicyKey]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// this.allPolicy[11] = {\"1201\": 'test1234',\"1211\": \"LOGIN_IPADDRESS_AUTH\",\"1212\": \"1\"}\r\n\t\treturn [ {\"1201\":this.app[\"ds1201\"]}, this.allPolicy ];\r\n\t}\r\n\r\n\t// 관리자 정책 조회\r\n\tgetPolocyInfo(): void {\r\n\r\n\t\tlet body = {\"reqId\":\"5016\",\"reqParams\": [ {\"1201\" : this.app[\"ds1201\"] } ]}; // 관리자 권한 정보 검색\r\n\r\n\t\tthis.global.commonCommunication(this.appurl, body).then(body => {\r\n\t\t\tif(body.length > 1) {\r\n\t\t\t\tlet result = body[1].resultParams;\r\n\t\t\t\tlet keys = Object.keys(this.policy);\r\n\t\t\t\tfor(var i=0; i<result.length; i++) {\r\n\t\t\t\t\tlet obj = result[i];\r\n\t\t\t\t\tfor (let j = 0; j < keys.length; j++) {\r\n\t\t\t\t\t\tif(keys[j] == obj['1211'] ) {\r\n\t\t\t\t\t\t\tthis.policy[keys[j]] = (typeof this.policy[keys[j]] === 'boolean')\r\n\t\t\t\t\t\t\t\t? obj['1212'] == \"1\" ? true : false\r\n\t\t\t\t\t\t\t\t: this.policy[keys[j]] = obj['1212'];\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(obj[\"1211\"]==='LOGIN_IPADDRESS_AUTH'){\r\n\t\t\t\t\t\tthis.login_ipAddress_auth = obj\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.policy['PPTN_PATTERN_PWLEVEL_1'] = this.policy['PPTN_PATTERN_PWLEVEL'] == \"1\" || this.policy['PPTN_PATTERN_PWLEVEL'] == \"3\";\r\n\t\t\t\tthis.policy['PPTN_PATTERN_PWLEVEL_2'] = this.policy['PPTN_PATTERN_PWLEVEL'] == \"2\" || this.policy['PPTN_PATTERN_PWLEVEL'] == \"3\";\r\n\t\t\t\t\r\n\t\t\t\tthis.policy['PPTN_CHANGEPW_PERIOD_YN'] = this.policy['PPTN_CHANGEPW_PERIOD'] != null;\r\n\t\t\t\tthis.policy['PPTN_CHANGEPW_PATTERN_YN'] = this.policy['PPTN_CHANGEPW_PATTERN'] != null;\r\n\t\t\t\tthis.policy['MANAGER_OLDDAY_NOTLOGIN_YN'] = this.policy['MANAGER_OLDDAY_NOTLOGIN'] != null;\r\n\t\t\t\tthis.policy['MANAGER_LOGINFAIL_LIMITNUM_YN'] = this.policy['MANAGER_LOGINFAIL_LIMITNUM'] != null;\r\n\t\t\t\tthis.policy['PPTN_MODIFY_PW_NOSAMEPW'] = this.policy['PPTN_MODIFY_PW_NOSAMEPW_NUM'] != null;\r\n\t\t\t\tthis.policy['MANAGER_LOGINFAIL_DENY_YN'] = this.policy['MANAGER_LOGINFAIL_DENY'] != null;\r\n\t\t\t\tthis.policy['MANAGER_USING_TIME_YN'] = this.policy['MANAGER_USING_TIME'] != null;\r\n\r\n\t\t\t\tthis.allPolicy = result;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// 정책 초기값 설정\r\n\taddAllPolicy(): Array<any>{\r\n    \tvar arr = [];\r\n    \tvar userId = this.app['ds1201'];\r\n\r\n    \tarr.push({\"1201\" : userId, \"1211\" : \"MANAGER_USE_AUTH\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_MODIFY_PW\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_CHANGEPW_PERIOD\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_CHANGEPW_PATTERN\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_PATTERN_PWLEVEL\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_MODIFY_PW_FIRSTLOGIN\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_MODIFY_PW_NOSAMEPW\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"PPTN_MODIFY_PW_NOSAMEPW_NUM\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"MANAGER_OLDDAY_NOTLOGIN\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"MANAGER_LOGINFAIL_LIMITNUM\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"MANAGER_LOGINFAIL_DENY\"});\r\n\t\tarr.push({\"1201\" : userId, \"1211\" : \"MANAGER_USING_TIME\"});\r\n\r\n\t\treturn arr;\r\n\t}\r\n\r\n\tchangeVal(sec: string, target: string) {\r\n\r\n\t\tif(!this.policy[sec]) {\r\n\r\n\t\t\t// 패스워드 변경 체크 해제\r\n\t\t\tif(target == 'all') {\r\n\t\t\t\tthis.policy['PPTN_CHANGEPW_PERIOD_YN'] = false;\r\n\t\t\t\tthis.policy['PPTN_CHANGEPW_PATTERN_YN'] = false;\r\n\t\t\t\tthis.policy['PPTN_MODIFY_PW_FIRSTLOGIN'] = false;\r\n\t\t\t\tthis.policy['PPTN_MODIFY_PW_NOSAMEPW'] = false;\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 변경 패턴 제한 체크 해제\r\n\t\t\t} else if(sec == 'PPTN_CHANGEPW_PATTERN_YN' || (sec == 'PPTN_CHANGEPW_PATTERN' && !this.policy['PPTN_CHANGEPW_PATTERN'])) {\r\n\t\t\t\tthis.policy['PPTN_PATTERN_PWLEVEL_1'] = false;\r\n\t\t\t\tthis.policy['PPTN_PATTERN_PWLEVEL_2'] = false;\r\n\t\t\t\tthis.policy['PPTN_PATTERN_PWLEVEL'] = null;\r\n\r\n\t\t\t// 로그인 실패 제한 횟수 체크 해제\r\n\t\t\t} else if(sec == 'MANAGER_LOGINFAIL_LIMITNUM_YN' || (sec == 'MANAGER_LOGINFAIL_LIMITNUM' && !this.policy['MANAGER_LOGINFAIL_LIMITNUM'])) {\r\n\t\t\t\tthis.policy['MANAGER_LOGINFAIL_DENY_YN'] = false;\r\n\t\t\t}\r\n\t\t\tthis.policy[target] = null;\r\n\r\n\t\t} else {\r\n\t\t\t// 최고관리자인 경우 로그인 차단시간 체크\r\n\t\t\tif(sec == 'MANAGER_LOGINFAIL_LIMITNUM' && this.isSystemAdminPolicy) {\r\n\t\t\t\tthis.policy['MANAGER_LOGINFAIL_DENY_YN'] = true;\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n    changeSystemAdminPw(): void {\r\n\t\tif(this.validate()) {\r\n\t\t\tlet params = {};\r\n\t\t\tparams['1201'] = this.app['ds1201'];\r\n\t\t\tparams['4225'] = this.global.transfer64(this.appPw['ds4225']);\r\n\t\t\tparams['4226'] = this.global.transfer64(this.appPw['ds4226_2']);\r\n\t\t\tparams['2055'] = \"1\";\r\n\r\n\t\t\tthis.callChangePw(params);\r\n\t\t}\r\n    }\r\n\r\n\t// 중간 관리자 비밀번호 변경 모달 오픈\r\n\topenAdminPw(): void {\r\n\r\n\t\tconst modalRef = this.modalService.open(AdminPwComponent, {size: \"lg\"});\r\n\t\tmodalRef.componentInstance.policy = this.policy;\r\n\r\n\t\tmodalRef.result.then((resultObject) => {\r\n\t\t\tif(resultObject != undefined) {\r\n\t\t\t\tlet params = {};\r\n\t\t\t\tparams['1201'] = this.app['ds1201'];\r\n\t\t\t\tparams['4225'] = this.global.transfer64(resultObject['ds4225']);\r\n\t\t\t\tparams['4226'] = this.global.transfer64(resultObject['ds4226_2']);\r\n\t\t\t\tparams['2055'] = \"0\";\r\n\r\n\t\t\t\tthis.callChangePw(params);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcallChangePw(params): void {\r\n\t\tlet body = {\"reqId\": \"6160\", \"reqParams\": [params]};\r\n\t\tthis.global.commonCommunication(this.appurl, body).then(body => {\r\n\r\n\t\t\tif (body[0] && body[0].sucess == 0) {\r\n\r\n\t\t\t\t// adminModal.comp.ts.1001 : 변경 되었습니다.\r\n\t\t\t\talert(this.translate.get('adminModal.comp.ts.1001')['value']);\r\n\r\n\t\t\t\tthis.insertMngLog(); // 관리자 로그 저장(비밀번호 변경)\r\n\t\t\t} else if (body[0]['701'] != undefined && body[0]['701'] == '21') {\r\n\r\n\t\t\t\t// adminModal.comp.ts.1002 : 변경 실패하였습니다. \\n현재 비밀번호가 일치하지 않습니다.\r\n\t\t\t\talert(this.translate.get('adminModal.comp.ts.1002')['value']);\r\n\t\t\t} else if (body[0]['701'] != undefined && body[0]['701'] == '21129') {\r\n\r\n\t\t\t\t// adminModal.comp.ts.1003 : 변경 실패하였습니다. \\n동일한 이전 패스워드가 존재합니다.\r\n\t\t\t\talert(this.translate.get('adminModal.comp.ts.1003')['value']);\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// adminModal.comp.ts.1004 : 변경 실패하였습니다.\r\n\t\t\t\talert(this.translate.get('adminModal.comp.ts.1004')['value']);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvalidate(): boolean {\r\n\t\tvar password = this.appPw['ds4226_2'];\r\n\t\tvar regEmpPwd;\r\n\t\tvar resultMsg;\r\n\r\n\t\tif(this.appPw['ds4225'] == password) {\r\n\t\t\t// adminModal.comp.ts.1005 : 현재 비밀번호와 동일할 수 없습니다.\r\n\t\t\talert(this.translate.get('adminModal.comp.ts.1005')['value']);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif(password.length < this.policy['PPTN_CHANGEPW_PATTERN']) {\r\n\r\n\t\t\t// adminModal.comp.ts.1006 : 비밀번호는 {0}자 이상 입력해 주세요.\r\n\t\t\tvar msg = this.translate.get('adminModal.comp.ts.1006')['value'];\r\n\t\t\talert(msg.replace('{0}', this.policy['PPTN_CHANGEPW_PATTERN']));\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tswitch ( this.policy['PPTN_PATTERN_PWLEVEL'] ) {\r\n\t\t\tcase '1' :\r\n\t\t\t\t// adminModal.comp.ts.1007 : 비밀번호는 영문+숫자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1007';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '2':\r\n\t\t\t\t// adminModal.comp.ts.1008 : 비밀번호는 영문+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1008';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '3':\r\n\t\t\t\t// adminModal.comp.ts.1009 : 비밀번호는 영문+숫자+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1009';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar result = regEmpPwd.test(password);\r\n\t\tif(!result){\r\n\t\t\talert(this.translate.get(resultMsg)['value']);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tvalidate2():boolean {\r\n\r\n\t\tvar password = this.app['ds12021'];\r\n\t\tvar regEmpPwd;\r\n\t\tvar resultMsg;\r\n\r\n\t\tif(password.length < this.policy['PPTN_CHANGEPW_PATTERN']) {\r\n\r\n\t\t\t// adminModal.comp.ts.1006 : 비밀번호는 {0}자 이상 입력해 주세요.\r\n\t\t\tvar msg = this.translate.get('adminModal.comp.ts.1006')['value'];\r\n\t\t\talert(msg.replace('{0}', this.policy['PPTN_CHANGEPW_PATTERN']));\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tswitch ( this.policy['PPTN_PATTERN_PWLEVEL'] ) {\r\n\t\t\tcase '1' :\r\n\t\t\t\t// adminModal.comp.ts.1007 : 비밀번호는 영문+숫자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1007';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '2':\r\n\t\t\t\t// adminModal.comp.ts.1008 : 비밀번호는 영문+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1008';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '3':\r\n\t\t\t\t// adminModal.comp.ts.1009 : 비밀번호는 영문+숫자+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1009';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar result = regEmpPwd.test(password);\r\n\t\tif(!result){\r\n\t\t\talert(this.translate.get(resultMsg)['value']);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tinsertMngLog(): void {\r\n\t\tconst userId = this.app['ds1201'];\r\n\r\n\t\tthis.global.insertMngLog(this.appurl, userId).then(res => {\r\n\t\t\tlet params = {\r\n\t\t\t\t'913': '234',\r\n\t\t\t\t'1': userId\r\n\t\t\t};\r\n\r\n\t\t\t// 관리자 로그 저장\r\n\t\t\tthis.global.insertMngLogSubmit(this.appurl, params).then(r => {});\r\n\t\t});\r\n\t}\r\n\r\n\t//IP 설정 팝업\r\n\topenIpPop() {\r\n\t\tconst modalRef = this.modalService.open(AdminIpModalComponent, {size: 'lg'});\r\n\t\tmodalRef.componentInstance.data = this.data;\r\n\t\tmodalRef.componentInstance.login_ipAddress_auth = this.login_ipAddress_auth;\r\n\t\tmodalRef.componentInstance.appurl = this.appurl;\r\n\t\tmodalRef.componentInstance.headers = this.headers;\r\n\t}\r\n\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nlet password = new FormControl('', Validators.required);\r\nlet confirmPassword = new FormControl('', CustomValidators.equalTo(password));\r\n\r\n@Component({\r\n\tselector: 'adminurloverlap-modal-content',\r\n\ttemplateUrl: './adminurloverlap-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\n\r\n\r\nexport class AdminurlOverlapModalComponent implements OnInit {\r\n    @Input() data;\r\n    overlapFrom: FormGroup;\r\n    @Input() datatable;\r\n\r\n    overlapRows: any[] =[];\r\n    //overlapColumns: any[] =[];\r\n  \r\n    overlapColumns = [\r\n\t\t{ name: \"\", prop: '30086' },\r\n        { name: \"\", prop: '30019' },\r\n        { name: \"\", prop: '30022' },\r\n        { name: \"\", prop: '30075' },\r\n        { name: \"\", prop: '30081' },\r\n\t\t{ name: \"\", prop: '30084' }   \r\n\t];\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ,private modalService: NgbModal) {\r\n//        this.global.setTranslate(translate);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n\r\n        this.overlapFrom = this.fb.group({\r\n            'confirm' : 'Y'\r\n        });\r\n        let arrayLangs = [\r\n            \"adminurloverlap.modal.comp.ts.1006\", //등록일\r\n            \"adminurloverlap.modal.comp.ts.1007\", //정책이름\r\n            \"adminurloverlap.modal.comp.ts.1008\", //대표URL\r\n            \"adminurloverlap.modal.comp.ts.1009\", //타입\r\n            \"adminurloverlap.modal.comp.ts.1010\", //시스템명\r\n            \"adminurloverlap.modal.comp.ts.1011\", //등록/수정자\r\n        ]\r\n\r\n        this.translate.get(arrayLangs).subscribe((res:string) => {\r\n            this.overlapColumns = [\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1006\"],   prop: \"30086\" }, //등록일\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1007\"],   prop: \"30019\" }, //정책이름\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1008\"],   prop: \"30022\" }, //대표URL\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1009\"],   prop: \"30075\" }, //타입\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1010\"],   prop: \"30081\" }, //시스템명\r\n                { name: res[\"adminurloverlap.modal.comp.ts.1011\"],   prop: \"30084\" }, //등록/수정자                 \r\n            ];\r\n            \r\n            let table: any[] = [];       \r\n            for(let i=0; i<this.data.length ; i++){\r\n                               \r\n                table.push({\r\n                    //'1201': info[m]    \r\n                    '30086' : this.data[i]['30086'],\r\n                    '30019' : this.data[i]['30019'],\r\n                    '30022' : this.data[i]['30022'],                   \r\n                    '30075': this.getTypeName(this.data[i]['30075']), //타입\r\n                    '30081' : this.data[i]['30081'],\r\n                    '30084' : this.data[i]['30084'],                         \r\n                })\r\n                \r\n            }\r\n            this.overlapRows = table;\r\n        });\r\n        //alert(this.overlapRows);\r\n\t}\r\n\r\n    \r\n\tgetTypeName (val){\r\n        let arrayLangs = [\r\n          \"adminurl.modal.comp.ts.1013\",  //템플릿,\r\n          \"adminurl.modal.comp.ts.1014\",  //개별등록,\r\n        ]\r\n        let _val\r\n        this.translate.get(arrayLangs).subscribe((res1:string) => {\t\t\t\r\n          _val = val == '0' ? res1[\"adminurl.modal.comp.ts.1013\"] : res1[\"adminurl.modal.comp.ts.1014\"];\r\n       \r\n      });\r\n\r\n      return _val;\r\n    }\r\n    \r\n    onSubmit(): void {\r\n        this.activeModal.close(this.overlapFrom); \r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/url/adminurloverlap-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalService } from '../globals';\r\n\r\n@Component({\r\n\tselector: 'handle-error-content',\r\n\ttemplateUrl: './handle-error.component.html'\r\n})\r\n\r\nexport class HandleError implements OnInit {\r\n    @Input() data;   \r\n    constructor(private http: Http, public activeModal: NgbActiveModal, private global: GlobalService) {}\r\n\r\n    ngOnInit(): void {\r\n\t\t\r\n\t}    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/handle-error.component.ts","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { GlobalService } from '../globals';\r\n\r\n\r\n@Component({\r\n\tselector: 'app-admin',\r\n\ttemplateUrl: './admin-ip-modal.component.html',\r\n\tproviders: [ GlobalService ],\r\n\tstyles:[`\r\n\t.ipErrorBox{\r\n\t\tcolor: red;\r\n\t\tmargin-left: 20px;\r\n\t\twidth: 200px;\r\n\t}\r\n\r\n\t.positionCenter{\r\n\t\tposition: relative;\r\n\t\tbottom: 5px;\r\n\t}\r\n\r\n\t.ipInputBox{\r\n\t\ttext-align: center;\r\n\t\twidth: 250px;\r\n\t}\r\n\t`]\r\n})\r\nexport class AdminIpModalComponent implements OnInit {\r\n  @Input() data;\r\n\t@Input() login_ipAddress_auth; //IP 허용/차단 정책\r\n  @Input() appurl;\r\n  @Input() headers;\r\n\r\n\tcheckPass: boolean; //IP 중복 체크\r\n\tcheckRangePass: boolean; //IP 범위 체크\r\n\tcheckDelete: boolean; //제거할 IP의 존재여부 체크\r\n\tcheckValue: boolean; //입력 혹은 선택된 IP가 있는지 체크\r\n\t\r\n\tipAddressForm: FormGroup;\r\n\tipPattern = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\r\n\r\n\tipAddress = {\r\n\t\tds30131: '',   //IP 범위 1\r\n\t\tds30132: '',   //IP 범위 2\r\n\t\tds30130: '',\t //입력 or 선택된 IP\r\n\t\tds30133: ''\t   //IP 허용/차단 정책\r\n\t};\r\n  selected: any[] = [];\r\n  rows = [];\r\n\tcolumns: any[] = [\r\n\t\t{ name: \"\", prop: \"30130\", width: 729},\r\n\t];\r\n\t\r\n  constructor(\r\n    private translate:TranslateService,\r\n    public activeModal: NgbActiveModal,\r\n\t\tprivate global: GlobalService,\r\n\t\tprivate fb: FormBuilder,\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n\t\tthis.checkPass = true;\r\n\t\tthis.checkRangePass = true;\r\n\t\tthis.checkDelete = true;\r\n\t\tthis.checkValue = true;\r\n\r\n\t\tthis.ipAddressForm = this.fb.group({\r\n\t\t\tds30131: ['', [Validators.pattern(this.ipPattern)]],\r\n\t\t\tds30132: ['', [Validators.pattern(this.ipPattern)]],\r\n\t\t\tds30130: ['', [Validators.pattern(this.ipPattern)]],\r\n\t\t\tds30133: ''\r\n\t\t});\r\n\r\n    let arrayLangs = [\r\n      \"adminIpModal.comp.1013\", //\"허용 IP\",\r\n\t\t]\r\n\t\r\n\t\tthis.translate.get(arrayLangs).subscribe((res:string) => {\r\n\t\t\t\r\n\t\t\tthis.columns = [\r\n\t\t\t\t{ name: res[\"adminIpModal.comp.1013\"], prop: \"30130\", width: 729 },\r\n\t\t\t];\r\n\t\t});\r\n\r\n    setTimeout(() => {\r\n\t\t\tthis.fetch({\"reqId\":\"6078\",\"reqParams\":[{\"1201\" :this.data[0][\"1201\"]}]});\r\n\t\t}, 1);\r\n  }\r\n\r\n\t//데이터 get\r\n\tfetch(data){\r\n\t\tthis.ipAddress.ds30133 = this.login_ipAddress_auth[\"1212\"];\r\n\t\t\r\n\t\treturn this.global.commonCommunication(this.appurl, data).then(body => {\r\n\t\t\tif(body.length > 1){\r\n\t\t\t\tlet resultParams = body[1].resultParams;\r\n\t\t\t\tthis.ipAddress.ds30131 = resultParams[0][\"30131\"];\r\n\t\t\t\tthis.ipAddress.ds30132 = resultParams[0][\"30132\"];\r\n\r\n\t\t\t\tfor(let i=1;i<resultParams.length;i++){\r\n\t\t\t\t\tthis.rows.push({\"30130\": resultParams[i][\"30130\"]});\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tthis.ipAddress.ds30131 = \"\"\r\n\t\t\t\tthis.ipAddress.ds30132 = \"\"\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t//데이터 테이블에서 선택된 IP\r\n\tonSelect(event) {\r\n\t\tthis.selected = [...event.selected];\r\n\t\tif (this.selected.length > 0) {\r\n      this.ipAddress.ds30130 = this.selected[0][\"30130\"];\r\n    }\r\n\t}\r\n\r\n\t//row에 IP등록\r\n\tfnAdd(){\r\n\t\tthis.checkDelete = true;\r\n\t\tthis.checkValue = true;\r\n\t\tif(this.ipAddress.ds30130){\r\n\t\t\tif(this.ipAddress.ds30130 && this.ipAddressForm.get('ds30130').valid){\r\n\t\t\t\t// 중복된 IP 주소 체크\r\n\t\t\t\tconst duplicate = this.rows.some(row => row[\"30130\"] === this.ipAddress.ds30130);\r\n\t\t\t\tif (!duplicate) {\r\n\t\t\t\t\tthis.rows.push({ \"30130\": this.ipAddress.ds30130 });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.checkPass = false; // 중복된 IP는 추가되지 않음을 표시\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.checkValue = false;\r\n\t\t}\r\n\t}\r\n\r\n\t//row에서 IP삭제\r\n\tfnDelete(){\r\n\t\tthis.checkPass = true;\r\n\t\tthis.checkValue = true;\r\n\t\tif(this.ipAddress.ds30130){\r\n\t\t\tconst ipToDelete = this.ipAddress.ds30130;\r\n\t\t\tconst index = this.rows.findIndex(row => row[\"30130\"] === ipToDelete);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tthis.rows.splice(index, 1);\r\n\t\t\t} else {\r\n\t\t\t\tthis.checkDelete = false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.checkValue = false;\r\n\t\t}\r\n\t}\r\n\r\n\t//IP 지정 input 입력 감지\r\n\tonInputChange(value: string) {\r\n\t\tthis.checkPass = true;\r\n\t\tthis.checkDelete = true;\r\n\t\tthis.checkValue = true;\r\n\r\n\t\t//선택된 IP가 inputBox에 있을 때 inputBox가 변동되면 선택해제\r\n    if (this.selected.length > 0 && this.selected[0][\"30130\"] !== value) {\r\n      this.selected = [];\r\n    }\r\n  }\r\n\r\n\t//IP 범위 input 입력 감지\r\n\tonInputRangeChange(value: string) {\r\n\t\tthis.checkRangePass = true;\r\n  }\r\n\r\n\t//데이터 post\r\n\tonSubmit(){\r\n\t\tthis.checkRangePass = true;\r\n    const rangeStart = this.ipAddress.ds30131?this.ipToNumber(this.ipAddress.ds30131) : 0;\r\n    const rangeEnd = this.ipAddress.ds30132?this.ipToNumber(this.ipAddress.ds30132) : 0;\r\n\t\tif (rangeStart > rangeEnd) {\r\n\t\t\tthis.checkRangePass = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif(!this.ipAddress.ds30131&&this.ipAddress.ds30132) {\r\n\t\t\tthis.checkRangePass = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif(!this.ipAddress.ds30132&&this.ipAddress.ds30131) {\r\n\t\t\tthis.checkRangePass = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif(this.ipAddress.ds30131&&!this.ipAddressForm.get('ds30131').valid){\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif(this.ipAddress.ds30132&&!this.ipAddressForm.get('ds30132').valid){\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet arr = [];\r\n\t\tfor(let i=0;i<this.rows.length;i++){\r\n\t\t\tarr.push({\"30130\": this.rows[i][\"30130\"]});\r\n\t\t}\r\n\r\n\t\tarr.push({\"30131\" : this.ipAddress.ds30131, \"30132\" : this.ipAddress.ds30132});\r\n\r\n\t\tconst payload = {\r\n\t\t\t\"reqId\" : \"6161\",\r\n\t\t\t\"reqParams\" : [\r\n\t\t\t\t{\"1201\": this.data[0][\"1201\"]},\r\n\t\t\t\tarr\r\n\t\t\t]\r\n\t\t}\r\n\r\n\t\tthis.global.commonCommunication(this.appurl, payload).then(body => {\r\n\t\t\tif (body[0].sucess===0) {\r\n\t\t\t\tthis.ipAddressForm.reset();\r\n\t\t\t\tthis.activeModal.close(null);\r\n\t\t\t} else {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t}\r\n\r\n\tonCancle(): void {\r\n\t\tthis.ipAddressForm.reset();\r\n\t\tthis.activeModal.close(null);\r\n\t}\r\n\t\r\n\t//IP에서 .을 제거하고 number로 변환시킴\r\n\tipToNumber(ip: string): number {\r\n    return ip.split('.').reduce((acc, octet) => (acc << 8) + parseInt(octet, 10), 0);\r\n  }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin-ip-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport {NgbModal, NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport {TranslateService} from \"@ngx-translate/core\";\r\n\r\nlet password = new FormControl('', Validators.required);\r\nlet confirmPassword = new FormControl('', CustomValidators.equalTo(password));\r\n\r\n@Component({\r\n\tselector: 'admin-pw-modal-content',\r\n\ttemplateUrl: './admin-pw-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\nexport class AdminPwComponent implements OnInit {\r\n\t@Input() policy;\r\n\r\n\tpwForm: FormGroup;\r\n\tapp: Object = {\r\n\t\tds4225: '',\r\n\t\tds4226: '',\r\n\t\tds4226_2: '',\r\n\t};\r\n    constructor(\r\n    \tprivate fb: FormBuilder,\r\n\t\tprivate http: Http,\r\n\t\tpublic activeModal: NgbActiveModal,\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate global: GlobalService,\r\n\t\tprivate translate: TranslateService,\r\n\t) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.pwForm = this.fb.group({\r\n\t\t\t'ds4225': [],\r\n\t\t\t'ds4226': password,\r\n\t\t\t'ds4226_2': confirmPassword\r\n\t\t});\r\n\t}\r\n\r\n\tchangeAdminPw(): void{\r\n\r\n\t\t// 비밀번호 정책 체크\r\n\t\tif(this.validate()){\r\n\t\t\tthis.activeModal.close(this.app);\r\n\t\t}\r\n\t}\r\n\r\n\tvalidate(): boolean {\r\n\t\tvar password = this.app['ds4226_2'];\r\n\t\tvar regEmpPwd;\r\n\t\tvar resultMsg;\r\n\r\n\t\tif(this.app['ds4225'] == password) {\r\n\t\t\t// adminModal.comp.ts.1005 : 현재 비밀번호와 동일할 수 없습니다.\r\n\t\t\talert(this.translate.get('adminModal.comp.ts.1005')['value']);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif(password.length < this.policy['PPTN_CHANGEPW_PATTERN']) {\r\n\r\n\t\t\t// adminModal.comp.ts.1006 : 비밀번호는 {0}자 이상 입력해 주세요.\r\n\t\t\tvar msg = this.translate.get('adminModal.comp.ts.1006')['value'];\r\n\t\t\talert(msg.replace('{0}', this.policy['PPTN_CHANGEPW_PATTERN']));\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tswitch ( this.policy['PPTN_PATTERN_PWLEVEL'] ) {\r\n\t\t\tcase '1' :\r\n\t\t\t\t// adminModal.comp.ts.1007 : 비밀번호는 영문+숫자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1007';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '2':\r\n\t\t\t\t// adminModal.comp.ts.1008 : 비밀번호는 영문+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1008';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tcase '3':\r\n\t\t\t\t// adminModal.comp.ts.1009 : 비밀번호는 영문+숫자+특수문자를 포함하여 입력해주세요.\r\n\t\t\t\tresultMsg = 'adminModal.comp.ts.1009';\r\n\t\t\t\tregEmpPwd =  /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{2,}$/;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar result = regEmpPwd.test(password);\r\n\t\tif(!result){\r\n\t\t\talert(this.translate.get(resultMsg)['value']);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin-pw.component.ts","import { Component, LOCALE_ID } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { TranslateService} from '@ngx-translate/core';\r\nimport { GlobalService } from './globals';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  template: '<router-outlet></router-outlet>'\r\n})\r\n\r\nexport class AppComponent {\r\n  \r\n  apiurl: string;\r\n  \r\n  constructor(private router: Router, \r\n    private titleService: Title, \r\n    private http: Http, \r\n    private global: GlobalService, \r\n    private translate : TranslateService) {\r\n\r\n        // 언어 기본 설정\r\n        this.global.initTranslate(translate);\r\n    }\r\n \r\n  ngOnInit() {\r\n    let defaultTitle = 'Softcamp web console';\r\n\r\n    this.translate.get('app.title.1001').subscribe((res: string) => {\r\n        defaultTitle = res;\r\n\r\n        // 타이틀 설정\r\n        this.titleService.setTitle(defaultTitle);\r\n\r\n        this.global.getApiUrl('/data/').then(res => {\r\n          this.apiurl = res;\r\n//          this.global.loadLangString(this.apiurl);\r\n          \r\n          // 커스텀 정책 로드 \r\n          this.global.loadCustomPolicy(this.apiurl).then(res => { \r\n              let title = this.global.getCustomPolicy('basicPolicy', 'title', defaultTitle);\r\n              // 타이틀 변경\r\n              this.titleService.setTitle(title);\r\n          });\r\n          \r\n          // 메뉴 설명 로드 \r\n          this.global.loadMenuDescription(this.apiurl).then(res => { \r\n          });\r\n          \r\n        });\r\n\r\n    });\r\n\r\n   \r\n      \r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable, HostListener } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthService } from './auth.service';\r\nimport { CookieService } from 'angular2-cookie/services/cookies.service';\r\nimport {Subscription} from \"rxjs\";\r\nimport {TimerObservable} from \"rxjs/observable/TimerObservable\";\r\nimport { promise } from 'selenium-webdriver';\r\nimport { GlobalService } from './globals';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n  private sso : string;\r\n  private blockUrl : Boolean =true;\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private authService: AuthService,\r\n    private cookieService: CookieService,\r\n    private global: GlobalService,\r\n    private traslate: TranslateService\r\n  ) {  }\r\n\r\n  getParentCookie (name: string) : any{\r\n    var value = parent.document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\r\n    return value? value[2] : null;\r\n  };\r\n \r\n  canActivate (\r\n    next: ActivatedRouteSnapshot,\r\n    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\r\n    \r\n    // alert(\"isLoggedIn ? \" + this.authService.isLoggedIn());\r\n\r\n    //기본세팅\r\n    this.blockUrl=true;\r\n    //세션에서 확인\r\n    if(sessionStorage.getItem('blockUrl') ==\"false\"){\r\n       this.blockUrl = false;\r\n    }\r\n\r\n    if(!this.blockUrl){\r\n      //auth.guard.1001 : 로그인 후 사용해 주시기 바랍니다.\r\n      alert(this.traslate.get('auth.guard.1001')['value']);\r\n      this.router.navigate(['']);\r\n      return false;\r\n    }\r\n    this.sso = this.cookieService.get('sso');\r\n    //로그인 쿠키정보가 존재할경우 iframeSSOLogin 로직수행\r\n    if(this.authService.isLoggedIn() && this.sso == undefined){\r\n      console.log(\"sso : cookies not exist\");\r\n      return true;\r\n    }\r\n    else{\r\n\r\n      //this.sso = this.cookieService.get('sso');\r\n      // Check iframe SSO login\r\n      if( this.sso != undefined){\r\n        console.log(\"sso : cookies exist\");\r\n        return this.global.iframeSSOLogin( this.sso , this.router);\r\n      }else{\r\n\r\n        //auth.guard.1001 : 로그인 후 사용해 주시기 바랍니다.\r\n        alert(this.traslate.get('auth.guard.1001')['value']);\r\n        this.router.navigate(['']);\r\n\r\n        return false;\r\n      }\r\n    }\r\n  }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/auth.guard.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { GlobalService } from '../../globals';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n  selector: 'program-info-modal',\r\n  templateUrl: './program-info-modal.component.html',\r\n  providers: [ GlobalService ],\r\n  styles:[`\r\n    .vertical-header-table {\r\n      display: flex;\r\n      flex-direction: row;\r\n      align-items: flex-start;\r\n    }\r\n\r\n    .vertical-header {\r\n      display: flex;\r\n      flex-direction: column;\r\n    }\r\n\r\n    .vertical-header-cell {\r\n      width: auto;\r\n      min-width: 196px;\r\n      height: 40px;\r\n      line-height: 40px;\r\n      padding: 0 10px;\r\n      background-color: #f5f5f5;\r\n      border-bottom: 1px solid #ddd;\r\n      border-right: 1px solid #ddd;\r\n    }\r\n\r\n    .vertical-body {\r\n      width: 80px;\r\n      display: flex;\r\n      flex-direction: column;\r\n    }\r\n\r\n    .vertical-row {\r\n      display: flex;\r\n      flex-direction: column;\r\n    }\r\n\r\n    .vertical-cell {\r\n      height: 40px;\r\n      line-height: 40px;\r\n      padding: 0 10px;\r\n      border-bottom: 1px solid #ddd;\r\n    }\r\n  `]\r\n})\r\n\r\nexport class ProgramInfoModalComponent implements OnInit {\r\n\r\n  @Input() data;\r\n  @Input() appurl;\r\n\r\n  rows = [];\r\n  columns = [];\r\n  row: boolean = true;\r\n\r\n  constructor(public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    let arrayLangs = [\r\n      \"infoProgram.comp.ts.1002\", // \"최근 로그인 사용자\",\r\n      \"infoProgram.comp.ts.1003\", // \"등록된 사용자\",\r\n      \"infoProgram.comp.ts.1004\", // \"로그인 허용 사용자\",\r\n      \"infoProgram.comp.ts.1005\", // \"로그인 차단 사용자\",\r\n    ]\r\n\r\n    this.translate.get(arrayLangs).subscribe((res: string) => {\r\n      let table = [\r\n          {name: res[\"infoProgram.comp.ts.1002\"], prop: \"1401\"},\r\n          {name: res[\"infoProgram.comp.ts.1003\"], prop: \"30445\"},\r\n          {name: res[\"infoProgram.comp.ts.1004\"], prop: \"30446\"},\r\n          {name: res[\"infoProgram.comp.ts.1005\"], prop: \"30447\"}\r\n      ];\r\n      this.columns = table;\r\n    });\r\n    setTimeout(() => {\r\n      this.fetch({\"reqId\":\"20002\",\"reqParams\":[{}]});\r\n    }, 1);\r\n  }\r\n  fetch(data){\r\n    return this.global.commonCommunication(this.appurl, data).then(body => {\r\n\t\t\tif(body.length > 1&& body[0].sucess == 0){\r\n        console.log(body)\r\n        let resultParams = body[1].resultParams;\r\n        this.rows.push(\r\n          {\r\n            \"1401\": resultParams[0][\"1401\"],\r\n            \"30445\": resultParams[0][\"30445\"],\r\n            \"30446\": resultParams[0][\"30446\"],\r\n            \"30447\": resultParams[0][\"30447\"]\r\n          }\r\n        );\r\n\t\t\t}\r\n      if(this.rows.length>0){\r\n        this.row = true;\r\n      } else {\r\n        this.row = false;\r\n      }\r\n\t\t})\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/info/program/program-info-modal.component.ts","import {Component, OnInit, OnDestroy, ElementRef} from '@angular/core';\r\nimport {Http, Response, Headers, RequestOptions} from '@angular/http';\r\nimport {Router, NavigationEnd} from '@angular/router';\r\nimport {Subscription} from \"rxjs\";\r\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {ConfApplyModal} from '../../modal/conf-apply.component';\r\nimport {HandleError} from '../../modal/handle-error.component';\r\n\r\nimport * as Ps from 'perfect-scrollbar';\r\n\r\nimport {GlobalService} from '../../globals';\r\nimport {AuthService} from './../../auth.service';\r\nimport {AdminModalComponent} from \"../../admin/admin-modal.component\";\r\nimport {HandleSuccess} from \"../../modal/handle-success.component\";\r\nimport {ProgramInfoModalComponent} from \"../../info/program/program-info-modal.component\";\r\n\r\n@Component({\r\n    selector: 'app-layout',\r\n    templateUrl: './admin-layout.component.html',\r\n    providers: [GlobalService]\r\n\r\n})\r\nexport class AdminLayoutComponent implements OnInit, OnDestroy {\r\n    private headers = new Headers({'Content-Type': 'application/json'});\r\n    path: string;\r\n    closeResult: string;\r\n    private _router: Subscription;\r\n    today: number = Date.now();\r\n    url: string;\r\n    currentUser: string;\r\n    showSettings: boolean = false;\r\n    isLockedOpen: boolean = true;\r\n    accessMode: string;\r\n    appurl: string;\r\n    apiurl: string;\r\n    customMaxeon: string;  // MAXEON관련 커스텀 정책 사용 여부\r\n    customS1: string; \t\t// 에스원 커스텀 정책 사용 여부\r\n    customS1EspImg: string;   // S1 ESP 이미지 사용여부\r\n    customIsolation: string;  // isolation 정책 사용 여부\r\n    customMnd: string; // 국방부 커스텀 정책 사용 여부\r\n    changeLogo: string;     // 개별 이미지 사용 여부\r\n    agent: string; \t// agent 사용현황 관련 정책\r\n    mngToolHideYN: string; \t// 관리 도구 숨김 여부\r\n    logoutHideYN: string; // 로그아웃 숨김 여부\r\n    isComplete: boolean;\r\n    familyInfo: any; \t// SSO로그인 패밀리 사이트\r\n    isIframe: boolean;\r\n    useFamilySiteAll: string; \t\t// 중간관리자 SSO로그인 패밀리 사이트 허용\r\n    cloudService: string; // 클라우드 서비스 사용 여부\r\n    serverProfile: string; // 서버 프로파일 사용 여부\r\n\r\n    tool: string;\r\n    admin: string;\r\n    isolnetworkctrl: string;\r\n    isolnetworkdrive: string;\r\n    isoldevice: string;\r\n    isolfolder: string;\r\n    isoldatainit: string;\r\n    isoletc: string;\r\n\r\n    organizationchart: string;\r\n    strlogout: string;\r\n    strlogout_question: string;\r\n    currentUserName: string;\r\n    welcomeContent: string;\r\n    useSecuURL: string; //보안URL 사용여부\r\n    useLogPolicy: string; //로그정책 사용여부\r\n    useLogMangement: string; //로그관리 사용여부\r\n    nonStandardAddUI: string; //비표준방식 사용여부\r\n    addInManagement: string; //애드인 관리 사용 여부\r\n    useGradePolicy: string; //등급정책 사용여부\r\n    useTraceLog: string; //추적 및 해독 사용여부\r\n\r\n    // 중간관리자 - 관리자 등록 권한\r\n    managerMenuAuth: string;\t// 0: 권한없음, 1: 읽기, 2: 수행\r\n    managerPolicyTab: string;\r\n\r\n    useSwork: string; // S-Work 정책 사용여부\r\n    orgSlideSide : number // 기존사이즈 저장\r\n\r\n\tisSystemAdmin: boolean;\t// 최고 관리자 여부\r\n\r\n    constructor(private router: Router, private global: GlobalService, private http: Http, private modalService: NgbModal, private translate: TranslateService) {\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.global.systemAdminCheck().then(isAdmin => {\r\n            this.isSystemAdmin = isAdmin;\r\n        });\r\n        this.isComplete = false;\r\n\r\n        setTimeout(() => {\r\n            // \"adminLayout.comp.1005\":\"'{0}'님 환영합니다.\"\r\n            this.translate.get('adminLayout.comp.1005').subscribe((res: string) => {\r\n                this.welcomeContent = res.replace('{0}', this.currentUserName);\r\n\r\n                // 세션에 커스텀 정책이 없는 경우엔 세션 재 설정 후 커스텀 정책 셋팅\r\n                if (!(sessionStorage.getItem('basicPolicy') && sessionStorage.getItem('customPolicy'))) {\r\n                    this.global.getApiUrl('/data/').then(res => {\r\n                        this.apiurl = res;\r\n                        // 커스텀 정책 로드 및 세션 저장\r\n                        this.global.loadCustomPolicy(this.apiurl).then(res => {\r\n                            this.setPolicy();\r\n                        });\r\n\r\n                    });\r\n                } else {\r\n                    this.setPolicy();\r\n                }\r\n\r\n            });\r\n        }, 100);\r\n\r\n        this.path = window.location.pathname.replace('/', '');\r\n        this.isLockedOpen = true;\r\n        this.accessMode = 'sideMenu';\r\n\r\n        this._router = this.router.events.filter(event => event instanceof NavigationEnd).subscribe(event => {\r\n            this.url = event.url;\r\n        });\r\n\r\n        let elm = document.getElementById('tree-area');\r\n        elm.style.height = elm.clientHeight + 'px';\r\n\r\n        // 중간관리자 권한 조회\r\n        // if(this.currentUser !== \"1\"){\r\n        // \tsetTimeout(() => {\r\n        // \t\tthis.getManagerAuthInfo();\r\n        // \t},1);\r\n        // }\r\n\r\n        // 조직도 기존 사이즈 저장\r\n        let sidebarPanel = document.getElementById('sidebar-panel');\r\n        this.orgSlideSide = sidebarPanel.offsetWidth; // 원래 너비 저장\r\n    }\r\n\r\n    /**\r\n     * 관리자 로그 저장\r\n     * @param logTypeId\r\n     */\r\n    insertMngLog(logTypeId: string): void {\r\n\r\n        let managerId = JSON.parse(sessionStorage.getItem('userInfo'));\r\n\r\n        this.global.insertMngLog(this.appurl, managerId).then(res => {\r\n            let params = {\r\n                '913': logTypeId,\r\n                '1': managerId,\r\n                '3': res['name'],\r\n                '4': res['groupName'],\r\n                '907': res['mail'],\r\n                '914': res['phone']\r\n            };\r\n            // 관리자 로그 저장\r\n            this.global.insertMngLogSubmit(this.appurl, params).then(r => {\r\n            });\r\n        });\r\n    }\r\n\r\n    // 로그인 관리자 정보 검색\r\n    searchUserInfo(): Promise<any> {\r\n\r\n        let searchId = JSON.parse(sessionStorage.getItem('userInfo'));\r\n        let body = {\"reqId\": \"5031\", \"reqParams\": [{\"1201\": searchId}]};\r\n        this.currentUserName = searchId;\r\n\r\n        return this.global.commonCommunication(this.appurl, body).then(response => {\r\n\r\n            if (response[0] && response[0].sucess == 0) {\r\n                let param = response[1].resultParams;\r\n                sessionStorage.setItem('adminUserInfo', JSON.stringify(param[0]));\r\n                this.currentUserName = param[0]['1203'];\r\n                //사용자 웰컴문구\r\n                this.translate.get('adminLayout.comp.1005').subscribe((res: string) => {\r\n                    this.welcomeContent = res.replace('{0}', this.currentUserName);\r\n                });\r\n\r\n            } else {\r\n                //undefined 시스템관리자\r\n                this.translate.get('adminLayout.comp.1005').subscribe((res: string) => {\r\n                    this.welcomeContent = res.replace('{0}', this.translate.get('adminLayout.comp.1007')['value']);\r\n                });\r\n            }\r\n        })\r\n            .catch(this.handleError);\r\n    }\r\n\r\n    /**\r\n     * 190618 추가(ejkim)\r\n     * 중간관리자 권한 조회\r\n     */\r\n    getManagerAuthInfo(): Promise<any> {\r\n\r\n        let user = JSON.parse(sessionStorage.getItem('userInfo'));\r\n        let req = {\"reqId\": \"5016\", \"reqParams\": [{\"1201\": user}]};\r\n\r\n        // 로그인한 사용자의 접근 가능 부서 목록 호출 후 /info/group(그룹 기본 정보)페이지 로드\r\n        return this.global.commonCommunication(this.appurl, req).then(body => {\r\n\r\n            if (body[0] && body[0].sucess == 0 && body[1].resultParams) {\r\n                let res = body[1].resultParams;\r\n\r\n                for (let i = 0; i < res.length; i++) {\r\n\r\n                    let obj = res[i];\r\n                    let policyId = obj['1211'];\r\n                    // 관리자 정책 - 관리자 등록 권한\r\n                    if (policyId === \"DSMANAGERREGISTERINFOVIEW\") {\r\n                        this.managerMenuAuth = obj['1212'];\r\n                    }\r\n                }\r\n            }\r\n        })\r\n            .catch(this.handleError);\r\n    }\r\n\r\n    highlightTab(tab) {\r\n//\t\tthis.path = window.location.pathname.replace('/','');\r\n//\t    this.path = window.location.pathname.substring(window.location.pathname.indexOf(\"/#\",2) + 1);\r\n        this.path = window.location.hash.substring(window.location.hash.lastIndexOf(\"#/\") + 2, window.location.hash.length);\r\n\r\n        if (this.path === tab) {\r\n            return {\r\n                'active': true\r\n            }\r\n        }\r\n    }\r\n\r\n    // onDataLoad(node: any[]): void {\r\n    // \tthis.global.updateData(JSON.stringify(node));\r\n    // }\r\n\r\n    // 패밀리 사이트로 SSO로그인\r\n    onClickSite(event, item) {\r\n        //   console.log(\"Checking passed item: \",item['site_url']);\r\n        // this.global.goFamilySite(item['site_url']);\r\n        this.global.goFamilySiteByToken(item['site_url'], this.router);\r\n    }\r\n\r\n    /**\r\n     * locale 변경\r\n     */\r\n    changeLocale(locale: string) {\r\n        if (this.translate.currentLang !== locale) {\r\n            console.log(\"changeLocale : \", this.translate.currentLang, \" -> \" + locale);\r\n            this.translate.use(locale);\r\n        }\r\n    }\r\n\r\n    //슬라이드 기능 추가\r\n    onSlide(event, item) {\r\n\r\n        let sidebarPanel = document.getElementById('sidebar-panel');\r\n        let mdSidenavContent =  (<HTMLElement>document.querySelector('.md-sidenav-content'));\r\n\r\n        if (sidebarPanel.style.width === '0px') {\r\n            sidebarPanel.style.width = this.orgSlideSide + 'px';\r\n            mdSidenavContent.style.left = this.orgSlideSide + 'px';\r\n        } else {\r\n            sidebarPanel.style.width = '0px';\r\n            mdSidenavContent.style.left = '0px';\r\n        }\r\n    }\r\n\r\n\r\n    // 세션 아웃\r\n    logout(): void {\r\n        const modalRef = this.modalService.open(ConfApplyModal);\r\n        modalRef.componentInstance.data = this.translate.get('adminLayout.ts.1001')['value'];\t// 로그아웃 하시겠습니까?\r\n        modalRef.result.then((result) => {\r\n            if (result) {\r\n                if (result.toLowerCase() === 'yes') {\r\n                    this.global.getUrl().then(res => {\r\n                        let url = res;\r\n                        //로그아웃\r\n                        this.global.logout(url).then(res => {\r\n                            this.router.navigate(['/']);\r\n                        });\r\n                        //관리자 로그아웃 로그 저장\r\n                        this.insertMngLog(\"201\");\r\n                    });\r\n                }\r\n            }\r\n        }, (reason) => {\r\n            this.closeResult = `Dismissed ${reason}`;\r\n        });\r\n\r\n    }\r\n\r\n    // 커스텀 정책 설정\r\n    setPolicy() {\r\n\r\n        this.customMaxeon = this.global.getCustomPolicy('customPolicy', 'maxeon', 'N');\r\n        this.customS1 = this.global.getCustomPolicy('customPolicy', 's1', 'N');\r\n        this.customIsolation = this.global.getCustomPolicy('customPolicy', 'isolation', 'N');\r\n        this.customMnd = this.global.getCustomPolicy('customPolicy', 'mnd', 'N');\r\n\r\n        this.changeLogo = this.global.getCustomPolicy('basicPolicy', 'changeLogo', 'N');\r\n        this.agent = this.global.getCustomPolicy('basicPolicy', 'agent', 'N');\t// agent 현황 관련\r\n        this.mngToolHideYN = this.global.getCustomPolicy('basicPolicy', 'mngToolHideYN', 'N');\t// 관리 도구 숨김 여부\r\n\r\n        this.logoutHideYN = this.global.getCustomPolicy('basicPolicy', 'logoutHideYN', 'N'); // 로그아웃 버튼 숨김 여부\r\n        this.isIframe = this.global.isIframeUI();\r\n        this.customS1EspImg = this.global.getCustomPolicy('customPolicy', 's1EspImg', 'N');\r\n\r\n        this.useFamilySiteAll = this.global.getCustomPolicy('customPolicy', 'useFamilySiteAll', 'N');\r\n        this.useSecuURL = this.global.getCustomPolicy('customPolicy', 'useSecuURL', 'N');\r\n        this.cloudService = this.global.getCustomPolicy('basicPolicy', 'cloudService', 'N');\r\n\r\n        this.managerPolicyTab = this.global.getCustomPolicy('basicPolicy', 'managerPolicyTab', 'N|N').split(\"|\")[0];\r\n\r\n        this.useSwork = this.global.getCustomPolicy('basicPolicy', 'useSwork', 'N'); // S-Work 정책 사용 여부\r\n        this.useLogPolicy = this.global.getCustomPolicy('customPolicy', 'useLogPolicy', 'N');\r\n        this.useGradePolicy = this.global.getCustomPolicy('customPolicy', 'gradePolicy', 'N');\r\n        this.useLogMangement = this.global.getCustomPolicy('customPolicy', 'useLogMangement', 'N');\r\n        this.addInManagement = this.global.getCustomPolicy('customPolicy', 'addInManagement', 'N');\r\n        this.serverProfile = this.global.getCustomPolicy('customPolicy', 'serverProfile', 'N');\r\n        this.nonStandardAddUI = this.global.getCustomPolicy('customPolicy', 'nonStandardAddUI', 'N');\r\n        this.useTraceLog = this.global.getCustomPolicy('customPolicy', 'traceLogInfo', 'N');\r\n\r\n        setTimeout(() => {\r\n            this.global.getHideUIList(document);\r\n            this.isComplete = true;\r\n\r\n            if (sessionStorage.getItem('userInfo') == undefined)\r\n                this.router.navigate(['/']);\r\n\r\n            let getUser = JSON.parse(sessionStorage.getItem('currentUser'));\r\n            \r\n            this.global.systemAdminCheck().then(isAdmin => {\r\n                this.currentUser = isAdmin ? '1':'0';\r\n            });\r\n            \r\n            this.managerMenuAuth = sessionStorage.getItem('managerMenuAuth');\r\n\r\n            this.global.getUrl().then(res => {\r\n                this.appurl = res;\r\n                // 로그인 사용자 정보 조회\r\n                this.searchUserInfo();\r\n            });\r\n\r\n            // 최고 관리자 이거나 국방부인 경우 + 모든 권한 SSO로그인 패밀리 사이트 허용 정책\r\n            if ((this.currentUser == \"1\" || this.customMnd == 'Y' || this.useFamilySiteAll == 'Y') && sessionStorage.getItem(\"familyInfo\") != undefined) {\r\n                // 패밀리 사이트 정보\r\n                this.familyInfo = JSON.parse(sessionStorage.getItem(\"familyInfo\"));\r\n            }\r\n\r\n        }, 1);\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        this._router.unsubscribe();\r\n    }\r\n\r\n\r\n    // 시스템 관리자 정책 설정\r\n    openPolicyModal(content, option) {\r\n        const modalRef = this.modalService.open(AdminModalComponent, {size: 'lg', windowClass: 'admin-modal'});\r\n        modalRef.componentInstance.opt = 'systemPolicy';\r\n        modalRef.componentInstance.appurl = this.appurl;\r\n        modalRef.componentInstance.headers = this.headers;\r\n\r\n        modalRef.result.then((result) => {\r\n            if (result) {\r\n\r\n                let body = {\"reqId\": \"5119\", \"reqParams\": result['5119']};\r\n                this.global.commonCommunication(this.appurl, body).then(resBody => {\r\n\r\n                    if (resBody[0] && resBody[0].sucess == 0) {\r\n                        this.modalService.open(HandleSuccess);\r\n                    }\r\n                });\r\n            }\r\n        }, (reason) => {\r\n            this.closeResult = `Dismissed ${reason}`;\r\n        });\r\n    }\r\n    openProgramInfoModal(){\r\n        const modalRef = this.modalService.open(ProgramInfoModalComponent, {size: 'sm'});\r\n        modalRef.componentInstance.appurl = this.appurl;\r\n        modalRef.componentInstance.headers = this.headers;\r\n    }\r\n\r\n    // 에러 발생시 예외 처리\r\n    private handleError(error: any): Promise<any> {\r\n        console.error('An error occurred', error);\r\n        const modalRef = this.modalService.open(HandleError);\r\n        return Promise.reject(error.message || error);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/layouts/admin/admin-layout.component.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-layout',\r\n  styles: [':host /deep/ .md-sidenav-content {padding: 0;} md-sidenav-layout {z-index: 4000}'],\r\n  templateUrl: './auth-layout.component.html'\r\n})\r\nexport class AuthLayoutComponent {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/layouts/auth/auth-layout.component.ts","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Headers, Http } from '@angular/http';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GlobalService } from '../globals';\r\nimport { HandleError } from \"../modal/handle-error.component\";\r\nimport { SessionOutModal } from \"../modal/session-out.component\";\r\nimport { ProgressCsvModalComponent } from \"./progress-csv-modal.component\";\r\n\r\n@Component({\r\n\tselector: 'admin-modal-content',\r\n\ttemplateUrl: './search-exceptionpolicy-modal.component.html',\r\n    providers: [ GlobalService ],\r\n\t\tstyles:[`\r\n\t\t.ngx-datatable.material{\r\n\t\t\t.datatable-body {\r\n\t\t\t\t.datatable-body-row {\r\n\t\t\t\t\t.datatable-body-cell {\r\n\t\t\t\t\t\t// white-space: normal;\r\n\t\t\t\t\t\t// word-wrap: break-word;\r\n\t\t\t\t\t\toverflow-x: auto;\r\n\t\t\t\t\t\tscrollbar-width: thin;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t`]\r\n})\r\n\r\nexport class SearchExceptionPolicyModalComponent implements OnInit {\r\n    @Input() data;\r\n    @Input() tree\r\n\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\r\n\r\n\tshowTable = true;\r\n\r\n\tactiveTab: string = null;\r\n\tcloseResult: string;\r\n\r\n\tsearchForm: FormGroup;\r\n\r\n\trows: any[] = [];\r\n\torgRows: any[] = [];\r\n\r\n\tperPage : number = 10;\r\n\tpage: number = 1;\r\n\tcount: number = 0;\r\n\ttotalCnt: number = 1;\r\n\tcustomPolicyList: any[] = [];\r\n\r\n\r\n\treqBody: any;\r\n\r\n\t// csv 다운로드를 위한 필수 파라미터\r\n\tparam : Object = {\r\n\t\tlogType: null,\r\n\t\tstartDate: null,\r\n\t\tendDate: null,\r\n\t\tsearchType: null,\r\n\t\tsearchValue: null\r\n\t};\r\n\r\n\tcolumns: any[] = [];\r\n\r\n\tsearchOptions: any[] = [];\r\n\tsubSearchOptions: any[] = [];\r\n\r\n\tsearch: Object = {\r\n\t\ttype: '',\r\n\t\tvalue: '',\r\n\t}\r\n\r\n\tcaptureColumns: any[] = [\r\n\t\t{ name: \"\", prop: \"3013\", width: 100},\r\n\t\t{ name: \"\", prop: \"4\", width: 160},\r\n\t\t{ name: \"\", prop: \"3\", width: 160},\r\n\t\t{ name: \"\", prop: \"3014\", width: 170},\r\n\t\t{ name: \"\", prop: \"1508\", width: 170},\r\n\t\t{ name: \"\", prop: \"2042\", width: 250},\r\n\t\t{ name: \"\", prop: \"3043\", width: 250},\r\n\t\t{ name: \"\", prop: \"30496\", width: 250},\r\n\t\t{ name: \"\", prop: \"30497\", width: 200},\r\n\t];\r\n\r\n\tprogramDeleteColumns: any[] = [\r\n\t\t{ name: \"\", prop: \"3013\" ,width: 100},\r\n\t\t{ name: \"\", prop: \"4\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3014\" ,width: 170},\r\n\t\t{ name: \"\", prop: \"209\" ,width: 170},\r\n\t];\r\n\r\n\t\r\n\taddInPolicyColumns: any[] = [\r\n\t\t{ name: \"\", prop: \"3013\" ,width: 100},\r\n\t\t{ name: \"\", prop: \"4\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3014\" ,width: 170},\r\n\t\t{ name: \"\", prop: \"130\" ,width: 270},\r\n\t\t{ name: \"\", prop: \"110\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"30498\" ,width: 150},\r\n\t];\r\n\r\n\tcustomPolicyColumns: any[] = [\r\n\t\t{ name: \"\", prop: \"3013\" ,width: 100},\r\n\t\t{ name: \"\", prop: \"4\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3\" ,width: 160},\r\n\t\t{ name: \"\", prop: \"3014\" ,width: 170},\r\n\t\t{ name: \"\", prop: \"4128\" ,width: 200},\r\n\t\t{ name: \"\", prop: \"4092\" ,width: 200},\r\n\t\t{ name: \"\", prop: \"4132\" ,width: 300},\r\n\t];\r\n\r\n\r\n\toptionType: string = null;\r\n\r\n\tcsvData: Object;\r\n\ttranslations: any;\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, private modalService: NgbModal, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.global.getUrl().then(res => {this.appurl = res});\r\n\t\tthis.searchForm = this.fb.group({\r\n            'type': [],\r\n            'value': [],\r\n\t\t\t'startDate' : [] ,\r\n\t\t\t'endDate' : []\r\n    \t});\r\n\t\t\tthis.activeTab = 'capture';\r\n\t\t\r\n\t\tthis.columns = this.columns.concat(this.captureColumns);\r\n\t\tthis.selectcustomPolicyList();\r\n\t\tthis.translateColumns();\r\n\r\n\t}\r\n\r\n\t\r\n\ttranslateColumns() {\r\n\t\tthis.translate.get([\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1001',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1002',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1003',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1004',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1005',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1006',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1007',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1008',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1009',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1010',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1011',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1012',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1013',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1014',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1015',\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1016', // 그룹\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1017', // 사용자\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1018', // 허용\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1019', // 차단\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1020', // 사용안함\r\n\t\t\t'search.exceptionpolicy.modal.comp.table.1021',\r\n\t\t]).subscribe(translations => {\r\n\t\t\tthis.captureColumns = [\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1001'], prop: \"3013\", width: 100},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1002'], prop: \"4\", width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1003'], prop: \"3\", width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1004'], prop: \"3014\", width: 170},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1005'], prop: \"1508\", width: 170},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1006'], prop: \"2042\", width: 250},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1007'], prop: \"3043\", width: 250},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1008'], prop: \"30496\", width: 250},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1021'], prop: \"30497\", width: 200},\r\n\t\t\t];\r\n\r\n\t\t\tthis.programDeleteColumns = [\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1001'], prop: \"3013\" ,width: 100},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1002'], prop: \"4\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1003'], prop: \"3\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1004'], prop: \"3014\" ,width: 170},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1009'], prop: \"209\" ,width: 170},\r\n\t\t\t];\r\n\r\n\t\t\tthis.addInPolicyColumns = [\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1001'], prop: \"3013\" ,width: 100},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1002'], prop: \"4\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1003'], prop: \"3\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1004'], prop: \"3014\" ,width: 170},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1010'], prop: \"130\" ,width: 270},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1011'], prop: \"110\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1012'], prop: \"30498\" ,width: 150},\r\n\t\t\t];\r\n\r\n\t\t\tthis.customPolicyColumns = [\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1001'], prop: \"3013\" ,width: 100},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1002'], prop: \"4\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1003'], prop: \"3\" ,width: 160},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1004'], prop: \"3014\" ,width: 170},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1013'], prop: \"4128\" ,width: 200},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1014'], prop: \"4092\" ,width: 200},\r\n\t\t\t\t{ name: translations['search.exceptionpolicy.modal.comp.table.1015'], prop: \"4132\" ,width: 300},\r\n\t\t\t];\r\n\r\n\r\n\t\t\tthis.translations = translations;\r\n\t\t\tthis.columns = this.captureColumns;\r\n\t\t});\r\n\r\n\t\t\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.onSearch();\r\n\t\t},  1);\r\n\t}\r\n\t\r\n\t// 열려있는 탭 정보 저장\r\n\topenTab(tabName) {\r\n\t\tthis.activeTab = tabName;\r\n\t\tsessionStorage.setItem('subTabPanel', JSON.stringify(tabName));\r\n\t\t\r\n\t\tthis.showTable=false;\r\n\r\n\t\t // 탭에 따라 다른 컬럼 로드\r\n\t\t switch (tabName) {\r\n\t\t\tcase 'capture':\r\n\t\t\t\tthis.columns = this.captureColumns;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'programDelete':\r\n\t\t\t\tthis.columns = this.programDeleteColumns;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'addInPolicy':\r\n\t\t\t\tthis.columns = this.addInPolicyColumns;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'customPolicy':\r\n\t\t\t\tthis.columns = this.customPolicyColumns;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthis.columns = [];\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.showTable=true;\r\n\t\t\tthis.onSearch();\r\n\t\t},  1);\r\n\t\tthis.rows = [];\r\n\t}\r\n\t// 열려있는 탭 css 하이라이트 처리\r\n\thighlightTab(tabName) {\r\n\r\n\t\tif(this.activeTab == tabName) {\r\n\t\t\treturn {\r\n\t\t\t\t'active': true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tselectcustomPolicyList(){\r\n\t\tlet commonCustomPolicy: any[] = JSON.parse(sessionStorage.getItem('commonCustomPolicy'));\r\n\t\tlet map: any[] = [];\r\n\t\tcommonCustomPolicy.forEach(element => {\r\n\t\t\tmap.push({\r\n\t\t\t\t'name': element['4092'],\r\n\t\t\t\t'value': element['4092']\r\n\t\t\t})\r\n\t\t});\r\n\t\tthis.customPolicyList = map;\r\n\t}\r\n\r\n\t// 페이징 숫자 클릭시 데이터 로딩\r\n\tpageinate(offset, limit) {\r\n\t\tlet start = offset * limit;\r\n\t\tlet end = start + limit;\r\n\r\n\t\tlet clone = this.global.clone(this.orgRows);\r\n\r\n\t\tclone.startRow = start +1;\r\n\t\tclone.endRow = end;\r\n\r\n\t\tlet slicedData = clone.slice(start, end);\r\n\t\tthis.rows = slicedData;\r\n\r\n\t\tthis.showTable = false;\r\n\t\tsetTimeout(()=>{\r\n\t\t\tthis.showTable = true;\r\n\t\t})\r\n\t}\r\n\r\n\tchangeMainSelect() {\r\n\t\t\r\n\t}\r\n\r\n\r\n\t// 조회버튼\r\n\tonSearch(): void {\r\n\r\n\t\t// 공통 파라미터\r\n\t\tlet reqId;\r\n\t\tlet param = {};\r\n\t\tthis.orgRows = [];\r\n\t\t//캡쳐관련 정책\r\n\t\tif (this.activeTab === 'capture') {\r\n\t\t\treqId = \"20017\";\r\n\t\t\r\n\t\t//프로그램삭제허용\r\n\t\t}else if(this.activeTab === 'programDelete'){\r\n\t\t\treqId = \"20018\";\r\n\t\t//애드인 정책\r\n\t\t}else if(this.activeTab === 'addInPolicy'){\r\n\t\t\treqId = \"20019\";\r\n\t\t//커스텀 정책\r\n\t\t}else if(this.activeTab === 'customPolicy'){\r\n\t\t\treqId = \"20020\";\r\n\t\t\tparam['4092']   = this.search['type'];\r\n\r\n\t\t\tif(this.search['type'] == \"\"){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tthis.reqBody = {\"reqId\" : reqId,\"reqParams\": [param]};\r\n\r\n\t\tthis.global.commonCommunication(this.appurl, this.reqBody).then(body => {\r\n\r\n\t\t\tif(body.length > 1 && body[0] && body[0].sucess == 0) {\r\n\t\t\t\tlet resBody = body[1].resultParams;\r\n\r\n\t\t\t\tresBody = resBody.map(row => {\r\n\t\t\t\t\tObject.keys(row).forEach(key => {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (key == \"3013\") {\r\n\t\t\t\t\t\t\trow[key] = (row[key] === \"G\") ? this.translations['search.exceptionpolicy.modal.comp.table.1016'] : this.translations['search.exceptionpolicy.modal.comp.table.1017'];\r\n\t\t\t\t\t\t} else if (key == \"2042\") {\r\n\t\t\t\t\t\t\trow[key] = (row[key] === \"1\") ? this.translations['search.exceptionpolicy.modal.comp.table.1018'] : this.translations['search.exceptionpolicy.modal.comp.table.1019'];\r\n\t\t\t\t\t\t} else if (key == \"1508\" || key == \"209\" || key == \"30498\") {\r\n\t\t\t\t\t\t\trow[key] = (row[key] === \"1\") ? \"O\" : \"X\";\r\n\t\t\t\t\t\t} else if (key == \"30496\" || key == \"30497\") {\r\n\t\t\t\t\t\t\trow[key] = (row[key] === \"X\") ? this.translations['search.exceptionpolicy.modal.comp.table.1020'] : (row[key] === \"1\") ? this.translations['search.exceptionpolicy.modal.comp.table.1019'] : this.translations['search.exceptionpolicy.modal.comp.table.1018'];\r\n\t\t\t\t\t\t} else if (key == \"4132\") {\r\n\t\t\t\t\t\t\trow[key] = (row[key] === \"X\") ? this.translations['search.exceptionpolicy.modal.comp.table.1020'] : row[key];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn row;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.orgRows = resBody;\r\n\t\t\t\t// this.rows = this.orgRows;\r\n\r\n\t\t\t} else {\r\n\t\t\t\tthis.rows = [];\r\n\t\t\t\tthis.orgRows = [];\r\n\t\t\t}\r\n\r\n\t\t\tthis.totalCnt = this.orgRows.length;\r\n\t\t\tthis.count = this.totalCnt;\r\n\r\n\t\t\tthis.page = 1;\r\n\t\t\tthis.pageinate(0, this.perPage);\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\r\n\t\tthis.showTable = false;\r\n\r\n\t\tsetTimeout(()=>{\r\n\t\t\tthis.showTable = true;\r\n\t\t});\r\n\t}\r\n\r\n\t// 초기화 버튼\r\n\tonReset(): void {\r\n\t\t\r\n\t}\r\n\r\n\t// csv 다운로드 시 다운로드 모달 열림.\r\n\topen() {\r\n\r\n\t\tlet userLang = navigator.language;\r\n\t\tthis.param['logType'] = 'exceptionpolicy_search';\r\n\t\tthis.param['startDate'] = '0000-00-00';\r\n\t\tthis.param['endDate'] = '1999-01-01';\r\n\t\tthis.param['searchValue'] = JSON.stringify(this.reqBody);\r\n\r\n\t\tif(userLang.substring(0,2) === 'ko' || userLang.substring(0,2) === 'ja')\r\n\t\t\tthis.param['currentLang'] = userLang;\r\n\t\telse\r\n\t\t\tthis.param['currentLang'] = 'en';\r\n\r\n\t\tconst modalRef = this.modalService.open(ProgressCsvModalComponent, {backdrop: 'static'});\r\n\t\tlet logUrl = this.appurl.replace(\"/sciserver/api\",\"\");\r\n\t\tmodalRef.componentInstance.data = {'data': this.param, 'url': `${logUrl}/esapi`};\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result) {}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\t// 세션 아웃 시 모달 생성\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/search-exceptionpolicy-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\n\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { GlobalService } from '../globals';\r\n\r\n@Component({\r\n\tselector: 'search-modal-content',\r\n\ttemplateUrl: './search-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\nexport class SearchResultModal implements OnInit {\r\n    @Input() data;\r\n    \r\n    private headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\t\r\n    rows = [];\r\n\ttemp = [];\r\n    count: number = 0;\r\n    offset: number = 0;\r\n    limit: number = 10;\r\n\tselected: any[] = [];\r\n\tcolumns = [\r\n\t\t{ name: \"아이디\", prop: \"id\" },\r\n\t\t{ name: \"이름\", prop: \"name\" },\r\n        { name: \"소속\", prop: \"team\"  },\r\n        { name: \"그룹 경로\", prop: \"path\" }\r\n\t];\r\n\r\n    constructor(private http: Http, public activeModal: NgbActiveModal, private global: GlobalService) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.global.getUrl().then(res => this.appurl = res);\r\n        \r\n        this.page(this.offset, this.limit);\r\n\t}\r\n   \r\n    onSelect(event): void {\r\n\t\t// console.log('Event: select', event, this.selected);\r\n\t}\r\n    onSubmit(): void {\r\n        this.activeModal.close(this.selected);\r\n    }\r\n    onPage(event) {\r\n        // console.log('Page Event', event);\r\n        this.page(event.offset, event.limit);\r\n    }\r\n    page(offset, limit) {\r\n        let table = [];\r\n        if(this.data[0].sucess == 0) {\r\n            if(this.data[1]) {\r\n                let param = this.data[1].resultParams;\r\n                // console.log(param);\r\n                for(var i=0; i<param.length; i++) {\r\n                    if(param[i]['3']) {\r\n                        let user = param[i];\r\n                        let path = user['19'].split('*');\r\n                        let txt: string = '', idx: any[] = [];\r\n                        for(let g=0; g<path.length; g++) {\r\n                            txt += `${path[g].split('^')[1]} &gt; `;\r\n                            idx.push(path[g].split('^')[0]);\r\n                        }\r\n                        table.push({\r\n                            'tree': '0',\r\n                            'id': user['1'], \r\n                            'name': `<i aria-label=\"개인\" class=\"icon-tree leaf\"></i> ${user['3']}`,\r\n                            'team': user['9'],\r\n                            'path': txt,\r\n                            'idx': idx\r\n                        });\r\n                    } else if(param[i]['4']) {\r\n                        let group = param[i];\r\n                        let path = group['19'].split('*');\r\n                        let txt: string = '', idx: any[] = [];\r\n                        for(let g=0; g<path.length; g++) {\r\n                            txt += `${path[g].split('^')[1]} &gt; `;\r\n                            idx.push(path[g].split('^')[0]);\r\n                        }                                      \r\n                        table.push({\r\n                            'tree': '1',\r\n                            'id': group['9'], \r\n                            'name': `<i aria-label=\"그룹\" class=\"icon-tree group\"></i> ${group['4']}`,\r\n                            'team': group['9'],\r\n                            'path': txt,\r\n                            'idx': idx\r\n                        });\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        this.count = table.length;\r\n\r\n        const start = offset * limit;\r\n        const end = start + limit;\r\n        let rows = [...this.rows];\r\n        for (let i = start; i < end; i++) {\r\n            rows[i] = table[i];\r\n        }\r\n\r\n        this.rows = rows;\r\n        // console.log('Page Results', start, end, rows);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/search-modal.component.ts","import { Component, OnInit, Input ,ViewChild, EventEmitter, Output} from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbCalendar ,NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport {SessionOutModal} from \"../modal/session-out.component\";\r\nimport {HandleError} from \"../modal/handle-error.component\";\r\nimport {ProgressCsvModalComponent} from \"./progress-csv-modal.component\";\r\nimport {TranslateService} from \"@ngx-translate/core\";\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\n\r\n@Component({\r\n\tselector: 'admin-modal-content',\r\n\ttemplateUrl: './search-pccurrentstatus-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\nexport class SearchPCcurrentStatusModalComponent implements OnInit {\r\n\t@ViewChild(DatatableComponent) public table: DatatableComponent;\r\n    @Input() data;\r\n    @Input() tree\r\n\t//@Output() pagination = new EventEmitter<Object>();\r\n\r\n\tsearchForm: FormGroup;\r\n\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\r\n\tcsvData: Object;\r\n\tcloseResult: string;\r\n\r\n  public rows: any[] = [];\r\n  public currentPageLimit: number = 10;\r\n  public currentVisible: number = 3;\r\n  serchTypeList = [];\r\n  selTree: Object;\r\n  orgRows: any[] = [];\r\n\r\n\tsearch: Object = {\r\n\t\ttype: '28',\r\n\t\tvalue: '',\r\n\t\tstartDate : null ,\r\n\t\tendDate : null\r\n\t}\r\n\r\n\tperPage : number = 10;\r\n  page: number = 1;\r\n  count: number = 0;\r\n  totalCnt: number = 1;\r\n\r\n\tcolumns: any[] = [\r\n\t\t{ name: \"\", \t\t \tprop: '4' , \twidth: 150},\t// 부서명\r\n\t\t{ name: \"\", \t\t \tprop: '3' , \twidth: 150},\t// 사용자 이름\r\n\t\t{ name: \"\", \t\t\tprop: '1' , \twidth: 150},\t// 사용자 아이디\r\n\t\t{ name: \"\", \t\t\tprop: '30451' , width: 150},\t// PC ID\r\n\t\t{ name: \"\", \t\t\tprop: '802' , \twidth: 150},\t// PC IP 주소\r\n\t\t{ name: \"\", \t\t\tprop: '803' , \twidth: 150},\t// PC MAC 주소\r\n\t\t{ name: \"\", \t\t\tprop: '2093' , \twidth: 150},\t// PC 명\r\n\t\t{ name: \"\", \t\t\tprop: '2161' , \twidth: 150},\t// Windows ID\r\n\t\t{ name: \"\", \t\t\tprop: '2158' , \twidth: 150},\t// Windows 정보\r\n\t\t{ name: \"\",  \t\t\tprop: '30452' , width: 150},\t// 최종 온라인 일시\r\n\t\t{ name: \"\", \t\t\tprop: '30493' , width: 150},\t// 로그인 경과일 (Day)\r\n\t\t{ name: \"\",\t \t\t\tprop: '110' , \twidth: 150},\t// 에이전트 버전\r\n\t\t{ name: \"\", \t\t \tprop: '4218' , \twidth: 150},\t// 온라인 상태\r\n\t\t{ name: \"\", \t\t\tprop: '804' , \twidth: 150},\t// 설치 일시\r\n\t\t{ name: \"\", \t\t\tprop: '30494' , width: 150},\t// 소유자 부서명\r\n\t\t{ name: \"\", \t\t\tprop: '119' , \twidth: 150},\t// 소유자 이름\r\n\t\t{ name: \"\", \t\t\tprop: '114' , \twidth: 150},\t// 소유자 아이디\r\n\t];\r\n\t\t\t\t\t\r\n\tpublic readonly pageLimitOptions = [\r\n\t  { value: 5 },\r\n\t  { value: 10 },\r\n\t  { value: 25 },\r\n\t  { value: 50 },\r\n\t  { value: 100 },\r\n\t];\r\n\tpublic readonly visibleOptions = [\r\n\t  { value: 1 },\r\n\t  { value: 3 },\r\n\t  { value: 5 },\r\n\t  { value: 10 },\r\n\t];\r\n\r\n\r\n\t// csv 다운로드를 위한 필수 파라미터\r\n\tparam : Object = {\r\n\t\tlogType: null,\r\n\t\tstartDate: null,\r\n\t\tendDate: null,\r\n\t\tsearchType: null,\r\n\t\tsearchValue: null\r\n\t};\r\n\r\n\tgroupId : string;\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, private modalService: NgbModal, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ,private calendar: NgbCalendar)\r\n\t{}\r\n\r\n    ngOnInit(): void {\r\n\r\n\t\tthis.global.getUrl().then(res => {this.appurl = res});\r\n\t\tthis.groupId = this.tree.id;\r\n\t\t\r\n\t\tthis.searchForm = this.fb.group({\r\n            'type': [],\r\n            'value': [],\r\n\t\t\t'startDate' : [] ,\r\n\t\t\t'endDate' : []\r\n    \t});\r\n\r\n\t\tlet arrayTitleLangs = [\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1001\", // \"부서명\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1002\", // \"사용자 이름\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1003\", // \"사용자 아이디\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1004\", // \"PC ID\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1005\", // \"PC IP 주소\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1006\", // \"PC MAC 주소\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1007\", // \"PC 명\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1008\", // \"Windows ID\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1009\", // \"Windows 정보\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1010\", // \"최종 온라인 일시\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1011\", // \"로그인 경과일 (Day)\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1012\", // \"에이전트 버전\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1013\", // \"온라인 상태\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1014\", // \"설치 일시\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1015\", // \"소유자 부서명\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1016\", // \"소유자 이름\",\r\n\t\t\t\"search.pccurrentstatus.modal.comp.table.1017\", // \"소유자 아이디\",\r\n\t\t]\r\n\r\n\t\tthis.translate.get(arrayTitleLangs).subscribe((res:string) => {\r\n\t\t\tlet table = [\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1001\"], \tprop: '4' , width: 150},\t// 부서명\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1002\"], \tprop: '3' , width: 150},\t// 이름\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1003\"], \tprop: '1' , width: 150},\t// 사용자 아이디\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1004\"], \tprop: '30451' , width: 150},\t// PC ID\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1005\"], \tprop: '802'   , width: 150},\t// PC IP 주소\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1006\"], \tprop: '803'   , width: 150},\t// PC MAC 주소\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1007\"], \tprop: '2093'\t, width: 150},\t// PC 명\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1008\"], \tprop: '2161'\t, width: 150},\t// Windows ID\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1009\"], \tprop: '2158'\t, width: 150},\t// Windows 정보\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1010\"],  \tprop: '30452', width: 150},\t// 최종 온라인 일시\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1011\"], \tprop: '30493', width: 150},\t// 로그인 경과일 (Day)\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1012\"],\tprop: '110' , width: 150},\t// 에이전트 버전\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1013\"], \tprop: '4218', width: 150},\t// 온라인 상태\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1014\"], \tprop: '804' , width: 150},\t// 설치 일시\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1015\"], \tprop: '30494', width: 150},\t// 소유자 부서명\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1016\"], \tprop: '119' , width: 150},\t// 소유자 이름\r\n\t\t\t\t{ name: res[\"search.pccurrentstatus.modal.comp.table.1017\"], \tprop: '114' , width: 150},\t// 소유자 아이디\r\n\t\t\t];\r\n\t\t\tthis.columns = table;\r\n\t\t});\r\n\r\n\t\t\r\n    let arrayLangs = [\r\n      \"search.pccurrentstatus.modal.comp.ts.1019\", //\"조회 항목\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1001\", //\"부서명\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1002\", //\"사용자 이름\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1003\", //\"사용자 아이디\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1004\", //\"PC IP 주소\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1005\", //\"PC MAC 주소\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1006\", //\"PC 명\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1007\", //\"최종 온라인 날짜\"\r\n      //\t\t\t\"search.pccurrentstatus.modal.comp.ts.1008\", //\"최종 오프라인 날짜\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1009\", //\"온라인 상태\"\r\n      \"search.pccurrentstatus.modal.comp.ts.1010\", //\"에이전트 버전\"\r\n    ];\r\n\r\n    this.translate.get(arrayLangs).subscribe((res: string) => {\r\n      this.serchTypeList = [\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1019\"], value: \"28\" },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1001\"], value: 4 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1002\"], value: 3 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1003\"], value: 1 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1004\"], value: 802 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1005\"], value: 803 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1006\"], value: 2093 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1007\"], value: 1103 },\r\n        // { name: res[\"search.pccurrentstatus.modal.comp.ts.1008\"], value: 1104 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1009\"], value: 4218 },\r\n        { name: res[\"search.pccurrentstatus.modal.comp.ts.1010\"], value: 110 },\r\n      ];\r\n    });\r\n\r\n\r\n\t\tthis.search['startDate'] = this.calendar.getToday();\r\n\t\tthis.search['endDate'] = this.calendar.getToday();\r\n\r\n    setTimeout(() => {\r\n      this.onSubmit();\r\n    }, 1);\r\n  }\r\n\r\n  // 페이징 숫자 클릭시 데이터 로딩\r\n  pageinate(offset, limit) {\r\n    const start = offset * limit;\r\n    const end = start + limit;\r\n\r\n    let clone = this.global.clone(this.orgRows);\r\n\r\n\t\tclone.startRow = start +1;\r\n    clone.endRow = end;\r\n\r\n    let slicedData = clone.slice(start, end);\r\n    this.rows = slicedData;\r\n  }\r\n\r\n  // 조회버튼 클릭시 호출. 폼 데이터를 서버 전송 가능한 JSON 데이터로 변환\r\n  onSubmit() {\r\n    let param = {};\r\n\t\tlet params = JSON.parse(sessionStorage.getItem('selectItem'));\r\n\t\tlet type = this.search['type']; //selectbox Type\r\n\t\tlet value;\r\n\t\r\n\t\tswitch(type){\r\n\t\t\tcase 4218 :\r\n\t\t\t\tparam[type] = '1';\r\n\t\t\t \tbreak;\r\n\t\t\tcase 1103 : \r\n\t\t\t\tparam['1103'] = `${this.search['startDate'].year}-${this.transferDate(this.search['startDate'].month)}-${this.transferDate(this.search['startDate'].day)}`;\r\n\t\t\t\tparam['1104'] = `${this.search['endDate'].year}-${this.transferDate(this.search['endDate'].month)}-${this.transferDate(this.search['endDate'].day)}`;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tparam[type] =  this.search['value'];  \t//keyword\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\t//그룹ID 세팅\r\n\t\tparam['28'] = this.groupId;\r\n\r\n\t\tlet body = {\r\n\t\t\t\"reqId\": \"20012\",\r\n\t\t\t\"reqParams\": [param]\r\n\t\t};\r\n\r\n\t\tthis.onFormSubmit(body);\r\n  \t}\r\n\r\n\tonFormSubmit(data:Object) {\r\n    this.fetch(data);\r\n  }\r\n\r\n  fetch(data) {\r\n\t\tthis.rows = [];\r\n\t\t// 전체 리스트 조회\r\n\t\treturn this.global.commonCommunication(this.appurl, data).then(body => {\r\n\t\t\tif(body[0] && body[0].sucess == 0 && body[1] !== undefined && body[1].resultParams !== undefined) {\r\n\t\t\t\tlet resBody = body[1].resultParams;\r\n\t\t\t\tresBody = body[1].resultParams.map((row) => {\r\n\t\t\t\t\tlet arrayLangs = [\r\n\t\t\t\t\t\t\"search.pccurrentstatus.modal.comp.ts.1011\",\t//\"온라인\",\r\n\t\t\t\t\t\t\"search.pccurrentstatus.modal.comp.ts.1012\",\t//\"오프라인\",\r\n\t\t\t\t\t]\r\n\t\t\t\t\tObject.keys(row).forEach(key => {\r\n\t\t\t\t\t\tthis.translate.get(arrayLangs).subscribe((res1:string) => {\r\n\t\t\t\t\t\t\t\tif(key == \"4218\") {\r\n\t\t\t\t\t\t\t\t\trow[key] = (row['4218'] == '1' ? res1[\"search.pccurrentstatus.modal.comp.ts.1011\"] : res1[\"search.pccurrentstatus.modal.comp.ts.1012\"]);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn row;\r\n\t\t\t});\r\n\r\n\t\t\tthis.orgRows = resBody;\r\n\t\t\tthis.totalCnt = this.orgRows.length;\r\n\t\t\tthis.count = this.totalCnt;\r\n\t\t\tthis.page = 1;\r\n\t\t\tthis.pageinate(0, this.perPage);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n  //엑셀\r\n\topen() {\r\n\t\tlet param = {};\r\n\t\tlet params = JSON.parse(sessionStorage.getItem('selectItem'));\r\n\t\tlet type = this.search['type']; //selectbox Type\r\n\t\tlet value;\r\n\t\r\n\t\tswitch(type){\r\n\t\t\tcase 4218 :\r\n\t\t\t\tparam[type] = '1';\r\n\t\t\t \tbreak;\r\n\t\t\tcase 1103 : \r\n\t\t\t\tparam['1103'] = `${this.search['startDate'].year}-${this.transferDate(this.search['startDate'].month)}-${this.transferDate(this.search['startDate'].day)}`;\r\n\t\t\t\tparam['1104'] = `${this.search['endDate'].year}-${this.transferDate(this.search['endDate'].month)}-${this.transferDate(this.search['endDate'].day)}`;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tparam[type] =  this.search['value'];  \t//keyword\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\t//그룹ID 세팅\r\n\t\tparam['28'] = this.groupId;\r\n\r\n\t\tlet data = {\r\n\t\t\t\"reqId\": \"20012\",\r\n\t\t\t\"reqParams\": [param]\r\n\t\t};\r\n\t\t\r\n\r\n\t\tlet userLang = navigator.language;\r\n\t\tthis.param['logType'] = 'pccurrentstatus_search';\r\n\t\tthis.param['startDate'] = '0000-00-00';\r\n\t\tthis.param['endDate'] = '1999-01-01';\r\n\t\tthis.param['searchValue'] = JSON.stringify(data);\r\n\t\tif(userLang.substring(0,2) === 'ko' || userLang.substring(0,2) === 'ja')\r\n\t\t\tthis.param['currentLang'] = userLang;\r\n\t\telse\r\n\t\t\tthis.param['currentLang'] = 'en';\r\n\r\n\t\tconst modalRef = this.modalService.open(ProgressCsvModalComponent, {backdrop: 'static'});\r\n\t\tlet logUrl = this.appurl.replace(\"/sciserver/api\",\"\");\r\n\t\tmodalRef.componentInstance.data = {'data': this.param, 'url': `${logUrl}/esapi`};\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result) {}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\ttransferDate(date: number) {\r\n        return date > 9 ? date : `0${date}`;\r\n    }\r\n\r\n\tonSelectChange(ev){\r\n\t\t// alert(this.search['type']);\r\n\t\t// let selectType =  this.search['type'];\r\n\t\t\r\n\t\t// switch (selectType) {\r\n\t\t// \tcase '4218':\r\n\t\t// \t\tthis.search['value'] = '';\r\n\t\t// \t\tbreak;\r\n\t\t// \tcase 'case2':\r\n\t\t// \t\tbreak;\r\n\t\t// \tcase 'case3':\r\n\t\t\t\t\r\n\t\t// \t\tbreak;\r\n\t\t// \tdefault:\r\n\t\t// \t\tbreak;\r\n\t\t// } \r\n\t}\r\n\r\n\r\n\tonSave(): void {\r\n\t\tthis.open();\r\n\t}\r\n\r\n\tonCancle(): void {\r\n\t\tthis.searchForm.reset();\r\n    \tthis.activeModal.close(null);\r\n\t}\r\n\r\n\tpublic onVisibleChange(visible: any): void {\r\n\t\tthis.currentVisible = parseInt(visible, 10);\r\n\t}\r\n\t\r\n\tprivate changePageLimit(limit: any): void {\r\n\t\tthis.currentPageLimit = parseInt(limit, 10);\r\n\t}\r\n\r\n\tonPage(event) {\r\n        console.log('Page Event', event);\r\n        this.pageinate(event.offset, event.limit);\r\n    }\r\n\t// 세션 아웃 시 모달 생성\t\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n}\r\n\r\n\t\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/search-pccurrentstatus-modal.component.ts","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Headers, Http } from '@angular/http';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GlobalService } from '../globals';\r\nimport { HandleError } from \"../modal/handle-error.component\";\r\nimport { SessionOutModal } from \"../modal/session-out.component\";\r\nimport { ProgressCsvModalComponent } from \"./progress-csv-modal.component\";\r\n\r\n@Component({\r\n\tselector: 'admin-modal-content',\r\n\ttemplateUrl: './search-permission-modal.component.html',\r\n    providers: [ GlobalService ],\r\n\t\tstyles:[`\r\n\t\t.ngx-datatable.material{\r\n\t\t\t.datatable-body {\r\n\t\t\t\t.datatable-body-row {\r\n\t\t\t\t\t.datatable-body-cell {\r\n\t\t\t\t\t\toverflow-x: auto;\r\n\t\t\t\t\t\tscrollbar-width: thin;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t`]\r\n})\r\n\r\nexport class SearchPermissionModalComponent implements OnInit {\r\n    @Input() data;\r\n    @Input() tree\r\n\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\r\n\r\n    searchForm: FormGroup;\r\n\r\n    formData: Object;\r\n\r\n\tactiveTab: string = null;\r\n\tshowTable = true;\r\n\r\n\tgvpnChangeUI\t: string;\t//보안URL\r\n\r\n\tcolumns = [\r\n\t\t{ name: \"\", prop: '1' },\t// 사용자ID\r\n\t\t{ name: \"\", prop: '3' },\t// 사용자이름\r\n\t\t{ name: \"\", prop: '4' },\t// 그룹ID\r\n\t\t{ name: \"\", prop: '5' },\t// 사용자직위\r\n\t\t{ name: \"\", prop: '9' },\t// 그룹ID\r\n\t\t{ name: \"\", prop: '19' },\t// 그룹경로\r\n\t];\r\n\trows: any[] = [];\r\n\tselected: any[] = [];\r\n\r\n\t// 강제 권한 조회 조건\r\n\tforceOptions: Object = {\r\n\t\tds105: null,\r\n\t\tds3133: false,\r\n\t\tds3134: false,\r\n\t\tds210: false,\r\n\t\tds211: false,\r\n\t\tds212: false,\r\n\t\tds213: false,\r\n\t\tds214: false,\r\n\t\tds218: false,\r\n\t\tds109: false,\r\n\t\tds2124: false,\r\n\t\tds215: false\r\n\t};\r\n\r\n\t// 전사공통권한 조회 조건\r\n\tcompanyWidePermissionOptions: Object = {\r\n\t\tds105_2: \"0000001\",\r\n\t\tds3133_2: true,\r\n\t\tds3134_2: false,\r\n\t\tds210_2: true,\r\n\t\tds211_2: true,\r\n\t\tds212_2: false,\r\n\t\tds213_2: false,\r\n\t\tds214_2: false,\r\n\t\tds218_2: false,\r\n\t\tds109_2: false,\r\n\t\tds2124_2: false,\r\n\t};\r\n\r\n\t// App 제어 조회 조건\r\n\tappControlOptions: Object = {\r\n\t\tds1508: false,\r\n\t\tds2042: false,\r\n\t};\r\n\r\n\t// 예외정책 조회 조건\r\n\texceptionPolicyOptions: Object = {\r\n\t\tds1508_2: false,\r\n\t\tds2042_2: false,\r\n\t\tds2041: false,\r\n\t};\r\n\r\n\t// 프린트 마킹 제어 조건\r\n\tprintMarkOptions: Object = {\r\n\t\tds2021: '0',\r\n\t};\r\n\r\n\t// 암호화 모델 정의\r\n\tpermissions: Object = {\r\n\t\tforceOptions: this.forceOptions,\r\n\t\tcompanyWidePermissionOptions: this.companyWidePermissionOptions,\r\n\t\tappControlOptions: this.appControlOptions,\r\n\t\texceptionPolicyOptions: this.exceptionPolicyOptions,\r\n\t\tprintMarkOptions: this.printMarkOptions,\r\n\t\tds1509: false,\r\n\t\tds1500: false,\r\n\t\tactiveTab: null,\r\n\t\trows: null,\r\n\t\tselected: null,\r\n\t\tcurrentLang: null,\r\n\t};\r\n\r\n\tds105: any[] = [];\r\n\tgroupName: string;\r\n\tcloseResult: string;\r\n\r\n\tremainDataFlag = false;\r\n\r\n\t// csv 다운로드를 위한 필수 파라미터\r\n\tparam : Object = {\r\n\t\tlogType: null,\r\n\t\tstartDate: null,\r\n\t\tendDate: null,\r\n\t\tsearchType: null,\r\n\t\tsearchValue: null\r\n\t};\r\n\r\n\tpage: number;\r\n\r\n\tcsvData: Object;\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, private modalService: NgbModal, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.gvpnChangeUI = this.global.getCustomPolicy('customPolicy', 'gvpnChangeUI', 'N');\r\n\t\tthis.global.getUrl().then(res => {this.appurl = res});\r\n\r\n\t\tthis.groupName = this.tree.name;\r\n\t\tthis.searchForm = this.fb.group({\r\n\t\t\t'ds105': [],\r\n\t\t\t'ds3133': [],\r\n\t\t\t'ds3134': [],\r\n\t\t\t'ds210': [],\r\n\t\t\t'ds211': [],\r\n\t\t\t'ds212': [],\r\n\t\t\t'ds213': [],\r\n\t\t\t'ds214': [],\r\n\t\t\t'ds218': [],\r\n\t\t\t'ds109': [],\r\n\t\t\t'ds2124': [],\r\n\t\t\t'ds215': [],\r\n\t\t\t'ds105_2': [],\r\n\t\t\t'ds3133_2': [],\r\n\t\t\t'ds3134_2': [],\r\n\t\t\t'ds210_2': [],\r\n\t\t\t'ds211_2': [],\r\n\t\t\t'ds212_2': [],\r\n\t\t\t'ds213_2': [],\r\n\t\t\t'ds214_2': [],\r\n\t\t\t'ds218_2': [],\r\n\t\t\t'ds109_2': [],\r\n\t\t\t'ds2124_2': [],\r\n\t\t\t'ds2021': [],\r\n\t\t\t'ds1508': [],\r\n\t\t\t'ds1508_2': [],\r\n\t\t\t'ds2042': [],\r\n\t\t\t'ds2042_2': [],\r\n\t\t\t'ds2041': [],\r\n\t\t\t'ds1509': [],\r\n\t\t\t'rows': [],\r\n\t\t});\r\n\r\n\t\tthis.page = 1;\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadMacList();\r\n\t\t}, 1);\r\n\r\n\t\tif(this.data != null && this.data != undefined){\r\n\t\t\tthis.remainDataFlag = true;\r\n\t\t\tthis.activeTab = this.data['activeTab'];\r\n\t\t\tthis.rows = this.data['rows'];\r\n\t\t\tthis.forceOptions = this.data['forceOptions'];\r\n\t\t\tthis.companyWidePermissionOptions = this.data['companyWidePermissionOptions'];\r\n\t\t\tthis.appControlOptions = this.data['appControlOptions'];\r\n\t\t\tthis.exceptionPolicyOptions = this.data['exceptionPolicyOptions'];\r\n\t\t\tthis.printMarkOptions = this.data['printMarkOptions'];\r\n\t\t\tthis.permissions = this.data;\r\n\t\t}else{\r\n\t\t\tif(this.gvpnChangeUI == \"Y\"){\r\n\t\t\t\tthis.activeTab = 'companyWidePermission';\r\n\t\t\t}else{\r\n\t\t\t\tthis.activeTab = 'forcePermission';\r\n\t\t\t}\r\n\t\t\tthis.rows = [];\r\n\t\t\t// 강제 권한 조회 초기화\r\n\t\t\tthis.forceOptions = {\r\n\t\t\t\tds105: null,\r\n\t\t\t\tds3133: false,\r\n\t\t\t\tds3134: false,\r\n\t\t\t\tds210: false,\r\n\t\t\t\tds211: false,\r\n\t\t\t\tds212: false,\r\n\t\t\t\tds213: false,\r\n\t\t\t\tds214: false,\r\n\t\t\t\tds218: false,\r\n\t\t\t\tds109: false,\r\n\t\t\t\tds2124: false,\r\n\t\t\t\tds215: false\r\n\t\t\t};\r\n\t\t\t// 전사공통권한 조회 초기화\r\n\t\t\tthis.companyWidePermissionOptions = {\r\n\t\t\t\tds105_2: \"0000001\",\r\n\t\t\t\tds3133_2: true,\r\n\t\t\t\tds3134_2: false,\r\n\t\t\t\tds210_2: true,\r\n\t\t\t\tds211_2: true,\r\n\t\t\t\tds212_2: false,\r\n\t\t\t\tds213_2: false,\r\n\t\t\t\tds214_2: false,\r\n\t\t\t\tds218_2: false,\r\n\t\t\t\tds109_2: false,\r\n\t\t\t\tds2124_2: false,\r\n\t\t\t};\r\n\t\t\t// App 제어 조회 초기화\r\n\t\t\tthis.appControlOptions = {\r\n\t\t\t\tds1508: false,\r\n\t\t\t\tds2042: false,\r\n\t\t\t};\r\n\t\t\t// 예외정책 조회 초기화\r\n\t\t\tthis.exceptionPolicyOptions = {\r\n\t\t\t\tds1508_2: false,\r\n\t\t\t\tds2042_2: false,\r\n\t\t\t\tds2041: false,\r\n\t\t\t};\r\n\t\t\t// 프린트 마스킹 조회 초기화\r\n\t\t\tthis.printMarkOptions = {\r\n\t\t\t\tds2021: '0',\r\n\t\t\t};\r\n\t\t\t// 암호화 모델 정의 초기화\r\n\t\t\tthis.permissions = {\r\n\t\t\t\tforceOptions: this.forceOptions,\r\n\t\t\t\tcompanyWidePermissionOptions: this.companyWidePermissionOptions,\r\n\t\t\t\tappControlOptions: this.appControlOptions,\r\n\t\t\t\texceptionPolicyOptions: this.exceptionPolicyOptions,\r\n\t\t\t\tprintMarkOptions: this.printMarkOptions,\r\n\t\t\t\tds1509: false,\r\n\t\t\t\tds1500: false,\r\n\t\t\t\tactiveTab: this.activeTab,\r\n\t\t\t\trows: [],\r\n\t\t\t\tselected: null,\r\n\t\t\t\tcurrentLang: null,\r\n\t\t\t};\r\n\r\n\r\n\r\n\t\t\tlet userLang = navigator.language;\r\n\t\t\tif(userLang.substring(0,2) === 'ko' || userLang.substring(0,2) === 'ja')\r\n\t\t\t\tthis.permissions['currentLang'] = userLang.substring(0,2);\r\n\t\t\telse\r\n\t\t\t\tthis.permissions['currentLang'] = 'en';\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t// 범주 리스트 검색\r\n\tloadMacList() {\r\n\t\tlet data = {\"reqId\":\"5602\",\"reqParams\":[{}]};\r\n\t\treturn this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n\t\t\tif (body[0] && body[0].sucess == 0) {\r\n\t\t\t\tif (body.length > 1) {\r\n\t\t\t\t\tlet res = body[1].resultParams;\r\n\t\t\t\t\tlet datatable = [];\r\n\t\t\t\t\tlet currentCategoryList = [];\r\n\r\n\t\t\t\t\tfor (var i = 0; i < Object.keys(this.rows).length; i++) {\r\n\t\t\t\t\t\tvar obj = this.rows[i];\r\n\t\t\t\t\t\tcurrentCategoryList.push(obj['105']);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var i = 0; i < res.length; i++) {\r\n\t\t\t\t\t\tif (currentCategoryList.indexOf(res[i]['105']) == -1) {\r\n\t\t\t\t\t\t\tdatatable.push({value: res[i]['105'], name: res[i]['112']})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 추가 가능한 범주 리스트\r\n\t\t\t\t\tthis.ds105 = datatable;\r\n\r\n\t\t\t\t\tif (!this.remainDataFlag) {\r\n\t\t\t\t\t\tthis.permissions['forceOptions']['ds105'] = this.ds105[0].value;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else if (body.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\r\n\t// 열려있는 탭 정보 저장\r\n\topenTab(tabName) {\r\n\t\tthis.activeTab = tabName;\r\n\t\tthis.permissions['activeTab'] = tabName;\r\n\t\tconsole.log(\"activeTab : \" + this.activeTab);\r\n\t\tsessionStorage.setItem('subTabPanel', JSON.stringify(tabName));\r\n\t\tthis.showTable = false\r\n\t\t\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.showTable = true;\r\n\t\t});\r\n\t}\r\n\t// 열려있는 탭 css 하이라이트 처리\r\n\thighlightTab(tabName) {\r\n\r\n\t\tif(this.activeTab == tabName) {\r\n\t\t\treturn {\r\n\t\t\t\t'active': true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonSearch(): void {\r\n\r\n    \t// 기본값 : 강제 권한\r\n\t\tlet clone = this.global.clone(this.forceOptions);\r\n\t\tlet reqId = '5038';\r\n\r\n\t\t// 강제권한\r\n\t\tif (this.activeTab == 'forcePermission') {\r\n\t\t\tif(!clone[\"ds3133\"] && !clone[\"ds3134\"]) {\r\n\t\t\t\t// searchPermission.modal.comp.ts.1001 : 온라인/오프라인 권한 여부를 선택하십시오.\r\n\t\t\t\talert(this.translate.get('searchPermission.modal.comp.ts.1001')['value']);\r\n\t\t\t\treturn;\r\n\t\t\t} else if (!clone[\"ds210\"] && !clone[\"ds211\"] && !clone[\"ds212\"] &&\r\n\t\t\t\t\t    !clone[\"ds213\"] && !clone[\"ds214\"] && !clone[\"ds218\"] && !clone[\"ds215\"]) {\r\n\t\t\t\t// searchPermission.modal.comp.ts.1001 : 유효기간을 제외한 권한을 1개 이상 선택하십시오.\r\n\t\t\t\talert(this.translate.get('searchPermission.modal.comp.ts.1002')['value']);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t// APP 제어\r\n\t\t} else if(this.activeTab == 'appControl'){\r\n\t\t\tclone = this.global.clone(this.appControlOptions);\r\n\t\t\treqId = '20006';\r\n\t\t// 프린트 마킹\r\n\t\t}else if(this.activeTab == 'printMark'){\r\n\t\t\tclone = this.global.clone(this.printMarkOptions);\r\n\t\t\treqId = '20007';\r\n\t\t// 전사공통권한\r\n\t\t}else if(this.activeTab == 'companyWidePermission'){\r\n\t\t\tclone = this.global.clone(this.companyWidePermissionOptions);\r\n\t\t\treqId = '5038';\r\n\t\t// 예외정책\r\n\t\t}else if(this.activeTab == 'exceptionPolicy'){\r\n\t\t\tclone = this.global.clone(this.exceptionPolicyOptions);\r\n\t\t\tif(!clone[\"ds2041\"] && !clone[\"ds2042_2\"]) {\r\n\t\t\t\t// searchPermission.modal.comp.ts.1001 : 권한을 1개 이상 선택하십시오.\r\n\t\t\t\talert(this.translate.get('searchPermission.modal.comp.ts.1003')['value']);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treqId = '20006';\r\n\t\t}\r\n\r\n\t\tlet sData = this.submitData(clone);\r\n\r\n\t\tsData['9'] = this.tree.id;\r\n\r\n\t\t// 예외정책 캡처 선택시 값 추가 선택\r\n\t\tif(this.activeTab == 'exceptionPolicy'){\r\n\t\t\tif(this.permissions['exceptionPolicyOptions']['ds2042_2']){\r\n\t\t\t\tsData['1508'] = \"1\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// 하위 그룹 구성원 표시 여부\r\n\t\tsData['2074'] = this.permissions['ds1509'] ? '1' : '0';\r\n\r\n\t\tlet body = {\"reqId\":reqId,\"reqParams\":[sData]};\r\n\r\n\r\n\t\tlet userLang = navigator.language;\r\n\r\n\t\tthis.param['logType'] = 'permission_search';\r\n\t\tthis.param['startDate'] = '0000-00-00';\r\n\t\tthis.param['endDate'] = '1999-01-01';\r\n\t\tthis.param['searchType'] = this.activeTab;\r\n\t\tthis.param['searchValue'] = JSON.stringify(body);\r\n\t\tif(userLang.substring(0,2) === 'ko' || userLang.substring(0,2) === 'ja')\r\n\t\t\tthis.param['currentLang'] = userLang;\r\n\t\telse\r\n\t\t\tthis.param['currentLang'] = 'en';\r\n\r\n\r\n\t\tlet csvClone = this.global.clone(this.param);\r\n\t\tlet csvSearchData: Object = {};\r\n\r\n\t\tfor(let i=0;i<Object.keys(csvClone).length;i++) {\r\n\t\t\tlet key = Object.keys(csvClone)[i];\r\n\t\t\tif(csvClone[key] !== null) {\r\n\t\t\t\tcsvSearchData[key] = csvClone[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.csvData = csvSearchData;\r\n\r\n\t\tthis.global.commonCommunication(this.appurl, body).then(body => {\r\n\r\n\t\t\tif (body[0].sucess == 0 && body.length > 1) {\r\n\t\t\t\tthis.rows = body[1].resultParams;\r\n\t\t\t} else {\r\n\t\t\t\tthis.rows = [];\r\n\t\t\t}\r\n\t\t\tthis.permissions['rows'] = this.rows;\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\r\n\tsubmitData(clone: Object) {\r\n\t\tlet rObj = {};\r\n\t\tfor(let i=0; i<Object.keys(clone).length; i++) {\r\n\t\t\tlet obj = Object.keys(clone)[i];\r\n\t\t\tif(clone[obj] !== null) {\r\n\t\t\t\tif(typeof clone[obj] === 'boolean') {\r\n\t\t\t\t\tif(clone[obj] === true) {\r\n\t\t\t\t\t\trObj[obj] = \"1\";\r\n\t\t\t\t\t\t//변수명 ds 문자 제거 후 '_' 값 이후 제거하여 key 생성\r\n\t\t\t\t\t\trObj[obj.replace('ds','').split('_')[0]] = rObj[obj];\r\n\t\t\t\t\t} else if(clone[obj] === false) {\r\n\t\t\t\t\t\trObj[obj] = \"0\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}else {\r\n\t\t\t\t\trObj[obj] = clone[obj];\r\n\t\t\t\t\t//변수명 ds 문자 제거 후 '_' 값 이후 제거하여 key 생성\r\n\t\t\t\t\trObj[obj.replace('ds','').split('_')[0]] = rObj[obj];\r\n\t\t\t\t}\r\n\t\t\t\tdelete rObj[obj];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn rObj;\r\n\t}\r\n\r\n\tdisplayGroupPath(groupPath: string){\r\n\t\tlet orgPath = groupPath.split('*');\r\n\t\tlet displayPath = '';\r\n\t\tfor(var i=0; i<orgPath.length; i++) {\r\n\t\t\tdisplayPath += ( (i>0 ? ' - ' : '') + orgPath[i].split('^')[1] );\r\n\t\t}\r\n    \treturn displayPath;\r\n\t}\r\n\r\n\tonSelect(event): void {\r\n\t\tthis.permissions['selected'] = this.selected;\r\n\t}\r\n\tonActivate(event): void {\r\n\t}\r\n\r\n    onSubmit(): void {\r\n\r\n        this.activeModal.close(this.permissions);\r\n    }\r\n\tonSave(): void {\r\n\t\t// this.activeModal.close(this.permissions);\r\n\t\tthis.open();\r\n\t}\r\n\r\n\t// csv 다운로드 시 다운로드 모달 열림.\r\n\topen() {\r\n\r\n\t\tlet clone = this.global.clone(this.forceOptions);\r\n\t\tlet sData = this.submitData(clone);\r\n\t\tsData['9'] = this.tree.id;\r\n\t\tsData['2074'] = this.permissions['ds1509'] ? '1' : '0';\r\n\r\n\t\tconst modalRef = this.modalService.open(ProgressCsvModalComponent, {backdrop: 'static'});\r\n\t\tlet logUrl = this.appurl.replace(\"/sciserver/api\",\"\");\r\n\r\n\t\tmodalRef.componentInstance.data = {'data': this.csvData, 'url': `${logUrl}/esapi`};\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result) {}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n    onCancle(): void {\r\n\t\tthis.searchForm.reset();\r\n    \tthis.activeModal.close(null);\r\n\t}\r\n\r\n\t// 세션 아웃 시 모달 생성\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/search-permission-modal.component.ts","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { Headers, Http } from '@angular/http';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GlobalService } from '../globals';\r\nimport { HandleError } from \"../modal/handle-error.component\";\r\nimport { SessionOutModal } from \"../modal/session-out.component\";\r\nimport { ProgressCsvModalComponent } from \"./progress-csv-modal.component\";\r\n\r\n@Component({\r\n\tselector: 'admin-modal-content',\r\n\ttemplateUrl: './search-policy-modal.component.html',\r\n    providers: [ GlobalService ],\r\n\t\tstyles:[`\r\n\t\t.ngx-datatable.material{\r\n\t\t\t.datatable-body {\r\n\t\t\t\t.datatable-body-row {\r\n\t\t\t\t\t.datatable-body-cell {\r\n\t\t\t\t\t\toverflow-x: auto;\r\n\t\t\t\t\t\tscrollbar-width: thin;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t`]\r\n})\r\n\r\nexport class SearchPolicyModalComponent implements OnInit {\r\n    @Input() data;\r\n    @Input() tree\r\n\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\r\n\r\n\tshowTable = true;\r\n\tactiveTab: string = null;\r\n\tcloseResult: string;\r\n\r\n\trows: any[] = [];\r\n\torgRows: any[] = [];\r\n\r\n\tperPage : number = 50;\r\n\tpage: number = 1;\r\n\tcount: number = 0;\r\n\ttotalCnt: number = 1;\r\n\r\n\treqBody: any;\r\n\tlogType: string = \"encrypt_policy_search\";\r\n\r\n\t// csv 다운로드를 위한 필수 파라미터\r\n\tparam : Object = {\r\n\t\tlogType: null,\r\n\t\tstartDate: null,\r\n\t\tendDate: null,\r\n\t\tsearchType: null,\r\n\t\tsearchValue: null\r\n\t};\r\n\r\n\tcolumns: any[] = [];\r\n\r\n\tsearchOptions: any[] = [];\r\n\tsubSearchOptions: any[] = [];\r\n\r\n\t// 서브항목\r\n\tsaveEncryptOpt: any[] =  [];       // 암호화 시점\r\n\tapplyOpt: any[] = [];              // 적용/미적용\r\n\tendWindowCheckboxOpt: any[] = [];  // 작업 종료 시 창 표시안함 체크박스\r\n\tlogoutMenuOpt: any[] = [];         // 로그아웃 메뉴 제어\r\n\tunInstallOpt: any[] = [];          // 프로그램 삭제 허용\r\n\r\n\r\n\t// 메인항목\r\n\tencPolicyOpt: any[] = [];      // 기본 암호화 정책\r\n\tcategoryAuthOpt: any[] = [];   // 범주 강제 권한\r\n\tprofilePolicyOpt: any[] = [];  // 프로파일 정책\r\n\tcustomPolicyOpt: any[] = [];   // 커스텀 정책\r\n\r\n\t// 컬럼목록\r\n\tencPolicyColumn: any[] = [];      // 기본 암호화 정책\r\n\tcategoryAuthColumn: any[] = [];   // 범주 강제 정책\r\n\tprofilePolicyColumn: any[] = [];  // 프로파일 정책\r\n\tcustomPolicyColumn: any[] = [];   // 커스텀 정책\r\n\r\n\toptionType: string = null;\r\n\r\n\t// 생성자 권한 체크박스\r\n\townerAuth = {\r\n\t\tds2007_o: false, // 읽기(허용)\r\n\t\tds2008_o: false, // 편집\r\n\t\tds2010_o: false, // 해제\r\n\t\tds2009_o: false, // 반출\r\n\t\tds2011_o: false, // 출력\r\n\t\tds2012_o: false, // 마킹\r\n\t\tds2013_o: false, // 권한변경\r\n\r\n\t\tds2007_x: false, // 읽기(차단)\r\n\t\tds2008_x: false, // 편집\r\n\t\tds2010_x: false, // 해제\r\n\t\tds2009_x: false, // 반출\r\n\t\tds2011_x: false, // 출력\r\n\t\tds2012_x: false, // 마킹\r\n\t\tds2013_x: false // 권한변경\r\n\t}\r\n\r\n\tsearchObj: Object = {\r\n\t\tvalue: 'none',\r\n\t\tkeyword: null\r\n\t};\r\n\r\n\tcsvData: Object;\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, private modalService: NgbModal, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.activeTab = 'encryptPolicy';\r\n\t\tthis.global.getUrl().then(res => {this.appurl = res});\r\n\r\n\t\tthis.initData();\r\n\r\n\t\t// 기본값 세팅 (기본 암호화 정책)\r\n\t\tthis.searchOptions = this.encPolicyOpt;\r\n\t\tthis.columns = this.encPolicyColumn;\r\n\t}\r\n\r\n\tinitData() {\r\n\t\tlet arrayLangs = [\r\n\t\t\t\"searchPolicy.modal.ts.1001\", // 문서 편집기 종료 시\r\n\t\t\t\"searchPolicy.modal.ts.1002\", // 문서편집기 저장시 (MS 오피스만 지원)\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1003\", // 적용\r\n\t\t\t\"searchPolicy.modal.ts.1004\", // 미적용\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1005\", // 비활성화\r\n\t\t\t\"searchPolicy.modal.ts.1006\", // 활성화\r\n\t\t\t\"searchPolicy.modal.ts.1007\", // 감춤\r\n\t\t\t\"searchPolicy.modal.ts.1008\", // 비활성화(체크)\r\n\t\t\t\"searchPolicy.modal.ts.1009\", // 비활성화(언체크)\r\n\t\t\t\"searchPolicy.modal.ts.1010\", // 감춤(체크)\r\n\t\t\t\"searchPolicy.modal.ts.1011\", // 감춤(언체크)\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1012\", // 조회 항목\r\n\t\t\t\"searchPolicy.modal.ts.1013\", // 부서명\r\n\t\t\t\"searchPolicy.modal.ts.1014\", // 사용자 이름\r\n\t\t\t\"searchPolicy.modal.ts.1015\", // 사용자 ID\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1016\", // 암호화 시점\r\n\t\t\t\"searchPolicy.modal.ts.1017\", // 단순 암호화 사용\r\n\t\t\t\"searchPolicy.modal.ts.1018\", // 폴더 내 파일 암호화\r\n\t\t\t\"searchPolicy.modal.ts.1019\", // 작업 종료 시 창 표시 안함 체크박스\r\n\t\t\t\"searchPolicy.modal.ts.1020\", // MAC 문서 오픈 시 생성자 권한 무시\r\n\t\t\t\"searchPolicy.modal.ts.1021\", // DAC 문서 오픈 시 생성자 권한 적용\r\n\t\t\t\"searchPolicy.modal.ts.1022\", // 생성자 권한\r\n\t\t\t\"searchPolicy.modal.ts.1023\", // 암호화 가능 범주명\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1024\", // 범주명\r\n\t\t\t\"searchPolicy.modal.ts.1025\", // 범주 아이디\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1078\", // 구분\r\n\t\t\t\"searchPolicy.modal.ts.1026\", // 아이디\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1027\", // 암호화 시점\r\n\t\t\t\"searchPolicy.modal.ts.1028\", // 단순 암호화 사용\r\n\t\t\t\"searchPolicy.modal.ts.1029\", // 폴더 내 파일 암호화\r\n\t\t\t\"searchPolicy.modal.ts.1030\", // 작업 종료 시 창 표시 안함\r\n\t\t\t\"searchPolicy.modal.ts.1031\", // MAC 문서 오픈 시<br>생성자 권한 무시\r\n\t\t\t\"searchPolicy.modal.ts.1032\", // DAC 문서 오픈 시<br>생성자 권한 적용\r\n\t\t\t\"searchPolicy.modal.ts.1033\", // 생성자<br>읽기\r\n\t\t\t\"searchPolicy.modal.ts.1034\", // 생성자<br>편집\r\n\t\t\t\"searchPolicy.modal.ts.1035\", // 생성자<br>해제\r\n\t\t\t\"searchPolicy.modal.ts.1036\", // 생성자<br>반출\r\n\t\t\t\"searchPolicy.modal.ts.1037\", // 생성자<br>출력\r\n\t\t\t\"searchPolicy.modal.ts.1038\", // 생성자<br>마킹\r\n\t\t\t\"searchPolicy.modal.ts.1039\", // 생성자<br>권한변경\r\n\t\t\t\"searchPolicy.modal.ts.1040\", // 암호화 가능 범주\r\n\r\n\t\t\t\"searchPolicy.modal.ts.1041\", // 권한 유효 기간\r\n\t\t\t\"searchPolicy.modal.ts.1042\", // 온라인<br>읽기\r\n\t\t\t\"searchPolicy.modal.ts.1043\", // 온라인<br>읽기 횟수\r\n\t\t\t\"searchPolicy.modal.ts.1044\", // 온라인<br>편집\r\n\t\t\t\"searchPolicy.modal.ts.1045\", // 온라인<br>해제\r\n\t\t\t\"searchPolicy.modal.ts.1046\", // 온라인<br>반출\r\n\t\t\t\"searchPolicy.modal.ts.1047\", // 온라인<br>출력\r\n\t\t\t\"searchPolicy.modal.ts.1048\", // 온라인<br>출력 횟수\r\n\t\t\t\"searchPolicy.modal.ts.1049\", // 온라인<br>마킹\r\n\t\t\t\"searchPolicy.modal.ts.1050\", // 온라인<br>유효기간\r\n\t\t\t\"searchPolicy.modal.ts.1051\", // 온라인<br>자동파기\r\n\t\t\t\"searchPolicy.modal.ts.1052\", // 온라인<br>권한변경\r\n\t\t\t\"searchPolicy.modal.ts.1053\", // 오프라인<br>읽기\r\n\t\t\t\"searchPolicy.modal.ts.1054\", // 오프라인<br>읽기 횟수\r\n\t\t\t\"searchPolicy.modal.ts.1055\", // 오프라인<br>편집\r\n\t\t\t\"searchPolicy.modal.ts.1056\", // 오프라인<br>해제\r\n\t\t\t\"searchPolicy.modal.ts.1057\", // 오프라인<br>반출\r\n\t\t\t\"searchPolicy.modal.ts.1058\", // 오프라인<br>출력\r\n\t\t\t\"searchPolicy.modal.ts.1059\", // 오프라인<br>출력 횟수\r\n\t\t\t\"searchPolicy.modal.ts.1060\", // 오프라인<br>마킹\r\n\t\t\t\"searchPolicy.modal.ts.1061\", // 오프라인<br>유효기간\r\n\t\t\t\"searchPolicy.modal.ts.1062\", // 오프라인<br>자동파기\r\n\t\t\t\"searchPolicy.modal.ts.1063\", // 오프라인<br>권한변경\r\n\t\t\t\"searchPolicy.modal.ts.1080\", //로그아웃 메뉴 제어\r\n\t\t\t\"searchPolicy.modal.ts.1081\", //프로그램 삭제 허용\r\n\t\t\t\"searchPolicy.modal.ts.1082\", // 활성화\r\n\t\t\t\"searchPolicy.modal.ts.1083\", // 감춤\r\n\t\t\t\"searchPolicy.modal.ts.1084\", // 비활성화\r\n\t\t\t\"searchPolicy.modal.ts.1085\", // 미허용\r\n\t\t\t\"searchPolicy.modal.ts.1086\", // 허용\r\n\t\t\t\"searchPolicy.modal.ts.1087\", // 커스텀 정책 아이디\r\n\t\t\t\"searchPolicy.modal.ts.1088\", // 커스텀 정책명\r\n\t\t\t\"searchPolicy.modal.ts.1089\", // 정책 값\r\n\t\t\t\"searchPolicy.modal.ts.1090\", // 사용여부\r\n\t\t]\r\n\r\n\t\tthis.translate.get(arrayLangs).subscribe((res: string) => {\r\n\r\n\t\t\t// 서브항목\r\n\t\t\tthis.saveEncryptOpt = [\r\n\t\t\t\t{name: res[\"searchPolicy.modal.ts.1001\"], value: 0},\r\n\t\t\t\t{name: res[\"searchPolicy.modal.ts.1002\"], value: 1},\r\n\t\t\t];\r\n\r\n\t\t\tthis.applyOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1003\"], value: 0},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1004\"], value: 1},\r\n\t\t\t];\r\n\r\n\t\t\tthis.endWindowCheckboxOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1005\"], value: 0},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1006\"], value: 1},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1007\"], value: 2},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1008\"], value: 3},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1009\"], value: 4},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1010\"], value: 5},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1011\"], value: 6},\r\n\t\t\t]\r\n\r\n\t\t\tthis.logoutMenuOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1082\"], value: 0},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1083\"], value: 1},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1084\"], value: 2},\r\n\t\t\t]\r\n\r\n\t\t\tthis.unInstallOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1085\"], value: 0},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1086\"], value: 1},\r\n\t\t\t]\r\n\r\n\t\t\t// 메인항목\r\n\t\t\tthis.encPolicyOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1012\"], value: \"\", type: null, code: \"none\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], value: \"\", type: null, code: \"4\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], value: \"\", type: null, code: \"3\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1015\"], value: \"\", type: null, code: \"1\"},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1016\"], value: this.saveEncryptOpt, type: \"select\", code: \"1507\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1017\"], value: this.applyOpt, type: \"select\", code: \"2003\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1018\"], value: this.applyOpt, type: \"select\", code: \"1506\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1019\"], value: this.endWindowCheckboxOpt, type: \"select\", code: \"1511\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1020\"], value: this.applyOpt, type: \"select\", code: \"2004\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1021\"], value: this.applyOpt, type: \"select\", code: \"2061\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1022\"], value: \"\", type: \"checkbox\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1023\"], value: \"\", type: null, code: \"30495\"},\r\n\t\t\t];\r\n\r\n\t\t\tthis.categoryAuthOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1012\"], value: \"\", type: null, code: \"none\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], value: \"\", type: null, code: \"4\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], value: \"\", type: null, code: \"3\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1015\"], value: \"\", type: null, code: \"1\"},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1024\"], value: \"\", type: null, code: \"112\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1025\"], value: \"\", type: null, code: \"105\"},\r\n\t\t\t];\r\n\r\n\t\t\tthis.profilePolicyOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1012\"], value: \"\", type: null, code: \"none\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], value: \"\", type: null, code: \"4\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], value: \"\", type: null, code: \"3\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1015\"], value: \"\", type: null, code: \"1\"},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1080\"], value: this.logoutMenuOpt, type: \"select\", code: \"2190\"},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1081\"], value: this.unInstallOpt, type: \"select\", code: \"275\"},\r\n\t\t\t];\r\n\r\n\t\t\tthis.customPolicyOpt = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1087\"], value: \"\", type: null, code: \"4092\"},\r\n\t\t\t];\r\n\r\n\r\n\t\t\t// 컬럼 목록\r\n\t\t\tthis.encPolicyColumn = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1078\"], prop: \"3013\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], prop: \"4\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], prop: \"3\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1026\"], prop: \"3014\", width: 170},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1027\"], prop: \"1507\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1028\"], prop: \"2003\", width: 150},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1029\"], prop: \"1506\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1030\"], prop: \"1511\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1031\"], prop: \"2004\", width: 150},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1032\"], prop: \"2061\", width: 150},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1033\"], prop: \"2007\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1034\"], prop: \"2008\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1035\"], prop: \"2010\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1036\"], prop: \"2009\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1037\"], prop: \"2011\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1038\"], prop: \"2012\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1039\"], prop: \"2013\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1040\"], prop: \"30495\", width: 150},\r\n\t\t\t];\r\n\r\n\t\t\tthis.categoryAuthColumn = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1078\"], prop: \"3013\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], prop: \"4\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], prop: \"3\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1026\"], prop: \"3014\", width: 170},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1024\"], prop: \"112\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1025\"], prop: \"105\", width: 150},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1041\"], prop: \"2124\", width: 150},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1042\"], prop: \"210\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1043\"], prop: \"107\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1044\"], prop: \"211\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1045\"], prop: \"212\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1046\"], prop: \"213\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1047\"], prop: \"214\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1048\"], prop: \"108\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1049\"], prop: \"215\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1050\"], prop: \"109\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1051\"], prop: \"217\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1052\"], prop: \"218\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1053\"], prop: \"3079\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1054\"], prop: \"3080\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1055\"], prop: \"3081\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1056\"], prop: \"3082\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1057\"], prop: \"3083\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1058\"], prop: \"3084\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1059\"], prop: \"3085\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1060\"], prop: \"3086\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1061\"], prop: \"3089\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1062\"], prop: \"3087\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1063\"], prop: \"3088\", width: 100},\r\n\t\t\t];\r\n\r\n\t\t\tthis.profilePolicyColumn = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1078\"], prop: \"3013\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], prop: \"4\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], prop: \"3\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1026\"], prop: \"3014\", width: 170},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1080\"], prop: \"2190\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1081\"], prop: \"275\", width: 200},\r\n\t\t\t];\r\n\r\n\t\t\tthis.customPolicyColumn = [\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1078\"], prop: \"3013\", width: 100},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1013\"], prop: \"4\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1014\"], prop: \"3\", width: 160},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1026\"], prop: \"3014\", width: 170},\r\n\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1087\"], prop: \"4092\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1088\"], prop: \"4128\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1089\"], prop: \"4132\", width: 200},\r\n\t\t\t\t{ name: res[\"searchPolicy.modal.ts.1090\"], prop: \"4129\", width: 200},\r\n\t\t\t];\r\n\t\t});\r\n\t\tthis.showTable = false;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.showTable = true;\r\n\t\t\tthis.onSearch();\r\n\t\t},  1);\r\n\t}\r\n\r\n\r\n\t// 열려있는 탭 정보 저장\r\n\topenTab(tabName) {\r\n\t\tthis.activeTab = tabName;\r\n\t\tsessionStorage.setItem('subTabPanel', JSON.stringify(tabName));\r\n\r\n\t\tthis.onReset();\r\n\r\n\t\tif(tabName === 'encryptPolicy'){\r\n\t\t\tthis.searchOptions = this.encPolicyOpt;\r\n\t\t\tthis.columns = this.encPolicyColumn;\r\n\t\t\tthis.logType = \"encrypt_policy_search\";\r\n\r\n\t\t}else if(tabName === 'categoryAuth') {\r\n\t\t\tthis.searchOptions = this.categoryAuthOpt;\r\n\t\t\tthis.columns = this.categoryAuthColumn;\r\n\t\t\tthis.logType = \"category_auth_search\";\r\n\r\n\t\t}else if(tabName === 'profilePolicy'){\r\n\t\t\tthis.searchOptions = this.profilePolicyOpt;\r\n\t\t\tthis.columns = this.profilePolicyColumn;\r\n\t\t\tthis.logType = \"profile_policy_search\";\r\n\r\n\t\t}else if(tabName === 'customPolicy'){\r\n\t\t\tthis.searchOptions = this.customPolicyOpt;\r\n\t\t\tthis.columns = this.customPolicyColumn;\r\n\t\t\tthis.logType = \"custom_policy_search\";\r\n\r\n\t\t\tthis.searchObj['value'] = '4092';\r\n\t\t}\r\n\t\tthis.rows = [];\r\n\t\tthis.showTable = false;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.showTable = true;\r\n\t\t\tthis.onSearch();\r\n\t\t},  1);\r\n\t}\r\n\t// 열려있는 탭 css 하이라이트 처리\r\n\thighlightTab(tabName) {\r\n\r\n\t\tif(this.activeTab == tabName) {\r\n\t\t\treturn {\r\n\t\t\t\t'active': true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 페이징 숫자 클릭시 데이터 로딩\r\n\tpageinate(offset, limit) {\r\n\t\tlet start = offset * limit;\r\n\t\tlet end = start + limit;\r\n\r\n\t\tlet clone = this.global.clone(this.orgRows);\r\n\r\n\t\tclone.startRow = start +1;\r\n\t\tclone.endRow = end;\r\n\r\n\t\tlet slicedData = clone.slice(start, end);\r\n\t\tthis.rows = slicedData;\r\n\r\n\t\tthis.showTable = false;\r\n\t\tsetTimeout(()=>{\r\n\t\t\tthis.showTable = true;\r\n\t\t})\r\n\t}\r\n\r\n\tchangeMainSelect() {\r\n\t\tlet findObj = this.searchOptions.find(item => item.code === this.searchObj['value']);\r\n\t\tif(findObj != undefined) {\r\n\t\t\tthis.optionType = findObj.type;\r\n\t\t\tif (findObj.type == 'select') {\r\n\t\t\t\tthis.subSearchOptions = findObj.value;\r\n\t\t\t\tthis.searchObj['keyword'] = this.subSearchOptions[0].value; // 서브항목 초기값 세팅\r\n\t\t\t\tthis.onSearch();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// else{\r\n\t\t\t// \tthis.searchObj['keyword'] = null;\r\n\t\t\t// \tthis.onSearch();\r\n\t\t\t// \treturn;\r\n\t\t\t// }\r\n\t\t} else {\r\n\t\t\tthis.optionType = null;\r\n\t\t}\r\n\r\n\t\tthis.searchObj['keyword'] = null;\r\n\t}\r\n\r\n\r\n\t// 조회버튼\r\n\tonSearch(): void {\r\n\t\tconsole.log(\"activeTab : \" + this.activeTab);\r\n\t\tthis.showTable = false;\r\n\t\t// 공통 파라미터\r\n\t\t// let ds3013 = this.tree['type'] == 1 ? 'G' : 'U';\r\n\t\tlet ds3013 = this.tree['id'].indexOf(\"person-\") == -1 ? \"G\" : \"U\";\r\n\t\tlet ds3014 = this.tree['id'].replace('person-', '');\r\n\r\n\t\tlet reqId;\r\n\t\tlet reqObj = {\r\n\t\t\t\"3013\": ds3013,\r\n\t\t\t\"3014\": ds3014\r\n\t\t};\r\n\r\n\t\t// 기본 암호화 정책\r\n\t\tif (this.activeTab === 'encryptPolicy') {\r\n\t\t\treqId = \"20013\";\r\n\r\n\t\t// 범주 강제 권한\r\n\t\t} else if(this.activeTab === 'categoryAuth') {\r\n\t\t\treqId = \"20014\";\r\n\r\n\t\t// 프로파일 정책\r\n\t\t} else if(this.activeTab === 'profilePolicy') {\r\n\t\t\treqId = \"20015\";\r\n\r\n\t\t// 커스텀 정책\r\n\t\t} else if(this.activeTab === 'customPolicy') {\r\n\t\t\treqId = \"20016\";\r\n\t\t}\r\n\r\n\t\tlet findObj = this.searchOptions.find(item => item.code === this.searchObj['value']);\r\n\t\tlet dmtCode = findObj['code'];\r\n\t\tif(dmtCode != 'none') {\r\n\t\t\tif (findObj['type'] === null) {\r\n\t\t\t\treqObj[dmtCode] = this.searchObj['keyword'];\r\n\r\n\t\t\t} else if (findObj['type'] === 'select') {\r\n\t\t\t\treqObj[dmtCode] = this.searchObj['keyword'];\r\n\r\n\t\t\t} else if (findObj['type'] === 'checkbox') {\r\n\t\t\t\t// true 항목만 조회\r\n\t\t\t\tlet trueKeys = Object.keys(this.ownerAuth).filter(key => this.ownerAuth[key]);\r\n\t\t\t\tfor (let key of trueKeys) {\r\n\t\t\t\t\tconst matches = key.match(/^ds(\\d+)_(o|x)$/);\r\n\t\t\t\t\tif (matches) {\r\n\t\t\t\t\t\tconst dmtKey = matches[1];\r\n\t\t\t\t\t\tif(reqObj.hasOwnProperty(dmtKey)){\r\n\t\t\t\t\t\t\tdelete reqObj[dmtKey]; // 이미 있는 경우 dmtKey 제거\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tconst value = matches[2] === 'o' ? \"1\" : \"0\";\r\n\t\t\t\t\t\t\treqObj[dmtKey] = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.reqBody = {\r\n\t\t\t\"reqId\" : reqId,\r\n\t\t\t\"reqParams\" : [\r\n\t\t\t\treqObj\r\n\t\t\t]\r\n\t\t};\r\n\r\n\t\t// DMT 호출\r\n\t\tthis.global.commonCommunication(this.appurl, this.reqBody).then(body => {\r\n\r\n\t\t\tif(body.length > 1 && body[0] && body[0].sucess == 0) {\r\n\t\t\t\tlet resBody = body[1].resultParams;\r\n\r\n\t\t\t\tresBody = resBody.map(row => {\r\n\t\t\t\t\tObject.keys(row).forEach(key => {\r\n\r\n\t\t\t\t\t\tif(key == \"3013\") {\r\n\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1064\" : \"그룹\"\r\n\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1065\" : \"사용자\"\r\n\t\t\t\t\t\t\trow[key] = (row[key] == \"G\") ? this.translate.get('searchPolicy.modal.ts.1064')['value'] : this.translate.get('searchPolicy.modal.ts.1065')['value'];\r\n\r\n\t\t\t\t\t\t}else if(key == \"1507\") {\r\n\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1001\" : \"문서 편집기 종료 시\"\r\n\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1002\" : \"문서편집기 저장시 (MS 오피스만 지원)\"\r\n\t\t\t\t\t\t\trow[key] = (row[key] == \"0\") ? this.translate.get('searchPolicy.modal.ts.1001')['value'] : this.translate.get('searchPolicy.modal.ts.1002')['value'];\r\n\r\n\t\t\t\t\t\t}else if(key == \"217\" || key == \"3087\") {\r\n\t\t\t\t\t\t\tswitch (row[key]) {\r\n\t\t\t\t\t\t\t\tcase \"1\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1066\" : \"읽기 횟수 경과 후\",\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1066')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"2\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1079\" : \"출력 횟수 경과 후\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1079')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"3\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1067\" : \"읽기, 출력 횟수 경과 후\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1067')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"4\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1068\" : \"유효기간 경과 후\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1068')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"5\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1069\" : \"읽기, 유효기간 경과 후\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1069')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"6\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1070\" : \"출력, 유효기간 경과 후\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1070')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}else if (key == \"2003\" || key == \"1506\" || key == \"2004\" || key == \"2061\"){\r\n\t\t\t\t\t\t\trow[key] = (row[key] == \"0\") ? \"O\" : \"X\";\r\n\r\n\t\t\t\t\t\t}else if (\r\n\t\t\t\t\t\t\tkey == \"2007\" || key == \"2008\" || key == \"2010\" || key == \"2009\" || key == \"2011\" || key == \"2012\" || key == \"2013\" || // 기본 암호화 정책\r\n\t\t\t\t\t\t\tkey == \"210\" || key == \"211\" || key == \"212\" || key == \"213\" || key == \"214\" || key == \"215\" || key == \"218\" ||  // 범주 강제 권한\r\n\t\t\t\t\t\t\tkey == \"3079\" || key == \"3081\" || key == \"3082\" || key == \"3083\" || key == \"3084\" || key == \"3086\" || key == \"3088\" ||\r\n\t\t\t\t\t\t\tkey == \"275\" || // 프로파일 정책\r\n\t\t\t\t\t\t\tkey == \"4129\"  // 커스텀 정책\r\n\t\t\t\t\t\t ){\r\n\t\t\t\t\t\t\trow[key] = (row[key] == \"1\") ? \"O\" : \"X\";\r\n\r\n\t\t\t\t\t\t}else if(key == \"1511\") {\r\n\t\t\t\t\t\t\tswitch (row[key]){\r\n\t\t\t\t\t\t\t\tcase \"0\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1071\" : \"비활성화\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1071')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"1\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1072\" : \"활성화\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1072')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"2\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1073\" : \"감춤\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1073')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"3\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1074\" : \"비활성화(체크)\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1074')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"4\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1075\" : \"비활성화(언체크)\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1075')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"5\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1076\" : \"감춤(체크)\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1076')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"6\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1077\" : \"감춤(언체크)\"\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1077')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault :\r\n\t\t\t\t\t\t\t\t\trow[key] = \"\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if(key == \"2190\") {\r\n\t\t\t\t\t\t\tswitch (row[key]) {\r\n\t\t\t\t\t\t\t\tcase \"0\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1082\" : \"활성화\",\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1082')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"1\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1083\" : \"감춤\",\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1083')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase \"2\" :\r\n\t\t\t\t\t\t\t\t\t// \"searchPolicy.modal.ts.1084\" : \"비활성화\",\r\n\t\t\t\t\t\t\t\t\trow[key] = this.translate.get('searchPolicy.modal.ts.1084')['value'];\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn row;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.orgRows = resBody;\r\n\r\n\t\t\t} else {\r\n\t\t\t\tthis.orgRows = [];\r\n\t\t\t}\r\n\r\n\t\t\tthis.totalCnt = this.orgRows.length;\r\n\t\t\tthis.count = this.totalCnt;\r\n\r\n\t\t\tthis.page = 1;\r\n\t\t\tthis.pageinate(0, this.perPage);\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t\t\r\n\t\tsetTimeout(()=>{\r\n\t\t\tthis.showTable = true;\r\n\t\t})\r\n\t}\r\n\r\n\t// 초기화 버튼\r\n\tonReset(): void {\r\n\t\tthis.ownerAuth = {\r\n\t\t\tds2007_o: false, // 읽기(허용)\r\n\t\t\tds2008_o: false, // 편집\r\n\t\t\tds2010_o: false, // 해제\r\n\t\t\tds2009_o: false, // 반출\r\n\t\t\tds2011_o: false, // 출력\r\n\t\t\tds2012_o: false, // 마킹\r\n\t\t\tds2013_o: false, // 권한변경\r\n\r\n\t\t\tds2007_x: false, // 읽기(차단)\r\n\t\t\tds2008_x: false, // 편집\r\n\t\t\tds2010_x: false, // 해제\r\n\t\t\tds2009_x: false, // 반출\r\n\t\t\tds2011_x: false, // 출력\r\n\t\t\tds2012_x: false, // 마킹\r\n\t\t\tds2013_x: false // 권한변경\r\n\t\t}\r\n\r\n\t\tif(this.activeTab == 'customPolicy')\r\n\t\t\tthis.searchObj['value'] = '4092';\r\n\t\telse\r\n\t\t\tthis.searchObj['value'] = 'none';\r\n\r\n\t\tthis.searchObj['keyword'] = null;\r\n\t\tthis.changeMainSelect();\r\n\t}\r\n\r\n\t// csv 다운로드 시 다운로드 모달 열림.\r\n\topen() {\r\n\r\n\t\tlet userLang = navigator.language;\r\n\t\tthis.param['logType'] = this.logType;\r\n\t\tthis.param['startDate'] = '0000-00-00';\r\n\t\tthis.param['endDate'] = '1999-01-01';\r\n\t\tthis.param['searchValue'] = JSON.stringify(this.reqBody);\r\n\r\n\t\tif(userLang.substring(0,2) === 'ko' || userLang.substring(0,2) === 'ja')\r\n\t\t\tthis.param['currentLang'] = userLang;\r\n\t\telse\r\n\t\t\tthis.param['currentLang'] = 'en';\r\n\r\n\t\tconst modalRef = this.modalService.open(ProgressCsvModalComponent, {backdrop: 'static'});\r\n\t\tlet logUrl = this.appurl.replace(\"/sciserver/api\",\"\");\r\n\t\tmodalRef.componentInstance.data = {'data': this.param, 'url': `${logUrl}/esapi`};\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result) {}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t// 세션 아웃 시 모달 생성\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/search-policy-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { AdminurlOverlapModalComponent } from './adminurloverlap-modal.component';\r\nimport { HandleError } from '../modal/handle-error.component';\r\nimport { AlarmModal } from 'app/modal/alarm.component';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n\tselector: 'adminurladd-modal-content',\r\n\ttemplateUrl: './adminurladd-modal.component.html',\r\n    providers: [ GlobalService ]\r\n})\r\n\r\nexport class AdminUrlAddModalComponent implements OnInit {\r\n    @Input() data;\r\n    @Input() appData;\r\n    @Input() urlRows;\r\n    @Input() opt;\r\n\t@Input() headers;\r\n\t@Input() appurl;\r\n    @Input() userOpt;\r\n\r\n    closeResult: string;\r\n\tprivate datatable: any[];\r\n\tcurrentUser: string;\r\n\turladdForm: FormGroup;\r\n    urlOldRows: any[] =[];\r\n\tapp: Object = {\r\n\t\tds30018:'',     //정책아이디\r\n\t\tds30019:'',     //정책이름\r\n\t\tds30020:'',     //타입\r\n\t\tds30078:'',     //대표 URL\r\n\t\tds30022:'',     //등록 URL개수\r\n\t\tds30074:'',     //시스템명\r\n \t\tds30075:'',     //등록/수정자\r\n\t\tds30081:'',     //요청자\r\n\t\tds30076:'',     //요청자 소속\r\n\t\tds30077:'',     //등록일\r\n\t\tds30079:'',     //등록사유\r\n\t\tds30080:'',     //보안 URL 설명 \r\n        ds30084:'',     //등록자 \r\n        ds30075Type:'', //상위정책\r\n        ds30456:'',     //문서보안 예외처리DLL\r\n\t}\r\n    rowObject: Object = {\r\n        ds30021:'', //URL이름\r\n        ds30022:'', //URL주소\r\n        ds30023:'', //URl설명\r\n        ds30024:'', //URLDetail\r\n        ds30083:'', //IP범휘 시작\r\n        ds30082:'', //IP범위 종료\r\n        ds30081:'', //시스템명\r\n        ds30084:'', //등록자\r\n        ds30085:'', //등록사유\r\n        ds30086:'', //등록일\r\n        ds30087:'', //요청자 소속\r\n        ds30088:'', //요청자\r\n        ds30106:'', //보안URL 인덱스 번호\r\n\r\n        /*    새로추가된 정보     */\r\n        ds30458:false,\t\t//인쇄허용\t\t\t\t\t\t   check\r\n        ds30459:false,\t\t//프린트 마킹 예외여부\t\t\t\tcheck\r\n        ds30460:false,\t\t//화면(캡처)허용\t\t\t\t    check\r\n        ds30469:true,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n        ds30461:'',\t\t\t//암호화 대상 확장자\t\t\t\ttext\r\n        ds30462:'',\t\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n        ds30463:'0',\t\t//암호화 방식\t\t\t\t\t\tradio\r\n        ds30464:'',\t\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n        ds30464encryptList:'',  //암호화방식 MAC\r\n        ds30464docList:'',      //암호화방식 GRADE\r\n        ds30470:true,\t\t//업로드 제어\t\t\t\t\t\tcheck\r\n        ds30465:'3',\t\t//보안문서 업로드 시 복호화\t\t     select\r\n\r\n        ds30466:true,\t\t//업로드 제어\t\t\t\t\t\tcheck\r\n        ds30467:true,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n        ds30468:''\t\t\t//예외 확장자\t\t\t\t\t\ttext\r\n\t}\r\n\r\n\r\n    privateOj: Object = {\r\n\t\tprivate:false,  //DAC-개인\r\n\t\tprivate1:false, //읽기\r\n\t\tprivate2:false, //편집\r\n\t\tprivate3:false, //해제\r\n\t\tprivate4:false, //반출\r\n\t\tprivate5:false, //인쇄\r\n        private6:false, //마킹\r\n\t\tprivate7:false, //권한변경\r\n\t}\r\n\r\n    usergroupOj: Object = {\r\n\t\tusergroup:false,  //DAC-상위\r\n\t\tusergroup1:false, //읽기\r\n\t\tusergroup2:false, //편집\r\n\t\tusergroup3:false, //해제\r\n\t\tusergroup4:false, //반출\r\n\t\tusergroup5:false, //인쇄\r\n        usergroup6:false, //마킹\r\n\t\tusergroup7:false, //권한변경\r\n\t}\r\n\r\n    topgroupOj: Object = {\r\n\t\ttopgroup:false,  //DAC-최상위\r\n\t\ttopgroup1:false, //읽기\r\n\t\ttopgroup2:false, //편집\r\n\t\ttopgroup3:false, //해제\r\n\t\ttopgroup4:false, //반출\r\n\t\ttopgroup5:false, //인쇄\r\n        topgroup6:false, //마킹\r\n\t\ttopgroup7:false, //권한변경\r\n\t}\r\n\r\n    processColumns: any[] = [\r\n\t\t{ name: \"\", prop: \"processname\" },\r\n\t\t{ name: \"\", prop: \"name\" },\r\n\t];\r\n\r\n    processRows: any[] =[];\r\n\t\r\n\tsetReadOnly: boolean;\r\n    setUsetReadOnly: boolean;\r\n\r\n    formData: Object;\r\n    urlRadioTypeUrl : boolean;\r\n    urlRadioTypeIp : boolean;\r\n\r\n    //등급 정책리스트 \r\n    docList: any[];\r\n    //범주 정책리스트\r\n    encryptList:any[];\r\n\r\n    urlRadioType : String;\r\n\r\n    constructor(private fb: FormBuilder, private http: Http, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ,private modalService: NgbModal) {\r\n//        this.global.setTranslate(translate);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        //폼 초기화\r\n\t\tthis.urladdForm = this.fb.group({\r\n            'ds30018':'',     //정책아이디\r\n            'ds30019':'',     //정책이름\r\n            'ds30020':'',     //타입\r\n            'ds30078':'',     //대표 URL\r\n            'ds30022':'',     //등록 URL개수\r\n            'ds30074':'',     //시스템명\r\n            'ds30075':'',     //등록/수정자\r\n            'ds30081':'',     //요청자\r\n            'ds30076':'',     //요청자 소속\r\n            'ds30077':'',     //등록일\r\n            'ds30079':'',     //등록사유\r\n            'ds30080':'',     //보안 URL 설명 \r\n            'ds30084':'',     //등록자 \r\n            'ds30075Type':'',\r\n            'ds30456': '',\r\n            'ds30458':'',\t\t    //인쇄허용\t\t\t\t\t\t   check\r\n            'ds30459':'',\t\t    //프린트 마킹 예외여부\t\t\t\tcheck\r\n            'ds30460':'',\t\t    //화면(캡처)허용\t\t\t\t    check\r\n            'ds30469':'',\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30461':'',\t\t\t//암호화 대상 확장자\t\t\t\ttext\r\n            'ds30462':'',\t\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n            'ds30463':'',\t\t    //암호화 방식\t\t\t\t\t\tradio\r\n            'ds30464':'',\t\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n            'ds30464encryptList':'',//암호화방식 MAC\r\n            'ds30464docList':'',    //암호화방식 GRADE\r\n            'ds30470':'',\t\t    //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30465':'',\t\t    //보안문서 업로드 시 복호화\t\t     select\r\n\r\n            'ds30466':'',\t\t    //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30467':'',\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30468':'',\t\t\t//예외 확장자\t\t\t\t\t\ttext\r\n\r\n\r\n            'ds30021':'', //URL이름\r\n            //'ds30022':'', //URL주소\r\n            'ds30023':'', //URl설명\r\n            'ds30024':'', //URLDetail\r\n            'ds30083':'', //IP범휘 시작\r\n            'ds30082':'', //IP범위 종료\r\n            'ds30085':'', //등록사유\r\n            'ds30086':'', //등록일\r\n            'ds30087':'', //요청자 소속\r\n            'ds30088':'', //요청자\r\n            'ds30106':'', //보안URL 인덱스 번호\r\n\r\n            'urlRadioType':[],\r\n\r\n            'urlRadioTypeUrl' : '',\r\n            'urlRadioTypeIp' : '',\r\n\r\n            'private' :'',  //DAC-개인\r\n            'private1':'', //읽기\r\n            'private2':'', //편집\r\n            'private3':'', //해제\r\n            'private4':'', //반출\r\n            'private5':'', //인쇄\r\n            'private6':'', //마킹\r\n            'private7':'', //권한변경\r\n    \r\n            'usergroup' :'',  //DAC-상위\r\n            'usergroup1':'', //읽기\r\n            'usergroup2':'', //편집\r\n            'usergroup3':'', //해제\r\n            'usergroup4':'', //반출\r\n            'usergroup5':'', //인쇄\r\n            'usergroup6':'', //마킹\r\n            'usergroup7':'', //권한변경\r\n        \r\n            'topgroup' :'',  //DAC-최상위\r\n            'topgroup1':'', //읽기\r\n            'topgroup2':'', //편집\r\n            'topgroup3':'', //해제\r\n            'topgroup4':'', //반출\r\n            'topgroup5':'', //인쇄\r\n            'topgroup6':'', //마킹\r\n            'topgroup7':'', //권한변경\r\n\t\t});\r\n\r\n          //암호화 범주,암호화 등급 조회\r\n          this.initCustomList();\r\n          //폼리셋\r\n          this.formReset();\r\n\r\n        //존재여부 체크\r\n        this.urlOldRows = this.urlRows;\r\n        //템플릿 수정화면\r\n          if(this.opt === 'edit') {\r\n\t\t\tlet res = this.data[0];\r\n            let urlRows = this.urlRows;\r\n            let appObject= this.appData;\r\n\r\n            this.app['ds30018'] = appObject['ds30018'],\r\n            this.app['ds30019'] = appObject['ds30019'],\r\n            this.app['ds30077'] = res['ds30085'],\r\n            this.app['ds30080'] = res['ds30088'],\r\n            this.app['ds30079'] = res['ds30087'],\r\n            this.app['ds30076'] = res['ds30084']\r\n\r\n\t\t\tfor(var i=0; i<Object.keys(res).length; i++) {\r\n\t\t\t\tlet obj = Object.keys(res)[i];\r\n\t\t\t\tthis.rowObject[obj] = (res[obj] == undefined || res[obj] == null ? '' : res[obj]);   \r\n\r\n\t\t\t}\r\n\r\n            if(this.rowObject['ds30463'] ==\"0\"){\r\n                //암호화 방식 파싱하여 데이터 뿌려줌\r\n                if(this.rowObject['ds30464'] !== undefined){\r\n                    let tabs = this.rowObject['ds30464'].split(\"/\");\r\n                    tabs.forEach(element => {\r\n                    if(element !== undefined && element != \"\"){\r\n                        let tab = element.split(\"=\");\r\n                        let detail = tab[1].split(\";\");\r\n\r\n                        if(tab[0] ==\"_$$DAC_PRIVATE\"){\r\n                            this.privateOj['private']  = true;\r\n                            this.privateOj['private1'] = detail[0] == '1' ?  true: false;\r\n                            this.privateOj['private2'] = detail[1] == '1' ?  true: false;\r\n                            this.privateOj['private3'] = detail[2] == '1' ?  true: false;\r\n                            this.privateOj['private4'] = detail[3] == '1' ?  true: false;\r\n                            this.privateOj['private5'] = detail[4] == '1' ?  true: false;\r\n                            this.privateOj['private6'] = detail[5] == '1' ?  true: false;\r\n                            this.privateOj['private7'] = detail[6] == '1' ?  true: false;\r\n\r\n                        }\r\n\r\n                        if(tab[0] ==\"_$$DAC_USERGROUP\"){\r\n                            this.usergroupOj['usergroup']  = true;\r\n                            this.usergroupOj['usergroup1'] = detail[0] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup2'] = detail[1] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup3'] = detail[2] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup4'] = detail[3] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup5'] = detail[4] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup6'] = detail[5] == '1' ?  true: false;\r\n                            this.usergroupOj['usergroup7'] = detail[6] == '1' ?  true: false;\r\n                        }\r\n\r\n                        if(tab[0] ==\"_$$DAC_TOPGROUP\"){\r\n                            this.topgroupOj['topgroup']  = true;\r\n                            this.topgroupOj['topgroup1'] = detail[0] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup2'] = detail[1] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup3'] = detail[2] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup4'] = detail[3] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup5'] = detail[4] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup6'] = detail[5] == '1' ?  true: false;\r\n                            this.topgroupOj['topgroup7'] = detail[6] == '1' ?  true: false;\r\n                        }\r\n                    }\r\n                }); \r\n                }\r\n            }else if(this.rowObject['ds30463'] ==\"1\"){\r\n                this.rowObject['ds30464encryptList'] = this.rowObject['ds30464']  //암호화 방식 - MAC\r\n            }else{\r\n                this.rowObject['ds30464docList'] = this.rowObject['ds30464']      //암호화 방시 - GRADE\r\n            }\r\n\r\n            this.setUsetReadOnly = false;\r\n            this.setReadOnly = true;\r\n            if(this.userOpt ==\"useEdit\"){\r\n\r\n                //사용자 상세정보 들어올시 disabled 처리\r\n                this.setUsetReadOnly = true;\r\n                this.setReadOnly = true;\r\n\r\n                let check = document.querySelectorAll('.form-check-input');\r\n                for(let i=0; i<check.length;i++) {\r\n                    if(check[i]) {\r\n                        (<HTMLInputElement>check[i]).disabled = true;\r\n                    }\r\n                }\r\n            }\r\n \r\n        //템플릿 등록화면\r\n\t\t} else if(this.opt === 'add') {\r\n            this.setReadOnly = true;\r\n            this.setUsetReadOnly = false;\r\n            let appObject= this.appData;\r\n            this.app['ds30018'] = appObject['ds30018'];\r\n            this.app['ds30019'] = appObject['ds30019'];\r\n            this.app['ds30076'] = appObject['ds30076'];\r\n\t\t}\r\n        \r\n        this.urlRadioTypeUrl = this.rowObject['ds30022'] == '' ?  true: false;\r\n        this.urlRadioTypeIp  = this.rowObject['ds30083'] == '' ?  true: false;\r\n\r\n        if(this.urlRadioTypeIp){\r\n            this.rowObject['ds30083'] =null;\r\n            this.rowObject['ds30082'] =null;\r\n            this.urlRadioTypeUrl = false;\r\n            this.urlRadioTypeIp  = true; \r\n        }else{\r\n            this.rowObject['ds30022'] =null;\r\n            this.urlRadioTypeUrl = true;\r\n            this.urlRadioTypeIp  = false;\r\n        } \r\n\r\n\t}\r\n\r\n    onSubmit(): void {\r\n        this.overlapCheck(); \r\n    }\r\n\r\n    //중복체크\r\n    overlapCheck(){\r\n          \r\n    let rst = true;\r\n    if(this.opt === 'add'){\r\n\r\n        //기존 템플릿 정책 아이디 존재여부 확인\r\n        for(var i=0; i<this.urlOldRows.length; i++) {\r\n            let row = this.urlOldRows[i];\r\n            if(this.urlRadioTypeIp){\r\n\r\n                if(row['ds30022'] ==this.rowObject['ds30022'].trim()){\r\n\r\n                    const modalRef = this.modalService.open(AlarmModal);\r\n                    //\"adminurladd.modal.comp.ts.1015\":\"이미 할당되었습니다.\",\r\n                    this.translate.get('adminurladd.modal.comp.ts.1015').subscribe((res:string) => {\r\n                        modalRef.componentInstance.data = res;\r\n                    });\r\n                    rst =false;\r\n                    break;\r\n                } \r\n            }else{\r\n            \r\n                if(row['ds30083']+row['ds30082'] ==this.rowObject['ds30083'].trim()+this.rowObject['ds30082'].trim()){\r\n                    const modalRef = this.modalService.open(AlarmModal);\r\n                    //\"adminurladd.modal.comp.ts.1015\":\"이미 할당되었습니다\",\r\n                    this.translate.get('adminurladd.modal.comp.ts.1015').subscribe((res:string) => {\r\n                        modalRef.componentInstance.data = res;\r\n                    });\r\n                    rst =false;\r\n                    break;\r\n                } \r\n            } \r\n        }\r\n    }\r\n    //등록일경우 중복체크\r\n    if(this.opt === 'add' && rst==true){\r\n  \r\n        let data;\r\n        if(!this.urlRadioTypeUrl){\r\n            data =  {\"reqId\":\"6074\" ,\"reqParams\":[{\"30022\":this.rowObject['ds30022']}]};\r\n        }else{\r\n            data =  {\"reqId\":\"6074\" ,\"reqParams\":[{\"30083\":this.rowObject['ds30083'] ,\"30082\":this.rowObject['ds30083']}]}; \r\n\r\n        }\r\n\r\n        this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0] && body[0].sucess == 0 && body[1] !== undefined && body[1].resultParams !== undefined) {\r\n\r\n                let modalRef = null;\r\n                modalRef = this.modalService.open(AdminurlOverlapModalComponent, {size: 'lg'});\r\n\r\n                modalRef.componentInstance.data = body[1].resultParams;\r\n                modalRef.componentInstance.appurl = this.appurl;\r\n                modalRef.result.then((result) => {\r\n                    if (result !== 'Close Click') {\r\n                        this.confirmSave();\r\n                    }\r\n                }, (reason) => {\r\n                    this.closeResult = `Dismissed ${reason}`;\r\n                });\r\n\r\n            } else {\r\n                this.confirmSave();\r\n            }\r\n        });\r\n\r\n    }\r\n    \r\n    if(this.opt != 'add'){\r\n        this.confirmSave();\r\n    }\r\n  \r\n    }\r\n    onChangeAdd( event){\r\n        if(event.target.value == '0'){\r\n            this.rowObject['ds30083'] =null;\r\n            this.rowObject['ds30082'] =null;\r\n            this.urlRadioTypeUrl = false;\r\n            this.urlRadioTypeIp  = true; \r\n        }else{\r\n            this.rowObject['ds30022'] =null;\r\n            this.urlRadioTypeUrl = true;\r\n            this.urlRadioTypeIp  = false;\r\n        } \r\n\t}\r\n\r\n\r\n    //암호화 방식 radio change\r\n    radioChange(ev,sec: string){\r\n\t\tvar selectVal = ev.target.value;\r\n\r\n        if(selectVal !=\"0\"){\r\n            this.formReset();\r\n        }\r\n\r\n        if(selectVal ==\"1\"){\r\n            this.rowObject['ds30464encryptList'] = \"0000001\";;\r\n        }\r\n        if(selectVal ==\"2\"){\r\n            this.rowObject['ds30464docList'] = \"0000001\";\r\n        }\r\n\t}\r\n\r\n    //체크박스 change\r\n    checkboxChange(sec: string,ev){\r\n\r\n        switch (sec){\r\n            case 'private':\r\n                if(ev.target.checked == false){\r\n                    this.privateOj= {\r\n                        private:false,  //DAC-개인\r\n                        private1:false, //읽기\r\n                        private2:false, //편집\r\n                        private3:false, //해제\r\n                        private4:false, //반출\r\n                        private5:false, //인쇄\r\n                        private6:false, //마킹\r\n                        private7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n\r\n            case 'usergroup':\r\n                if(ev.target.checked == false){\r\n                    this.usergroupOj= {\r\n                        usergroup:false,  //DAC-상위\r\n                        usergroup1:false, //읽기\r\n                        usergroup2:false, //편집\r\n                        usergroup3:false, //해제\r\n                        usergroup4:false, //반출\r\n                        usergroup5:false, //인쇄\r\n                        usergroup6:false, //마킹\r\n                        usergroup7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n            \r\n            case 'topgroup':\r\n                if(ev.target.checked == false){\r\n                    this.topgroupOj= {\r\n                        topgroup:false,  //DAC-최상위\r\n                        topgroup1:false, //읽기\r\n                        topgroup2:false, //편집\r\n                        topgroup3:false, //해제\r\n                        topgroup4:false, //반출\r\n                        topgroup5:false, //인쇄\r\n                        topgroup6:false, //마킹\r\n                        topgroup7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n\r\n            case 'ds30469':\r\n            if(ev.target.checked == false){\r\n                this.formReset();\r\n            } \r\n            break;\r\n        }\r\n\t}\r\n\r\n    initCustomList(){\r\n\r\n        this.encryptSelectList();\r\n\r\n        let data = {\"reqId\": \"6005\", \"reqParams\": [{}]};\r\n        return this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                if (body.length > 1) {\r\n                    this.docList = body[1].resultParams;\r\n                }\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    encryptSelectList(){\r\n\r\n        let data = {\"reqId\": \"5602\", \"reqParams\": [{}]};\r\n        return this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                if (body.length > 1) {\r\n                    this.encryptList = body[1].resultParams;\r\n                }\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    private handleError(error: any): Promise<any> {\r\n        console.error('An error occurred', error);\r\n        const modalRef = this.modalService.open(HandleError);\r\n        return Promise.reject(error.message || error);\r\n    }\r\n\r\n    //폼 리셋 \r\n    formReset() {\r\n\r\n        this.privateOj= {\r\n            private:false,  //DAC-개인\r\n            private1:false, //읽기\r\n            private2:false, //편집\r\n            private3:false, //해제\r\n            private4:false, //반출\r\n            private5:false, //인쇄\r\n            private6:false, //마킹\r\n            private7:false, //권한변경\r\n        }\r\n    \r\n        this.usergroupOj= {\r\n            usergroup:false,  //DAC-상위\r\n            usergroup1:false, //읽기\r\n            usergroup2:false, //편집\r\n            usergroup3:false, //해제\r\n            usergroup4:false, //반출\r\n            usergroup5:false, //인쇄\r\n            usergroup6:false, //마킹\r\n            usergroup7:false, //권한변경\r\n        }\r\n    \r\n        this.topgroupOj= {\r\n            topgroup:false,  //DAC-최상위\r\n            topgroup1:false, //읽기\r\n            topgroup2:false, //편집\r\n            topgroup3:false, //해제\r\n            topgroup4:false, //반출\r\n            topgroup5:false, //인쇄\r\n            topgroup6:false, //마킹\r\n            topgroup7:false, //권한변경\r\n        }\r\n\t\t\r\n\t}\r\n\r\n    setData(appObject){\r\n        let option;\r\n\t\tlet replaceObject = {};\r\n\t\tfor(let i=0; i<Object.keys(appObject).length; i++) {\r\n\t\t\tlet obj = Object.keys(appObject)[i];\r\n\t\t\tlet val = appObject[obj];\r\n\r\n\t\t\tif(typeof appObject[obj] === 'boolean'){\r\n\t\t\t\tval = appObject[obj] == true ? '1' : '0';\r\n\t\t\t}\r\n\t\t\treplaceObject[obj.replace('ds', '')] = val;\r\n\t\t}\r\n\t\treturn replaceObject;\r\n\t}\r\n\r\n    confirmSave(){\r\n\r\n\r\n        let str=\"\";\r\n        if(this.rowObject['ds30463'] ==\"0\"){\r\n            let oject;\r\n            if(this.privateOj['private'] == true){\r\n                oject =this.setData(this.privateOj);\r\n                str += \"_$$DAC_PRIVATE=\"+oject['private1']+\";\"+oject['private2']+\";\"+oject['private3']+\";\"+oject['private4']+\";\"+oject['private5']+\";\"+oject['private6']+\";\"+oject['private7']+\"/\";\r\n            }\r\n            if(this.usergroupOj['usergroup'] == true){\r\n                oject =this.setData(this.usergroupOj);\r\n                str += \"_$$DAC_USERGROUP=\"+oject['usergroup1']+\";\"+oject['usergroup2']+\";\"+oject['usergroup3']+\";\"+oject['usergroup4']+\";\"+oject['usergroup5']+\";\"+oject['usergroup6']+\";\"+oject['usergroup7']+\"/\";\r\n            }\r\n            if(this.topgroupOj['topgroup'] == true){\r\n                oject =this.setData(this.topgroupOj);\r\n                str += \"_$$DAC_TOPGROUP=\"+oject['topgroup1']+\";\"+oject['topgroup2']+\";\"+oject['topgroup3']+\";\"+oject['topgroup4']+\";\"+oject['topgroup5']+\";\"+oject['topgroup6']+\";\"+oject['topgroup7']+\"/\";\r\n            }\r\n            this.rowObject['ds30464'] = str;\r\n\r\n        }else if(this.rowObject['ds30463'] ==\"1\"){\r\n            this.rowObject['ds30464'] = this.rowObject['ds30464encryptList'];\r\n        }else{\r\n            this.rowObject['ds30464'] = this.rowObject['ds30464docList'];\r\n        }\r\n\r\n\r\n        this.formData = {\r\n            //'time': this.service['time'],         //시간\r\n            'ds30018' :  this.app['ds30018'],  //정책아이디\r\n            'ds30019' :  this.app['ds30019'],  //정책이름\r\n            'ds30020' :  this.app['ds30020'],  //타입\r\n            'ds30078' :  this.app['ds30078'],  //대표 URL\r\n            //'ds30022' :  this.app['ds30022'],  //등록 URL개수\r\n            'ds30074' :  this.app['ds30074'],  //시스템명\r\n            'ds30075' :  this.app['ds30075'],  //등록/수정자\r\n            //'ds30081' :  this.app['ds30081'],  //요청자\r\n            'ds30076' :  this.app['ds30076'],  //요청자 소속\r\n            'ds30077' :  this.app['ds30077'],  //등록일\r\n            'ds30079' :  this.app['ds30079'],  //등록사유\r\n            'ds30080' :  this.app['ds30080'],  //보안 URL 설명 \r\n            //'ds30084' :  this.app['ds30084'],  //등록자 \r\n            //'ds30075' :  this.app['ds30075'],  //상위정책         \r\n            'ds30021' :  this.rowObject['ds30021'],//URL이름\r\n            'ds30022' :  this.rowObject['ds30022'],//URL주소      \r\n            'ds30023' :  this.rowObject['ds30023'],//URl설명\r\n            'ds30024' :  this.rowObject['ds30024'],//URLDetail\r\n            'ds30083' :  this.rowObject['ds30083'],//IP범휘 시작\r\n            'ds30082' :  this.rowObject['ds30082'],//IP범위 종료\r\n            'ds30081' :  this.rowObject['ds30081'],//시스템명\r\n            'ds30084' :  this.rowObject['ds30084'],//등록자\r\n            'ds30085' :  this.rowObject['ds30085'],//등록사유\r\n            'ds30086' :  this.rowObject['ds30086'],//등록일\r\n            'ds30087' :  this.rowObject['ds30087'],//요청자 소속\r\n            'ds30088' :  this.rowObject['ds30088'],//요청자\r\n            'ds30106' :  this.rowObject['ds30106'],//보안URL 인덱스 번호\r\n\r\n            /* 새로 추가됨 */\r\n            'ds30458':this.rowObject['ds30458'],\t\t//인쇄허용\t\t\t\t\t\t   check\r\n            'ds30459':this.rowObject['ds30459'],\t\t//프린트 마킹 예외여부\t\t\t\tcheck\r\n            'ds30460':this.rowObject['ds30460'],\t\t//화면(캡처)허용\t\t\t\t    check\r\n            'ds30469':this.rowObject['ds30469'],\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30461':this.rowObject['ds30461'],\t\t//암호화 대상 확장자\t\t\t\ttext\r\n            'ds30462':this.rowObject['ds30462'],\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n            'ds30463':this.rowObject['ds30463'],\t\t //암호화 방식\t\t\t\t\t\tradio\r\n            'ds30464':this.rowObject['ds30464'],\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n            'ds30470':this.rowObject['ds30470'],        //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30465':this.rowObject['ds30465'],\t\t//보안문서 업로드 시 복호화\t\t     select\r\n            'ds30466':this.rowObject['ds30466'],\t    //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30467':this.rowObject['ds30467'],\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30468':this.rowObject['ds30468'],\t\t//예외 확장자\t\t\t\t\t\ttext      \r\n\r\n            }\r\n\r\n            console.log(JSON.stringify(this.formData));\r\n\r\n            this.activeModal.close(this.formData);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/url/adminurladd-modal.component.ts","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `angular-cli.json`.\r\n\r\nexport const environment = {\r\n  production: false,\r\n  origin: ''\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'session-out-content',\r\n\ttemplateUrl: './session-out.component.html'\r\n})\r\n\r\nexport class SessionOutModal implements OnInit {\r\n\t@Input() data;   \r\n    constructor(private http: Http, private router: Router, public activeModal: NgbActiveModal) {}\r\n\r\n    ngOnInit(): void {\r\n\t\t\r\n\t}    \r\n\tpageRedirect() {\r\n\t\tlocation.reload();\r\n\t\tthis.router.navigate(['/']);\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/session-out.component.ts","var map = {\n\t\"./addin/addin.module\": [\n\t\t1689,\n\t\t8\n\t],\n\t\"./admin/admin.module\": [\n\t\t1690,\n\t\t22\n\t],\n\t\"./agent/agent.module\": [\n\t\t1691,\n\t\t16\n\t],\n\t\"./categoryPolicy/categoryPolicy.module\": [\n\t\t1692,\n\t\t2\n\t],\n\t\"./central/central.module\": [\n\t\t1693,\n\t\t21\n\t],\n\t\"./controlProgram/controlProgram.module\": [\n\t\t1694,\n\t\t3\n\t],\n\t\"./custom/custom.module\": [\n\t\t1695,\n\t\t15\n\t],\n\t\"./folderAuth/folderAuth.module\": [\n\t\t1696,\n\t\t14\n\t],\n\t\"./grade/gradePolicy.module\": [\n\t\t1697,\n\t\t1\n\t],\n\t\"./info/info.module\": [\n\t\t1698,\n\t\t0\n\t],\n\t\"./license/license.module\": [\n\t\t1700,\n\t\t25\n\t],\n\t\"./licenseManager/license-manager.module\": [\n\t\t1699,\n\t\t20\n\t],\n\t\"./linkSystem/linkSystem.module\": [\n\t\t1701,\n\t\t7\n\t],\n\t\"./logPolicy/logpolicy.module\": [\n\t\t1702,\n\t\t24\n\t],\n\t\"./logmanagement/logmanagement.module\": [\n\t\t1703,\n\t\t6\n\t],\n\t\"./policy/policy.module\": [\n\t\t1704,\n\t\t23\n\t],\n\t\"./position/positionmanagement.module\": [\n\t\t1705,\n\t\t13\n\t],\n\t\"./secureurl/secureurl.module\": [\n\t\t1706,\n\t\t12\n\t],\n\t\"./serverProfile/serverProfile.module\": [\n\t\t1707,\n\t\t11\n\t],\n\t\"./session/session.module\": [\n\t\t1708,\n\t\t4\n\t],\n\t\"./setting/setting.module\": [\n\t\t1709,\n\t\t19\n\t],\n\t\"./storage/sworkmanagement.module\": [\n\t\t1710,\n\t\t18\n\t],\n\t\"./tool/tool.module\": [\n\t\t1711,\n\t\t10\n\t],\n\t\"./trace/tracelog.module\": [\n\t\t1712,\n\t\t17\n\t],\n\t\"./url/adminurl.module\": [\n\t\t1713,\n\t\t9\n\t],\n\t\"./user/user.module\": [\n\t\t1714,\n\t\t5\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nmodule.exports = webpackAsyncContext;\nwebpackAsyncContext.id = 802;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 802\n// module chunks = 27","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TreeNode, TREE_ACTIONS, KEYS, IActionMapping } from 'angular-tree-component';\r\n\r\n@Component({\r\n\tselector: 'tree-modal-content',\r\n\ttemplateUrl: './tree-modal.component.html'\r\n})\r\n\r\nexport class TreeModalComponent implements OnInit {\r\n    @Input() data: any[];\r\n    accessMode: string;\r\n    selectGroup: any[];\r\n\r\n    constructor(private http: Http, public activeModal: NgbActiveModal) {}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.accessMode = 'selectGroup';        \r\n\t}\r\n    onSelectGroup(node: any[]): void {\r\n        this.selectGroup = node;\r\n    }\r\n   \r\n    onSubmit(): void {\r\n        this.activeModal.close(this.selectGroup);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/modal/tree-modal.component.ts","import { Router } from '@angular/router';\r\nimport { XHRBackend, Http, RequestOptions } from \"@angular/http\";\r\nimport { InterceptedHttp } from \"./http.interceptor\";\r\n\r\nexport function httpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, router: Router): Http {\r\n    return new InterceptedHttp(xhrBackend, requestOptions, router);\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/http.factory.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CustomValidators } from 'ng2-validation';\r\n\r\nimport { InfoService } from '../info.service';\r\nimport { GlobalService } from '../globals';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SessionOutModal } from '../modal/session-out.component';\r\nimport { HandleError } from '../modal/handle-error.component';\r\nimport { AdminUrlAddModalComponent } from './adminurladd-modal.component';\r\nimport { runInThisContext } from 'vm';\r\nimport { AdminurlOverlapModalComponent } from './adminurloverlap-modal.component';\r\n\r\nimport { HandleSuccess } from 'app/modal/handle-success.component';\r\nimport { AlarmModal } from 'app/modal/alarm.component';\r\nimport { listenerCount } from 'stream';\r\n\r\n@Component({\r\n\tselector: 'adminurl-modal-content',\r\n\ttemplateUrl: './adminurl-modal.component.html',\r\n    providers: [ GlobalService, InfoService]\r\n})\r\n\r\nexport class AdminUrlModalComponent implements OnInit {\r\n    @Input() data;\r\n\t@Input() opt;\r\n\t@Input() headers;\r\n\t@Input() appurl;\r\n    @Input() rowData;\r\n    \r\n\r\n    closeResult: string;\r\n\tprivate datatable: any[];\r\n\tcurrentUser: string;\r\n\tcustomForm: FormGroup;\r\n    urlSelected: any[] = [];\r\n    deleteIdex: any[] = [];\r\n    \r\n    //등급 정책리스트 \r\n    docList: any[];\r\n    //범주 정책리스트\r\n    encryptList:any[];\r\n\r\n    app: Object = {\r\n\t\tds30018:'',     //정책아이디\r\n\t\tds30019:'',     //정책이름\r\n\t\tds30020:'',     //타입\r\n\t\tds30078:'',     //대표 URL\r\n\t\tds30022:'',     //등록 URL개수\r\n\t\tds30074:'',     //시스템명\r\n \t\tds30075:'',     //등록/수정자\r\n\t\tds30081:'',     //요청자\r\n\t\tds30076:'',     //요청자 소속\r\n\t\tds30077:'',     //등록일\r\n\t\tds30079:'',     //등록사유\r\n\t\tds30080:'',     //보안 URL 설명 \r\n        ds30084:'',     //등록자 \r\n        ds30456:'',     //문서보안 예외처리DLL\r\n        \r\n       /*  ds30075Type:''  //상위정책 */\r\n\t}\r\n\r\n\r\n    rowObject: Object = {\r\n            ds30021:'', //URL이름\r\n            ds30022:'', //URL주소\r\n            ds30023:'', //URl설명\r\n            ds30024:'', //URLDetail\r\n            ds30083:'', //IP범휘 시작\r\n            ds30082:'', //IP범위 종료\r\n            ds30081:'', //시스템명\r\n            ds30084:'', //등록자\r\n            ds30085:'', //등록사유\r\n            ds30086:'', //등록일\r\n            ds30087:'', //요청자 소속\r\n            ds30088:'', //요청자\r\n            ds30106:'', //보안URL 인덱스 번호\r\n\r\n     /*    새로추가된 정보     */\r\n            ds30458:false,\t\t//인쇄허용\t\t\t\t\t\t   check\r\n            ds30459:false,\t\t//프린트 마킹 예외여부\t\t\t\tcheck\r\n            ds30460:false,\t\t//화면(캡처)허용\t\t\t\t    check\r\n            ds30469:false,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n            ds30461:'',\t\t\t//암호화 대상 확장자\t\t\t\ttext\r\n            ds30462:'',\t\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n            ds30463:'0',\t\t//암호화 방식\t\t\t\t\t\tradio\r\n            ds30464:'',\t\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n            ds30464encryptList:'',  //암호화방식 MAC\r\n            ds30464docList:'',      //암호화방식 GRADE\r\n            ds30470:true,\t\t//업로드 제어\t\t\t\t\t\tcheck\r\n            ds30465:'3',\t\t//보안문서 업로드 시 복호화\t\t     select\r\n\r\n            ds30466:true,\t\t//업로드 제어\t\t\t\t\t\tcheck\r\n            ds30467:true,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n            ds30468:'',\t\t\t//예외 확장자\t\t\t\t\t\ttext\r\n\t}\r\n   \r\n\r\n    privateOj: Object = {\r\n\t\tprivate:false,  //DAC-개인\r\n\t\tprivate1:false, //읽기\r\n\t\tprivate2:false, //편집\r\n\t\tprivate3:false, //해제\r\n\t\tprivate4:false, //반출\r\n\t\tprivate5:false, //인쇄\r\n        private6:false, //마킹\r\n\t\tprivate7:false, //권한변경\r\n\t}\r\n\r\n    usergroupOj: Object = {\r\n\t\tusergroup:false,  //DAC-상위\r\n\t\tusergroup1:false, //읽기\r\n\t\tusergroup2:false, //편집\r\n\t\tusergroup3:false, //해제\r\n\t\tusergroup4:false, //반출\r\n\t\tusergroup5:false, //인쇄\r\n        usergroup6:false, //마킹\r\n\t\tusergroup7:false, //권한변경\r\n\t}\r\n\r\n    topgroupOj: Object = {\r\n\t\ttopgroup:false,  //DAC-최상위\r\n\t\ttopgroup1:false, //읽기\r\n\t\ttopgroup2:false, //편집\r\n\t\ttopgroup3:false, //해제\r\n\t\ttopgroup4:false, //반출\r\n\t\ttopgroup5:false, //인쇄\r\n        topgroup6:false, //마킹\r\n\t\ttopgroup7:false, //권한변경\r\n\t}\r\n\r\n\tproductType: any[] = [];\r\n\tparentPolicy: any[] = [];\r\n\r\n    urlRows: any[] =[];\r\n    urlColumns: any[] =[];\r\n\turlRadioTypeUrl : boolean;\r\n    urlRadioTypeIp : boolean;\r\n\tsetReadOnly: boolean;\r\n    setUsetReadOnly: boolean;\r\n\r\n    formData: Object;\r\n\r\n    updateData : any[] =[];\r\n\r\n    \r\n    constructor(private fb: FormBuilder, private http: Http, public activeModal: NgbActiveModal, private global: GlobalService, private translate:TranslateService ,private modalService: NgbModal,private info: InfoService) {\r\n//        this.global.setTranslate(translate);\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.global.getUrl().then(res => this.appurl = res);\r\n\t\tthis.customForm = this.fb.group({\r\n\r\n            'ds30018':[null, Validators.compose([Validators.required])],     //정책아이디\r\n            'ds30019':[null, Validators.compose([Validators.required])],     //정책이름\r\n            'ds30020':'',     //타입\r\n            'ds30078':'',     //대표 URL\r\n            'ds30022':'',     //URL\r\n            'ds30074':'',     //시스템명\r\n            'ds30075':'',     //등록/수정자\r\n            'ds30081':'',     //요청자\r\n            'ds30076':'',     //요청자 소속\r\n            'ds30077':'',     //등록일\r\n            'ds30079':'',     //등록사유\r\n            'ds30080':'',     //보안 URL 설명 \r\n            'ds30084':'',     //등록자 \r\n            'ds30075Type':'',\r\n            'ds30456' : '',\r\n            'ds30458':'',\t\t    //인쇄허용\t\t\t\t\t\t   check\r\n            'ds30459':'',\t\t    //프린트 마킹 예외여부\t\t\t\tcheck\r\n            'ds30460':'',\t\t    //화면(캡처)허용\t\t\t\t    check\r\n            'ds30469':'',\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30461':'',\t\t\t//암호화 대상 확장자\t\t\t\ttext\r\n            'ds30462':'',\t\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n            'ds30463':'',\t\t    //암호화 방식\t\t\t\t\t\tradio\r\n            'ds30464':'',\t\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n            'ds30464encryptList':'',//암호화방식 MAC\r\n            'ds30464docList':'',    //암호화방식 GRADE\r\n            'ds30470':'',\t\t    //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30465':'',\t\t    //보안문서 업로드 시 복호화\t\t     select\r\n\r\n            'ds30466':'',\t\t    //업로드 제어\t\t\t\t\t\tcheck\r\n            'ds30467':'',\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n            'ds30468':'',\t\t\t//예외 확장자\t\t\t\t\t\ttext\r\n\r\n            'ds30021':'', //URL이름\r\n            //'ds30022':'', //URL주소\r\n            'ds30023':'', //URl설명\r\n            'ds30024':'', //URLDetail\r\n            'ds30083':'', //IP범휘 시작\r\n            'ds30082':'', //IP범위 종료\r\n            'ds30085':'', //등록사유\r\n            'ds30086':'', //등록일\r\n            'ds30087':'', //요청자 소속\r\n            'ds30088':'', //요청자\r\n            'ds30106':'', //보안URL 인덱스 번호\r\n\r\n            'urlRadioType':[],\r\n\r\n            'urlRadioTypeUrl' : '',\r\n            'urlRadioTypeIp' : '',\r\n\r\n\r\n            'private' :'',  //DAC-개인\r\n            'private1':'', //읽기\r\n            'private2':'', //편집\r\n            'private3':'', //해제\r\n            'private4':'', //반출\r\n            'private5':'', //인쇄\r\n            'private6':'', //마킹\r\n            'private7':'', //권한변경\r\n    \r\n    \r\n            'usergroup' :'',  //DAC-상위\r\n            'usergroup1':'', //읽기\r\n            'usergroup2':'', //편집\r\n            'usergroup3':'', //해제\r\n            'usergroup4':'', //반출\r\n            'usergroup5':'', //인쇄\r\n            'usergroup6':'', //마킹\r\n            'usergroup7':'', //권한변경\r\n        \r\n    \r\n        \r\n            'topgroup' :'',  //DAC-최상위\r\n            'topgroup1':'', //읽기\r\n            'topgroup2':'', //편집\r\n            'topgroup3':'', //해제\r\n            'topgroup4':'', //반출\r\n            'topgroup5':'', //인쇄\r\n            'topgroup6':'', //마킹\r\n            'topgroup7':'', //권한변경\r\n        \r\n\t\t});\r\n\r\n        this.formReset();\r\n\r\n        //수정화면시 세팅\r\n\t\tif(this.opt === 'edit') {\r\n\r\n\t\t\tlet res = this.data[0];\r\n\t\t\tfor(var i=0; i<Object.keys(res).length; i++) {\r\n\t\t\t\tlet obj = Object.keys(res)[i];\r\n\t\t\t\tthis.app['ds'+obj] = (res[obj] == undefined || res[obj] == null ? '' : res[obj]);             \r\n\t\t\t}\r\n\t\t\tthis.setReadOnly = true;\r\n            this.setUsetReadOnly=false;\r\n            this.initData(this.app['ds30018']);\r\n        //등록화면시 세팅\r\n\t\t} else if(this.opt === 'add') {\r\n            let getUser = JSON.parse(sessionStorage.getItem('userInfo'));\r\n            //등록자\r\n            this.app['ds30076'] = getUser;\r\n            //정책구분 템플릿 초기값 설정\r\n            this.app['ds30075Type'] = '0';\r\n\t\t\tthis.setReadOnly = false;\r\n            this.setUsetReadOnly=false;\r\n\r\n            if(this.urlRadioTypeIp ||  this.urlRadioTypeIp == null){\r\n                this.rowObject['ds30083'] =null;\r\n                this.rowObject['ds30082'] =null;\r\n                this.urlRadioTypeUrl = false;\r\n                this.urlRadioTypeIp  = true; \r\n            }else{\r\n                this.rowObject['ds30022'] =null;\r\n                this.urlRadioTypeUrl = true;\r\n                this.urlRadioTypeIp  = false;\r\n    \r\n            }\r\n        //사용자 상세정보시 세팅\r\n\t\t} else if(this.opt ==\"useEdit\"){\r\n            let res = this.data[0];\r\n\t\t\tfor(var i=0; i<Object.keys(res).length; i++) {\r\n\t\t\t\tlet obj = Object.keys(res)[i];\r\n\t\t\t\tthis.app['ds'+obj] = (res[obj] == undefined || res[obj] == null ? '' : res[obj]);             \r\n\t\t\t}\r\n\r\n            this.app['ds30076'] = this.app['ds30090'] == null ? this.app['ds30076'] : this.app['ds30090'];\r\n            this.setReadOnly = true;\r\n            this.setUsetReadOnly = true;\r\n            this.initData(this.app['ds30018']);\r\n        }\r\n\r\n\r\n        //암호화 범주,암호화 등급 조회\r\n        this.initCustomList();\r\n\r\n\t}\r\n\r\n    // 상세정보 내용 가져옴\r\n    initData(id:String){\r\n\r\n        let data =  {\"reqId\":\"6062\" ,\"reqParams\":[{\"30018\":id}]};\r\n        this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0] && body[0].sucess == 0 && body[1] !== undefined && body[1].resultParams !== undefined) {\r\n                this.datatable = body[1].resultParams;\r\n                let res = body[1].resultParams;\r\n                let map: any[] = [];\r\n\r\n                for (var i = 0; i < res.length; i++) {\r\n\r\n                    if (this.app['ds30075Type'] == \"0\") {\r\n\r\n                        map.push({\r\n                            'ds30021': res[i]['30021'], //URL이름\r\n                            'ds30022': res[i]['30022'], //URL주소\r\n                            'ds30023': res[i]['30023'], //URl설명\r\n                            'ds30024': res[i]['30024'], //URLDetail\r\n                            'ds30083': res[i]['30083'], //IP범휘 시작\r\n                            'ds30081': res[i]['30081'], //시스템명\r\n                            'ds30082': res[i]['30082'], //IP범위 종료\r\n                            'ds30085': res[i]['30085'], //등록사유\r\n                            'ds30086': res[i]['30086'], //등록일\r\n                            'ds30087': res[i]['30087'], //요청자 소속\r\n                            'ds30088': res[i]['30088'], //요청자\r\n                            'ds30106': res[i]['30106'], //보안URL 인덱스 번호\r\n                            'ds30084': res[i]['30084'], //등록자          \r\n                            /* 새로 추가됨 */\r\n                            'ds30458': res[i]['30458'] == '1' ? true : false,\t\t//인쇄허용\t\t\t\t\t\t   check\r\n                            'ds30459': res[i]['30459'] == '1' ? true : false,\t\t//프린트 마킹 예외여부\t\t\t\tcheck\r\n                            'ds30460': res[i]['30460'] == '1' ? true : false,\t\t//화면(캡처)허용\t\t\t\t    check\r\n                            'ds30469': res[i]['30469'] == '1' ? true : false,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n                            'ds30461': res[i]['30461'],\t\t\t                    //암호화 대상 확장자\t\t\t\ttext\r\n                            'ds30462': res[i]['30462'],\t\t\t                    //암호화 저장 차단 확장자\t\t\ttext\r\n                            'ds30463': res[i]['30463'],\t\t                        //암호화 방식\t\t\t\t\t\tradio\r\n                            'ds30464': res[i]['30464'],\t\t\t                    //암호화 방식 정책\t\t\t\t\tcheck,select\r\n                            'ds30470': res[i]['30470'] == '1' ? true : false,        //업로드 제어\t\t\t\t\t\tcheck\r\n                            'ds30465': res[i]['30465'],\t\t                        //보안문서 업로드 시 복호화\t\t     select\r\n                            'ds30466': res[i]['30466'] == '1' ? true : false,\t    //업로드 제어\t\t\t\t\t\tcheck\r\n                            'ds30467': res[i]['30467'] == '1' ? true : false,\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n                            'ds30468': res[i]['30468'],\t\t\t                    //예외 확장자\t\t\t\t\t\ttext\r\n                            'ds30456': res[i]['30456'],                              //문서보안 예외처리 DLL\r\n\r\n\r\n                        })\r\n                    } else {\r\n\r\n                        this.rowObject['ds30021'] = res[i]['30021'], //URL이름\r\n                            this.rowObject['ds30022'] = res[i]['30022'], //URL주소\r\n                            this.rowObject['ds30023'] = res[i]['30023'], //URl설명\r\n                            this.rowObject['ds30024'] = res[i]['30024'], //URLDetail\r\n                            this.rowObject['ds30083'] = res[i]['30083'], //IP범휘 시작\r\n                            this.rowObject['ds30082'] = res[i]['30082'], //IP범위 종료\r\n                            this.rowObject['ds30081'] = res[i]['30081'], //시스템명\r\n                            this.rowObject['ds30086'] = res[i]['30086'], //등록일\r\n                            this.rowObject['ds30106'] = res[i]['30106'] //보안URL 인덱스 번호\r\n\r\n                        /*  this.rowObject['ds30085'] = res[i]['30084'] //등록자\r\n                         this.rowObject['ds30085'] = res[i]['30085'] //등록사유\r\n                         this.rowObject['ds30087'] = res[i]['30087'] //요청자소속\r\n                         this.rowObject['ds30088'] = res[i]['30088'] //요청자 */\r\n\r\n                        /*  this.app['ds30076'] = res[i]['30084'], //등록자\r\n                         this.app['ds30077'] = res[i]['30085'], //등록사유\r\n                         this.app['ds30079'] = res[i]['30087'], //요청자 소속\r\n                         this.app['ds30080'] = res[i]['30088']  //요청자  */\r\n\r\n                        /* if(this.opt ==\"useEdit\"){ */\r\n                        this.app['ds30076'] = res[i]['30084'], //등록자\r\n                            this.app['ds30077'] = res[i]['30085'], //등록사유\r\n                            this.app['ds30079'] = res[i]['30087'], //요청자 소속\r\n                            this.app['ds30080'] = res[i]['30088'] //요청자\r\n                        /* }  */\r\n\r\n\r\n                        this.rowObject['ds30458'] = res[i]['30458'] == '1' ? true : false;\t\t    //인쇄허용\t\t\t\t\t\t   check\r\n                        this.rowObject['ds30459'] = res[i]['30459'] == '1' ? true : false;\t\t    //프린트 마킹 예외여부\t\t\t\tcheck\r\n                        this.rowObject['ds30460'] = res[i]['30460'] == '1' ? true : false;\t\t    //화면(캡처)허용\t\t\t\t    check\r\n                        this.rowObject['ds30469'] = res[i]['30469'] == '1' ? true : false;\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n                        this.rowObject['ds30461'] = res[i]['30461'],\t\t\t                    //암호화 대상 확장자\t\t\t\ttext\r\n                            this.rowObject['ds30462'] = res[i]['30462'],\t\t\t                    //암호화 저장 차단 확장자\t\t\ttext\r\n                            this.rowObject['ds30463'] = res[i]['30463'],\t\t                        //암호화 방식\t\t\t\t\t\tradio\r\n                            //this.rowObject['ds30464'] = res[i]['30464'],\t\t\t                    //암호화 방식 정책\t\t\t\t\tcheck,select\r\n                            this.rowObject['ds30470'] = res[i]['30470'] == '1' ? true : false;          //업로드 제어\t\t\t\t\t\tcheck\r\n                        this.rowObject['ds30465'] = res[i]['30465'],\t\t                        //보안문서 업로드 시 복호화\t\t     select\r\n\r\n                            this.rowObject['ds30466'] = res[i]['30466'] == '1' ? true : false;\t        //업로드 제어\t\t\t\t\t\tcheck\r\n                        this.rowObject['ds30467'] = res[i]['30467'] == '1' ? true : false;\t\t    //다운로드 제어\t\t\t\t\t\tcheck\r\n                        this.rowObject['ds30468'] = res[i]['30468']\t\t\t                        //예외 확장자\t\r\n                        this.rowObject['ds30456'] = res[i]['30456']\t                                //문서보안 예외처리 DLL\r\n\r\n                        //let tump= \"_$$DAC_PRIVATE=1;0;1;0;0;0;0/_$$DAC_USERGROUP=1;1;0;0;1;0;0/_$$DAC_TOPGROUP=1;1;1;0;0;1;1\";\r\n                        //let tabs = tump.split(\"/\");\r\n\r\n                        //암호화 방식 파싱하여 데이터 뿌려줌\r\n                        if (res[i]['30464'] !== undefined) {\r\n                            if (res[i]['30463'] == \"0\") {\r\n\r\n                                let tabs = res[i]['30464'].split(\"/\");\r\n                                tabs.forEach(element => {\r\n                                    if (element !== undefined && element != \"\") {\r\n                                        let tab = element.split(\"=\");\r\n                                        let detail = tab[1].split(\";\");\r\n\r\n                                        if (tab[0] == \"_$$DAC_PRIVATE\") {\r\n                                            this.privateOj['private'] = true;\r\n                                            this.privateOj['private1'] = detail[0] == '1' ? true : false;\r\n                                            this.privateOj['private2'] = detail[1] == '1' ? true : false;\r\n                                            this.privateOj['private3'] = detail[2] == '1' ? true : false;\r\n                                            this.privateOj['private4'] = detail[3] == '1' ? true : false;\r\n                                            this.privateOj['private5'] = detail[4] == '1' ? true : false;\r\n                                            this.privateOj['private6'] = detail[5] == '1' ? true : false;\r\n                                            this.privateOj['private7'] = detail[6] == '1' ? true : false;\r\n\r\n                                        }\r\n\r\n                                        if (tab[0] == \"_$$DAC_USERGROUP\") {\r\n                                            this.usergroupOj['usergroup'] = true;\r\n                                            this.usergroupOj['usergroup1'] = detail[0] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup2'] = detail[1] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup3'] = detail[2] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup4'] = detail[3] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup5'] = detail[4] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup6'] = detail[5] == '1' ? true : false;\r\n                                            this.usergroupOj['usergroup7'] = detail[6] == '1' ? true : false;\r\n                                        }\r\n\r\n                                        if (tab[0] == \"_$$DAC_TOPGROUP\") {\r\n                                            this.topgroupOj['topgroup'] = true;\r\n                                            this.topgroupOj['topgroup1'] = detail[0] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup2'] = detail[1] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup3'] = detail[2] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup4'] = detail[3] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup5'] = detail[4] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup6'] = detail[5] == '1' ? true : false;\r\n                                            this.topgroupOj['topgroup7'] = detail[6] == '1' ? true : false;\r\n                                        }\r\n                                    }\r\n                                });\r\n\r\n                            } else if (res[i]['30463'] == \"1\") {\r\n                                this.rowObject['ds30464encryptList'] = res[i]['30464']  //암호화 방식 - MAC\r\n                            } else {\r\n                                this.rowObject['ds30464docList'] = res[i]['30464']  //암호화 방시 - GRADE\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    this.urlRadioTypeUrl = res[i]['30022'] == null ? true : false;\r\n                    this.urlRadioTypeIp = res[i]['30083'] == null ? true : false;\r\n\r\n                }\r\n\r\n                this.urlRows = map;\r\n            } else {\r\n\r\n                this.rowObject['ds30083'] = null;\r\n                this.rowObject['ds30082'] = null;\r\n                this.urlRadioTypeUrl = false;\r\n                this.urlRadioTypeIp = true;\r\n\r\n            }\r\n        });\r\n        \r\n        setTimeout(() => {   \r\n            //사용자 상세정보 들어올시 disabled 처리\r\n            if(this.opt ==\"useEdit\"){\r\n                let check = document.querySelectorAll('.form-check-input');\r\n                for(let i=0; i<check.length;i++) {\r\n                    if(check[i]) {\r\n                        (<HTMLInputElement>check[i]).disabled = true;\r\n                    }\r\n                }\r\n            }\r\n\r\n        }, 2);\r\n        \r\n        \r\n\r\n    }\r\n\r\n    initCustomList() {\r\n\r\n        this.encryptSelectList();\r\n\r\n        let data = {\"reqId\": \"6005\", \"reqParams\": [{}]};\r\n        this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                if (body.length > 1) {\r\n                    this.docList = body[1].resultParams;\r\n                }\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    encryptSelectList() {\r\n\r\n        let data = {\"reqId\": \"5602\", \"reqParams\": [{}]};\r\n        this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n            if (body[0].sucess == 0) {\r\n                if (body.length > 1) {\r\n                    this.encryptList = body[1].resultParams;\r\n                }\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n\r\n    // 세션 아웃 시 모달 생성    \r\n    sessionOut(): void {\r\n        const modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n    }\r\n\r\n    private handleError(error: any): Promise<any> {\r\n        console.error('An error occurred', error);\r\n        const modalRef = this.modalService.open(HandleError);\r\n        return Promise.reject(error.message || error);\r\n    }\r\n\r\n    onSubmit(): void {\r\n        this.overlapCheck(); \r\n    }\r\n\r\n    overlapCheck(){\r\n \r\n \r\n        //타입이 개별등록일경우 modal에서 체크함 \r\n        //템플릿 일경우에는 이미 상위 modal에서 체크해서 넘어옴\r\n        if(this.app['ds30075Type'] == '1' && this.opt === 'add'){\r\n\r\n            let data;\r\n            if(!this.urlRadioTypeUrl){\r\n                data =  {\"reqId\":\"6074\" ,\"reqParams\":[{\"30022\":this.rowObject['ds30022']}]};\r\n            }else{\r\n                data =  {\"reqId\":\"6074\" ,\"reqParams\":[{\"30083\":this.rowObject['ds30083'] ,\"30082\":this.rowObject['ds30082']}]}; \r\n            }      \r\n            //중복 여부 체크\r\n            this.global.commonCommunication(this.appurl, data).then(body => {\r\n\r\n                if (body[0] && body[0].sucess == 0 && body[1] !== undefined && body[1].resultParams !== undefined) {\r\n\r\n                    let modalRef = null;\r\n                    modalRef = this.modalService.open(AdminurlOverlapModalComponent, {size: 'lg'});\r\n\r\n                    modalRef.componentInstance.data = body[1].resultParams;\r\n                    modalRef.componentInstance.appurl = this.appurl;\r\n                    modalRef.result.then((result) => {\r\n\r\n                        //중복URL 허용 클릭시\r\n                        if (result !== 'Close Click') {\r\n                            this.datasubmit();\r\n                        }\r\n                    }, (reason) => {\r\n                        this.closeResult = `Dismissed ${reason}`;\r\n                    });\r\n\r\n                    //중복이 아닌경우\r\n                } else {\r\n                    this.datasubmit();\r\n                }\r\n            });\r\n            //개별등록이 아닌경우\r\n            }else{\r\n                this.datasubmit();\r\n            }\r\n\r\n        }\r\n\r\n    \r\n    datasubmit(): void {\r\n        \r\n        let pass = true;\r\n\r\n\r\n        if(this.opt === 'add'){\r\n\r\n            if(this.app['ds30075Type'] =='1' && !this.rowObject['ds30022'] && !this.rowObject['ds30083'] && !this.rowObject['ds30082']){\r\n                //\"adminurl.modal.comp.ts.1039\":\"필요한 모든 정보가 입력되지 않았습니다.\",\r\n                pass =false;\r\n                const modalRef = this.modalService.open(AlarmModal);\r\n                this.translate.get('adminurl.modal.comp.ts.1040').subscribe((res:string) => {\r\n                    modalRef.componentInstance.data = res;\r\n                });\r\n            }\r\n            \r\n\r\n            if(pass && this.opt === 'add'){\r\n                //중복된 정책 확인\r\n                for(let i=0; i<this.rowData.length; i++){\r\n                    if(this.rowData[i]['30018'] == this.app['ds30018']){\r\n                        pass= false;\r\n                        const modalRef = this.modalService.open(AlarmModal);\r\n                        //\"adminurl.modal.comp.ts.1039\":\"이미 사용중인 아이디 입니다.\",\r\n                        this.translate.get('adminurl.modal.comp.ts.1039').subscribe((res:string) => {\r\n                            modalRef.componentInstance.data = res;\r\n                        });\r\n\r\n                    }\r\n                }\r\n            }\r\n           \r\n        }\r\n        \r\n\r\n        // 중복 패스\r\n        if(pass){  \r\n            //상세 정책설정 업데이트\r\n            let body\r\n            body = {\"reqId\":\"6151\",\"reqParams\":[this.info.tableData(this.setDataObject(this.app))]};\r\n           \r\n            //개별폼 obejct만듬\r\n            if(this.app['ds30075Type'] == '1'){\r\n                this.updateSetForm(this.rowObject,this.opt);\r\n            }\r\n\r\n            this.global.commonCommunication(this.appurl, body).then(body => {\r\n\r\n                if (body[0] && body[0].sucess == 0) {\r\n\r\n                    //템플릿 데이터 update\r\n\r\n                    //this.app['ds30075Type'] == '1'\r\n\r\n                    if (this.updateData.length > 0) {\r\n                        this.templateChangeData();\r\n                    } else {\r\n                        const modalRef = this.modalService.open(HandleSuccess);\r\n                        this.activeModal.close();\r\n                    }\r\n\r\n                } else if (body.session === false) {\r\n                    this.sessionOut();\r\n                } else {\r\n                    this.updateData = [];\r\n                    const modalRef_error = this.modalService.open(AlarmModal);\r\n                    // \"infoSwork.comp.1024\":\"적용에 실패하였습니다.\",\r\n                    this.translate.get('infoSwork.comp.1024').subscribe((res: string) => {\r\n                        modalRef_error.componentInstance.data = res;\r\n                    })\r\n                }\r\n            })\r\n            .catch(this.handleError);\r\n        }\r\n    }\r\n\r\n    templateChangeData() {\r\n        let body\r\n        let changeObject;\r\n\t\t//정보를 재 세팅후 json으로 넘겨줌\r\n        changeObject = this.updateData.map((obj) => {\r\n            let rObj = {};\r\n            rObj[\"506\"]  = obj[\"ds506\"]\r\n            rObj[\"30018\"]= this.app[\"ds30018\"]\r\n            rObj[\"30021\"]= obj[\"ds30021\"] \r\n            rObj[\"30022\"]= obj[\"ds30022\"]\r\n            rObj[\"30083\"]= obj[\"ds30083\"]\r\n            rObj[\"30082\"]= obj[\"ds30082\"]\r\n            rObj[\"30081\"]= obj[\"ds30081\"]\r\n            rObj[\"30084\"]= obj[\"ds30084\"]\r\n            rObj[\"30085\"]= obj[\"ds30085\"]\r\n            rObj[\"30087\"]= obj[\"ds30087\"]\r\n            rObj[\"30088\"]= obj[\"ds30088\"]\r\n            rObj[\"30106\"]= obj[\"ds30106\"]\r\n\r\n            /* 새로추가됨 */\r\n            rObj[\"30458\"]= obj[\"ds30458\"]\r\n            rObj[\"30459\"]= obj[\"ds30459\"]\r\n            rObj[\"30460\"]= obj[\"ds30460\"]\r\n            rObj[\"30469\"]= obj[\"ds30469\"]\r\n            rObj[\"30461\"]= obj[\"ds30461\"]\r\n            rObj[\"30462\"]= obj[\"ds30462\"]\r\n            rObj[\"30463\"]= obj[\"ds30463\"]\r\n            rObj[\"30464\"]= obj[\"ds30464\"]\r\n            rObj[\"30470\"]= obj[\"ds30470\"]\r\n            rObj[\"30465\"]= obj[\"ds30465\"]\r\n            rObj[\"30466\"]= obj[\"ds30466\"]\r\n            rObj[\"30467\"]= obj[\"ds30467\"]\r\n            rObj[\"30468\"]= obj[\"ds30468\"]\r\n\r\n            return rObj;\r\n        });  \r\n\r\n        body = {\"reqId\":\"6152\",\"reqParams\": [changeObject]};\r\n\r\n        this.global.commonCommunication(this.appurl, body).then(body => {\r\n\r\n            if (body[0] && body[0].sucess == 0) {\r\n                const modalRef = this.modalService.open(HandleSuccess);\r\n                this.activeModal.close();\r\n            } else if (body.session === false) {\r\n                this.sessionOut();\r\n            } else {\r\n                this.updateData = [];\r\n                const modalRef_error = this.modalService.open(AlarmModal);\r\n                // \"infoSwork.comp.1024\":\"적용에 실패하였습니다.\",\r\n                this.translate.get('infoSwork.comp.1024').subscribe((res: string) => {\r\n                    modalRef_error.componentInstance.data = res;\r\n                })\r\n            }\r\n        })\r\n        .catch(this.handleError);\r\n    }\r\n    \r\n\r\n    templateDelete(){\r\n        let delObject;\r\n        delObject =  this.deleteIdex.map((obj) => {\r\n            let rObj = {};\r\n           rObj[\"506\"]  = \"D\"\r\n           rObj[\"30018\"]= obj[\"ds30018\"]\r\n           rObj[\"30021\"]= obj[\"ds30021\"] \r\n           return rObj;\r\n        });  \r\n    }\r\n\r\n    setData(appObject){\r\n        let option;\r\n\t\tlet replaceObject = {};\r\n\t\tfor(let i=0; i<Object.keys(appObject).length; i++) {\r\n\t\t\tlet obj = Object.keys(appObject)[i];\r\n\t\t\tlet val = appObject[obj];\r\n\r\n\t\t\tif(typeof appObject[obj] === 'boolean'){\r\n\t\t\t\tval = appObject[obj] == true ? '1' : '0';\r\n\t\t\t}\r\n\t\t\treplaceObject[obj.replace('ds', '')] = val;\r\n\t\t}\r\n\t\treturn replaceObject;\r\n\t}\r\n\r\n    \r\n\r\n    setDataObject(appObject){\r\n        let option;\r\n\t\tlet replaceObject = {};\r\n\t\tfor(let i=0; i<Object.keys(appObject).length; i++) {\r\n\t\t\tlet obj = Object.keys(appObject)[i];\r\n\t\t\tlet val = appObject[obj];\r\n\r\n\t\t\tif(typeof appObject[obj] === 'boolean'){\r\n\t\t\t\tval = appObject[obj] == true ? '1' : '0';\r\n\t\t\t}\r\n\r\n\t\t\tif(typeof appObject[obj] === 'boolean'){\r\n\t\t\t\tval = appObject[obj] == true ? '1' : '0';\r\n\t\t\t}\r\n\t\t\treplaceObject[obj.replace('ds', '')] = val;\r\n\t\t}\r\n\r\n        if(this.opt === 'edit') {\r\n            option ='U'\r\n        }else{\r\n            option ='I'\r\n        } \r\n        //타입변경\r\n        delete replaceObject['30074'];\r\n        replaceObject['30075'] =replaceObject['30075Type'];\r\n\t\treplaceObject['506'] = option;\r\n        delete replaceObject['30075Type'];\r\n\t\treturn replaceObject;\r\n\t}\r\n\r\n    //등록 > 추가 > 입력된값 table 에 저장\r\n\tadd(option) : void{\r\n        \r\n        const modalRef = this.modalService.open(AdminUrlAddModalComponent, {size: 'lg'});\r\n        //console.log(this.urlSelected);\r\n        modalRef.componentInstance.data = this.urlSelected;\r\n        modalRef.componentInstance.appData = this.app;\r\n        modalRef.componentInstance.opt = option;\r\n        modalRef.componentInstance.appurl = this.appurl;\r\n        modalRef.componentInstance.urlRows =this.urlRows;\r\n        \r\n        //사용자 상세보기에서 넘어옴\r\n        modalRef.componentInstance.userOpt =this.opt;\r\n        \r\n        modalRef.result.then((result) => {\r\n            if(result !== 'Close Click') {\r\n                \r\n                //ADD html에서 추가된 정보를 테이블에 저장\r\n                if(option =='add'){\r\n\r\n                    this.urlRows.push({\r\n                        'ds30021' : result['ds30021'],\r\n                        'ds30022' : result['ds30022'],\r\n                        'ds30083' : result['ds30083'],\r\n                        'ds30082' : result['ds30082'],\r\n                        'ds30081' : result['ds30081'],\r\n                        'ds30084' : result['ds30076'],\r\n                        'ds30085' : result['ds30077'],\r\n                        'ds30087' : result['ds30079'],\r\n                        'ds30088' : result['ds30080'],\r\n                        'ds30458' : result['ds30458'],\t\t//인쇄허용\t\t\t\t\t\t   check\r\n                        'ds30459' : result['ds30459'],\t\t//프린트 마킹 예외여부\t\t\t\tcheck\r\n                        'ds30460' : result['ds30460'],\t\t//화면(캡처)허용\t\t\t\t    check\r\n                        'ds30469' : result['ds30469'],\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n                        'ds30461' : result['ds30461'],\t\t//암호화 대상 확장자\t\t\t\ttext\r\n                        'ds30462' : result['ds30462'],\t\t//암호화 저장 차단 확장자\t\t\ttext\r\n                        'ds30463' : result['ds30463'],\t\t//암호화 방식\t\t\t\t\t\tradio\r\n                        'ds30464' : result['ds30464'],\t\t//암호화 방식 정책\t\t\t\t\tcheck,select\r\n                        'ds30470' : result['ds30470'],      //업로드 제어\t\t\t\t\t\tcheck\r\n                        'ds30465' : result['ds30465'],\t\t//보안문서 업로드 시 복호화\t\t     select\r\n                        'ds30466' : result['ds30466'],\t    //업로드 제어\t\t\t\t\t\tcheck\r\n                        'ds30467' : result['ds30467'],\t\t//다운로드 제어\t\t\t\t\t\tcheck\r\n                        'ds30468' : result['ds30468'],\t\t//예외 확장자\t\t\t\t\t\ttext\r\n                    });\r\n                    this.updateSetForm(result,'add');\r\n                }else{\r\n\r\n                    //add html에서 수정된정보를 idx 별로 넣어줌\r\n\r\n                    let idx = this.urlSelected[0]['$$index'];\r\n                    this.urlRows[idx]['ds30021']  = result['ds30021']; //URL이름\r\n                    this.urlRows[idx]['ds30022']  = result['ds30022']; //URL주소\r\n                    this.urlRows[idx]['ds30085']  = result['ds30077']; //등록사유\r\n                    this.urlRows[idx]['ds30087']  = result['ds30079']; //요청자 소속\r\n                    this.urlRows[idx]['ds30088']  = result['ds30080']; //요청자\r\n                    this.urlRows[idx]['ds30081']  = result['ds30081']; //시스템명\r\n                    this.urlRows[idx]['ds30083']  = result['ds30083']; //IP범휘 시작\r\n                    this.urlRows[idx]['ds30082']  = result['ds30082']; //IP범휘 종료\r\n                    this.urlRows[idx]['ds30106']  = result['ds30106']; //IP범휘 종료\r\n\r\n\r\n                    this.urlRows[idx]['ds30458']  = result['ds30458'],\t\t//인쇄허용\r\n                    this.urlRows[idx]['ds30459']  = result['ds30459'],\t\t//프린트 마킹 예외여부\r\n                    this.urlRows[idx]['ds30460']  = result['ds30460'],\t\t//화면(캡처)허용\r\n                    this.urlRows[idx]['ds30469']  = result['ds30469'],\t\t//다운로드 제어\r\n                    this.urlRows[idx]['ds30461']  = result['ds30461'],\t\t//암호화 대상 확장자\r\n                    this.urlRows[idx]['ds30462']  = result['ds30462'],\t\t//암호화 저장 차단 확장자\r\n                    this.urlRows[idx]['ds30463']  = result['ds30463'],\t\t//암호화 방식\r\n                    this.urlRows[idx]['ds30464']  = result['ds30464'],\t\t//암호화 방식 정책\r\n                    this.urlRows[idx]['ds30470']  = result['ds30470'],      //업로드 제어\r\n                    this.urlRows[idx]['ds30465']  = result['ds30465'],\t\t//보안문서 업로드 시 복호화\r\n                    this.urlRows[idx]['ds30466']  = result['ds30466'],\t    //업로드 제어\r\n                    this.urlRows[idx]['ds30467']  = result['ds30467'],\t\t//다운로드 제어\r\n                    this.urlRows[idx]['ds30468']  = result['ds30468'],\t\t//예외 확장자\r\n\r\n                    this.updateSetForm(result,'update');\r\n                }\r\n              \r\n               \r\n            }\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t}); \r\n\t}\r\n\r\n    updateSetForm(result,option){\r\n\r\n        let sData =\"U\";\r\n        let changeData = {};\r\n\r\n        if(option == \"add\"){\r\n            sData =\"I\"\r\n        } \r\n        let bypass =true;\r\n\r\n        if(option == \"update\"){\r\n           \r\n            \r\n            //idx 정보가 없을경우 이미 테이블정보에 담겨져있으므로 해당정보를 비교후 최신으로 바꿔줌\r\n            if(result['ds30106'] == \"\" || result['ds30106'] == null || result['ds30106'] ==\"null\"){\r\n\r\n                bypass =false;\r\n                this.updateData.forEach(element => {\r\n\r\n                    //console.log(element['ds30022'] === result['ds30022'] || element['ds30082']+element['ds30083'] ===  result['ds30082']+result['ds30083']);\r\n\r\n                     if(element['ds30022'] === result['ds30022'] || element['ds30082']+element['ds30083'] ===  result['ds30082']+result['ds30083']){\r\n\r\n                        element['ds506'] = \"I\",\r\n                        element['ds30018'] = result['ds30018'],\r\n                        element['ds30021'] = result['ds30021'],\r\n         /*             element['ds30022'] = result['ds30022'] == null ? \"\" : result['ds30022'],\r\n                        element['ds30083'] = result['ds30083'] == null ? \"\" : result['ds30083'],\r\n                        element['ds30082'] = result['ds30082'] == null ? \"\" : result['ds30082'], */\r\n                        element['ds30081'] = result['ds30081'],\r\n                        element['ds30084'] = result['ds30076'],\r\n                        element['ds30085'] = result['ds30077'],\r\n                        element['ds30087'] = result['ds30079'],\r\n                        element['ds30088'] = result['ds30080']\r\n\r\n                        /* 새로 추가됨 정보 */\r\n                        element['ds30458'] = result['ds30458'] == true ? '1' : '0';\t\t\t            //인쇄허용\r\n                        element['ds30459'] = result['ds30459'] == true ? '1' : '0';\t\t\t            //프린트 마킹 예외여부\r\n                        element['ds30460'] = result['ds30460'] == true ? '1' : '0';\t\t\t            //화면(캡처)허용\r\n                        element['ds30469'] = result['ds30469'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n                        element['ds30461'] = result['ds30461'];\t\t\t                                //암호화 대상 확장자\r\n                        element['ds30462'] = result['ds30462'];\t\t\t                                //암호화 저장 차단 확장자\r\n\r\n                        element['ds30463'] = result['ds30463'];\r\n                        element['ds30464'] = result['ds30464'];\r\n                        element['ds30470'] = result['ds30470'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n                        element['ds30465'] = result['ds30465'];                  \t\t\t            //보안문서 업로드 시 복호화\t\r\n                        element['ds30466'] = result['ds30466'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n                        element['ds30467'] = result['ds30467'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n                        element['ds30468'] = result['ds30468'];                \t\t\t                //예외 확장\r\n                    }\r\n                });\r\n            }else{\r\n\r\n                //idx가 존재할경우\r\n                changeData['ds30106'] = result['ds30106']\r\n            }\r\n        } \r\n\r\n        //템플릿\r\n        if(this.app['ds30075Type'] == '0'){\r\n\r\n            changeData['ds506'] = sData,\r\n            changeData['ds30018'] = result['ds30018'],\r\n            changeData['ds30021'] = result['ds30021'],\r\n            changeData['ds30022'] = result['ds30022'] == null ? \"\" : result['ds30022'],\r\n            changeData['ds30083'] = result['ds30083'] == null ? \"\" : result['ds30083'],\r\n            changeData['ds30082'] = result['ds30082'] == null ? \"\" : result['ds30082'],\r\n            changeData['ds30081'] = result['ds30081'],\r\n            changeData['ds30084'] = result['ds30076'],\r\n            changeData['ds30085'] = result['ds30077'],\r\n            changeData['ds30087'] = result['ds30079'],\r\n            changeData['ds30088'] = result['ds30080']\r\n\r\n            /* 새로 추가됨 정보 */\r\n            changeData['ds30458'] = result['ds30458'] == true ? '1' : '0';\t\t\t            //인쇄허용\r\n            changeData['ds30459'] = result['ds30459'] == true ? '1' : '0';\t\t\t            //프린트 마킹 예외여부\r\n            changeData['ds30460'] = result['ds30460'] == true ? '1' : '0';\t\t\t            //화면(캡처)허용\r\n            changeData['ds30469'] = result['ds30469'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n            changeData['ds30461'] = result['ds30461'];\t\t\t                                //암호화 대상 확장자\r\n            changeData['ds30462'] = result['ds30462'];\t\t\t                                //암호화 저장 차단 확장자\r\n\r\n            changeData['ds30463'] = result['ds30463'];\r\n            changeData['ds30464'] = result['ds30464'];\r\n            changeData['ds30470'] = result['ds30470'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n            changeData['ds30465'] = result['ds30465'];                  \t\t\t            //보안문서 업로드 시 복호화\t\r\n            changeData['ds30466'] = result['ds30466'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n            changeData['ds30467'] = result['ds30467'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n            changeData['ds30468'] = result['ds30468'];                \t\t\t                //예외 확장\r\n\r\n        //개별등록\r\n        }else{\r\n\r\n            //등록된 URL 갯수\r\n            let count = this.app['ds30074'];\r\n            sData =\"I\";\r\n            if(count>0){\r\n                sData =\"U\";\r\n                //폼업데이트시 항상 1\r\n                changeData['ds30106'] = \"1\";\r\n            }\r\n            changeData['ds506'] = sData\r\n            changeData['ds30018'] = this.app['ds30018'],\r\n            changeData['ds30021'] = result['ds30021'],\r\n            changeData['ds30022'] = result['ds30022'] == null ? \"\" : result['ds30022'],\r\n            changeData['ds30083'] = result['ds30083'] == null ? \"\" : result['ds30083'],\r\n            changeData['ds30082'] = result['ds30082'] == null ? \"\" : result['ds30082'],\r\n            changeData['ds30081'] = result['ds30081'] == null ? \"\" : result['ds30081'],\r\n            \r\n\r\n            changeData['ds30087'] = this.app['ds30079'], //요청자소속\r\n            changeData['ds30088'] = this.app['ds30080'],  //요청자\r\n            changeData['ds30085'] = this.app['ds30077'],  //등록사유\r\n            changeData['ds30084'] = this.app['ds30076']   //등록자\r\n\r\n            /* 새로 추가됨 정보 */\r\n            changeData['ds30458'] = this.rowObject['ds30458'] == true ? '1' : '0';\t\t\t            //인쇄허용\r\n            changeData['ds30459'] = this.rowObject['ds30459'] == true ? '1' : '0';\t\t\t            //프린트 마킹 예외여부\r\n            changeData['ds30460'] = this.rowObject['ds30460'] == true ? '1' : '0';\t\t\t            //화면(캡처)허용\r\n            changeData['ds30469'] = this.rowObject['ds30469'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n            changeData['ds30461'] = this.rowObject['ds30461'];\t\t\t                                //암호화 대상 확장자\r\n            changeData['ds30462'] = this.rowObject['ds30462'];\t\t\t                                //암호화 저장 차단 확장자\r\n            \r\n            changeData['ds30463'] = this.rowObject['ds30463'];\r\n            let str=\"\";\r\n            if(this.rowObject['ds30463'] ==\"0\"){\r\n                let oject;\r\n                if(this.privateOj['private'] == true){\r\n                    oject =this.setData(this.privateOj);\r\n                    str += \"_$$DAC_PRIVATE=\"+oject['private1']+\";\"+oject['private2']+\";\"+oject['private3']+\";\"+oject['private4']+\";\"+oject['private5']+\";\"+oject['private6']+\";\"+oject['private7']+\"/\";\r\n                }\r\n                if(this.usergroupOj['usergroup'] == true){\r\n                    oject =this.setData(this.usergroupOj);\r\n                    str += \"_$$DAC_USERGROUP=\"+oject['usergroup1']+\";\"+oject['usergroup2']+\";\"+oject['usergroup3']+\";\"+oject['usergroup4']+\";\"+oject['usergroup5']+\";\"+oject['usergroup6']+\";\"+oject['usergroup7']+\"/\";\r\n                }\r\n                if(this.topgroupOj['topgroup'] == true){\r\n                    oject =this.setData(this.topgroupOj);\r\n                    str += \"_$$DAC_TOPGROUP=\"+oject['topgroup1']+\";\"+oject['topgroup2']+\";\"+oject['topgroup3']+\";\"+oject['topgroup4']+\";\"+oject['topgroup5']+\";\"+oject['topgroup6']+\";\"+oject['topgroup7']+\"/\";\r\n                }\r\n                changeData['ds30464'] = str;\r\n\r\n            }else if(this.rowObject['ds30463'] ==\"1\"){\r\n                changeData['ds30464'] = this.rowObject['ds30464encryptList'];\r\n            }else{\r\n                changeData['ds30464'] = this.rowObject['ds30464docList'];\r\n            }\r\n\r\n            //changeData['ds30463'] = this.rowObject['ds30463'];                  \t\t\t            //암호화 방식\r\n            //changeData['ds30464'] = this.rowObject['ds30464'] == true ? '1' : '0';\t\t\t        //암호화 방식 정책\r\n            changeData['ds30470'] = this.rowObject['ds30470'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n            changeData['ds30465'] = this.rowObject['ds30465'];                  \t\t\t            //보안문서 업로드 시 복호화\t\r\n            changeData['ds30466'] = this.rowObject['ds30466'] == true ? '1' : '0';\t\t\t            //업로드 제어\r\n            changeData['ds30467'] = this.rowObject['ds30467'] == true ? '1' : '0';\t\t\t            //다운로드 제어\r\n            changeData['ds30468'] = this.rowObject['ds30468'];                  \t\t\t            //예외 확장자\r\n        }\r\n\r\n        //변경된 정보 저장\r\n        if(bypass ==true) this.updateData.push(changeData);\r\n    }\r\n\r\n     \r\n    onChange( event){\r\n\t\t\r\n        if(event.target.value == '0'){\r\n            this.rowObject['ds30083'] =null;\r\n            this.rowObject['ds30082'] =null;\r\n            this.urlRadioTypeUrl = false;\r\n            this.urlRadioTypeIp  = true; \r\n        }else{\r\n            this.rowObject['ds30022'] =null;\r\n            this.urlRadioTypeUrl = true;\r\n            this.urlRadioTypeIp  = false;\r\n        } \r\n\t}\r\n\r\n    //암호화 방식 radio change\r\n    radioChange(ev,sec: string){\r\n\t\tvar selectVal = ev.target.value;\r\n        if(selectVal !=\"0\"){\r\n            this.formReset();\r\n\r\n        }\r\n\r\n        if(selectVal ==\"1\"){\r\n            this.rowObject['ds30464encryptList'] = \"0000001\";;\r\n        }\r\n        if(selectVal ==\"2\"){\r\n            this.rowObject['ds30464docList'] = \"0000001\";\r\n        }\r\n\t}\r\n\r\n    //체크박스 change\r\n    checkboxChange(sec: string,ev){\r\n\r\n        switch (sec){\r\n            case 'private':\r\n                if(ev.target.checked == false){\r\n                    this.privateOj= {\r\n                        private:false,  //DAC-개인\r\n                        private1:false, //읽기\r\n                        private2:false, //편집\r\n                        private3:false, //해제\r\n                        private4:false, //반출\r\n                        private5:false, //인쇄\r\n                        private6:false, //마킹\r\n                        private7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n\r\n            case 'usergroup':\r\n                if(ev.target.checked == false){\r\n                    this.usergroupOj= {\r\n                        usergroup:false,  //DAC-상위\r\n                        usergroup1:false, //읽기\r\n                        usergroup2:false, //편집\r\n                        usergroup3:false, //해제\r\n                        usergroup4:false, //반출\r\n                        usergroup5:false, //인쇄\r\n                        usergroup6:false, //마킹\r\n                        usergroup7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n            \r\n            case 'topgroup':\r\n                if(ev.target.checked == false){\r\n                    this.topgroupOj= {\r\n                        topgroup:false,  //DAC-최상위\r\n                        topgroup1:false, //읽기\r\n                        topgroup2:false, //편집\r\n                        topgroup3:false, //해제\r\n                        topgroup4:false, //반출\r\n                        topgroup5:false, //인쇄\r\n                        topgroup6:false, //마킹\r\n                        topgroup7:false, //권한변경\r\n                    }\r\n                } \r\n                break;\r\n\r\n            case 'ds30469':\r\n            if(ev.target.checked == false){\r\n                this.formReset();\r\n            } \r\n            break;\r\n        }\r\n\t}\r\n\r\n\r\n    //폼 리셋 \r\n    formReset() {\r\n\r\n        this.privateOj= {\r\n            private:false,  //DAC-개인\r\n            private1:false, //읽기\r\n            private2:false, //편집\r\n            private3:false, //해제\r\n            private4:false, //반출\r\n            private5:false, //인쇄\r\n            private6:false, //마킹\r\n            private7:false, //권한변경\r\n        }\r\n    \r\n        this.usergroupOj= {\r\n            usergroup:false,  //DAC-상위\r\n            usergroup1:false, //읽기\r\n            usergroup2:false, //편집\r\n            usergroup3:false, //해제\r\n            usergroup4:false, //반출\r\n            usergroup5:false, //인쇄\r\n            usergroup6:false, //마킹\r\n            usergroup7:false, //권한변경\r\n        }\r\n    \r\n        this.topgroupOj= {\r\n            topgroup:false,  //DAC-최상위\r\n            topgroup1:false, //읽기\r\n            topgroup2:false, //편집\r\n            topgroup3:false, //해제\r\n            topgroup4:false, //반출\r\n            topgroup5:false, //인쇄\r\n            topgroup6:false, //마킹\r\n            topgroup7:false, //권한변경\r\n        }\r\n\t\t\r\n\t}\r\n\r\n\r\n    onSelect(event) {\r\n        console.log('Event: urlSelected', event, this.urlSelected);\r\n        // 로그에 사용될 기존 권한 정보\r\n        //this.oldAuthInfo = this.urlSelected;\r\n\t}\r\n    onPage(event) {\r\n        console.log('Page Event', event);\r\n    }\r\n\r\n    onActivate(event) {\r\n        if(event.type === 'dblclick'){\r\n          event.cellElement.blur(); // 상태값 변경 에러 방지\r\n          //this.openPop('edit'); \r\n          console.log('Event: dblclick', event, this.urlSelected);\r\n          this.add('edit');\r\n        }\r\n    }\r\n\r\n    //삭제\r\n\tdeleteItem(selected: any[], sec:string): void {\r\n\r\n\t\tlet body = this.urlSelected[0];\r\n\r\n        let changeData = {};\r\n        changeData['ds506'] = 'D',\r\n        changeData['ds30018'] = this.app['ds30018'], \r\n        changeData['ds30106'] = body['ds30106'],\r\n\r\n        //삭제된 정보 저장\r\n        this.updateData.push(changeData);\r\n\r\n\t\tthis.urlRows.splice(body['$$index'],1);\r\n        //삭제된 IDX 담기\r\n        this.deleteIdex  =body['$$index'];\r\n\t\tdelete body['$$index'];\r\n\t\tdelete body['time'];\r\n\t\t//this.disableBtn = false;\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/url/adminurl-modal.component.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\nimport { NgbModal, ModalDismissReasons, NgbModalOptions, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TreeNode, TREE_ACTIONS, KEYS, IActionMapping } from 'angular-tree-component';\r\n\r\nimport { GlobalService } from '../../globals';\r\nimport { InfoService } from '../../info.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n\tselector: 'encrypt-tree-modal',\r\n\ttemplateUrl: './encrypt-tree-modal.component.html',\r\n\tproviders: [ GlobalService, InfoService ]\r\n})\r\n\r\nexport class EncryptTreeModal implements OnInit {\r\n    @Input() data: any[];\r\n    accessMode: string;\r\n    selectGroup: any[];\r\n    encryptModalForm: FormGroup;\r\n    encrypt: Object = {\r\n\t\tds2014: true, //개인/그룹 읽기 권한\r\n\t\tds2015: false, //개인/그룹 편집 권한\r\n\t\tds2016: false, //개인/그룹 반출 권한\r\n\t\tds2017: false, //개인/그룹 해제 권한\r\n\t\tds2018: false, //개인/그룹 출력 권한\r\n\t\tds2019: false, //개인/그룹 프린트 마킹\r\n\t\tds2020: false, //개인/그룹 권한 변경\t\r\n\t\tds3073: false //하위 그룹 포함\r\n\t}\r\n    constructor(\r\n\t\tprivate fb: FormBuilder, \r\n\t\tprivate http: Http, \r\n\t\tpublic activeModal: NgbActiveModal, \r\n\t\tprivate global: GlobalService,\r\n\t\tprivate info: InfoService,\r\n\t\tprivate translate:TranslateService\r\n\t) {\r\n//\t\tthis.global.setTranslate(translate);\r\n\t}\r\n\r\n    ngOnInit(): void {\r\n\t\tthis.accessMode = 'selectPerson';\r\n\r\n        this.encryptModalForm = this.fb.group({\t\t\t\r\n\t\t\t'ds2014': [],\r\n\t\t\t'ds2015': [],\r\n\t\t\t'ds2016': [],\r\n\t\t\t'ds2017': [],\r\n\t\t\t'ds2018': [],\r\n\t\t\t'ds2019': [],\r\n\t\t\t'ds2020': [],\r\n\t\t\t'ds3073': []\r\n\t\t});\r\n\t}\r\n    onSelectGroup(node: any[]): void {\r\n        this.selectGroup = node;\r\n    }\r\n\r\n    onSubmit(): void {\r\n        let clone = this.global.clone(this.encrypt);\r\n\r\n\t\tlet sData = this.info.submitData(clone);\r\n        sData['13'] = this.selectGroup['name'];\r\n        sData['28'] = this.selectGroup['id'].replace('person-','');\r\n\t\tsData['3013'] = this.selectGroup['tree'] == 1 ? 'G' : 'U';\r\n        this.activeModal.close(sData);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/info/encrypt/encrypt-tree-modal.component.ts","// Angular 기본\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouterModule, Routes, Router } from '@angular/router';\r\nimport { Component, NgModule, RootRenderer } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpModule, Http, XHRBackend, RequestOptions } from '@angular/http';\r\n\r\n// 의존성 관리\r\nimport { MaterialModule } from '@angular/material';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { TreeModule } from 'angular-tree-component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\n\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'; \r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\n// 사용자 생성 컴포넌트\r\nimport { GlobalService } from './globals';\r\n\r\nimport { AppRoutes } from './app.routing';\r\nimport { AppComponent } from './app.component';\r\nimport { AdminLayoutComponent } from './layouts/admin/admin-layout.component';\r\nimport { AuthLayoutComponent } from './layouts/auth/auth-layout.component';\r\n\r\nimport { OrgTree } from './tree/tree.component';\r\nimport { NgbdDropdownManual } from './tree/dropdown-manual';\r\nimport { SearchResultModal } from './tree/search-modal.component';\r\nimport { TreeModalComponent } from './modal/tree-modal.component';\r\nimport { HandleSuccess } from './modal/handle-success.component';\r\nimport { HandleError } from './modal/handle-error.component';\r\nimport { ConfApplyModal } from './modal/conf-apply.component';\r\nimport { AlarmModal } from './modal/alarm.component';\r\nimport { SessionOutModal } from './modal/session-out.component';\r\nimport { EncryptTreeModal } from './info/encrypt/encrypt-tree-modal.component';\r\nimport { SearchPermissionModalComponent } from \"./tree/search-permission-modal.component\";\r\nimport { SearchPCcurrentStatusModalComponent } from \"./tree/search-pccurrentstatus-modal.component\";\r\nimport { SearchExceptionPolicyModalComponent } from \"./tree/search-exceptionpolicy-modal.component\";\r\n\r\nimport { AdminUrlModalComponent } from './url/adminurl-modal.component';\r\nimport { AdminUrlAddModalComponent } from './url/adminurladd-modal.component';\r\n\r\nimport { LocationStrategy, HashLocationStrategy} from '@angular/common';\r\n\t  \r\nimport { AuthService } from './auth.service';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { CookieService } from 'angular2-cookie/services/cookies.service';\r\n\r\nimport { httpFactory } from './http.factory';\r\nimport {ProgressCsvModalComponent} from \"./tree/progress-csv-modal.component\";\r\n\r\nimport {AdminModalComponent} from \"./admin/admin-modal.component\";\r\nimport { DataTablePagerComponent } from './pager.component';\r\nimport {SearchPolicyModalComponent} from \"./tree/search-policy-modal.component\";\r\nimport {AdminPwComponent} from \"./admin/admin-pw.component\";\r\nimport { AdminIpModalComponent } from './admin/admin-ip-modal.component';\r\nimport { ProgramInfoModalComponent } from './info/program/program-info-modal.component';\r\n\r\n\r\nexport function createTranslateLoader(http:Http){\r\n \treturn new TranslateHttpLoader(http, './assets/i18n/','.json');\r\n}\r\n\r\n@NgModule({\r\n    declarations: [\r\n        AppComponent,\r\n        AdminLayoutComponent,\r\n        AuthLayoutComponent,\r\n        OrgTree,\r\n        NgbdDropdownManual,\r\n        SearchResultModal,\r\n        TreeModalComponent,\r\n        HandleSuccess,\r\n        HandleError,\r\n        ConfApplyModal,\r\n        AlarmModal,\r\n        SessionOutModal,\r\n        EncryptTreeModal,\r\n        SearchPermissionModalComponent,\r\n        ProgressCsvModalComponent,\r\n        AdminUrlModalComponent,\r\n        AdminUrlAddModalComponent,\r\n        AdminModalComponent,\r\n        AdminIpModalComponent,\r\n        ProgramInfoModalComponent,\r\n        SearchPCcurrentStatusModalComponent,\r\n        DataTablePagerComponent,\r\n        SearchPolicyModalComponent,\r\n        SearchExceptionPolicyModalComponent,\r\n        AdminPwComponent,\r\n    ],\r\n    imports: [\r\n        BrowserModule,\r\n        RouterModule.forRoot(AppRoutes),\r\n        TranslateModule.forRoot({\r\n            loader: {\r\n                provide: TranslateLoader,\r\n                useFactory: createTranslateLoader,\r\n                deps: [Http]\r\n            }\r\n        }),\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        HttpModule,\r\n        TreeModule,         \r\n        NgbModule.forRoot(),\r\n        MaterialModule.forRoot(),\r\n        FlexLayoutModule,\r\n        NgxDatatableModule\r\n    ],\r\n    providers: [ GlobalService, AuthService, AuthGuard, CookieService, \r\n        {   provide: LocationStrategy, \r\n            useClass: HashLocationStrategy\r\n        },\r\n        {\r\n            provide: Http,\r\n            useFactory: httpFactory,\r\n            deps: [XHRBackend, RequestOptions, Router]\r\n        }\r\n    ],\r\n    entryComponents: [ \r\n        SearchResultModal,\r\n        TreeModalComponent,\r\n        HandleSuccess,\r\n        HandleError,\r\n        ConfApplyModal,\r\n        AlarmModal,\r\n        SessionOutModal,\r\n        EncryptTreeModal,\r\n        SearchPermissionModalComponent,\r\n        ProgressCsvModalComponent,\r\n        AdminUrlModalComponent,\r\n        AdminUrlAddModalComponent,\r\n        AdminModalComponent,\r\n        AdminIpModalComponent,\r\n        SearchPCcurrentStatusModalComponent,\r\n        SearchPolicyModalComponent,\r\n        SearchExceptionPolicyModalComponent,\r\n        AdminPwComponent,\r\n        ProgramInfoModalComponent\r\n    ],\r\n    bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { AuthGuard } from './auth.guard';\r\nimport { Routes } from '@angular/router';\r\n\r\nimport { AdminLayoutComponent } from './layouts/admin/admin-layout.component';\r\nimport { AuthLayoutComponent } from './layouts/auth/auth-layout.component';\r\n\r\nexport const AppRoutes: Routes = [{\r\n\tpath: '',\r\n\tredirectTo: 'session/signin', //로그인 페이지\r\n\tpathMatch: 'full'\r\n}, {\r\n\tpath: '',\r\n\tcanActivate: [AuthGuard], \r\n\tcomponent: AdminLayoutComponent,\r\n\tchildren: [{\r\n\t\tpath: 'info', //암호화정책/프로파일\r\n\t\tloadChildren: './info/info.module#InfoModule'\r\n\t}, {\r\n\t\tpath: 'policy', //정책 관리\r\n\t\tloadChildren: './policy/policy.module#PolicyModule'\r\n\t}, {\r\n\t\tpath: 'tool', //관리자 도구\r\n\t\tloadChildren: './tool/tool.module#ToolModule'\r\n\t}, {\r\n\t\tpath: 'admin', //관리자 정보\r\n\t\tloadChildren: './admin/admin.module#AdminModule'\r\n\t}, {\r\n\t\tpath: 'central', //중앙저장소 관리\r\n\t\tloadChildren: './central/central.module#CentralModule'\r\n\t}, {\r\n\t\tpath: 'folderAuth', //폴더 권한 관리\r\n\t\tloadChildren: './folderAuth/folderAuth.module#FolderAuthModule'\r\n\t}, {\r\n\t\tpath: 'custom', //커스텀 정책 관리\r\n\t\tloadChildren: './custom/custom.module#CustomModule'\r\n\t}, {\r\n\t\tpath: 'setting', //서버 프로파일 설정\r\n\t\tloadChildren: './setting/setting.module#SettingModule'\r\n\t}, {\r\n\t\tpath: 'agent', //설치 현황\r\n\t\tloadChildren: './agent/agent.module#AgentModule'\r\n\t}, {\r\n\t\tpath: 'license', //라이선스 관리\r\n\t\tloadChildren: './license/license.module#LicenseModule'\r\n\t}, {\r\n\t\tpath: 'linkSystem', //연동 시스템 관리\r\n\t\tloadChildren: './linkSystem/linkSystem.module#LinkSystemModule'\r\n\t},\t{\r\n\t\tpath: 'adminurl', //보안 URL 관리\r\n\t\tloadChildren: './url/adminurl.module#AdminUrlModule'\r\n\t},{\r\n\t\tpath: 'user', // 사용자 관리\r\n\t\tloadChildren: './user/user.module#UserModule'\r\n\t},{\r\n\t\tpath: 'licenseMng', // 라이선스 관리 (탭)\r\n\t\tloadChildren: './licenseManager/license-manager.module#LicenseManagerModule'\r\n\t},{\r\n\t\tpath: 'positionmanagement', //직위 관리\r\n\t\tloadChildren: './position/positionmanagement.module#PositionManagementModule'\r\n\t},{\r\n\t\tpath: 'sworkmanagement', // 전사 S-Work 정책\r\n\t\tloadChildren: './storage/sworkmanagement.module#SworkManagementModule'\r\n\t},{\r\n\t\tpath: 'addinmanagement', // 애드인 관리\r\n\t\tloadChildren: './addin/addin.module#AddInManageModule'\r\n\t},{\r\n\t\tpath: 'categoryPolicy', // 범주 정책\r\n\t\tloadChildren: './categoryPolicy/categoryPolicy.module#CategoryPolicyModule'\r\n\t},{\r\n\t\tpath: 'gradePolicy', // 등급 정책\r\n\t\tloadChildren: './grade/gradePolicy.module#GradePolicyModule'\r\n\t},{\r\n\t\tpath: 'logpolicy', // 로그정책\r\n\t\tloadChildren: './logPolicy/logpolicy.module#LogPolicyModule'\r\n\t},{\r\n\t\tpath: 'serverProfile', // 서버프로파일\r\n\t\tloadChildren: './serverProfile/serverProfile.module#ServerProfileModule'\r\n\t},{\r\n\t\tpath: 'logmanagement', // 로그관리\r\n\t\tloadChildren: './logmanagement/logmanagement.module#LogManagementModule'\r\n\t},{\r\n\t    path: 'secureurl', // 전사 보안URL\r\n        loadChildren: './secureurl/secureurl.module#SecureUrlModule'\r\n    },{\r\n\t\tpath: 'traceLogInfo', // 추적 및 해독\r\n\t\tloadChildren: './trace/tracelog.module#TraceLogModule'\r\n\t},{\r\n\t\tpath: 'sworkControl', // 전사 S-Work 제어프로그램 정책\r\n\t\tloadChildren: './controlProgram/controlProgram.module#ControlProgramModule'\r\n\t}]\r\n},  {\r\n\tpath: '',\r\n\tcomponent: AuthLayoutComponent,\r\n\tchildren: [{\r\n\t\tpath: 'session',\r\n\t\tloadChildren: './session/session.module#SessionModule'\r\n\t}]\r\n}, {\r\n\tpath: '**',\r\n\tredirectTo: 'session/404'\r\n}];\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","import {Injectable} from \"@angular/core\";\r\nimport { ConnectionBackend, RequestOptions, Request, RequestOptionsArgs, Response, Http, Headers} from \"@angular/http\";\r\nimport {Observable} from \"rxjs/Rx\";\r\nimport { environment } from \"environments/environment\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class InterceptedHttp extends Http {\r\n  constructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private router: Router) {\r\n      super(backend, defaultOptions);\r\n  }\r\n\r\n  request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {\r\n    //console.log(\"[REQUEST] \" , url);\r\n    return this.intercept(super.request(url, this.getRequestOptionArgs(options)));\r\n  }\r\n\r\n  get(url: string, options?: RequestOptionsArgs): Observable<Response> {\r\n      url = this.updateUrl(url);\r\n     // console.log(\"[GET] \" , url);\r\n      return this.intercept(super.get(url, this.getRequestOptionArgs(options)));\r\n  }\r\n\r\n  post(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {\r\n      url = this.updateUrl(url);     \r\n     // console.log(\"[POST] \" , url);     \r\n      return this.intercept(super.post(url, body, this.getRequestOptionArgs(options)));     \r\n  }\r\n\r\n  put(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {\r\n      url = this.updateUrl(url);\r\n      // console.log(\"[PUT] \" , url);\r\n      return this.intercept(super.put(url, body, this.getRequestOptionArgs(options)));\r\n  }\r\n\r\n  delete(url: string, options?: RequestOptionsArgs): Observable<Response> {\r\n      url = this.updateUrl(url);\r\n      // console.log(\"[DELETE] \" , url);\r\n      return this.intercept(super.delete(url, this.getRequestOptionArgs(options)));\r\n  }\r\n\r\n  private updateUrl(req: string) {\r\n      return  environment.origin + req;\r\n  }\r\n\r\n  private getRequestOptionArgs(options?: RequestOptionsArgs) : RequestOptionsArgs {\r\n      // if (options == null) {\r\n      //     options = new RequestOptions();\r\n      // }\r\n      // if (options.headers == null) {\r\n      //     options.headers = new Headers();\r\n      // }\r\n      // options.headers.append('Content-Type', 'application/json');\r\n\r\n      return options;\r\n  }\r\n\r\n  protected intercept(observable: Observable<Response>): Observable<Response> {\r\n    \r\n    return observable.catch((err, source) => {\r\n      \r\n      if (err.status  == 401) {\r\n          var errJson = JSON.parse(err._body);\r\n          var errCode = \"\"; \r\n          \r\n          if(errJson[0].errCode != undefined){\r\n            errCode = errJson[0].errCode;\r\n          }\r\n          \r\n          this.router.navigate(['/session/sessionError/', errCode]);\r\n\r\n          return Observable.empty();\r\n\r\n        } else {\r\n          return Observable.throw(err);\r\n        }\r\n      });\r\n\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/http.interceptor.ts","export * from './app.component';\r\nexport * from './app.module';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/index.ts","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { DataTablePagerComponent as SuperDataTablePagerComponent } from '@swimlane/ngx-datatable';\r\n\r\n@Component({\r\n  selector: 'app-datatable-pager',\r\n  template: `\r\n    <ul class=\"pager\">\r\n      <li [class.disabled]=\"!canPrevious()\">\r\n        <a\r\n          href=\"javascript:void(0)\"\r\n          (click)=\"selectPage(1)\">\r\n          <i class=\"{{pagerPreviousIcon}}\"></i>\r\n        </a>\r\n      </li>\r\n      <li [class.disabled]=\"!canPrevious()\">\r\n        <a\r\n          href=\"javascript:void(0)\"\r\n          (click)=\"prevPage()\">\r\n          <i class=\"{{pagerLeftArrowIcon}}\"></i>\r\n        </a>\r\n      </li>\r\n      <li\r\n        class=\"pages\"\r\n        *ngFor=\"let pg of pages\"\r\n        [class.active]=\"pg.number === page\">\r\n        <a\r\n          href=\"javascript:void(0)\"\r\n          (click)=\"selectPage(pg.number)\">\r\n          {{pg.text}}\r\n        </a>\r\n      </li>\r\n      <li [class.disabled]=\"!canNext()\">\r\n        <a\r\n          href=\"javascript:void(0)\"\r\n          (click)=\"nextPage()\">\r\n          <i class=\"{{pagerRightArrowIcon}}\"></i>\r\n        </a>\r\n      </li>\r\n      <li [class.disabled]=\"!canNext()\">\r\n        <a\r\n          href=\"javascript:void(0)\"\r\n          (click)=\"selectPage(totalPages)\">\r\n          <i class=\"{{pagerNextIcon}}\"></i>\r\n        </a>\r\n      </li>\r\n    </ul>\r\n  `,\r\n  host: {\r\n    class: 'datatable-pager'\r\n  },\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTablePagerComponent extends SuperDataTablePagerComponent {\r\n  @Input() pagerLeftArrowIcon: string = 'icon-left';\r\n  @Input() pagerRightArrowIcon: string = 'icon-right';\r\n  @Input() pagerPreviousIcon: string = 'icon-prev';\r\n  @Input() pagerNextIcon: string = 'icon-skip';\r\n\r\n \r\n  get totalPages(): number {\r\n    const count = this.size < 1 ? 1 : Math.ceil(this.count / this.size);\r\n    return Math.max(count || 0, 1);\r\n  }\r\n\r\n  @Output() change: EventEmitter<any> = new EventEmitter();\r\n\r\n  public _visiblePagesCount: number = 3;\r\n\r\n  @Input()\r\n  set visiblePagesCount(val: number) {\r\n    this._visiblePagesCount = val;\r\n    this.pages = this.calcPages();\r\n  }\r\n\r\n  get visiblePagesCount(): number {\r\n    return this._visiblePagesCount;\r\n  }\r\n  \r\n  canPrevious(): boolean {\r\n    return this.page > 1;\r\n  }\r\n\r\n  canNext(): boolean {\r\n    return this.page < this.totalPages;\r\n  }\r\n\r\n  prevPage(): void {\r\n    this.selectPage(this.page - 1);\r\n  }\r\n\r\n  nextPage(): void {\r\n    this.selectPage(this.page + 1);\r\n  }\r\n\r\n  selectPage(page: number): void {\r\n    if (page > 0 && page <= this.totalPages && page !== this.page) {\r\n      this.page = page;\r\n\r\n      this.change.emit({\r\n        page\r\n      });\r\n    }\r\n  }\r\n\r\n  calcPages(page?: number): any[] {\r\n    const pages = [];\r\n    let startPage = 1;\r\n    let endPage = this.totalPages;\r\n    const maxSize = this.visiblePagesCount;\r\n    const isMaxSized = maxSize < this.totalPages;\r\n\r\n    page = page || this.page;\r\n\r\n    if (isMaxSized) {\r\n      startPage = page - Math.floor(maxSize / 2);\r\n      endPage = page + Math.floor(maxSize / 2);\r\n\r\n      if (startPage < 1) {\r\n        startPage = 1;\r\n        endPage = Math.min(startPage + maxSize - 1, this.totalPages);\r\n      } else if (endPage > this.totalPages) {\r\n        startPage = Math.max(this.totalPages - maxSize + 1, 1);\r\n        endPage = this.totalPages;\r\n      }\r\n    }\r\n\r\n    for (let num = startPage; num <= endPage; num++) {\r\n      pages.push({\r\n        number: num,\r\n        text: <string><any>num\r\n      });\r\n    }\r\n\r\n    return pages;\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pager.component.ts","import { Component, Input, OnInit, Output, OnChanges, EventEmitter } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { NgbModal, ModalDismissReasons, NgbActiveModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TreeNode, TREE_ACTIONS, KEYS, IActionMapping } from 'angular-tree-component';\r\nimport { SearchResultModal } from './search-modal.component';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport { ConfApplyModal } from '../modal/conf-apply.component';\r\nimport { AlarmModal } from '../modal/alarm.component';\r\n\r\nimport { Subscription }   from 'rxjs/Subscription';\r\nimport { SessionOutModal } from '../modal/session-out.component';\r\nimport { HandleError } from '../modal/handle-error.component';\r\nimport { connectableObservableDescriptor } from 'rxjs/observable/ConnectableObservable';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {AdminModalComponent} from \"../admin/admin-modal.component\";\r\nimport {SearchPermissionModalComponent} from \"./search-permission-modal.component\";\r\nimport {SearchPCcurrentStatusModalComponent} from \"./search-pccurrentstatus-modal.component\";\r\nimport {SearchPolicyModalComponent} from \"./search-policy-modal.component\";\r\nimport {SearchExceptionPolicyModalComponent} from \"./search-exceptionpolicy-modal.component\";\r\n\r\n@Component({\r\n\tselector: 'ngbd-dropdown-manual',\r\n\ttemplateUrl: './dropdown-manual.html',\r\n\tproviders: [ GlobalService ]\r\n})\r\nexport class NgbdDropdownManual implements OnInit, OnChanges {\r\n\t@Input() selectedTree: TreeNode;\r\n\t@Input() selectedType: string;\r\n\t@Input() selectedNode: string;\r\n\t@Input() selectedTempTree: TreeNode;\r\n\t@Input() selectedTempNode: string;\r\n\t@Input() isMove: boolean;\r\n\t@Output() groupUpdated = new EventEmitter();\r\n\t@Output() deleteItem = new EventEmitter();\r\n\t@Output() onVoted = new EventEmitter();\r\n\t@Output() selectTempTree = new EventEmitter();\r\n\t@Output() moveUserGroup = new EventEmitter();\r\n\r\n\tcustomS1 : string;  //S1관련 커스텀 정책 사용 여부\r\n\tcustomIsolation : string;\r\n\ttreeMenuHideAddDel : string;\r\n\tisSystemAdmin: boolean;\t// 최고 관리자 여부\r\n\ttreeMenuHidePermission: string;\r\n\tusePCcurrentStatus: string;\r\n\tuserPolicySearch: string;\r\n\tuseExceptionPolicy: string;\r\n\r\n\tcloseResult: string;\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\tprivate appurl: string;\r\n\r\n\tselectedSec: string;\r\n\r\n\tsearchForm: FormGroup;\r\n\tgroupform: FormGroup;\r\n\tpersonform: FormGroup;\r\n\r\n\tsearchName: string;\r\n\tsearchId: string;\r\n\tgroupNm: string;\r\n\tpersonId: string;\r\n\tpersonPw: string;\r\n\tpersonNm: string;\r\n\tnewAddUser: string;\r\n\tsubscription: Subscription;\r\n\tprivate modalRef: NgbModalRef;\r\n\r\n\tremainData: Object;\r\n\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate router: Router,\r\n\t\tprivate http: Http,\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate global: GlobalService,\r\n\t\tprivate translate:TranslateService\r\n\t) {\r\n\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.global.getUrl().then(res => this.appurl = res);\r\n\t\tthis.customS1 = this.global.getCustomPolicy('customPolicy', 's1', 'N');\r\n\t\tthis.customIsolation = this.global.getCustomPolicy('customPolicy', 'isolation', 'N');\r\n\t\tthis.treeMenuHideAddDel = this.global.getCustomPolicy('customPolicy', 'treeMenuHideAddDel', 'N');\r\n\t\tthis.global.systemAdminCheck().then(isAdmin => {\r\n            this.isSystemAdmin = isAdmin;\r\n        });\r\n\t\tthis.treeMenuHidePermission = this.global.getCustomPolicy('customPolicy', 'treeMenuHidePermission', 'N');\r\n\t\tthis.usePCcurrentStatus = this.global.getCustomPolicy('customPolicy', 'usePCcurrentStatus', 'N');\r\n\t\tthis.userPolicySearch = this.global.getCustomPolicy('customPolicy', 'userPolicySearch', 'N');\r\n\t\tthis.useExceptionPolicy = this.global.getCustomPolicy('customPolicy', 'useExceptionPolicy', 'N');\r\n\r\n\t\tthis.modelFormInit();\r\n\r\n\t}\r\n\r\n\t// 모델 초기화\r\n\tmodelFormInit(){\r\n\r\n\t\t// 모델 초기화(검색 모달)\r\n\t\tthis.searchForm = this.fb.group({\r\n\t\t\tsearchName: [],\r\n\t\t\tsearchId: []\r\n\t\t});\r\n\t\t// 모델 초기화(그룹 추가 모달)\r\n\t\tthis.groupform = this.fb.group({\r\n\t\t\tgNm: [null, Validators.compose([Validators.required])]\r\n\t\t});\r\n\t\t// 모델 초기화(사용자 추가)\r\n\t\tthis.personform = this.fb.group({\r\n\t\t\tpId: [null, Validators.compose([Validators.required])],\r\n\t\t\tpPw: [null, Validators.compose([Validators.required])],\r\n\t\t\tpNm: [null, Validators.compose([Validators.required])]\r\n\t\t});\r\n\t}\r\n\t/**\r\n\t * 관리자 로그 저장\r\n\t * @param logTypeId\r\n\t * @param tartgetId\r\n\t * @param tartgetName\r\n\t * @param tartgetParentName\r\n\t */\r\n\tinsertMngLog(logTypeId:string, tartgetId:string, tartgetName:string, tartgetParentName:string, oldGroupId:string, oldGroupName:string): void {\r\n\r\n\t\tlet managerId = JSON.parse(sessionStorage.getItem('userInfo'));\r\n\r\n\t\tthis.global.insertMngLog(this.appurl, managerId).then(res => {\r\n\r\n\t\tlet params;\r\n\r\n\t\t// 사용자 추가/삭제\r\n\t\tif(logTypeId =='206' || logTypeId =='207'){\r\n\t\t\tparams = {\r\n\t\t\t\t'913': logTypeId,\r\n\t\t\t\t'1': managerId,\r\n\t\t\t\t'3': res['name'],\r\n\t\t\t\t'4': res['groupName'],\r\n\t\t\t\t'907': res['mail'],\r\n\t\t\t\t'914': res['phone'],\r\n\t\t\t\t'11': tartgetId,\r\n\t\t\t\t'12': tartgetName,\r\n\t\t\t\t'13': tartgetParentName,\r\n\t\t\t\t'14': this.selectedTree.data.duty\r\n\t\t\t};\r\n\t\t// 그룹 추가/삭제\r\n\t\t}else if(logTypeId =='202' || logTypeId =='203'){\r\n\t\t\tparams = {\r\n\t\t\t\t'913': logTypeId,\r\n\t\t\t\t'1': managerId,\r\n\t\t\t\t'3': res['name'],\r\n\t\t\t\t'4': res['groupName'],\r\n\t\t\t\t'907': res['mail'],\r\n\t\t\t\t'914': res['phone'],\r\n\t\t\t\t'13': tartgetName\r\n\t\t\t};\r\n\t\t\t// PC 삭제\r\n\t\t}else if(logTypeId =='210'){\r\n\t\t\tparams = {\r\n\t\t\t\t'913': logTypeId,\r\n\t\t\t\t'1': managerId,\r\n\t\t\t\t'3': res['name'],\r\n\t\t\t\t'4': res['groupName'],\r\n\t\t\t\t'907': res['mail'],\r\n\t\t\t\t'914': res['phone'],\r\n\t\t\t\t'11': tartgetId,\r\n\t\t\t\t'12': tartgetName,\r\n\t\t\t\t'13': tartgetParentName,\r\n\t\t\t\t'14': this.selectedTree.data.duty\r\n\t\t\t};\r\n\t\t// 사용자/그룹 이동\r\n\t\t}else{\r\n\t\t\tlet modifyContent = '사용자 이동';\r\n\r\n\t\t\t// '911': '9,' + oldGroupId + ';4,' + oldGroupName + ';',\r\n\t\t\t// '912': '9,' + this.selectedTree.data.id + ';4,' + this.selectedTree.data.name + ';',\r\n\r\n\t\t\tlet duty = '';\r\n\t\t\tif(logTypeId =='204'){\r\n\t\t\t\tmodifyContent = '그룹 이동';\r\n\t\t\t\tduty = this.selectedTree.data.duty;\r\n\t\t\t}\r\n\t\t\tparams = {\r\n\t\t\t\t'913': logTypeId,\r\n\t\t\t\t'1': managerId,\r\n\t\t\t\t\t'3': res['name'],\r\n\t\t\t\t\t'4': res['groupName'],\r\n\t\t\t\t\t'907': res['mail'],\r\n\t\t\t\t\t'914': res['phone'],\r\n\t\t\t\t\t'11': tartgetId,\r\n\t\t\t\t\t'12': tartgetName,\r\n\t\t\t\t\t'13': tartgetParentName,\r\n\t\t\t\t\t'14': this.selectedTree.data.duty,\r\n\t\t\t\t\t'911': '9,' + oldGroupId + ';4,' + oldGroupName + ';',\r\n\t\t\t\t\t'912': '9,' + this.selectedTree.data.id + ';4,' + this.selectedTree.data.name + ';',\r\n\t\t\t\t\t'115': modifyContent\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\t// 관리자 로그 저장\r\n\t\t\tthis.global.insertMngLogSubmit(this.appurl, params).then(r => {});\r\n\t\t});\r\n\t}\r\n\tngOnChanges() {\r\n\r\n\t}\r\n\t// 모달 열림(공통)\r\n\topen(content) {\r\n\t\tthis.searchName = '';\r\n\t\tthis.searchId = '';\r\n\t\tthis.groupNm = '';\r\n\t\tthis.personId = '';\r\n\t\tthis.personPw = '';\r\n\t\tthis.personNm = '';\r\n\r\n\t\tthis.modelFormInit();\r\n\r\n\t\tthis.modalRef = this.modalService.open(content);\r\n\t\tthis.modalRef.result.then((result) => {\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\topenPop(content: string) {\r\n\t\tlet txt;\r\n\t\tswitch(content) {\r\n\t\t\tcase 'delGroup':\r\n\t\t\t\t// \"treeDropdown.manual.ts.1001\":\"해당 그룹을 삭제하시겠습니까?\",\r\n\t\t\t\tthis.translate.get('treeDropdown.manual.ts.1001').subscribe((res:string) => {\r\n\t\t\t\t\ttxt = res;\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delPerson' :\r\n\t\t\t\t// \"treeDropdown.manual.ts.1002\":\"해당 사용자를 삭제하시겠습니까?\",\r\n\t\t\t\tthis.translate.get('treeDropdown.manual.ts.1002').subscribe((res:string) => {\r\n\t\t\t\t\ttxt = res;\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delPC' :\r\n\t\t\t// \"treeDropdown.manual.ts.1006\":\"해당 PC를 삭제하시겠습니까?\",\r\n\t\t\tthis.translate.get('treeDropdown.manual.ts.1006').subscribe((res:string) => {\r\n\t\t\t\ttxt = res;\r\n\t\t\t});\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tconst modalRef = this.modalService.open(ConfApplyModal);\r\n\t\tmodalRef.componentInstance.data = txt;\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result && result.toLowerCase() === 'yes') {\r\n\t\t\t\tswitch(content) {\r\n\t\t\t\t\tcase 'delGroup': this.deleteGroup() ; break;\r\n\t\t\t\t\tcase 'delPerson' : this.deletePerson() ; break;\r\n\t\t\t\t\tcase 'delPC' : this.deletePC() ; break;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\t// 권한별 검색 모달 열림\r\n\topenPermission() {\r\n\t\tthis.modalRef = this.modalService.open(SearchPermissionModalComponent, {size: 'lg'});\r\n\t\tthis.modalRef.componentInstance.tree = this.selectedTree.data;\r\n\r\n\t\t// 기존 검색 조건 및 조회 결과 유지\r\n\t\tif(this.remainData != null || this.remainData != undefined){\r\n\t\t\tthis.modalRef.componentInstance.data = this.remainData;\r\n\t\t}else{\r\n\t\t\tthis.remainData = null;\r\n\t\t}\r\n\r\n\t\tthis.modalRef.result.then((result) => {\r\n\t\t\tthis.remainData = result;\r\n\t\t\tif(result != null && result != undefined){\r\n\r\n\t\t\t\t// 사용자 정보 조회하여 이동할 데이테 셋팅 및 동작\r\n\t\t\t\tlet selectedData = result.selected;\r\n\t\t\t\tif(selectedData != null && selectedData.length > 0){\r\n\t\t\t\t\tlet target = [{\r\n\t\t\t\t\t\t'id' : null,\r\n\t\t\t\t\t\t'team' : null,\r\n\t\t\t\t\t\t'idx' : []\r\n\t\t\t\t\t}];\r\n\t\t\t\t\t// 사용자/부서 체크 및 설정\r\n\t\t\t\t\ttarget[0]['id'] = '1' in selectedData[0] ? selectedData[0]['1'] : selectedData[0]['9'];\r\n\t\t\t\t\ttarget[0]['team'] = selectedData[0]['9'];\r\n\t\t\t\t\t// 구룹 경로 설정\r\n\t\t\t\t\tlet groupPath = selectedData[0]['19'].split('*');\r\n\t\t\t\t\tfor(var i=0; i<groupPath.length; i++){\r\n\t\t\t\t\t\ttarget[0]['idx'].push(groupPath[i].split('^')[0]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.onVoted.emit(target);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.remainData = null;\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\t// 그룹 삭제\r\n\tdeleteGroup(): Promise<any> {\r\n\t\tlet body = {\"reqId\":\"5302\",\"reqParams\":[{\"9\": this.selectedTree.data.id}]};\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// tree.component로 삭제 그룹 정보 전달\r\n\t\t\t\tthis.deleteItem.emit(this.selectedTree);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"203\", '', this.selectedTree.data.name, '', '', '');\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t} else {\r\n\t\t\t\t// 비어있는 그룹이 아닐 경우 알림 모달\r\n\t\t\t\tconst modalRef = this.modalService.open(AlarmModal);\r\n\t\t\t\t// \"treeDropdown.manual.ts.1003\":\"비어있는 그룹이 아닙니다\",\r\n\t\t\t\tthis.translate.get('treeDropdown.manual.ts.1003').subscribe((res1:string) => {\r\n\t\t\t\t\tmodalRef.componentInstance.data = res1;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// 사용자 삭제\r\n\tdeletePerson(): Promise<any> {\r\n\t\tlet body = {\"reqId\":\"5303\",\"reqParams\":[{\"1\": this.selectedTree.data.id.replace('person-','')}]};\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// tree.component로 삭제 사용자 정보 전달\r\n\t\t\t\tthis.deleteItem.emit(this.selectedTree);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"207\", this.selectedTree.data.id.replace('person-',''), this.selectedTree.data.name, this.selectedTree.data.parentName, '', '');\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// PC 삭제\r\n\tdeletePC(): Promise<any> {\r\n\t\t// requPrams 중 2번째(index:1)는 로그성 파람으로 빈값으로 진행(브라우져IP를 알 수 없어 로그 저장 API를 호출로 대응))\r\n\t\tlet body = {\"reqId\":\"5305\",\"reqParams\":[{\"801\": this.selectedTree.data.id.replace('pc-','')},[]]};\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// tree.component로 삭제 사용자 정보 전달\r\n\t\t\t\tthis.deleteItem.emit(this.selectedTree);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"210\", this.selectedTree.data.parent.replace('person-',''), this.selectedTree.data.parentName, this.selectedTree.data.groupName, '', '');\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// 그룹/사용자 정보 검색 후, openSearch() 메서드 수행.\r\n\tsearchSubmit(): Promise<any> {\r\n\t\tlet body = {\"reqId\":\"5403\",\"reqParams\":[{\"1\": this.searchId,\"3\": this.searchName, \"9\": this.selectedTree.data.id}]};\r\n\t\t// console.log(body);\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\tthis.openSearch(response);\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t\tthis.modalRef.close();\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// 검색결과 모달 열림. 검색결과 모달에서 부서/사용자 선택시 tree.component로 선택된 부서/사용자 정보 전달\r\n\topenSearch(node: any[]): void {\r\n\t\tconst modalRef = this.modalService.open(SearchResultModal, {size: 'lg'});\r\n    \tmodalRef.componentInstance.data = node;\r\n\t\tmodalRef.result.then((result) => {\r\n\t\t\tif(result !== 'Close Click' && result.length > 0) {\r\n\t\t\t\t// tree.component로 선택된 부서/사용자 정보 전달\r\n\t\t\t\tthis.onVoted.emit(result);\r\n\t\t\t}\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\t// 엔터키 눌렀을 경우, searchSubmit() 수행.\r\n\tkeyDownFunction(event): void {\r\n\t\tif(event.keyCode == 13) {\r\n\t\t\tthis.searchSubmit();\r\n\t\t}\r\n\t}\r\n\t// 그룹 추가 시 호출. tree.component에 추가된 그룹 정보 전달\r\n\tcreateGroup(): Promise<any> {\r\n\t\tlet body = {\"reqId\":\"5203\",\"reqParams\":[{\"1002\": this.selectedTree.data.id,\"4\": this.groupNm}]};\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// 그룹 추가 성공시, tree.component에 현재 선택된 부서(parent) 정보 및 그룹명 전달\r\n\t\t\t\tthis.groupUpdated.emit([this.selectedTree, this.groupNm, 'group']);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"202\", '', this.groupNm, '', '', '');\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t\tthis.modalRef.close();\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// 사용자 추가시 호출. tree.component에 추가된 사용자 정보 전달\r\n\tcreatePerson(): Promise<any> {\r\n\t\tlet body = {\"reqId\":\"5204\",\"reqParams\":[{\r\n\t\t\t\"1\": this.personId,\r\n\t\t\t\"2\": this.personPw,\r\n\t\t\t\"3\": this.personNm,\r\n\t\t\t\"9\": this.selectedTree.data.id\r\n\t\t}]};\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// 사용자 추가 성공시, 현재 선택된 부서(parent) 및 사용자 이름 전달\r\n\t\t\t\tthis.groupUpdated.emit([this.selectedTree, this.personId, 'person']);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"206\", this.personId, this.personNm, this.selectedTree.data.name, '', '');\r\n\t\t\t} else if(response[0] && response[0]['701'] === 19) {\r\n\t\t\t\tconst modalRef = this.modalService.open(AlarmModal);\r\n\t\t\t\t// \"treeDropdown.manual.ts.1004\":\"이미 사용중인 아이디입니다\",\r\n\t\t\t\tthis.translate.get('treeDropdown.manual.ts.1004').subscribe((res1:string) => {\r\n\t\t\t\t\tmodalRef.componentInstance.data = res1;\r\n\t\t\t\t});\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t\tthis.modalRef.close();\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\r\n\t// 붙여넣기(그룹 이동/사용자 이동)\r\n\tpaste(content: string) {\r\n\r\n\t\tswitch(content) {\r\n\t\t\tcase 'moveGroup': this.moveGroup() ; break;\r\n\t\t\tcase 'moveUser' : this.moveUser() ; break;\r\n\t\t}\r\n\t}\r\n\r\n\t// 그룹 이동\r\n\tmoveGroup(): Promise<any> {\r\n\t\tlet tempNode = this.selectedTempTree;\r\n\t\tlet node = this.selectedTree;\r\n\t\tlet parentNode = node.realParent ? node.realParent : node.treeModel.virtualRoot;\r\n\r\n\t\tlet body = {\"reqId\":\"5401\",\"reqParams\":[{\r\n\t\t\t\"9\": tempNode.data.id,\r\n\t\t\t\"1002\": node.data.id  // 이동할 곳의 부모그룹\r\n\t\t}]};\r\n\r\n\t\tconsole.log(\"movegroup : \", body);\r\n\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// tree refresh ([target node, previous node])\r\n\t\t\t\tthis.moveUserGroup.emit([parentNode, this.selectedTempTree]);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"204\", tempNode.data.id, tempNode.data.name, tempNode.data.name, tempNode.data.parent, tempNode.data.parentName);\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t} else {\r\n\t\t\t\t// 비어있는 그룹이 아닐 경우 알림 모달\r\n\t\t\t\tconst modalRef = this.modalService.open(AlarmModal);\r\n\t\t\t\t// \"treeDropdown.manual.ts.1005\":\"비어있는 그룹이 아닙니다\",\r\n\t\t\t\tthis.translate.get('treeDropdown.manual.ts.1005').subscribe((res1:string) => {\r\n\t\t\t\t\tmodalRef.componentInstance.data = res1;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\r\n\t// 사용자 이동\r\n\tmoveUser(): Promise<any> {\r\n\t\tlet tempNode = this.selectedTempTree;\r\n\t\tlet parentTempNode = tempNode.realParent ? tempNode.realParent : tempNode.treeModel.virtualRoot;\r\n\r\n\t\tlet body = {\"reqId\":\"5402\",\"reqParams\":[{\r\n\t\t\t\"1\": tempNode.data.id.replace('person-',''),\r\n\t\t\t\"9\": this.selectedTree.data.id,\t// 이동할 그룹 id,\r\n\t\t\t\"1003\": parentTempNode.data.id  // 이전 그룹id\r\n\t\t}]};\r\n\r\n\t\tconsole.log(\"movegroup : \", body);\r\n\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\t\t\tif(response[0] && response[0].sucess == 0) {\r\n\t\t\t\t// tree refresh ([target node, previous node])\r\n\t\t\t\tthis.moveUserGroup.emit([this.selectedTree, parentTempNode]);\r\n\t\t\t\t//관리자 로그 저장\r\n\t\t\t\tthis.insertMngLog(\"208\", tempNode.data.id.replace('person-',''), tempNode.data.name, this.selectedTree.data.name, tempNode.data.parent, tempNode.data.parentName);\r\n\t\t\t} else if(response.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\r\n\t//PC현황조회 모달열림\r\n\topenPCcurrentStatus() {\r\n\tthis.modalRef = this.modalService.open(SearchPCcurrentStatusModalComponent, {size: 'lg'});\r\n\tthis.modalRef.componentInstance.tree = this.selectedTree.data;\r\n\r\n\t\tthis.modalRef.result.then((result) => {\r\n\t\t\tif(result != null && result != undefined){\r\n\t\t\t}\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.remainData = null;\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\r\n\t// 조건별 정책 현황 조회 모달 열림\r\n\topenPolicySearch() {\r\n\t\tthis.modalRef = this.modalService.open(SearchPolicyModalComponent, {size: 'lg', windowClass: 'admin-modal'});\r\n\t\tthis.modalRef.componentInstance.tree = this.selectedTree.data;\r\n\r\n\t\tthis.modalRef.result.then((result) => {\r\n\t\t\tthis.remainData = result;\r\n\t\t\tif (result != null && result != undefined) {\r\n\r\n\t\t\t}\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.remainData = null;\r\n\t\t\tthis.closeResult = `Dismissed ${reason}`;\r\n\t\t});\r\n\t}\r\n\t\r\n\t\r\n\t//예외정책 조회 모달열림\r\n    openExceptionPolicy() {\r\n        this.modalRef = this.modalService.open(SearchExceptionPolicyModalComponent, {size: 'lg'});\r\n        this.modalRef.componentInstance.tree = this.selectedTree.data;\r\n    \r\n            this.modalRef.result.then((result) => {\r\n                if(result != null && result != undefined){\r\n                }\r\n                this.closeResult = `Closed with: ${result}`;\r\n            }, (reason) => {\r\n                this.remainData = null;\r\n                this.closeResult = `Dismissed ${reason}`;\r\n            });\r\n        }\r\n\r\n\r\n\t// 세션 아웃\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/dropdown-manual.ts","import { Component, Input, OnInit, OnChanges, Injectable, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { NgbModal, NgbModalOptions, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TreeNode, TREE_ACTIONS, KEYS, IActionMapping, TreeComponent } from 'angular-tree-component';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\n// import { Subscription }   from 'rxjs/Subscription';\r\n\r\nimport { GlobalService } from '../globals';\r\nimport { InfoService } from 'app/info.service';\r\nimport { HandleError } from '../modal/handle-error.component';\r\nimport { SessionOutModal } from '../modal/session-out.component';\r\nimport {provideForRootGuard} from \"angular2-perfect-scrollbar\";\r\n\r\n@Component({\r\n\tselector: 'org-tree',\r\n\ttemplateUrl: './tree.component.html',\r\n\tproviders: [ GlobalService, InfoService ]\r\n})\r\n\r\nexport class OrgTree implements OnInit, OnChanges {\r\n\t@Input() accessMode: string;\r\n\t@Output() onSelectGroup = new EventEmitter<Object>();\r\n\t@Output() onDataLoad = new EventEmitter<Object>();\r\n\t@ViewChild(TreeComponent)\r\n\tprivate tree: TreeComponent;\r\n\r\n\t// subscription: Subscription;\r\n\tprivate currentUser = JSON.parse(sessionStorage.getItem('currentUser'));\r\n\tprivate headers = new Headers({'Content-Type': 'application/json'});\r\n\r\n\tnodes: any[] = null;\r\n\tprivate appurl: string;\r\n\tprivate code: any[];\r\n\tprivate sub: any;\r\n\r\n\tselectedTree: TreeNode;\r\n\tselectedType: string;\r\n\tselectedNode: string;\r\n\tselectedTempTree: TreeNode;\r\n\tselectedTempNode: string;\r\n\tisMove: boolean;\r\n\tupdateTree: boolean;\r\n\tdeleteTree: boolean;\r\n\tupdateItem: string;\r\n\toldGroupId: any[];\r\n\t// deleteAction: string;\r\n\thidePCList: string;\r\n\r\n\ttreeId: string;\r\n\tnewuser: string;\r\n\tsearchResult: any[] = [];\r\n\tsearchId: string;\r\n\tinti: number = 1;\r\n\teditMode: boolean = false;\r\n\tupdateGroup: any[];\r\n\tparams = {\r\n\t\tpersonId: 1,\r\n\t\tpersonNm: 3,\r\n\t\tgroupNm: 4,\r\n\t\tduty : 5,\r\n\t\tgroupId: 9,\r\n\t\tnodeType: 15,\r\n\t\torderJob: 2000\r\n\t}\r\n\tgroupOrder = 2108;\t// custom order\r\n\tuserOrder = 2109; \t// custom order\r\n\tasyncChildren: any[] = [];\r\n\tcustomOrder: string;\r\n\tuserInfoMasking: string;\r\n\r\n\t// 트리메뉴 마우스 및 키보드 이벤트 매핑\r\n\tpublic actionMapping: IActionMapping = {\r\n\t\tmouse: {\r\n\t\t\tcontextMenu: (tree, node, $event) => {\r\n\t\t\t\tlet event = document.createEvent('Event');\r\n\t\t\t\tevent.initEvent('click', true, true);\r\n\t\t\t\tconst ctxmenu = document.getElementById('treeContext');\r\n\t\t\t\tdocument.querySelector('.btn-outline-success').dispatchEvent(event);\r\n\r\n\t\t\t\tctxmenu.style.top = `${$event.clientY}px`;\r\n\t\t\t\tctxmenu.style.left = `${$event.clientX}px`;\r\n\t\t\t\tTREE_ACTIONS.TOGGLE_SELECTED(tree, node, $event);\r\n\t\t\t\tthis.selectedTree = node;\r\n\t\t\t\tthis.selectedType = node.data.type;\r\n\t\t\t\tthis.selectedNode = node.data.tree;\r\n\r\n\t\t\t\t// 붙여 넣기 가능 체크\t\r\n\t\t\t\tthis.checkIsMove();\r\n\r\n\t\t\t\t$event.preventDefault();\r\n\t\t\t},\r\n\t\t\tdblClick: (tree, node, $event) => {\r\n\t\t\t\tif (node.hasChildren) TREE_ACTIONS.TOGGLE_EXPANDED(tree, node, $event);\r\n\t\t\t},\r\n\t\t\tclick: (tree, node, $event) => {\r\n\t\t\t\tif($event.shiftKey) {\r\n\t\t\t\t\tTREE_ACTIONS.TOGGLE_SELECTED_MULTI(tree, node, $event);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tTREE_ACTIONS.TOGGLE_SELECTED(tree, node, $event);\r\n\t\t\t\t\tTREE_ACTIONS.EXPAND(tree, node, $event);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tkeys: {\r\n\r\n\t\t}\r\n\t};\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate http: Http,\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate global: GlobalService,\r\n\t\tprivate info: InfoService\r\n\t) {\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.global.getUrl().then(res => this.appurl = res);\r\n\r\n\t\t// 190530 추가(ejkim)\r\n\t\t// 커스텀 정렬 추가\r\n\t\tthis.customOrder = this.global.getCustomPolicy('basicPolicy', 'customOrder', 'N');\r\n\t\tthis.userInfoMasking = this.global.getCustomPolicy('customPolicy', 'userInfoMasking', 'N');\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\t// this.loadTree();\r\n\t\t\tthis.searchGroup();\r\n\t\t\tthis.onResize();\r\n\t\t}, 1);\r\n\r\n\t\tthis.hidePCList = this.global.getCustomPolicy('basicPolicy', 'hidePCList', 'N');\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * 190409 추가(ejkim)\r\n\t * 그룹/사용자 이동 붙여넣기 가능 node 체크\r\n\t */\r\n\tcheckIsMove(){\r\n\t\t\r\n\t\t// console.log(this.selectedTempTree);\r\n\t\t// console.log(this.selectedTree);\r\n\t\t\r\n\t\tlet node = this.selectedTree;\r\n\t\tlet tempNode = this.selectedTempTree;\r\n\t\tlet parentTempNode = tempNode !== undefined? (tempNode.realParent ? tempNode.realParent : tempNode.treeModel.virtualRoot): undefined;\r\n\r\n\t\tif(tempNode === undefined \r\n\t\t\t|| node.data.id === tempNode.data.id\r\n\t\t\t|| node.data.id  === parentTempNode.data.id){\r\n\t\t\tthis.isMove = false;\r\n\t\t}else{\r\n\t\t\tthis.isMove = true;\r\n\t\t}\r\n\t}\r\n\t// 관리자 정보 검색. 정상적으로 실행시 searchGroup 메서드 실행\r\n\t// 190502 수정(ejkim) 불필요한 로직으로 주석 처리\r\n\t// loadTree(): Promise<any> {\r\n\t\t\r\n\t// \tlet body = {\"reqId\":\"5031\",\"reqParams\":[{\"1201\" : \"\"}]};\r\n\t// \treturn this.http.post(this.appurl, JSON.stringify(body), {headers: this.headers})\r\n\t// \t\t\t.toPromise()\r\n\t// \t\t\t.then(res => {\r\n\t// \t\t\t\tlet body = res.json();\r\n\t// \t\t\t\tif(body[0] && body[0].sucess == 0) {\r\n\t// \t\t\t\t\t// this.searchGroup();\r\n\t// \t\t\t\t\t// console.log(\"관리자 정보 검색 성공\");\r\n\t// \t\t\t\t} else if(body.session === false) {\r\n\t// \t\t\t\t\tthis.sessionOut();\r\n\t// \t\t\t\t} \r\n\t// \t\t\t})\r\n\t// \t\t\t.catch(this.handleError);\r\n\t// }\r\n\r\n\t// 사용자 접근 가능한 부서 정보 검색 후 로드\r\n\tsearchGroup(): Promise<any> {\r\n\t\tlet userId = JSON.parse(sessionStorage.getItem('userInfo'));\r\n\t\tlet topGroupIdList: any[] = [];\r\n\t\t\r\n\t\treturn this.global.sendUserId(this.appurl, userId, '9999').then(body => {\r\n\t\t\tif (body[0] && body[0].sucess == 0 && body[1].resultParams) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tlet map = body[1].resultParams.map((obj) => {\r\n\t\t\t\t\t\tlet rObj = {};\r\n\t\t\t\t\t\trObj['tree'] = '1';\r\n\t\t\t\t\t\trObj['title'] = obj[this.params.groupNm];\r\n\t\t\t\t\t\trObj['name'] = obj[this.params.groupNm];\r\n\t\t\t\t\t\trObj['id'] = obj[this.params.groupId];\r\n\t\t\t\t\t\trObj['type'] = obj[this.params.nodeType];\r\n\t\t\t\t\t\trObj['parent'] = '';\r\n\t\t\t\t\t\trObj['parentName'] = '';\r\n\t\t\t\t\t\trObj['hasChildren'] = true;\r\n\r\n\t\t\t\t\t\tif (obj[this.params.groupId] !== \"SECURITYDOMAIN\")\r\n\t\t\t\t\t\t\ttopGroupIdList.push(obj[this.params.groupId]);\r\n\r\n\t\t\t\t\t\treturn rObj;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.nodes = map;\r\n\t\t\t\t\tsessionStorage.setItem('topGroupIdList', topGroupIdList.toString());\r\n\t\t\t\t}, 1);\r\n\r\n\t\t\t\tif (this.currentUser['2055'] !== '1') {\r\n\t\t\t\t\tsessionStorage.setItem('accessFolder', JSON.stringify(body[1].resultParams));\r\n\t\t\t\t}\r\n\t\t\t} else if (body.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t// });\r\n\t\t}).catch(this.handleError);\r\n\t}\r\n\t// 트리메뉴 선택 시\r\n\tonSelect(node: TreeNode){\r\n\r\n\t\tif(this.accessMode === 'sideMenu') {\r\n\t\t\t// 트리메뉴가 메인화면의 좌측패널에서 사용될 경우\r\n\t\t\t// 화면 우측(그룹/사용자 정보, 암호화 정책)에 관련 정보 로드\r\n\t\t\tsessionStorage.setItem('selectItem', JSON.stringify(node.data));\r\n\t\t\tlet event = document.createEvent('Event');\r\n\t\t\tevent.initEvent('click', true, true);\r\n\t\t\t    \r\n\t\t\tif(node && node.data.tree === '1') {\r\n\t\t\t\tthis.router.navigate(['/info/group']);\r\n\t\t\t\t// setTimeout(() => {\r\n\t\t\t\t// \tdocument.querySelector('.group-data-load').dispatchEvent(event);\r\n\t\t\t\t// }, 10);\r\n\r\n\t\t\t} else if(node && node.data.tree === '0') {\r\n\t\t\t\tthis.router.navigate(['/info/person']);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tdocument.querySelector('.person-data-load').dispatchEvent(event);\r\n\t\t\t\t\t\r\n\t\t\t\t\t// if(this.currentUser['2055'] == '1')\r\n\t\t\t\t\t// \t// 사용자 정보 조회 로그 저장\r\n\t\t\t\t\t// \tthis.insertMngLog('276', node);\r\n\t\t\t\t\t\r\n\t\t\t\t}, 10);\r\n\t\t\t} else if(node && node.data.tree === '2') {\r\n\t\t\t\tthis.router.navigate(['/info/pc']);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tdocument.querySelector('.pc-data-load').dispatchEvent(event);\r\n\t\t\t\t}, 10);\r\n\t\t\t}\r\n\r\n\t\t\tif(node.data.tree !== '2') {\r\n\t\t\t\tlet btn = document.querySelectorAll('.on-data-load');\r\n\t\t\t\tfor(let i=0; i<btn.length;i++) {\r\n\t\t\t\t\tif(btn[i]) {\r\n\t\t\t\t\t\tbtn[i].dispatchEvent(event);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if(this.accessMode === 'selectGroup' || this.accessMode === 'selectPerson') {\r\n\t\t\t// 트리메뉴가 각종 모달창에서 사용될 경우 해당 모달창에 선택된 트리메뉴 정보 전달\r\n\t\t\tthis.onSelectGroup.emit(node.data);\r\n\t\t}\r\n\t}\r\n\t// 트리 검색 실행시 검색 타겟 로드\r\n\tonVoted(result: any[]) {\r\n\r\n\t\tlet node = this.tree.treeModel.getFocusedNode();\r\n\t\tthis.searchResult = result[0].idx;\r\n\t\tthis.searchId = result[0].id;\r\n\r\n\t\t// 200522 추가(ejkim)\r\n\t\t// 확장 된 노드 체크후 inti(order) 변경\r\n\t\tfor (let i = 1; i < this.searchResult.length; i++) {\r\n\t\t\tconst nodeId = this.searchResult[i];\r\n\t\t\tlet expandNode = this.tree.treeModel.getNodeById(nodeId);\r\n\t\t\t// 이미 확장된 경우\r\n\t\t\tif(expandNode != undefined && expandNode.isExpanded){\r\n\t\t\t\tthis.inti++;\r\n\t\t\t}\t\t\t\r\n\t\t}\r\n\t\r\n\t\tif(!node.children) {\r\n\t\t\tnode.expand(); // 하위 부서가 없을 경우, expand\r\n\t\t} else {\r\n\t\t\tthis.activeRepeat(node); //하위 부서가 있을 경우, activeRepeat() 수행하여 하위 부서도 expand\r\n\t\t}\r\n\t}\r\n\t\r\n\t// 트리 검색 실행시 해당 경로에 있는 폴더 선택 후 expand();\r\n\texpandTree(node: TreeNode, order: number) {\r\n\t\t\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.tree.treeModel.getNodeById(this.searchResult[order]).expand();\r\n\t\t}, 10);\r\n\t\tthis.inti++;\r\n\t}\r\n\r\n\t// 그룹/사용자 추가시 해당 트리 refresh\r\n\tgroupUpdated(arr: any[]) {\r\n\t\tlet node: TreeNode = arr[0];\r\n\t\tlet sec = arr[2];\r\n\t\tthis.treeId = arr[1];\r\n\t\tthis.editMode = true;\r\n\t\tthis.updateTree = true;\r\n\t\tthis.updateItem = sec;\r\n\t\tif(sec === 'group') {\r\n\t\t\tthis.newuser = arr[1];\r\n\t\t}\r\n\t\tthis.getChildren(node);\r\n\t\tnode.expand();\r\n\t}\r\n\t// 그룹/사용자 삭제시 해당 트리 refresh\r\n\tdeleteItem(node: TreeNode) {\r\n\t    let parentNode = node.realParent ? node.realParent : node.treeModel.virtualRoot;\r\n\t\tthis.editMode = true;\r\n\t\tthis.deleteTree = true;\r\n\t\tthis.getChildren(parentNode);\r\n\t}\r\n\t\r\n\t/**\r\n\t * 190408 추가(ejkim)\r\n\t * 그룹/사용자 이동 선택 node \r\n\t */\r\n\tselectTempTree(node: TreeNode){\r\n\t\tthis.selectedTempTree = node;\r\n\t\tthis.selectedTempNode = node.data.tree;\r\n\t}\r\n\r\n\t/**\r\n\t * 190408 추가(ejkim)\r\n\t * 그룹/사용자 이동 완료 후 해당 트리 refresh\r\n\t */\r\n\tmoveUserGroup(arr: any[]){\r\n\t\t// reset\r\n\t\tthis.selectedTempTree = undefined;\r\n\t\tthis.selectedTempNode = undefined;\r\n\t\tthis.editMode = true;\r\n\r\n\t\t// tree refresh\r\n\t\tarr.forEach(node => {\r\n\t\t\tthis.getChildren(node);\r\n\t\t\tnode.expand();\r\n\t\t});\r\n\t}\r\n\r\n\t// 트리 exapnd()시 하위 부서/사용자 검색 후 바인딩\r\n\tgetChildren(node: TreeNode) {\r\n\t\r\n\t\tlet body;\r\n\t\tif(node.data.tree === '0') {\r\n\t\t\tlet nodeUserId: string = node.data.id;\r\n\t\t\tnodeUserId = nodeUserId.replace(`person-`,'');\r\n\t\t\tbody = {\"reqId\":\"5615\",\"reqParams\":[{\"1\": nodeUserId}]};\r\n\t\t} else if(node.data.tree === '1') {\r\n\t\t\tbody = {\"reqId\":\"5001\",\"reqParams\":[{\"9\": node.data.id}]};\r\n\t\t}\r\n\t\treturn this.global.commonCommunication(this.appurl, body).then(response => {\r\n\r\n\t\t\t// 그룹 로드 후 변수 callGroup에 저장\r\n\t\t\tlet callGroup = (group) => {\r\n\r\n\t\t\t\t// 노트 타입 정렬(표준)\r\n\t\t\t\tthis.sortTreeNode(group, this.params.nodeType);\r\n\r\n\t\t\t\t// 커스텀 정렬\r\n\t\t\t\tif (this.customOrder === 'Y')\r\n\t\t\t\t\tgroup = this.sortTreeNode(group, this.groupOrder);\r\n\r\n\t\t\t\tfor (var i = 0; i < group.length; i++) {\r\n\t\t\t\t\tthis.asyncChildren.push({\r\n\t\t\t\t\t\ttree: '1',\r\n\t\t\t\t\t\ttitle: group[i][this.params.groupNm],\r\n\t\t\t\t\t\tname: group[i][this.params.groupNm],\r\n\t\t\t\t\t\tid: group[i][this.params.groupId],\r\n\t\t\t\t\t\ttype: group[i][this.params.nodeType],\r\n\t\t\t\t\t\tparent: node.data.id,\r\n\t\t\t\t\t\tparentName: node.data.name,\r\n\t\t\t\t\t\thasChildren: true\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (group[i][this.params.groupNm] == this.newuser) {\r\n\t\t\t\t\t\tthis.treeId = group[i][this.params.groupId];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// 사용자 로드 후 변수 callPerson에 저장\r\n\t\t\tlet callPerson = (person) => {\r\n\r\n\t\t\t\t// 노트 타입 정렬(표준)\r\n\t\t\t\tthis.sortTreeNode(person, this.params.nodeType);\r\n\r\n\t\t\t\t// 커스텀 정렬\r\n\t\t\t\tif (this.customOrder === 'Y')\r\n\t\t\t\t\tperson = this.sortTreeNode(person, this.userOrder);\r\n\r\n\t\t\t\tfor (var j = 0; j < person.length; j++) {\r\n\r\n\t\t\t\t\tlet userName = person[j][this.params.personNm];\r\n\t\t\t\t\t// 최고관리자이고 사용자 정보 마스킹 사용일때\r\n\t\t\t\t\tif (this.currentUser['2055'] == '1' && this.userInfoMasking === 'Y')\r\n\t\t\t\t\t\tuserName = this.info.maskingEvenStr(person[j][this.params.personNm])\r\n\r\n\t\t\t\t\tthis.asyncChildren.push({\r\n\t\t\t\t\t\ttree: '0',\r\n\t\t\t\t\t\ttitle: userName, // displayField\r\n\t\t\t\t\t\tname: person[j][this.params.personNm],\r\n\t\t\t\t\t\tid: `person-${person[j][this.params.personId]}`,\r\n\t\t\t\t\t\ttype: person[j][this.params.nodeType],\r\n\t\t\t\t\t\tparent: node.data.id,\r\n\t\t\t\t\t\tparentName: node.data.name,\r\n\t\t\t\t\t\tduty: person[j][this.params.duty],\r\n\t\t\t\t\t\thasChildren: true,\r\n\t\t\t\t\t\torderJob: person[j][this.params.orderJob],\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// PC로드 후 변수 callPC에 저장\r\n\t\t\tlet callPC = null;\r\n\t\t\tif (this.hidePCList == 'N' || sessionStorage.getItem('adminUserInfo') == null) {\r\n\t\t\t\tcallPC = (pc) => {\r\n\t\t\t\t\tfor (var k = 0; k < pc.length; k++) {\r\n\t\t\t\t\t\tthis.asyncChildren.push({\r\n\t\t\t\t\t\t\ttree: '2',\r\n\t\t\t\t\t\t\ttitle: pc[k]['801'],\r\n\t\t\t\t\t\t\tname: pc[k]['801'],\r\n\t\t\t\t\t\t\tid: `pc-${pc[k]['801']}`,\r\n\t\t\t\t\t\t\tparent: node.data.id,\r\n\t\t\t\t\t\t\tparentName: node.data.name,\r\n\t\t\t\t\t\t\tgroupName: node.data.parentName,\r\n\t\t\t\t\t\t\ttype: pc[k]['4218'],\t\t// 로그인 여부\r\n\t\t\t\t\t\t\tduty: node.data.duty,\r\n\t\t\t\t\t\t\t// hasChildren: true\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// ajax response 값을 그룹, 사용자, PC로 분류하여 할당\r\n\t\t\tif (response[0] && response[0].sucess == 0) {\r\n\t\t\t\tthis.asyncChildren = [];\r\n\t\t\t\tif (response[1]) {\r\n\t\t\t\t\tif (response.length == '2') {\r\n\t\t\t\t\t\tif (response[1].resultParams[0]['9']) {\r\n\t\t\t\t\t\t\tvar group = response[1].resultParams;\r\n\t\t\t\t\t\t\tcallGroup(group);\r\n\t\t\t\t\t\t} else if (response[1].resultParams[0]['801']) {\r\n\t\t\t\t\t\t\tif (callPC != null) {\r\n\t\t\t\t\t\t\t\tvar pc = response[1].resultParams;\r\n\t\t\t\t\t\t\t\tcallPC(pc);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (response[1].resultParams[0]['1']) {\r\n\t\t\t\t\t\t\tif (this.accessMode === 'sideMenu' || this.accessMode === 'selectPerson') {\r\n\t\t\t\t\t\t\t\tvar person = response[1].resultParams;\r\n\t\t\t\t\t\t\t\tcallPerson(person);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (response.length == '3') {\r\n\t\t\t\t\t\tvar group2 = response[1].resultParams;\r\n\t\t\t\t\t\tcallGroup(group2);\r\n\t\t\t\t\t\tif (this.accessMode === 'sideMenu' || this.accessMode === 'selectPerson') {\r\n\t\t\t\t\t\t\tvar person2 = response[2].resultParams;\r\n\t\t\t\t\t\t\tcallPerson(person2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.editMode === true) {\r\n\t\t\t\t\t\tnode.data.children = this.asyncChildren;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this.addChildren(node);\r\n\r\n\t\t\t} else if (body.session === false) {\r\n\t\t\t\tthis.sessionOut();\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(this.handleError);\r\n\t}\r\n\t// 하위 부서/사용자 정보 로드 후 해당 Tree메뉴 하위에 구현\r\n\taddChildren(node: TreeNode) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\r\n\t\t\tresolve(this.asyncChildren.map((c) => {\r\n\t\t\t\treturn Object.assign({}, c);\r\n\t\t\t}));\r\n\r\n\t\t\tif(this.editMode === true) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.addNode(node);\r\n\t\t\t\t}, 10);\r\n\t\t\t}\r\n\t\t\tif(this.searchResult && this.searchResult.length > 0) {\r\n\t\t\t\tthis.activeRepeat(node);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t// 그룹/사용자 추가 및 삭제 시 트리모델 업데이트.\r\n\taddNode(node: TreeNode): void {\r\n\t\tthis.tree.treeModel.update();\r\n\t\tthis.editMode = false;\r\n\t\t\r\n\t\tif(this.updateTree === true) {\r\n\t\t\tsetTimeout(() => {\t\t\t\t\r\n\t\t\t\tthis.activateNewItem();\r\n\t\t\t}, 10);\r\n\t\t} else if(this.deleteTree === true) {\r\n\t\t\tsetTimeout(() => {\t\t\t\t\r\n\t\t\t\tthis.activateSubSub(node);\r\n\t\t\t}, 10);\r\n\t\t}\r\n\t}\r\n\tactivateNewItem() {\r\n\t\tif(this.updateItem === 'person') {\r\n\t\t\tthis.activateSubSub(this.tree.treeModel.getNodeById(`person-${this.treeId}`));\r\n\t\t} else if(this.updateItem === 'group') {\r\n\t\t\tthis.activateSubSub(this.tree.treeModel.getNodeById(this.treeId));\r\n\t\t}\r\n\t\tthis.updateTree = false;\r\n\t}\r\n\r\n\t// 트리 검색 실행 시 해당 경로에 있는 트리 순차적으로 확장\r\n\tactiveRepeat(node: TreeNode) {\r\n\t\t\r\n\t\tif(this.inti < this.searchResult.length) {\r\n\t\t\t// 하위 부서가 더 있을경우, 해당 하위 부서 expand\r\n\t\t\tthis.expandTree(node, this.inti);\r\n\t\t} else if(this.inti == this.searchResult.length) {\r\n\t\t\t// 하위 부서가 더 없을 경우,\r\n\t\t\tif(this.searchResult.indexOf(this.searchId) > -1) {\r\n\t\t\t\tthis.activateSubSub(node); //그룹일 경우. 해당 부서 셀렉트 처리.\r\n\t\t\t} else {\r\n\t\t\t\t// 사용자일 경우. 해당 사용자 셀렉트 처리\r\n\t\t\t\tnode.expand();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tlet idx = `person-${this.searchId}`;\r\n\t\t\t\t\tthis.activateSubSub(this.tree.treeModel.getNodeById(idx));\r\n\t\t\t\t}, 10);\r\n\t\t\t}\r\n\t\t\tthis.inti = 1;\r\n\t\t\tthis.searchResult = [];\r\n\t\t} else {\r\n\t\t\tthis.inti = 1;\r\n\t\t\tthis.searchResult = [];\r\n\t\t}\r\n\t}\r\n\t// 검색 수행, 또는 그룹/사용자 추가 시 해당 트리 셀렉팅 처리.\r\n\tactivateSubSub(node) {\r\n\t\tthis.onSelect(node);\r\n\t\tnode.focus();\r\n\t\tsetTimeout(() => {\r\n\t\t\tnode.setActiveAndVisible();\r\n\t\t}, 10);\r\n\t}\r\n\t// 윈도우 리사이즈할 경우, 트리메뉴도 그에 맞춰 사이즈 강제 조정(가상스크롤 때문)\r\n\tonResize(): void {\r\n\t\tlet elm = document.getElementById('tree-area');\r\n\t\tif(this.accessMode === 'sideMenu') {\r\n\t\t\tlet mainHeaderH = !document.querySelector('.main-header') ? 0 :  document.querySelector('.main-header').clientHeight;\r\n\t\t\telm.style.height = `${document.body.clientHeight - mainHeaderH - document.querySelector('.title-org').clientHeight}px`;\r\n\t\t}\r\n\t}\r\n\t\r\n\t// 190530 추가(ejkim)\r\n\t// 트리노드 정렬\r\n\tsortTreeNode(targetObj: any, sortingField: number){\r\n\r\n\t\ttargetObj.sort(function(a, b) { // 오름차순\r\n\t\t\tif(a[sortingField] != undefined &&  b[sortingField]!= undefined){\r\n\t\t\t\treturn a[sortingField] - b[sortingField];\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn targetObj;\r\n\t}\r\n\r\n\t\r\n\t/**\r\n\t * 관리자 로그 저장\r\n\t * @param logTypeId\r\n\t */\r\n\tinsertMngLog(logTypeId:string, node:TreeNode): void {\r\n\t\tconst userId = JSON.parse(sessionStorage.getItem(\"userInfo\"));\r\n\r\n\t\tthis.global.insertMngLog(this.appurl, userId).then(res => {\r\n            let params = {'913': logTypeId,\r\n                            '1': userId,\r\n                            '3': res['name'],\r\n                            '4': res['groupName'],\r\n                            '907': res['mail'],\r\n\t\t\t\t\t\t\t'914': res['phone'],\r\n\t\t\t\t\t\t\t'11': logTypeId == '276' ? node.data.id.replace(`person-`,'') : node.data.id,\r\n\t\t\t\t\t\t\t'12': node.data.name,\r\n\t\t\t\t\t\t\t'13': node.data.parentName, \r\n\t\t\t\t\t\t\t'14': node.data.duty\r\n\t\t\t\t\t \t};\r\n        \r\n            // 관리자 로그 저장\r\n            this.global.insertMngLogSubmit(this.appurl, params).then(r => {});\r\n        });\r\n\t}\r\n\r\n\tcustomTemplateStringOptions = {\r\n\t\tisExpandedField: 'expanded',\r\n\t\tidField: 'id',\r\n\t\tdisplayField: 'title',   \r\n\t\tgetChildren: this.getChildren.bind(this),\r\n\t\tactionMapping: this.actionMapping,\r\n\t\tuseVirtualScroll: true,\r\n  \t\tnodeHeight: (node: TreeNode) => 25,\r\n\t\tnodeClass: (node:TreeNode) => {\r\n\t\t\tlet obj;\r\n\t\t\tif(!node.data.children) {\r\n\t\t\t\tobj = 'isChildren-undefined';\r\n\t\t\t} else {\r\n\t\t\t\tif(node.data.children.length > 0) { obj = 'isChildren-object'; }\r\n\t\t\t\telse { obj = 'isChildren-undefined'; }\r\n\t\t\t}\r\n\t\t\treturn obj;\r\n\t\t},\r\n\t\tallowDrag: false,\r\n\t}\r\n\tgo($event) {\r\n\t\tconsole.log('go ----' ,$event);\r\n\t}\r\n\t// 세션 아웃\r\n\tsessionOut(): void {\r\n\t\tconst modalRef = this.modalService.open(SessionOutModal, {backdrop: 'static'});\r\n\t}\r\n\t// 에러 발생시 예외 처리\r\n\tprivate handleError(error: any): Promise<any> {\r\n\t\tconsole.error('An error occurred', error);\r\n\t\tconst modalRef = this.modalService.open(HandleError);\r\n\t\treturn Promise.reject(error.message || error);\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/tree/tree.component.ts"],"sourceRoot":""}