[{"__symbolic":"module","version":4,"metadata":{"NumericalDisplaySettingModalComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/font-element-setting-modal","name":"FontElementSettingModal","line":37,"character":59},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"numerical-display-setting-modal","styles":[".element-setting-base{ .inline-label { margin: 10px 0px 0px 10px; display: inline-block; } .border-group { // border: 1px solid #ddd; padding: 5px; margin-bottom: 0px; } .inline-selector { display: inline-block; margin: 5px 0px; } .inline-variable { display: inline-block; margin: 5px 0px; } .inline-input { display: inline-block; margin: 5px 0px; }     } .date-time-setting-modal { .modal-content { width: 600px; } .cursor-pointer{ cursor: pointer; } .recode-input{ width: calc(100% - 70px); border: 1px solid #d7dbe5;   padding:  5px 10px; } textarea.noResize { resize: none; } } .toggleViewSettingModal { .modal-content { width: 600px; } } .textSettingModal { .modal-content { width: 600px; } } ",".numericalDisplaySettingModal { .numerical-tooltip { color: #999; padding-top: 10px; } .font-padding { padding-top: 10px; } .hexColor { color: red; } .modal-content { width: 600px; top: 30px; } .numerical-operation { padding-left: 10px; margin-bottom: 10px; } .ui-dropdown .ui-dropdown-label { padding: 0.42em !important; } } .conversion-type { label { margin-right: 20px; } } textarea.no-resize { height: 30px; resize: none; padding: 3px !important; } .variable-text-input { width: 100%; } .warning-text { color: red; font-size: 14px; padding: 5px; } .design-nav-link { .fe-vertical-label{ display: inline-block; } .nav.nav-tabs { .nav-link { color: #666 !important; border-bottom: 1px solid transparent; } .active { border-color: #fff; color: #3695ff !important; border-bottom: 1px solid #3695ff !important; } .nav-link:hover { border-color: white; color: #3695ff; } } }"],"template":"<div bsModal #settingModal=\"bs-modal\" id=\"numericalDisplaySettingModal\" class=\"modal fade numericalDisplaySettingModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"settingModal\" aria-hidden=\"true\" (onHidden)=\"onHidden()\" [config]=\"{backdrop: 'static'}\"> <div class=\"modal-dialog\"> <div class=\"modal-content element-setting-base\" [busyIf]=\"isLoading\"> <div class=\"fe-modal-container\"> <form class=\"configure\" *ngIf=\"active\" #numericalDisplaySettingForm=\"ngForm\" novalidate (ngSubmit)=\"save()\"> <div class=\"modal-header fe-modal-header\"> <h4 class=\"fe-modal-header-title\"> {{lc(\"NumericalDisplay\")}} </h4> <div class=\"fe-modal-header-close\" aria-label=\"Close\" (click)=\"close()\">×</div> </div> <div class=\"top-line\"></div> <div class=\"fe-modal-middle design-nav-link\"> <tabset #staticTabs class=\"tab-container tabbable-line\"> <tab heading=\"{{lc('Setting')}}\" customClass=\"m-tabs__item\"> <div class=\"fe-modal-content\"> <div class=\"fe-radio-select-header\"> <label *ngFor=\"let permision of accessPermissions\"> <input type=\"radio\" name=\"accessOptions\" [value]=\"permision.key\" [(ngModel)]=\"accessPermission\" /> <span>{{ls(\"FBox\",permision.value)}}</span> </label> </div> <div class=\"fe-transverse-label\"> <div class=\"fe-transverse-title\"> {{lc(\"VariableName\")}}: </div> <div class=\"fe-transverse-component\"> <variable-selector [configureId]=\"configureId\" [(currentVariableId)]=\"currentVariableId\" [dataType]=\"dataType\"></variable-selector> </div> </div> <div class=\"fe-transverse-label clearfix margin-top-5 conversion-type\" *ngIf=\"showConvertTo\"> <div class=\"fe-transverse-title\"> {{lc(\"ConvertTo\")}}： </div> <div class=\"fe-transverse-component\"> <label (click)=\"changeDisplayDataType(displayDataType.DecimalSystem)\"> <input type=\"radio\" name=\"conversion-type\" [value]=\"displayDataType.DecimalSystem\"  [(ngModel)]=\"variableDisplayDataType\"> <span>{{lc(\"DecimalSystem\")}}</span> </label> <label (click)=\"changeDisplayDataType(displayDataType.HexadecimalSystem)\"> <input type=\"radio\" name=\"conversion-type\" [value]=\"displayDataType.HexadecimalSystem\" [(ngModel)]=\"variableDisplayDataType\"> <span>{{lc(\"HexadecimalSystem\")}}</span> </label> <label (click)=\"changeDisplayDataType(displayDataType.Binary)\"> <input type=\"radio\" name=\"conversion-type\" [value]=\"displayDataType.Binary\" [(ngModel)]=\"variableDisplayDataType\"> <span>{{lc(\"Binary\")}}</span> </label> </div> </div> <div class=\"margin-top-10 clearfix\" *ngIf=\"supportFractionDigit||supportIntegerDigit\"> <div class=\"fe-vertical-label fe-half-line\" *ngIf=\"supportIntegerDigit\"> <div class=\"fe-vertical-title\">{{lc(\"IntegerDigit\")}}:</div> <input type=\"number\" name=\"IntegerDigit\" class=\"fe-vertical-input\" [(ngModel)]=\"integerDigits\" (ngModelChange)=\"integerDigitsValueChange($event)\" min=\"1\" max=\"{{selectedVariableDigitMaxLength}}\" (blur)=\"handleIntegerDigits()\" required> </div> <div class=\"fe-vertical-label fe-half-line\" *ngIf=\"supportFractionDigit\"> <div class=\"fe-vertical-title\">{{lc(\"FractionDigit\")}}:</div> <input type=\"number\" name=\"FractionDigit\" class=\"fe-vertical-input\" [(ngModel)]=\"fractionDigits\" (ngModelChange)=\"fractionDigitsChange($event)\" required> </div> </div> <div class=\"margin-top-10 clearfix\" *ngIf=\"currentVariable\"> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"NumericalLowerLimit\")}} <span *ngIf=\"isHexOrBinaryType\" class=\"hexColor\">(HEX)</span>:</div> <input type=\"number\" *ngIf=\"!isHexOrBinaryType\" name=\"NumericalLowerLimit\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalLowerLimit\" (ngModelChange)=\"numericalLowerLimitChange($event)\" required> <input type=\"text\" *ngIf=\"isHexOrBinaryType\" name=\"NumericalLowerLimit\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalLowerLimit\" onkeypress=\"if (event.keyCode<48 || (event.keyCode>57 && event.keyCode < 65) || (event.keyCode>70  && event.keyCode < 97) || event.keyCode > 102) event.returnValue=false\" required> </div> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"NumericalUpperLimit\")}} <span *ngIf=\"isHexOrBinaryType\" class=\"hexColor\">(HEX)</span>:</div> <input type=\"number\" *ngIf=\"!isHexOrBinaryType\" name=\"NumericalUpperLimit\" class=\"fe-vertical-input\" [value]=\"numericalUpperLimit\" [(ngModel)]=\"numericalUpperLimit\" (ngModelChange)=\"numericalUpperLimitChange($event)\" required> <input type=\"text\" *ngIf=\"isHexOrBinaryType\" name=\"NumericalUpperLimit\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalUpperLimit\" onkeypress=\"if (event.keyCode<48 || (event.keyCode>57 && event.keyCode < 65) || (event.keyCode>70  && event.keyCode < 97) || event.keyCode > 102) event.returnValue=false\" required> </div> </div> <div class=\"fe-modal-body margin-top-10\"> <div class=\"fe-option-head\" *ngIf=\"supportNumericalOperation\"> <label> <input type=\"checkBox\" [checked]=\"enableNumericalOperation\" (change)=\"changeEnableNumericalOperation()\" /> <span>{{lc('EnableNumericalOperation')}}</span> </label> </div> <div class=\"fe-modal-content\" *ngIf=\"enableNumericalOperation\"> <div class=\"fe-radio-select-header\"> <label *ngFor=\"let operation of numericalOperations\"> <input type=\"radio\" name=\"numericalOperationRadio\" [value]=\"operation.key\" [(ngModel)]=\"numericalOperationSetting.type\" (change)=\"changeNumericalOperationType()\" /> <span>{{lc(operation.value)}}</span> </label> </div> <div class=\"fe-radio-select-body clearfix\" *ngIf=\"numericalOperationSetting.type == numericalOperationType.ProportionalConversion\"> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"ProportionalLowerLimit\")}}:</div> <input type=\"number\" name=\"ProportionalLowerLimit\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalOperationSetting.settings.lowerLimit\" required> </div> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"ProportionalUpperLimit\")}}:</div> <input type=\"number\" name=\"ProportionalUpperLimit\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalOperationSetting.settings.upperLimit\" required> </div> <div class=\"numerical-tooltip margin-top-10\">{{lc(\"ProportionalConversionTipInfo\")}}</div> </div> <div class=\"fe-radio-select-body clearfix\" *ngIf=\"numericalOperationSetting.type == numericalOperationType.Zoom\"> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"Gain\")}}:</div> <input type=\"number\" name=\"Gain\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalOperationSetting.settings.gain\" required> </div> <div class=\"fe-vertical-label fe-half-line\"> <div class=\"fe-vertical-title\">{{lc(\"Offset\")}}:</div> <input type=\"number\" name=\"Offset\" class=\"fe-vertical-input\" [(ngModel)]=\"numericalOperationSetting.settings.offset\" required> </div> <div class=\"numerical-tooltip margin-top-10\"> {{lc(\"ZoomTipInfo1\")}} <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{lc(\"ZoomTipInfo2\")}} </div> </div> </div> </div> <div class=\"fe-vertical-label\"> <label for=\"show-variable-text\"> <input type=\"checkbox\" id=\"show-variable-text\" name=\"show-variable-text\" [(ngModel)]=\"showVariableText\"> <span>{{lc(\"DisplayVariableName\")}}</span> </label> </div> <div class=\"fe-vertical-label margin-top-10\" *ngIf=\"showVariableText && variableTextFont\"> <input type=\"text\" name=\"variable-text\" class=\"variable-text-input\" maxlength=\"200\" [(ngModel)]=\"variableTextFont.content\" required> <div *ngIf=\"!variableTextFont.content\" class=\"warning-text\">{{lc(\"VariableNameNoEmpty\")}}</div> </div> <div class=\"form-group textToolBarPadding font-padding\" *ngIf=\"showVariableText && variableTextFont\"> <font-setting [font]=\"variableTextFont.font\" [textAlignEnabled]=\"true\"></font-setting> </div> <div class=\"fe-vertical-label\"> <label for=\"show-unit\"> <input type=\"checkbox\" id=\"show-unit\" name=\"show-unit\" [(ngModel)]=\"showUnit\"> <span>{{lc(\"DisplayUnit\")}}</span> </label> </div> <div class=\"fe-vertical-label\" *ngIf=\"showUnit\"> <div class=\"fe-vertical-title\"> {{lc(\"Unit\")}}: </div> <textarea class=\"fe-vertical-input no-resize\" rows=\"6\" name=\"Unit\" #textInput maxlength=\"500\" [(ngModel)]=\"unit\"> </textarea> </div> <div class=\"form-group textToolBarPadding font-padding\"> <font-style [(fontSize)]=\"fontSize\" [(fontColor)]=\"fontColor\" [(textAlign)]=\"textAlign\" [(isUnderline)]=\"isUnderline\" [(fontStyle)]=\"fontStyle\"></font-style> </div> </div> </tab> <tab heading=\"{{lc('Graph')}}\" customClass=\"m-tabs__item\" (selectTab)=\"tabSelected(graphSettingEventName)\"> <graph-setting [configureId]=\"configureId\" [(useGraph)]=\"useGraph\" [graphSetting]=\"graphSetting\"></graph-setting> </tab> <tab heading=\"{{lc('DynamicSetting')}}\" customClass=\"m-tabs__item\" (selectTab)=\"tabSelected(dynamicSettingEventName,configureId)\"> <dynamic-conduct [dynamicSetting]=\"dynamicSetting\" [configureId]='configureId' [viewWidth]=\"viewWidth\" [viewHeight]=\"viewHeight\" (validateChange)=\"validateChange($event);\"></dynamic-conduct> </tab> <tab heading=\"{{lc('ControlSetting')}}\" customClass=\"m-tabs__item\" [disabled]=\"accessPermission == accessPermissionEnum.ReadOnly\" (selectTab)=\"tabSelected(controlSettingEventName,configureId)\"> <enable-setting #enableSettingCmp></enable-setting> <control-setting #controlSettingCmp [data]=\"securitySettingData\"></control-setting> </tab> <tab heading=\"{{lc('Display')}}\" customClass=\"m-tabs__item\" (selectTab)=\"tabSelected(controlSettingEventName,configureId)\"> <display-setting #displaySettingCmp [isFixedPositionVisible]='true'></display-setting> </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]=\"!numericalDisplaySettingForm.form.valid || dynamicValidatoinResult || !variableTextFont.content\" [buttonBusy]=\"saving\" [busyText]=\"l('SavingWithThreeDot')\"> {{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> </div> </div> </div> "}]}],"members":{"locationXInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":39,"character":5},"arguments":["locationXInput",{"static":false}]}]}],"displaySettingCmp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":5},"arguments":["displaySettingCmp",{"static":false}]}]}],"enableSettingCmp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":41,"character":5},"arguments":["enableSettingCmp",{"static":false}]}]}],"staticTabs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":42,"character":5},"arguments":["staticTabs",{"static":false}]}]}],"controlSettingCmp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":43,"character":5},"arguments":["controlSettingCmp",{"static":false}]}]}],"viewWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"viewHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":134,"character":9},"arguments":[{"__symbolic":"reference","module":"../../core/variable/variable.service","name":"VARIABLE_SERVICE","line":134,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":130,"character":26},{"__symbolic":"reference","module":"../../../../shared/fbox/fbox/dataType.service","name":"DataTypeService","line":131,"character":42},{"__symbolic":"reference","module":"../../../../shared/fbox/fbox/access-permission.service","name":"AccessPermissionService","line":132,"character":33},{"__symbolic":"reference","module":"../../diagram/utils/numerical-display/numerical-operation.service","name":"NumericalOperationService","line":133,"character":35},{"__symbolic":"reference","module":"../../core/variable/variable.services","name":"VariableService","line":134,"character":68}]}],"init":[{"__symbolic":"method"}],"currentVariableIdChanged":[{"__symbolic":"method"}],"currentVariableChanged":[{"__symbolic":"method"}],"changeDisplayDataType":[{"__symbolic":"method"}],"integerDigitsValueChange":[{"__symbolic":"method"}],"fractionDigitsChange":[{"__symbolic":"method"}],"setDefaultMinMaxValue":[{"__symbolic":"method"}],"numericalUpperLimitChange":[{"__symbolic":"method"}],"numericalLowerLimitChange":[{"__symbolic":"method"}],"loadNumericalLimit":[{"__symbolic":"method"}],"changeNumericalLimit":[{"__symbolic":"method"}],"getNumericalLimit":[{"__symbolic":"method"}],"changeEnableNumericalOperation":[{"__symbolic":"method"}],"changeNumericalOperationType":[{"__symbolic":"method"}],"loadAccessPermission":[{"__symbolic":"method"}],"loadControlSetting":[{"__symbolic":"method"}],"loadGraphSetting":[{"__symbolic":"method"}],"loadNumericalOperationSetting":[{"__symbolic":"method"}],"loadDynamicSetting":[{"__symbolic":"method"}],"loadVariable":[{"__symbolic":"method"}],"loadUnit":[{"__symbolic":"method"}],"loadVariableText":[{"__symbolic":"method"}],"saveDynamicSetting":[{"__symbolic":"method"}],"validateChange":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"saveGraphSetting":[{"__symbolic":"method"}],"saveDigitInfo":[{"__symbolic":"method"}],"saveVariableInfo":[{"__symbolic":"method"}],"saveAccessPermission":[{"__symbolic":"method"}],"saveControlSetting":[{"__symbolic":"method"}],"saveNumericalLimitInfo":[{"__symbolic":"method"}],"saveNumericalOperationSetting":[{"__symbolic":"method"}],"saveUnit":[{"__symbolic":"method"}],"saveVariableText":[{"__symbolic":"method"}],"setActiveTab":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"onHidden":[{"__symbolic":"method"}],"handleIntegerDigits":[{"__symbolic":"method"}]}}}}]