/**
* v_editName.js
* Version: 0.1
* User: wy
* Date: 2017-09-06
* Copyright(c)  2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 修改名称页面
*/

import {iot, uPublic, uComponents} from '../../public/public.js';

iot.ready(init);
function init() {
    //通用 input、按钮、dialog、loading组件
    uPublic.componentsInit(['u-text','u-button','u-dialog','u-loading']);
    const app = new Vue({
        data:{
            textName: iot.navigator.getExtras().nickName,
            textErrorTip: null,
            //配置组件
            componentsConfig: initComponentsConfig(),
            extras: {}
        },
        mounted(){     
        	this.extras = iot.navigator.getExtras();
        },
        methods:{
        	getTextName(){
        		return this.textName;
        	},
        	setTextName(text){
        		this.textName = text;
        	},
            onNameChange(text){
                nameChange(this,text);           
            },
            //tap <
            onBackTap(){
                backTap();
            },
            //tap 保存
            onSaveButtonTap(){
                saveButtonTap(this);
            }                     
        }   
    }).$mount('#app');
}

//配置组件参数
function initComponentsConfig() {
    return {
        nameInput: {
            initParam: {
                class: 'custom-editName-text',
                placeholder: Vue.t('editName.nameInputTip')
            }
        },
        //保存 button 参数
        saveButton: {   
            initParam: {
                class: 'custom-button',
                text: Vue.t('btn.save')
            }
        },
        dialog: {
            initParam: {
                class: 'custom-dialog'
            }
        },
        loading: {
            initParam: {
                class: 'custom-loading'
            }
        }                
    }
}

function alert(){
	alert('aaa');
}

function nameChange(self,text){
    self.textName = text;
    console.log('nameChange: ' + self.textName);
}

//tap <
function backTap(){
    iot.navigator.back();
}

//tap 保存
function saveButtonTap(self){
	uComponents.showLoading(self);
	iot.business.device.setNickname({
	    data: {
	        sds: true,
	        uuid: self.extras.uuid,
	        model: self.extras.model,
	        nickname: self.textName
	    },
	    success: (response) => {
	    	console.log("inn");
	    	uComponents.hideLoading(self);
	    	uComponents.openAlert(self, Vue.t('editName.editNameSuccess'), {
	        text: Vue.t('btn.confirm'), callback: function () {
					let opener = plus.webview.currentWebview().opener();
					let view = plus.webview.getWebviewById(opener.id);
					console.log(view);
					iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{
						name: 'zhu'
					});
					console.log('returnPage');
    				iot.navigator.back();
		        }
	    	});
	    },
	    error: (error) => {
	    	uComponents.hideLoading(self);
	    	uComponents.openAlert(self, Vue.t('editName.editNameFailue'), {
	        text: Vue.t('btn.confirm'), callback: function () {
	        		let opener = plus.webview.currentWebview().opener();
    				iot.navigator.back();
		        }
	    	});
	    },
	    complete: () => {
	    	uComponents.hideLoading(self);
	    }
	});
}