{"__symbolic":"module","version":4,"metadata":{"Entity":{"__symbolic":"class","members":{}},"Relationship":{"__symbolic":"class","members":{}},"RelationshipInstance":{"__symbolic":"class","members":{}},"PartnerInstance":{"__symbolic":"class","members":{}},"PartnerRole":{"__symbolic":"class","members":{}},"EntityMeta":{"__symbolic":"class","members":{}},"Attribute":{"__symbolic":"class","members":{}},"Role":{"__symbolic":"class","members":{}},"RoleRelation":{"__symbolic":"class","members":{}},"RelationshipMeta":{"__symbolic":"class","members":{}},"Involve":{"__symbolic":"class","members":{}},"RelationMeta":{"__symbolic":"class","members":{}},"Association":{"__symbolic":"class","members":{}},"FieldsMappingPair":{"__symbolic":"class","members":{}},"EntityRelation":{"__symbolic":"class","members":{}},"Selection":{"__symbolic":"class","members":{}},"Projection":{"__symbolic":"class","members":{}},"QueryObject":{"__symbolic":"class","members":{}},"Sort":{"__symbolic":"class","members":{}},"EntityType":{"__symbolic":"class","members":{}},"Relation":{"__symbolic":"class","members":{}},"RelationshipH":{"__symbolic":"class","members":{}},"RoleH":{"__symbolic":"class","members":{}},"RoleMeta":{"__symbolic":"class","members":{}},"DataElementH":{"__symbolic":"class","members":{}},"DataElementMeta":{"__symbolic":"class","members":{}},"DataDomainH":{"__symbolic":"class","members":{}},"DataDomainMeta":{"__symbolic":"class","members":{}},"DataDomainValue":{"__symbolic":"class","members":{}},"SearchHelpH":{"__symbolic":"class","members":{}},"SearchHelpMeta":{"__symbolic":"class","members":{}},"SearchHelpFieldMeta":{"__symbolic":"class","members":{}},"UiMapperService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"composeChangedRelation":[{"__symbolic":"method"}],"composeChangedRelationArray":[{"__symbolic":"method"}],"composeChangedRelationship":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"EntityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":28},{"__symbolic":"reference","module":"ui-message-angular","name":"MessageService","line":22,"character":38}]}],"setOriginalHost":[{"__symbolic":"method"}],"setMessageStore":[{"__symbolic":"method"}],"listEntityID":[{"__symbolic":"method"}],"listEntityIDbyRole":[{"__symbolic":"method"}],"getEntityMeta":[{"__symbolic":"method"}],"searchEntities":[{"__symbolic":"method"}],"getEntityInstance":[{"__symbolic":"method"}],"getRelationMeta":[{"__symbolic":"method"}],"getRelationMetaOfEntity":[{"__symbolic":"method"}],"createEntityInstance":[{"__symbolic":"method"}],"changeEntityInstance":[{"__symbolic":"method"}],"deleteEntityInstance":[{"__symbolic":"method"}],"listEntityType":[{"__symbolic":"method"}],"getEntityTypeDesc":[{"__symbolic":"method"}],"saveEntityType":[{"__symbolic":"method"}],"listRelation":[{"__symbolic":"method"}],"getRelationDesc":[{"__symbolic":"method"}],"saveRelation":[{"__symbolic":"method"}],"listRelationship":[{"__symbolic":"method"}],"getRelationship":[{"__symbolic":"method"}],"getRelationshipDesc":[{"__symbolic":"method"}],"saveRelationship":[{"__symbolic":"method"}],"listRole":[{"__symbolic":"method"}],"getRole":[{"__symbolic":"method"}],"getRoleDesc":[{"__symbolic":"method"}],"saveRole":[{"__symbolic":"method"}],"listDataElement":[{"__symbolic":"method"}],"getDataElement":[{"__symbolic":"method"}],"getDataElementDesc":[{"__symbolic":"method"}],"saveDataElement":[{"__symbolic":"method"}],"listDataDomain":[{"__symbolic":"method"}],"getDataDomain":[{"__symbolic":"method"}],"getDataDomainDesc":[{"__symbolic":"method"}],"saveDataDomain":[{"__symbolic":"method"}],"listSearchHelp":[{"__symbolic":"method"}],"getSearchHelp":[{"__symbolic":"method"}],"getSearchHelpDesc":[{"__symbolic":"method"}],"saveSearchHelp":[{"__symbolic":"method"}],"getElementMeta":[{"__symbolic":"method"}],"generateFakeRelationshipUUID":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"SearchHelpComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"dk-app-search-help","template":"<div class=\"modal fade\" id=\"searchHelp\" tabindex=\"-1\" role=\"dialog\"\n     [ngClass]=\"{'show': isSearchHelpModalShown}\" [ngStyle]=\"{'display': displaySearchHelpModal}\">\n  <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n    <div class=\"modal-content dk-search-help-content\">\n      <div class=\"modal-header dk-search-help-header\">\n        <h6 class=\"modal-title\" id=\"addRelationship\">{{searchHelp?.OBJECT_NAME}} ({{listData.length}})</h6>\n        <button type=\"button\" class=\"close\" (click)=\"closeSearchHelpModal()\">\n          <span aria-hidden=\"true\">&times;</span>\n        </button>\n      </div>\n\n      <div class=\"modal-body\">\n        <div *ngIf=\"isFilterShown\" class=\"card mb-2\">\n          <div *ngIf=\"searchHelp && searchHelp.FUZZY_SEARCH\" class=\"mt-2 mx-2 row\">\n            <input type=\"text\" class=\"form-control\" placeholder=\"Search\" [(ngModel)]=\"fuzzySearchTerm\" (keyup)=\"enterSearch($event)\">\n          </div>\n          <div class=\"mt-2 mx-2 row\" [formGroup]=\"filterFieldsFormGroup\">\n            <div *ngFor=\"let filterField of filterFields\" class=\"col-6 form-group row\">\n              <label for=\"{{filterField.FIELD_NAME}}\" class=\"col-6 col-form-label col-form-label-sm text-right\">\n                {{filterField.LABEL_TEXT || filterField.FIELD_NAME}}:</label>\n              <input id=\"{{filterField.FIELD_NAME}}\" name=\"{{filterField.FIELD_NAME}}\" formControlName=\"{{filterField.FIELD_NAME}}\"\n                     type=\"text\" class=\"col-6 form-control form-control-sm\" [readonly]=\"filterField.FILTER_DISP_ONLY\" (keyup)=\"enterSearch($event)\">\n            </div>\n          </div>\n\n          <div class=\"mb-2\">\n            <button type=\"button\" id=\"search\" class=\"btn btn-sm btn-primary float-right mr-2\" (click)=\"search()\">\n              Search\n            </button>\n          </div>\n        </div>\n\n        <button *ngIf=\"!isFilterShown\" type=\"button\" class=\"btn btn-link float-right\" (click)=\"showFilter()\">Show Filter</button>\n        <button *ngIf=\"isFilterShown\" type=\"button\" class=\"btn btn-link float-right\" (click)=\"hideFilter()\">Hide Filter</button>\n\n        <table class=\"table table-bordered table-sm table-hover dk-search-table\">\n          <thead class=\"thead-light\">\n          <tr>\n            <th scope=\"col\">\n              <input *ngIf=\"searchHelp?.MULTI\" type=\"checkbox\" [(ngModel)]=\"isSelectAllChecked\" (click)=\"selectAll()\">\n            </th>\n            <th *ngFor=\"let listField of listFields\"\n                [style.display]=\"listField.FIELD_NAME === 'INSTANCE_GUID' ? 'none' : 'table-cell'\">\n              {{listField.LIST_HEADER_TEXT || listField.FIELD_NAME}}\n            </th>\n          </tr>\n          </thead>\n\n          <tbody>\n          <tr *ngFor=\"let item of listData; let i = index\">\n            <td>\n              <input *ngIf=\"!searchHelp.MULTI\" type=\"radio\" name=\"selectedIndex\" [value]=\"i\" [(ngModel)]=\"selectedIndex\" (dblclick)=\"confirmSelection()\">\n              <input *ngIf=\"searchHelp.MULTI\" type=\"checkbox\" [(ngModel)]=\"item.SELECTED\">\n            </td>\n            <td *ngFor=\"let listField of listFields\"\n                [style.display]=\"listField.FIELD_NAME === 'INSTANCE_GUID' ? 'none' : 'table-cell'\">\n              {{item[listField.FIELD_NAME]}}\n            </td>\n          </tr>\n          </tbody>\n        </table>\n      </div>\n\n      <div class=\"modal-footer dk-search-help-footer\">\n        <button type=\"button\" class=\"btn btn-sm btn-secondary\" (click)=\"closeSearchHelpModal()\">Cancel</button>\n        <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"confirmSelection()\" [disabled]=\"searchHelp?.READ_ONLY\">Confirm</button>\n      </div>\n    </div>\n  </div>\n</div>\n","styles":[".dk-search-help-header{background-color:#e9ecef;padding:.3rem .5rem}.dk-search-help-footer{padding:.5rem}.dk-search-table{border:none;display:block;max-height:20rem;overflow:scroll;white-space:nowrap}.dk-search-help-content{border:1px solid rgba(0,0,0,.4);box-shadow:8px 5px 5px rgba(0,0,0,.2)}.dk-search-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":29,"character":26},{"__symbolic":"reference","name":"EntityService"}]}],"ngOnInit":[{"__symbolic":"method"}],"openSearchHelpModal":[{"__symbolic":"method"}],"openSearchHelpModalByEntity":[{"__symbolic":"method"}],"openSearchHelpModalBySearchHelp":[{"__symbolic":"method"}],"_isPreviousSearchHelp":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"_generateSearchList":[{"__symbolic":"method"}],"enterSearch":[{"__symbolic":"method"}],"showFilter":[{"__symbolic":"method"}],"hideFilter":[{"__symbolic":"method"}],"selectAll":[{"__symbolic":"method"}],"confirmSelection":[{"__symbolic":"method"}],"closeSearchHelpModal":[{"__symbolic":"method"}]}},"SearchHelp":{"__symbolic":"class","members":{}},"SearchHelpField":{"__symbolic":"class","members":{}},"SearchHelpMethod":{"__symbolic":"interface"},"AttributeBase":{"__symbolic":"class","members":{}},"AttributeControlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"EntityService"},{"__symbolic":"reference","name":"ɵa"}]}],"toAttributeControl":[{"__symbolic":"method"}],"toSingleAttributeControl":[{"__symbolic":"method"}],"_generateDropdownList":[{"__symbolic":"method"}],"_setDecimalPattern":[{"__symbolic":"method"}],"convertToFormControl":[{"__symbolic":"method"}],"convertToFormGroup":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"AttributeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"dk-app-attribute","template":"<div [formGroup]=\"formGroup\">\n  <div [ngSwitch]=\"attributeControl.controlType\">\n    <div *ngIf=\"attributeControl.controlType === 'text' ||\n                attributeControl.controlType === 'text_capital' ||\n                attributeControl.controlType === 'integer'\" class=\"input-group\">\n      <input *ngSwitchCase=\"'text'\" type=\"text\" class=\"form-control\"\n             [class.form-control-sm] = \"isSmallSize\"\n             [formControlName]=\"attributeControl.name\"\n             [id]=\"attributeControl.key\"\n             [maxlength]=\"attributeControl.maxLength\"\n             [pattern]=\"attributeControl.pattern\"\n             (change) = \"onChange($event)\"\n             [readonly]=\"isReadonly\">\n      <input *ngSwitchCase=\"'text_capital'\" type=\"text\" class=\"form-control\"\n             [class.form-control-sm] = \"isSmallSize\"\n             [formControlName]=\"attributeControl.name\"\n             [id]=\"attributeControl.key\"\n             [maxlength]=\"attributeControl.maxLength\"\n             (keyup)=\"onKeyup(attributeControl.name)\"\n             (change) = \"onChange($event)\"\n             [readonly]=\"isReadonly\" >\n      <input *ngSwitchCase=\"'integer'\" type=\"number\" class=\"form-control\"\n             [class.form-control-sm] = \"isSmallSize\"\n             [formControlName]=\"attributeControl.name\"\n             [id]=\"attributeControl.key\"\n             [pattern]=\"attributeControl.pattern\"\n             (change) = \"onChange($event)\"\n             [readonly]=\"isReadonly\" >\n      <div *ngIf=\"attributeControl.searchHelpId || attributeControl.domainRelationId\" class=\"input-group-append\">\n        <button class=\"btn btn-outline-secondary btn-sm\" type=\"button\" (click)=\"onSearchHelp(attributeControl)\">\n          <span class=\"fas fa-search\"></span>\n        </button>\n      </div>\n    </div>\n    <input *ngSwitchCase=\"'decimal'\" type=\"number\" class=\"form-control\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           [id]=\"attributeControl.key\"\n           [step]=\"attributeControl.step\"\n           [placeholder]=\"attributeControl.placeholder\"\n           [pattern]=\"attributeControl.pattern\"\n           (change) = \"onChange($event)\"\n           [readonly]=\"isReadonly\" >\n    <input *ngSwitchCase=\"'checkbox'\" type=\"checkbox\" class=\"mb-1 ml-1\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           (change) = \"onChange($event)\"\n           [id]=\"attributeControl.key\">\n    <textarea *ngSwitchCase=\"'textarea'\" class=\"form-control\"\n              [class.form-control-sm] = \"isSmallSize\"\n              [formControlName]=\"attributeControl.name\"\n              [id]=\"attributeControl.key\"\n              [rows]=\"attributeControl.rows\"\n              (change) = \"onChange($event)\"\n              [readonly]=\"isReadonly\"></textarea>\n    <input *ngSwitchCase=\"'file'\" type=\"file\" class=\"form-control\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           [id]=\"attributeControl.key\"\n           (change) = \"onChange($event)\"\n           [readonly]=\"isReadonly\" >\n    <input *ngSwitchCase=\"'date'\" type=\"date\" class=\"form-control\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           [id]=\"attributeControl.key\"\n           (change) = \"onChange($event)\"\n           [readonly]=\"isReadonly\" >\n    <input *ngSwitchCase=\"'timestamp'\" type=\"text\" class=\"form-control\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           [id]=\"attributeControl.key\"\n           (change) = \"onChange($event)\"\n           [readonly]=\"isReadonly\" >\n    <input *ngSwitchCase=\"'password'\" type=\"password\" class=\"form-control\"\n           [class.form-control-sm] = \"isSmallSize\"\n           [formControlName]=\"attributeControl.name\"\n           [id]=\"attributeControl.key\"\n           (change) = \"onChange($event)\"\n           [readonly]=\"isReadonly\" >\n    <select *ngSwitchCase=\"'dropdown'\" class=\"form-control\"\n            [class.form-control-sm] = \"isSmallSize\"\n            [formControlName]=\"attributeControl.name\"\n            [id]=\"attributeControl.key\"\n            (change) = \"onChange($event)\">\n      <option *ngFor=\"let opt of attributeControl.dropdownList\" [value]=\"opt.key\">{{opt.value}}</option>\n    </select>\n  </div>\n\n  <div *ngIf=\"!noErrorMsg\" [class.ng-invalid]=\"invalid\" class=\"dk-invalid-feedback\">\n    {{errorMessage}}\n  </div>\n</div>\n\n<dk-app-search-help></dk-app-search-help>\n","styles":[""]}]}],"members":{"attributeControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isSmallSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"noErrorMsg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"searchHelpComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":[{"__symbolic":"reference","name":"SearchHelpComponent"},{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onKeyup":[{"__symbolic":"method"}],"onSearchHelp":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}]}},"AttributeFormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"dk-app-attribute-form","template":"<div class=\"form-group row\" [formGroup]=\"formGroup\">\n  <label class=\"col-4 col-form-label text-right\"\n         [class.form-control-sm]=\"isSmallSize\"\n         [attr.for]=\"attributeControl.key\">\n    {{attributeControl.label}}<strong *ngIf=\"attributeControl.primaryKey\" class=\"primaryKey\">*</strong>:\n  </label>\n\n  <dk-app-attribute class=\"col-8\" [attributeControl]=\"attributeControl\" [formGroup]=\"formGroup\"\n                 [isSmallSize]=\"isSmallSize\" [readonly]=\"readonly\">\n  </dk-app-attribute>\n\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"attributeControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isSmallSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"AttributeForm2Component":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"dk-app-attribute-form2","template":"<div class=\"form-group\" [formGroup]=\"formGroup\">\n  <label class=\"col-form-label\"\n         [class.form-control-sm]=\"isSmallSize\"\n         [attr.for]=\"attributeControl.key\">\n    {{attributeControl.label}}<strong *ngIf=\"attributeControl.primaryKey\" class=\"primaryKey\">*</strong>:\n    <span [class.ng-invalid]=\"invalid\" class=\"dk-invalid-feedback\">{{errorMessage}}</span>\n  </label>\n\n  <dk-app-attribute [attributeControl]=\"attributeControl\" [formGroup]=\"formGroup\"\n                    [isSmallSize]=\"isSmallSize\" [readonly]=\"readonly\" [noErrorMsg]=\"true\">\n  </dk-app-attribute>\n\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"attributeControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isSmallSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"AttributeTableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"dk-app-attribute-table","template":"<table class=\"table table-bordered relation-table\"\n       [class.table-sm]=\"isSmallSize\"\n       [formGroup]=\"parentFormGroup\">\n  <thead class=\"thead-light\">\n  <tr>\n    <th scope=\"col\">\n      Action\n    </th>\n    <th scope=\"col\" *ngFor=\"let attributeControl of attributeControls\">\n      {{attributeControl.label}}<strong *ngIf=\"attributeControl.primaryKey\" class=\"primaryKey\">*</strong>\n    </th>\n  </tr>\n  </thead>\n\n  <tbody [formArrayName]=\"entityRelation.RELATION_ID\">\n    <tr *ngFor=\"let formGroup of formArray.controls; let i = index\">\n      <td class=\"actions\">\n        <button class=\"btn\" [class.btn-sm]=\"isSmallSize\" type=\"button\" (click)=\"openDetailModal(i)\" title=\"Detail\">\n          <span *ngIf=\"readonly\" class=\"fas fa-search\"></span>\n          <span *ngIf=\"!readonly\" class=\"fas fa-pen\"></span>\n        </button>\n        <button class=\"btn\" [class.btn-sm]=\"isSmallSize\" type=\"button\" [disabled]=\"readonly\" (click)=\"deleteRelationInstance(i)\" title=\"Delete\">\n          <span class=\"far fa-trash-alt\"></span>\n        </button>\n      </td>\n      <td *ngFor=\"let attributeControl of attributeControls\">\n        <dk-app-attribute [attributeControl]=\"attributeControl\" [isSmallSize] = \"isSmallSize\"\n                          [formGroup]=\"formGroup\" [readonly]=\"readonly\">\n\n        </dk-app-attribute>\n      </td>\n    </tr>\n  </tbody>\n</table>\n\n<div *ngIf=\"currentFormGroup\" class=\"modal fade dk-modal-open\" [ngClass]=\"{'show': isDetailModalShown}\"\n     [ngStyle]=\"{'display': displayDetailModal}\" id=\"detailModal\" tabindex=\"-1\" role=\"dialog\">\n  <div class=\"modal-dialog modal-lg\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h5 class=\"modal-title\" id=\"detail\">Line Detail</h5>\n        <button type=\"button\" class=\"close\" (click)=\"closeDetailModal()\">\n          <span aria-hidden=\"true\">&times;</span>\n        </button>\n      </div>\n      <div class=\"modal-body\">\n        <dk-app-attribute-form *ngFor=\"let attributeControl of attributeControls\"\n                               [readonly]=\"readonly\" [isSmallSize]=\"isSmallSize\"\n                            [attributeControl]=\"attributeControl\" [formGroup]=\"currentFormGroup\">\n        </dk-app-attribute-form>\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-primary\" [class.btn-sm]=\"isSmallSize\" (click)=\"closeDetailModal()\">OK</button>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=\"modal fade\" [ngClass]=\"{'show': isErrorModalShown}\"\n     [ngStyle]=\"{'display': displayErrorModal}\" id=\"errorModal\" tabindex=\"-1\" role=\"dialog\">\n  <div class=\"modal-dialog\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h5 class=\"modal-title\" id=\"error\">{{errorTitle}}</h5>\n        <button type=\"button\" class=\"close\" (click)=\"closeErrorModal()\">\n          <span aria-hidden=\"true\">&times;</span>\n        </button>\n      </div>\n      <div class=\"modal-body\">\n        <p>{{errorDescription}}</p>\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-primary\" [class.btn-sm]=\"isSmallSize\" (click)=\"closeErrorModal()\">OK</button>\n      </div>\n    </div>\n  </div>\n</div>\n\n","styles":[".relation-table{border:none;display:block;overflow-x:auto;white-space:nowrap}.actions{max-width:6rem;min-width:5rem;width:5rem}.dk-modal-open{overflow:auto}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"attributeControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"formArray":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"parentFormGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"entityRelation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"isSmallSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"openDetailModal":[{"__symbolic":"method"}],"closeDetailModal":[{"__symbolic":"method"}],"openErrorModal":[{"__symbolic":"method"}],"closeErrorModal":[{"__symbolic":"method"}],"deleteRelationInstance":[{"__symbolic":"method"}]}},"JorAngularModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"SearchHelpComponent"},{"__symbolic":"reference","name":"AttributeComponent"},{"__symbolic":"reference","name":"AttributeFormComponent"},{"__symbolic":"reference","name":"AttributeTableComponent"},{"__symbolic":"reference","name":"AttributeForm2Component"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":24,"character":4}],"exports":[{"__symbolic":"reference","name":"SearchHelpComponent"},{"__symbolic":"reference","name":"AttributeComponent"},{"__symbolic":"reference","name":"AttributeFormComponent"},{"__symbolic":"reference","name":"AttributeForm2Component"},{"__symbolic":"reference","name":"AttributeTableComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"EntityService"}]}],"validate":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"dk-jor-angular","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":6,"character":17},"member":"None"},"template":"<!-- html content -->\n","styles":["@import \"/src/assets/css/global.css\";"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}},"origins":{"Entity":"./lib/entity","Relationship":"./lib/entity","RelationshipInstance":"./lib/entity","PartnerInstance":"./lib/entity","PartnerRole":"./lib/entity","EntityMeta":"./lib/entity","Attribute":"./lib/entity","Role":"./lib/entity","RoleRelation":"./lib/entity","RelationshipMeta":"./lib/entity","Involve":"./lib/entity","RelationMeta":"./lib/entity","Association":"./lib/entity","FieldsMappingPair":"./lib/entity","EntityRelation":"./lib/entity","Selection":"./lib/entity","Projection":"./lib/entity","QueryObject":"./lib/entity","Sort":"./lib/entity","EntityType":"./lib/entity","Relation":"./lib/entity","RelationshipH":"./lib/entity","RoleH":"./lib/entity","RoleMeta":"./lib/entity","DataElementH":"./lib/entity","DataElementMeta":"./lib/entity","DataDomainH":"./lib/entity","DataDomainMeta":"./lib/entity","DataDomainValue":"./lib/entity","SearchHelpH":"./lib/entity","SearchHelpMeta":"./lib/entity","SearchHelpFieldMeta":"./lib/entity","UiMapperService":"./lib/ui-mapper.service","EntityService":"./lib/entity.service","SearchHelpComponent":"./lib/search-help/search-help.component","SearchHelp":"./lib/search-help/search-help","SearchHelpField":"./lib/search-help/search-help","SearchHelpMethod":"./lib/search-help/search-help","AttributeBase":"./lib/attribute/attribute-base","AttributeControlService":"./lib/attribute/attribute-control.service","AttributeComponent":"./lib/attribute/attribute.component","AttributeFormComponent":"./lib/attribute/attribute-form/attribute-form.component","AttributeForm2Component":"./lib/attribute/attribute-form2/attribute-form2.component","AttributeTableComponent":"./lib/attribute/attribute-table/attribute-table.component","JorAngularModule":"./lib/jor-angular.module","ɵa":"./lib/attribute/attribute-validators","ɵb":"./lib/jor-angular.component"},"importAs":"jor-angular"}