kodReady.push(function () {
G.webdavOption = {
host: G.kod.APP_HOST+'index.php/dav/',
allow: parseInt("{{isAllow}}"),
systemAutoMount: parseInt("{{systemAutoMount}}"),
pathAllow: '{{pathAllow}}'
};
Events.bind("admin.leftMenu.before",function(menuList){
menuList.push({
title:LNG['webdav.meta.name'], // 文件服务
icon:"ri-hard-drive-fill-2",
link:"admin/storage/webdav",
after:'admin/storage/share',//after/before; 插入菜单所在位置;
sort:100,
pluginName:"{{pluginName}}",
});
});
Events.bind("admin.leftMenu.after",function(self){
var $menu = self.$('.admin-menu-left .menu-content>.menu-items');
$menu.find('.menu-item[link-href="admin/storage/share"]').after($menu.find('.menu-item[link-href="admin/storage/webdav"]'));
});
Events.bind("user.leftMenu.before",function(menuList){
if(!G.webdavOption.allow) return;
menuList.push({
title:LNG['webdav.meta.name'],
icon:"ri-hard-drive-fill-2",
link:"setting/user/webdav",
pluginName:"{{pluginName}}",
sort:100,
fileSrc:'{{pluginHost}}static/user.js',
});
});
// 挂载webdav存储
var ioAdd = [
{type:'webdav',name:"Webdav",icon:"webdav.png"},
// {type:'nfs',name:"NFS",icon:"nfs.png"},
// {type:'samba',name:"Samba",icon:"samba.png"},
];
var styles = "";
_.each(ioAdd,function(item){
var ioIcon = '{{pluginHost}}static/images/'+item.icon;
styles += '.x-item-icon.x-io-' + item.type +'{background-image:url("'+ioIcon+'");margin-top:1px;}';
styles += '.header-middle .header-address .path-ico.name-io-'+item.type+'{padding-top:4px;}';
});
$.addStyle(styles);
if('{{config.mountWebdav}}' == '0') return; // 挂载支持开关;
var resortIO = function(viewStorage){
var ioLocal = 'local,ftp,webdav,nfs,samba'.split(',');
var typeListNew = {};
_.each(viewStorage.typeList,function(name,type){
if(!_.includes(ioLocal,type)){return;}
typeListNew[type] = name;
});
typeListNew['--group-oss'] = '';viewStorage.iconList['--group-oss'] = '';
_.each(viewStorage.typeList,function(name,type){
if(_.includes(ioLocal,type)){return;}
typeListNew[type] = name;
});
viewStorage.typeList = typeListNew;
};
var ioTypeAdd = function(viewStorage){
requireAsync('{{pluginHost}}static/package.js',function(package){
_.each(package,function(v,k){
viewStorage.allPkgList[k] = v;
});
});
_.each(ioAdd,function(item){
var ioIcon = '{{pluginHost}}static/images/'+item.icon;
var image = '
';
viewStorage.typeList[item.type] = item.name;
viewStorage.iconList[item.type] = ''+image+'';
});
resortIO(viewStorage);
};
Events.bind('storage.init.load',ioTypeAdd);
Events.bind('storage.config.view.load', function(self, type, action){
if(type != 'webdav') return;
// 链接到kodbox时, 支持设置上传下载中转;
var davValue = _.get(self.formMaker.formData,'dav.value','');
var $items = self.formMaker.$('.item-ioUploadServer,.item-ioFileOutServer,.item-sep-1,.item-sep-2');
if(!_.includes(davValue, 'extended-kodbox')){
$items.addClass('hidden');
}else{
$items.removeClass('hidden');
}
});
// 'storage.list.view.load'; 'storage.config.form.load'; 'storage.config.view.load'
});