// // ChangeDeviceNamePopupView.m // OneCable // // Created by nComz on 2017. 5. 12.. // Copyright © 2017년 ntels. All rights reserved. // #import "ChangeDeviceNamePopupView.h" #import "CustomTextField.h" #import "CustomLabel.h" #import "JDObject.h" #import "RequestHandler.h" #import "JDJSONModel.h" #import "ValidateUtil.h" @interface ChangeDeviceNamePopupView () { } @end @implementation ChangeDeviceNamePopupView @synthesize deviceDetailModel; - (id)initFromNib:(DeviceDetailModel*)detailModel{ for (UIView *view in [CommonUtil nibViews:@"ChangeDeviceNamePopupView"]) { if ([view isKindOfClass:[ChangeDeviceNamePopupView class]]) { self = (ChangeDeviceNamePopupView *)view; self.deviceDetailModel = detailModel; //XIB의 경우, 현재 화면 사이즈로 맞춰줘야 함. self.frame = [UIScreen mainScreen].bounds; self.lblTitle.text = NSLocalizedString(@"이름 변경", @"이름 변경"); NSLog(@"deviceDetailModel.prdName : %@",deviceDetailModel.prdName); NSLog(@"deviceDetailModel.prdUserName : %@",deviceDetailModel.prdUserName); NSString * prdName = [deviceDetailModel.prdName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; NSString * prdUserName = [deviceDetailModel.prdUserName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; if ([prdName isEqualToString: prdUserName] || [prdUserName isEqualToString:@""]) { _txtInputDeviceName.placeholder = @"새로운 이름"; } else { _txtInputDeviceName.placeholder = deviceDetailModel.prdUserName; } _txtInputDeviceName.keyboardType = UIKeyboardTypeDefault; _txtInputDeviceName.returnKeyType = UIReturnKeyDone; [self.imgTitleBar setImage:[UIImage imageNamed:@"img_popup_bg_head"]inset:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnConfirm setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_right"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnConfirm setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_right_press"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnCancel setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_left"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; [self.btnCancel setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_left_press"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)]; //Localization [self.btnConfirm setTitle:NSLocalizedString(@"확인", @"확인") forState:UIControlStateNormal]; [self.btnCancel setTitle:NSLocalizedString(@"취소", @"취소") forState:UIControlStateNormal]; } } return self; } - (void)didMoveToSuperview { if (!self.superview) { return; } // _txtNickname.customTextFieldSuperview = CustomTextFieldSuperviewIsPopupContentView; } #pragma mark - UI Events - (IBAction)btnConfirmTouched:(id)sender { [self requestDeviceChangeName]; [self.delegate changeDeviceName:_txtInputDeviceName.text]; [super btnCancelTouched:nil]; } - (void) requestDeviceChangeName { NSDictionary *parameter = @{@"device_id": deviceDetailModel.deviceId, @"node_id" : deviceDetailModel.nodeId, @"prd_user_name" : [_txtInputDeviceName.text isEqualToString:@""] ? deviceDetailModel.prdName : _txtInputDeviceName.text}; NSLog(@"1111deviceDetailModel.prdName : %@",deviceDetailModel.prdName); NSString *path = [[JDFacade facade] getUrlWithCustAndGroupID:API_GET_DEVICE_LIST arguments:nil]; [[RequestHandler handler] sendAsyncPutRequestAPIPath:path parameters:parameter modelClass:[JDJSONModel class] completion:^(id responseObject) { } failure:^(id errorObject) { JDErrorModel *error = (JDErrorModel *)errorObject; [[JDFacade facade] alert:error.errorMessage]; }]; } #pragma mark - CustomTextField - (BOOL)textFieldShouldReturn:(UITextField *)textField { if ([textField isEqual:_txtInputDeviceName]) { [self btnConfirmTouched:nil]; } return YES; } @end