[{"__symbolic":"module","version":4,"metadata":{"CreateOrEditAlarmModalComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../../../../../shared/configure-component-base","name":"ConfigureComponentBase","line":56,"character":53},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":51,"character":1},"arguments":[{"selector":"create-or-edit-alarm-modal","template":"<div class=\"modal-content fe-modal-container create-or-edit-alarm-modal\" bs-modal-drag> <div class=\"modal-header fe-modal-header\"> <h4 class=\"fe-modal-header-title\"> <span *ngIf=\"alarmId\">{{lc(\"EditAlarm\")}}</span> <span *ngIf=\"!alarmId\">{{lc(\"AddAlarm\")}}</span> </h4> <div class=\"fe-modal-header-close\" aria-label=\"Close\" (click)=\"close()\">×</div> </div> <form #saveAlarmForm=\"ngForm\" novalidate> <div class=\"modal-body\" class=\"create-or-edit-alarm-body\"> <tabset #staticTabs class=\"tab-container tabbable-line\"> <tab heading=\"{{lc('BasicProperty')}}\" customClass=\"m-tabs__item\"> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc('AlarmDataSource')}}: </div> <div> <div class=\"alarm-level-content alarm-input clearfix\"> <div class=\"alarm-level-button\" (click)=\"changeAlarmDataSource(alarmDataSourceType.Variable)\" *ngIf=\"AppSessionService.isSupportAdvancedCommunication\" [ngClass]=\"{'active': selectAlarmDataSourceType === alarmDataSourceType.Variable}\"> <div>{{lc('Variable')}}</div> </div> <div class=\"alarm-level-button\" (click)=\"changeAlarmDataSource(alarmDataSourceType.FBox)\" [ngClass]=\"{'active': selectAlarmDataSourceType === alarmDataSourceType.FBox}\"> <div>{{getFBoxAlias()}}</div> </div> </div> </div> </div> <div *ngIf=\"selectAlarmDataSourceType === alarmDataSourceType.Variable\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc('ConfigureVariableName')}}: </div> <div class=\"alarm-input\"> <variable-selector [configureId]=\"configureId\" [(currentVariableId)]=\"currentVariableId\" [dataType]=\"dataType\"> </variable-selector> </div> </div> <div *ngIf=\"selectAlarmDataSourceType === alarmDataSourceType.FBox\"> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"DataSourceName\")}}: </div> <div class=\"alarm-input\"> <ng-select name=\"dataSourceName\" [items]=\"dataSources\" bindLabel=\"displayName\" bindValue=\"id\" [searchable]=\"false\" [(ngModel)]=\"selectDataSourceId\" [required]=\"true\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\" (change)=\"getRefAlarms()\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{item.displayName}} </ng-template> </ng-select> </div> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc('AlarmNameB')}}: </div> <div class=\"alarm-input\"> <ng-select name=\"refAlarm\" style=\"display: inline-block; width: calc(100% - 30px); vertical-align: top;\" [items]=\"refAlarmDtoArray\" bindLabel=\"name\" bindValue=\"refAlarmDefinitionKey\" [(ngModel)]=\"selectRefAlarmKey\" [clearable]=\"true\" [loading]=\"refAlarmSearching\" [loadingText]=\"l('LoadWithThreeDot')\" [notFoundText]=\"l('NoData')\" (change)=\"getDetailSelectedAlarm()\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{item.name}}-{{item.groupName}} </ng-template> </ng-select> <button class=\"open-alarm-choose-btn\" (click)=\"showChooseAlarmName()\"><span class=\"fa fa-bars\"></span></button> </div> </div> <div class=\"alarm-transverse clearfix\" *ngIf=\"refAlarmDto\"> <div class=\"alarm-input clearfix\"> <div class=\"select-search\"> <div> <div>{{lc('VariableDevice')}}:</div> <div>{{refAlarmDto.devAlias}}</div> </div> <div> <div>{{lc('ConfigureVariableStationNo')}}:</div> <div>{{refAlarmDto.stationNo}}</div> </div> <div> <div>{{lc('VariableDataType')}}:</div> <div> {{refAlarmDto ? formatDataType(refAlarmDto.dataType, refAlarmDto.bitIndexEnabled) : ''}} </div> </div> <div> <div>{{lc('VariableAddress')}}:</div> <div>{{refAlarmDto.addressDescription}}</div> </div> </div> </div> </div> </div> <div *ngIf=\"selectAlarmDataSourceType === alarmDataSourceType.Variable || (selectAlarmDataSourceType === alarmDataSourceType.FBox && selectRefAlarmKey)\"> <div class=\"alarm-border-bottom\"></div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc('AlarmNameG')}}: </div> <div class=\"alarm-input\" *ngIf=\"+selectAlarmDataSourceType === alarmDataSourceType.Variable; else boxAlarmNameDiv\"> <input #alarmNameCtrl=\"ngModel\" type=\"text\" name=\"alarmName\" [(ngModel)]=\"variableAlarmName\" maxlength=\"200\" required> <validation-messages [formCtrl]=\"alarmNameCtrl\"></validation-messages> </div> <ng-template #boxAlarmNameDiv> <div class=\"alarm-input\"> <input #alarmNameCtrl=\"ngModel\" type=\"text\" name=\"alarmName\" [(ngModel)]=\"boxAlarmName\" maxlength=\"200\" required> <validation-messages [formCtrl]=\"alarmNameCtrl\"></validation-messages> </div> </ng-template> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc('AlarmMessage')}}: </div> <div class=\"alarm-input\" *ngIf=\"+selectAlarmDataSourceType === alarmDataSourceType.Variable; else alarmMessageDiv\"> <textarea #alarmMessageCtrl=\"ngModel\" class=\"whole-width textarea alarm-message\" rows=\"4\" name=\"alarmMessage\" required maxlength=\"500\" [(ngModel)]=\"variableMessage\"> </textarea> <validation-messages [formCtrl]=\"alarmMessageCtrl\"></validation-messages> </div> <ng-template #alarmMessageDiv> <div class=\"alarm-input\"> <textarea #alarmMessageCtrl=\"ngModel\" class=\"whole-width textarea alarm-message\" rows=\"4\" name=\"alarmMessage\" required maxlength=\"500\" [(ngModel)]=\"boxMessage\"> </textarea> <validation-messages [formCtrl]=\"alarmMessageCtrl\"></validation-messages> </div> </ng-template> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc(\"AlarmLevel\")}}: </div> <div class=\"alarm-level-content alarm-input clearfix\"> <div class=\"alarm-level-button level-one\" (click)=\"changeAlarmLevel(0)\" [ngClass]=\"{'active': selectAlarmLevel === alarmLevel.AlarmWarning}\"> <div class=\"level-color\"></div> <div>{{lc('AlarmWarning')}}</div> </div> <div class=\"alarm-level-button level-two\" (click)=\"changeAlarmLevel(1)\" [ngClass]=\"{'active': selectAlarmLevel === alarmLevel.AlarmMinor}\"> <div class=\"level-color\"></div> <div>{{lc('AlarmMinor')}}</div> </div> <div class=\"alarm-level-button level-three\" (click)=\"changeAlarmLevel(2)\" [ngClass]=\"{'active': selectAlarmLevel === alarmLevel.AlarmMajor}\"> <div class=\"level-color\"></div> <div>{{lc('AlarmMajor')}}</div> </div> <div class=\"alarm-level-button level-four\" (click)=\"changeAlarmLevel(3)\" [ngClass]=\"{'active': selectAlarmLevel === alarmLevel.AlarmCritical}\"> <div class=\"level-color\"></div> <div>{{lc('AlarmCritical')}}</div> </div> </div> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"MalfunctionCode\")}}: </div> <div class=\"alarm-input\"> <input type=\"text\" name=\"faultCode\" [(ngModel)]=\"faultCode\" maxlength=\"20\"> </div> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc(\"AlarmGroup\")}}: </div> <div class=\"alarm-input\"> <ng-select name=\"groupListSelect\" [items]=\"groupList\" bindLabel=\"name\" bindValue=\"id\" [searchable]=\"false\" [(ngModel)]=\"configureAlarmGroupId\" [required]=\"true\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{item.name}} </ng-template> </ng-select> </div> </div> <div class=\"alarm-transverse clearfix\" *ngIf=\"selectAlarmDataSourceType === alarmDataSourceType.FBox\"> <div class=\"alarm-title\"> {{lc(\"TriggerRule\")}}: </div> <div class=\"alarm-input\"> <input type=\"text\" name=\"triggerRuleText\" [(ngModel)]=\"triggerRuleText\" maxlength=\"200\" [disabled]=\"true\"> </div> </div> <div *ngIf=\"selectAlarmDataSourceType === alarmDataSourceType.Variable && isSelectedVariable\"> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"TriggerRule\")}}: </div> <div class=\"alarm-input\"> <ng-select name=\"triggerRule\" [items]=\"triggerRuleTypes\" bindLabel=\"name\" bindValue=\"key\" [searchable]=\"false\" [(ngModel)]=\"selectTriggerRuleType\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{lc(item.name)}} </ng-template> </ng-select> </div> </div> <div *ngIf=\"!isBitDatatype && selectTriggerRuleType === triggerRuleType.Threshold\"> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> &nbsp;&nbsp;&nbsp;</div> <div class=\"alarm-input trigger-rule-position\"> <span class=\"variable-value\">{{lc(\"VariableValue\")}}</span> <ng-select class=\"condition\" name=\"condition1\" [items]=\"alarmConditionTypes\" bindLabel=\"name\" bindValue=\"key\" [searchable]=\"false\" [(ngModel)]=\"thresholdValue.condition1\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{lc(item.name)}} </ng-template> </ng-select> <div class=\"operand\"> <input type=\"number\" name=\"operand1\" #operand1=\"ngModel\" [(ngModel)]=\"thresholdValue.operand1\" [minNumber]=\"minFloatValue\" (blur)=\"operand1ToFixed(operand1.valid)\" [maxNumber]=\"maxFloatValue\" minValueCheck required> <div *ngIf=\"thresholdValue.operand1 && operand1.invalid\" class=\"error-tips\"> {{lc('DataOverflow')}}</div> </div> <ng-select class=\"trigger-rule-last\" name=\"conditionCombine\" [items]=\"conditionCombines\" bindLabel=\"name\" bindValue=\"key\" [searchable]=\"false\" [(ngModel)]=\"thresholdValue.conditionCombine\" [required]=\"true\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{lc(item.name)}} </ng-template> </ng-select> </div> </div> <div *ngIf=\"thresholdValue.conditionCombine === +conditionCombine.And || thresholdValue.conditionCombine === +conditionCombine.Or\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"></div> <div class=\"alarm-input\" trigger-rule-position> <span class=\"variable-value\">{{lc(\"VariableValue\")}}</span> <ng-select class=\"condition\" name=\"condition2\" [items]=\"alarmConditionTypes\" bindLabel=\"name\" bindValue=\"key\" [searchable]=\"false\" [(ngModel)]=\"thresholdValue.condition2\" [required]=\"true\" [clearable]=\"false\" placeholder=\"{{lc('PleaseSelect')}}\" [notFoundText]=\"l('NoData')\"> <ng-template ng-option-tmp ng-label-tmp let-item=\"item\"> {{item.name}} </ng-template> </ng-select> <div class=\"operand\"> <input type=\"number\" name=\"operand2\" #operand2=\"ngModel\" [(ngModel)]=\"thresholdValue.operand2\" [minNumber]=\"minFloatValue\" [maxNumber]=\"maxFloatValue\" (blur)=\"operand2ToFixed(operand2.valid)\" minValueCheck required> <div *ngIf=\"thresholdValue.operand2 && operand2.invalid\" class=\"error-tips\"> {{lc('DataOverflow')}}</div> </div> <span class=\"trigger-rule-last\"></span> </div> </div> </div> <div *ngIf=\"!isBitDatatype && selectTriggerRuleType === triggerRuleType.Deviance\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc(\"DevianceValue\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"value\" #devianceValueRef=\"ngModel\" [(ngModel)]=\"devianceValue.value\" devianceValueCheck required> </div> <div class=\"has-danger\" *ngIf=\"devianceValueRef.touched && devianceValueRef.invalid\"> <div class=\"form-control-feedback\"> <span>{{lc('DevianceValueValidateMessage')}}</span> </div> </div> </div> <div *ngIf=\"!isBitDatatype && selectTriggerRuleType === triggerRuleType.Deviance\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> <i class=\"star\">*</i> {{lc(\"TargetValue\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"targetValue\" [(ngModel)]=\"devianceValue.targetValue\" required> </div> </div> <div *ngIf=\"!isBitDatatype && selectTriggerRuleType === triggerRuleType.ChangeRate\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"ChangeRate\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"changeRate\" [(ngModel)]=\"changeRateValue.changeRate\" required> </div> </div> <div *ngIf=\"!isBitDatatype && selectTriggerRuleType === triggerRuleType.ChangeRate\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"AlarmEventCycle\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"cycle\" class=\"input-number\" [(ngModel)]=\"changeRateValue.cycle\" required>{{lc(\"Second\")}} </div> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"DelayTime\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"delayTime\" class=\"input-number\" #delayTime=\"ngModel\" onkeydown=\"return event.keyCode !== 69 && event.keyCode !== 190\" [(ngModel)]=\"alarmDef.delayTime\" delayTimeCheck required>{{lc(\"Second\")}} <i nz-icon nzType=\"question-circle\" nz-tooltip nzOverlayClassName=\"wechat-popover\" nzTheme=\"outline\" [nzTitle]=\"alarmAndEventDelayTimePrompt\" nzPlacement=\"right\"></i> <ng-template #alarmAndEventDelayTimePrompt> <div class=\"font-size-12px\"> {{getDeadOrDelayPrompt(\"AlarmAndEventDelayTimePrompt\")}} </div> </ng-template> </div> <div class=\"has-danger\" *ngIf=\"delayTime.invalid\"> <div class=\"form-control-feedback\"> <span>{{lc('DelayTimeValidateMessage')}}</span> </div> </div> </div> <div *ngIf=\"!isBitDatatype\" class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc(\"DeadBand\")}}: </div> <div class=\"alarm-input\"> <input type=\"number\" name=\"deadBand\" class=\"input-number\" #deadBandRef=\"ngModel\" [(ngModel)]=\"alarmDef.deadBand\" deadBandValueCheck required> <i nz-icon nzType=\"question-circle\" nz-tooltip nzOverlayClassName=\"wechat-popover\" nzTheme=\"outline\" [nzTitle]=\"alarmAndEventDelayTimePrompt\" nzPlacement=\"right\"></i> <ng-template #alarmAndEventDelayTimePrompt> <div class=\"font-size-12px\"> {{getDeadOrDelayPrompt(\"AlarmAndEventDeadTimePrompt\")}} </div> </ng-template> </div> <div class=\"has-danger\" *ngIf=\"deadBandRef.touched && deadBandRef.invalid\"> <div class=\"form-control-feedback\"> <span>{{lc('DeadBandValidateMessage')}}</span> </div> </div> </div> </div> </div> </tab> <tab heading=\"{{lc('StorageSetting')}}\" customClass=\"m-tabs__item\" *ngIf=\"AppSessionService.isSupportAdvancedCommunication\"> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc('StoragePath')}}: </div> <div class=\"alarm-input\"> <div class=\"ui-inputgroup\"> <input type=\"text\" pInputText placeholder=\"{{lc('IoTDataBase')}}\" [disabled]=\"true\"> <span class=\"ui-inputgroup-addon\">...</span> </div> </div> </div> <div class=\"alarm-transverse clearfix\"> <div class=\"alarm-title\"> {{lc('StorageTime')}}: </div> <div class=\"alarm-input\"> <ng-select class=\"storage-time-types\" [items]=\"storageTimeTypes\" bindLabel=\"name\" name=\"StorageTimeTypes\" [(ngModel)]=\"selectedStorageTimeType\" [clearable]=\"false\" selectOnTab=\"false\" [placeholder]=\"\" [loadingText]=\"l('LoadWithThreeDot')\" bindValue=\"key\" [notFoundText]=\"l('NoData')\" [disabled]=\"true\"> <ng-template ng-label-tmp let-item=\"item\" let-index=\"index\"> {{lc(item.name)}} </ng-template> <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\"> {{lc(item.name)}} </ng-template> </ng-select> </div> </div> </tab> </tabset> </div> <div class=\"fe-modal-footer\"> <div class=\"button-group\"> <button type=\"submit\" class=\"fe-btn fe-btn-default fe-btn-save\" [disabled]=\"!saveAlarmForm.form.valid || saving || (this.selectAlarmDataSourceType == alarmDataSourceType.FBox && !this.selectRefAlarmKey)\" (click)=\"save()\"> {{l('Save')}} </button> <button [disabled]=\"saving\" type=\"button\" class=\"fe-btn fe-btn-default fe-btn-cancel-one\" (click)=\"close()\"> {{l('Cancel')}} </button> </div> </div> </form> </div> ","styles":[".create-or-edit-alarm-body { margin-left: 20px; margin-right: 20px; padding: 1rem 0; .alarm-transverse { width: 100%; margin: 1rem auto; .alarm-title { float: left; width: 27%; line-height: 30px; text-align: right; padding-right: 15px; .star { color: red; } } .alarm-input { margin-left: 27%; width: 350px; .storage-time-types ::ng-deep.ng-star-inserted{ color:#999; } .ui-inputgroup-addon { height: 30px; margin-left: 10px; padding-top: 0px !important; } input { width: 100%; height: 30px; } select { width: 100%; height: 30px; } .open-alarm-choose-btn { height: 30px; width: 30px; background-color: white; border: 1px solid #b5c2ca; cursor: pointer; span { color: #3695FF; } } button[disabled] { border: 1px solid #C4C6CF; background-color: #F2F3F7; height: 30px; } .input-number { width: 50% !important; margin-right: 10px; } .variable-value { width: 80px; white-space: nowrap; } .condition { display: inline-block; width: 70px; margin-left: 5px; } .operand { display: inline-block; vertical-align: top; width: 70px; margin-left: 5px;; } .trigger-rule-last { width: 93px; display: inline-block; margin-left: 5px; } .alarm-message { color: #666666; padding-left: 4px; border: 1px solid #d7dbe5; } .textarea { resize: none; } } .has-danger { margin-left: 0; } .trigger-rule-position { position: relative; } } .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input { top: 0px !important; left: 0; padding-left: 10px; padding-right: 50px; } .alarm-level-content { cursor: pointer; width: calc(60% - 20px); .alarm-level-button { width: 25%; height: 30px; float: left; border: 1px solid #C4C6CF; display: flex; justify-content: space-around; align-items: center; .level-color { width: 16px; height: 16px; } div:last-child { font-size: 12px; } } .alarm-level-button.active { background-color: #EBECF0; } .level-one { .level-color { background-color: #3695FF; } } .level-two { .level-color { background-color: #FFE900; } } .level-three { .level-color { background-color: #FFA800; } } .level-four { .level-color { background-color: #E84F4F; } } .alarm-level-button:not(:last-child) { border-right: 0; } } select:invalid { color: gray !important; } option[disabled] { display: none !important; } option { color: black !important; } input.ng-touched.ng-invalid { outline: none !important; border: 1px solid #f4516c; } textarea.ng-touched.ng-invalid { outline: none !important; border: 1px solid #f4516c !important; } .select-search { padding: 8px; background-color: #eee; margin-left: 0; div { margin-bottom: 4px; div:first-child { float: left; margin-right: 10px; } div:last-child { word-break: break-all; overflow: hidden; } } } select option { color: rgba(0, 0, 0, 0.6); } .tab-container .tabbable-line { ul { margin-left: 20px; } } .error-tips { color: #f4516c; } .font-size-12px{ font-size: 12px; } .prompt{ cursor: pointer; position: relative; } .prompt:hover > div{ display:block; } .prompt-message{ display: none; text-align: left; z-index: 100; position: absolute; width: 200px; background: #fff; padding: 5px; font-size: 11px; color: #999; box-shadow: 5px 5px 15px #ccc; } } .create-or-edit-alarm-modal{ .fe-modal-header { border-bottom: 1px solid #f4f4f4; .fe-modal-header-title { line-height: 50px; } } .modal-content .modal-body { padding-bottom: 0; } .alarm-transverse:last-child { margin-bottom: 0; } .fe-btn.fe-btn-default.fe-btn-save.save-and-import { width: auto; padding: 0 10px; } .alarm-border-bottom { border-bottom: 1px solid #f4f4f4; } } "]}]}],"members":{"chooseAlarmModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":57,"character":5},"arguments":["chooseAlarmModal",{"static":false}]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":58,"character":5},"arguments":["name",{"static":false}]}]}],"configureId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"createdEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"updatedEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":130,"character":9},"arguments":[{"__symbolic":"reference","module":"../../../../core/variable/variable.service","name":"VARIABLE_SERVICE","line":130,"character":16}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":124,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":125,"character":33},{"__symbolic":"reference","module":"../../../../../../shared/service-proxies/service-proxies","name":"AlarmRegistrationsServiceProxy","line":126,"character":43},{"__symbolic":"reference","module":"../../../../../../shared/fbox/fbox/dataType.service","name":"DataTypeService","line":127,"character":42},{"__symbolic":"reference","module":"../../../../../../shared/service-proxies/service-proxies","name":"DataSourceServiceProxy","line":128,"character":40},{"__symbolic":"reference","module":"../../../../../../shared/service-proxies/service-proxies","name":"AlarmGroupServiceProxy","line":129,"character":44},{"__symbolic":"reference","module":"../../../../core/variable/variable.services","name":"VariableService","line":130,"character":68},{"__symbolic":"reference","module":"ngx-bootstrap","name":"BsModalRef","line":131,"character":35},{"__symbolic":"reference","module":"../../../../../../shared/common/session/app-session.service","name":"AppSessionService","line":132,"character":44},{"__symbolic":"reference","module":"ngx-bootstrap","name":"BsModalService","line":133,"character":39}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"loadAlarmGroup":[{"__symbolic":"method"}],"changeAlarmDataSource":[{"__symbolic":"method"}],"changeAlarmLevel":[{"__symbolic":"method"}],"getAlarmForEdit":[{"__symbolic":"method"}],"initCommonAlarmDefData":[{"__symbolic":"method"}],"initDifferenceAlarmDefData":[{"__symbolic":"method"}],"initTriggerRuleFromVariable":[{"__symbolic":"method"}],"getTriggerRuleFromFBox":[{"__symbolic":"method"}],"formatDataType":[{"__symbolic":"method"}],"getDataSourceNames":[{"__symbolic":"method"}],"getRefAlarmsSelected":[{"__symbolic":"method"}],"getRefAlarms":[{"__symbolic":"method"}],"showChooseAlarmName":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"setTriggerRule":[{"__symbolic":"method"}],"getDetailSelectedAlarm":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"currentVariableIdChanged":[{"__symbolic":"method"}],"validCheckDeadValue":[{"__symbolic":"method"}],"operand1ToFixed":[{"__symbolic":"method"}],"operand2ToFixed":[{"__symbolic":"method"}],"getDeadOrDelayPrompt":[{"__symbolic":"method"}]}}}}]