/
Index.cshtml
119 lines (108 loc) · 4.57 KB
/
Index.cshtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
@using Resources;
@using mojoPortal.Business.WebHelpers;
@using mojoPortal.Web.Framework;
@model mojoPortal.Web.Models.FileManager
@{
ViewBag.Title = Resource.FileManagerIndexHeaderTitle;
ViewBag.AngularApp = "FileManagerApp";
ViewBag.BodyClass = "ng-cloak" + ((Model.View == "fullpage" || (Model.Type == "file" || Model.Type == "folder")) ? " fullpage" : string.Empty);
Layout = "~/Views/FileManager/_FileManagerLayout.cshtml";
var siteSettings = CacheHelper.GetCurrentSiteSettings();
var siteFolderName = String.IsNullOrWhiteSpace(siteSettings.SiteFolderName) ? "" : siteSettings.SiteFolderName + "/";
}
@if (Model.View == "fullpage")
{
<div class="alert alert-info alert-control">
<a class="alert-link" href="javascript:void(0)" onclick="history.back();"><i class="glyphicon glyphicon-menu-left" aria-hidden="true"></i> @Model.BackToWebsiteLinkText</a>
</div>
}
@if (Model.Type == "file")
{
<div class="alert alert-info alert-control">
<i class="glyphicon glyphicon-file"></i>
@Html.ActionLink(Model.PagePickerLinkText, "Pages", Model.QueryString, new { @class = "alert-link" })
</div>
}
<angular-filemanager></angular-filemanager>
@section Styles {
<link rel="stylesheet" href="~/Content/FileManager/dist/angular-filemanager.min.css">
}
@section Scripts {
<script src="~/Content/FileManager/bower_components/angular/angular.min.js"></script>
<script src="~/Content/FileManager/bower_components/angular-translate/angular-translate.min.js"></script>
<script src="~/Content/FileManager/bower_components/ng-file-upload/ng-file-upload.min.js"></script>
<script src="~/Content/FileManager/dist/angular-filemanager.min.js"></script>
<script>
angular.module('FileManagerApp').config(['fileManagerConfigProvider', function(config) {
var defaults = config.$get();
config.set({
appName: '@Model.RootName',
pickCallback: function (item) {
@if (Model.ReturnFullPath)
{
<text>
const fullpath = item.fullPath();
const url = fullpath.startsWith('/@Model.UserFolderName') ?
'@Model.UserFolder' + fullpath.replace('/@Model.UserFolderName', '') :
'@Model.VirtualPath' + fullpath;
</text>
} else
{
<text>var url = item.fullPath().replace('/@Model.QueryString.startFolder/', '');</text>
}
@if (Model.Editor != null) {
switch (Model.Editor) {
case "ckeditor":
<text>ckSubmit(url);</text>
break;
case "tinymce":
<text>tmceSubmit(url);</text>
break;
case "filepicker":
case "folderpicker":
<text>fpSubmit(url);</text>
break;
}
}
},
allowedActions: angular.extend(defaults.allowedActions, {
pickFiles: @((Model.Editor != null && Model.Editor != "folderpicker") ? "true" : "false"),
pickFolders: @((Model.Editor != null && Model.Editor == "folderpicker") ? "true" : "false"),
changePermissions: false,
upload: @Model.Upload,
rename: @Model.Rename,
move: @Model.Move,
copy: @Model.Copy,
edit: @Model.Edit,
compress: @Model.Compress,
compressChooseName: @Model.CompressChooseName,
extract: @Model.Extract,
download: @Model.Download,
downloadMultiple: @Model.DownloadMultiple,
preview: @Model.Preview,
remove: @Model.Remove,
createFolder: @Model.CreateFolder,
}),
listUrl: '@Url.Content("~")@(siteFolderName)fileservice',
uploadUrl: '@Url.Content("~")@(siteFolderName)fileservice/fileupload',
renameUrl: '@Url.Content("~")@(siteFolderName)fileservice',
copyUrl: '@Url.Content("~")@(siteFolderName)fileservice',
moveUrl: '@Url.Content("~")@(siteFolderName)fileservice',
removeUrl: '@Url.Content("~")@(siteFolderName)fileservice',
editUrl: '@Url.Content("~")@(siteFolderName)fileservice',
getContentUrl: '@Url.Content("~")@(siteFolderName)fileservice',
createFolderUrl: '@Url.Content("~")@(siteFolderName)fileservice',
downloadFileUrl: '@Url.Content("~")@(siteFolderName)fileservice',
downloadMultipleUrl: '@Url.Content("~")@(siteFolderName)fileservice',
compressUrl: '@Url.Content("~")@(siteFolderName)fileservice',
extractUrl: '@Url.Content("~")@(siteFolderName)fileservice',
permissionsUrl: '@Url.Content("~")@(siteFolderName)fileservice',
basePath: '@("/" + Model.QueryString.startFolder)',
fileSystemToken: '@Model.FileSystemToken',
typeQueryString: '@Model.Type',
hidePermissions: true,
multipleDownloadFileName: '@(siteSettings.SiteName.ToCleanFileName())-files.zip'
});
}]);
</script>
}