/* Copyright (c) 2011 Synology Inc. All rights reserved. */

MODULE_FRIEND_LINK=Ext.extend(SYNOBLOG_MODULE,{constructor:function(d,c){this.module_name=d;this.ds=this.createStore();var a=this.createColumnModel();var b={title:c.title,width:c.width,height:c.height,minWidth:c.width,minHeight:c.height,modal:true,shadow:true,layout:"fit",border:false,items:[new Ext.grid.GridPanel({height:300,minHeight:300,loadMask:true,ds:this.ds,cm:a,sm:this.selModel=new Ext.grid.RowSelectionModel({singleSelect:true}),autoExpandColumn:"link_column",tbar:{items:[{text:photo_str_add,scope:this,handler:this.onClickAddBtn},{text:photo_str_deleteuser,scope:this,handler:this.onClickDeleteBtn}]}})],buttons:[{text:photo_str_btnClose,scope:this,handler:function(){this.close()}}]};Ext.apply(b,c);SYNO.LayoutConfig.fill(b);SYNOBLOG_MODULE.superclass.constructor.call(this,b);this.on("show",function(){this.ds.load()},this)},createStore:function(){return new Ext.data.JsonStore({baseParams:{action:"get_setting"},proxy:new Ext.data.HttpProxy({url:SYNOPHOTO_UTILS.url_prefix+"/photo/blog/modules/friend_link.php",method:"POST"}),root:"data",id:"id",fields:["id","name","link"]})},createColumnModel:function(){return new Ext.grid.ColumnModel([{header:photo_str_photoalbum_title,menuDisabled:true,dataIndex:"name",width:150},{header:photo_str_permanent_link,menuDisabled:true,dataIndex:"link",id:"link_column",width:200}])},onClickAddBtn:function(){var a=new MODULE_FRIEND_LINK_ADD_WINDOW();a.show();a.on("close",function(){this.ds.load()},this)},onClickDeleteBtn:function(){var a=this.selModel.getSelected();if(a==null){return}Ext.Ajax.request({url:"blog/modules/friend_link.php",params:{action:"delete_link",id:a.get("id")},method:"POST",scope:this,success:function(b,c){this.ds.load()}})}});MODULE_FRIEND_LINK_ADD_WINDOW=Ext.extend(Ext.Window,{constructor:function(b){var a={title:photo_str_add,width:500,height:150,resizable:false,modal:true,shadow:true,layout:"fit",border:false,items:[{xtype:"form",itemId:this.formItemId=Ext.id(),trackResetOnLoad:true,padding:10,items:[{synotype:"text",name:"name",fieldLabel:photo_str_photoalbum_title,allowBlank:false,width:260},{synotype:"text",name:"link",fieldLabel:photo_str_permanent_link,vtype:"url",value:"http://",allowBlank:false,width:260}]}],buttons:[{text:photo_str_add,scope:this,handler:this.saveAllSetting},{text:photo_str_btnClose,scope:this,handler:function(){this.close()}}]};Ext.apply(a,b);SYNO.LayoutConfig.fill(a);MODULE_FRIEND_LINK_ADD_WINDOW.superclass.constructor.call(this,a);this.formPanel=this.getComponent(this.formItemId)},saveAllSetting:function(){if(!this.formPanel.form.isValid()){return}this.formPanel.form.submit({url:"blog/modules/friend_link.php",waitTitle:photo_str_ap_name,waitMsg:photo_str_plz_wait,params:{action:"add_link"},scope:this,success:function(a,b){this.close()},failure:function(a,b){Ext.MessageBox.alert(photo_str_ap_name,photo_str_error_unknown_desc)}})}});SYNOBLOG.instance().registerModule("friend_link",{title:photo_str_friend_link_title,width:500,height:300},MODULE_FRIEND_LINK);
