views.js
来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· JavaScript 代码 · 共 2,427 行 · 第 1/5 页
JS
2,427 行
else return null;
}
function setLastActive(viewId) {
this._lastActive = viewId;
}
}
//////////////////////////////////////////////////////////////////////////////
// Folder View class
// (c) 2004 - abogaart@hippo.nl
//
// @extends View
// Description:
// Provides a folder tree
//////////////////////////////////////////////////////////////////////////////
function FolderView() {
if ( Cfx.Class.IsDefined( FolderView) == false ) {
Cfx.Class.New( FolderView, View );
if( Cfx.Class.IsInitializing( FolderView, View )) {
//events
FolderView.Method(expandfolder);
FolderView.Method(collapsefolder);
FolderView.Method(openfolder);
FolderView.Method(showfolder);
FolderView.Method(proppatch);
FolderView.Method(makeCollection);
FolderView.Method(deleteCollection);
FolderView.Method(moveUpDown);
FolderView.Method(expandPath);
FolderView.Method(getPerspectiveId);
return;
}
}
this.InitInstance();
return this;
function showfolder(params)
{
this.expandfolder(params);
}
function expandPath(params) {
if (this.log.debugging()) {
this.log.debug("expandPath: " + params);
}
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, params);
//this.resourceID = params;
this.saveRPC(params);
}
function expandfolder(params) {
if (this.log.debugging()) {
this.log.debug("expandfolder");
}
if(this.timeoutPassed(0) || (this.resourceID!=null && params[0].val!=this.resourceID[0].val)) //only do rpc when time different big enough or params different
{
if (this.log.debugging()) {
this.log.debug("expandfolder RPC!");
}
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, params);
//this.resourceID = params;
this.saveRPC(params);
}
}
function collapsefolder(params) {
if (this.log.debugging()) {
this.log.debug("collapsefolder");
}
if(this.timeoutPassed(1) || (this.resourceID!=null && params[0].val!=this.resourceID[0].val)) //only do rpc when time different big enough
{
if (this.log.debugging()) {
this.log.debug("********** collapsefolder RPC!");
}
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, params);
//this.resourceID = params;
this.saveRPC(params);
}
else
{
if (this.log.debugging()) {
this.log.debug("********** collapsefolder NO RPC!");
}
}
}
function openfolder(params) {
if (this.log.debugging()) {
this.log.debug("openfolder");
}
if(this.timeoutPassed(0) || (this.resourceID!=null && params[0].val!=this.resourceID[0].val)) //only do rpc when time different big enough
{
if (this.log.debugging()) {
this.log.debug("********** openfolder RPC!");
}
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, params);
//this.resourceID = params;
this.saveRPC(params);
}
else
{
if (this.log.debugging()) {
this.log.debug("********** openfolder NO RPC!");
}
}
}
function proppatch(params) {
if(params[0].val){
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, this.resourceID);
this.refresh();
}
else {
//alert(params[1].val);
}
}
function makeCollection(params) {
if(params[0].val){
var currentPerspective = getPerspectiveId(params[2].val);
var refreshFolder = "";
if(params[2].val.charAt(params[2].val.length-1)=='/')
{
refreshFolder = params[2].val.substring(0,(params[2].val.length)-1);
}
else
{
refreshFolder = params[2].val;
}
var localparams = [{key:'url',val:params[2].val},
{key:'refresh',val:refreshFolder},
{key:'perspectiveId',val:currentPerspective},
{key:'currentPath',val:params[2].val}
];
this.saveRPC(localparams);
}
else {
//alert(params[1].val);
}
}
function deleteCollection(params) {
if (params[0].val)
{
// save url of parent folder of deleted folder
var refreshUrl = "";
for (var i = 0; i < params.length; i++)
{
if (params[i].key == "url")
{
refreshUrl = params[i].val;
}
}
// set refresh parameter so tree generator refreshes node
if (refreshUrl != "")
{
if (refreshUrl.substr(refreshUrl.length - 1) == "/")
{
refreshUrl = refreshUrl.substr(0, refreshUrl.length - 1);
}
var refreshIndex = this.resourceID.length;
for (var i = 0; i < this.resourceID.length; i++)
{
if (this.resourceID[i].key == "refresh")
{
refreshIndex = i;
}
}
this.resourceID[refreshIndex] = {key:"refresh",val:refreshUrl};
}
// refresh tree view
this.refresh();
}
else {
//alert(params[1].val);
}
}
function moveUpDown(params) {
if(params[0].val){
this.refresh();
//this.sm.lookup("framework.rc").doCall(this.config.appUrl, this, this.resourceID);
}
else {
//alert(params[1].val);
}
}
function getPerspectiveId(url)
{
var perspectiveId = "";
var folders = url.split("/");
for (var i = 0; i < folders.length; i++)
{
if(i==1)
perspectiveId = "/" + folders[i];
}
return perspectiveId;
}
}
function DocsView() {
if ( Cfx.Class.IsDefined( DocsView) == false ) {
Cfx.Class.New( DocsView, View );
if( Cfx.Class.IsInitializing( DocsView, View )) {
DocsView.Method(openfolder);
DocsView.Method(collapsefolder);
DocsView.Method(showfolder);
DocsView.Method(proppatch);
DocsView.Method(makeCollection);
DocsView.Method(newDocument);
DocsView.Method(deleteResource);
DocsView.Method(deleteCollection);
DocsView.Method(moveUpDown);
DocsView.Method(sortBy);
DocsView.Method(saveDocument);
DocsView.Method(importDocument);
DocsView.Method(workflowAction);
DocsView.Method(publishResource);
DocsView.Method(publish);
DocsView.Method(closeDocument);
DocsView.Method(editDocument);
DocsView.Method(showfiledetails);
DocsView.Method(refresh);
DocsView.Method(moveDocument);
DocsView.Method(refreshOnSave);
DocsView.Method(copyDocument);
return;
}
}
this.selectedResourceName = null;
this.InitInstance();
return this;
// override View.refresh()
function refresh()
{
if (this.selectedResourceName != null)
{
var found = false;
for (var i = 0; i < this.resourceID.length; i++)
{
if (this.resourceID[i].key == "selectedResourceName")
{
this.resourceID[i].val = this.selectedResourceName;
found = true;
}
}
if (!found)
{
this.resourceID[this.resourceID.length] = {key:'selectedResourceName',val:this.selectedResourceName};
}
this.resourceID[this.resourceID.length] = {key:'fireShowFileDetailsEvent',val:'no'};
}
this.doRPC(this.resourceID);
}
function showfolder(params)
{
this.openfolder(params);
}
function openfolder(params)
{
if (this.log.debugging())
{
this.log.debug("openfolder");
}
if(this.timeoutPassed(0)) //only do rpc when time difference big enough
{
if (this.log.debugging())
{
this.log.debug("********** openfolder RPC!");
}
this.saveRPC(params);
}
else
{
if (this.log.debugging())
{
this.log.debug("********** openfolder NO RPC!");
}
}
}
function collapsefolder(params)
{
if(params[0].val)
{
this.doRPC(params);
}
}
function proppatch(params)
{
if(params[0].val)
{
this.refresh();
}
else {
//alert(params[1].val);
}
}
function makeCollection(params)
{
if(params[0].val)
{
this.doRPC(params);
}
else
{
//alert(params[1].val);
}
}
function newDocument(params)
{
if(params[0].val)
{
for (var t=0 ;t < params.length; t++)
{
if (params[t].key == "selectedResourceName")
{
this.selectedResourceName = params[t].val; // save name of selected resource
}
}
this.doRPC(params);
}
}
function deleteResource(params)
{
if (params[0].val)
{
this.refresh();
}
else
{
//alert(params[1].val);
}
}
function deleteCollection(params)
{
if (params[0].val)
{
this.doRPC(params);
}
else
{
//alert(params[1].val);
}
}
function moveUpDown(params)
{
if(params[0].val)
{
this.doRPC(params);
}
else
{
alert(params[1].val);
}
}
function sortBy(params) {
if(params[0].val){
if (this.log.debug)
{
this.log.debug("sort doclisting (url: " + params[0].val + ", column: " + params[1].val + ", order: " + params[2].val + ")");
}
this.doRPC(params);
}
else
{
if (this.log.debug)
{
this.log.debug("sort doclisting failed");
}
}
}
function saveDocument(params)
{
this.refresh();
}
function importDocument(params)
{
if(params[0].val)
{
this.refresh();
}
else {
//alert(params[1].val);
}
}
function workflowAction(params)
{
this.refresh();
}
function publishResource(params)
{
this.refresh();
}
function publish(params)
{
this.refresh();
}
function closeDocument(params)
{
if (params[0].val)
{
this.refresh();
}
else
{
alert(params[1].val);
}
}
function editDocument(params)
{
if (params[0].val)
{
this.refresh();
}
}
function showfiledetails(params)
{
for (var t=0 ;t < params.length; t++)
{
if (params[t].key == "selectedResourceName")
{
this.selectedResourceName = params[t].val; // save name of selected resource
}
}
}
function moveDocument(params)
{
this.refresh();
}
function refreshOnSave(params)
{
this.refresh();
}
function copyDocument(params) {
this.refresh();
}
}
function DetailsView() {
if ( Cfx.Class.IsDefined(DetailsView) == false ) {
Cfx.Class.New( DetailsView, View );
if( Cfx.Class.IsInitializing( DetailsView, View )) {
DetailsView.Method(showfiledetails);
DetailsView.Method(openfolder);
DetailsView.Method(proppatch);
DetailsView.Method(deleteResource);
DetailsView.Method(deleteCollection);
DetailsView.Method(saveDocument);
return;
}
}
this.InitInstance();
return this;
function openfolder(params) {
this.log.debug("openfolder");
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?