我有自动打开任务的进程。
问题是它在" embedded-documentlibrary"中打开了它。 dashlet而不是当前窗口:
我在编辑任务之前尝试更改document.URL但结果相同..
这是我的Javascript:
window.onload = function() {
/* appelé lors de la constitution du dashboard */
var me = this;
var allActiveTasks = document.location.origin+"/share/page/my-tasks";
var dashboard = document.location.origin+"/share/page/site/documed/dashboard";
var lastUrlLoading = document.location.origin+"/share/page/site/documed/embedded-documentlibrary";
console.log("document.URL : " +document.URL);
console.log("lastUrlLoading : "+lastUrlLoading);
//history.pushState({}, null, dashboard);
//console.log("nouvel url : "+document.URL);
var taskIdList=[] ;
var dashletNameList=[] ;
var nextTask = "";
// depuis le dashboard
if (document.URL == lastUrlLoading){
// 1er reload du dashboard :
console.log("localStorage.getItem('oldDashlet') = "+ localStorage.getItem('oldDashlet'));
if(localStorage.getItem('oldDashlet') != "") {
// requête qui récupère TOUTES les tâches actives du user
Alfresco.util.Ajax.request({
// Note : Alfresco.constants.PROXY_URI = http://localhost:8080/share/proxy/alfresco/
url: Alfresco.constants.PROXY_URI+ "api/task-instances?authority="+Alfresco.constants.USERNAME,
method: Alfresco.util.Ajax.GET,
responseContentType: Alfresco.util.Ajax.JSON,
successCallback: {
fn: function generateForm_onSuccess(response){
var json = JSON.parse(response.serverResponse.responseText);
console.log("json.data : "+json.data);
// gestion de toutes les tâches actives du user, récupérées
if(json.data!="") {
// sauvegarde de chaque id et du nom de la dashlet associée
for(var i = 0; i < json.data.length; i++) {
taskIdList.push(json.data[i].id);
dashletNameList.push(json.data[i].properties["wfvd_nomService"]);
}
// récupération de la première tâche de la Daslet en cours de traitement
for(var i = 0; i < dashletNameList.length; i++) {
if (dashletNameList[i] == localStorage.getItem('oldDashlet')) {
nextTask = taskIdList[i];
i = dashletNameList.length;
}
}
if (nextTask != ""){
console.log("nouvelle tâche - même dashlet " +nextTask)
history.pushState({}, null, dashboard);
console.log("nouvel url : "+document.URL);
window.location.href = document.location.origin+'/share/page/site/documed/task-edit?taskId=' +nextTask;
} else {
console.log("toutes les tâches de la dashlet ont été traitées");
//Alfresco.util.navigateTo("site/documed/dashboard");
localStorage.setItem('oldDashlet', '');
}
}
}
}
});
}
}
};
我不明白为什么它会在dashlet中打开任务
我第一次点击任务时,会在新标签页中打开表单。提交表单后,仪表板将被重新下载,并在&#34; embedded-documentlibrary&#34;中自动打开下一个任务。 dashet而不是新标签。
答案 0 :(得分:0)
@ Krutik Jayswal,这就是我在这个webview章程中发现的:
Share-jar src / main / resources / alfresco / templates / {project_name} /embedded-documentlibrary.ftl:
<#include "include/alfresco-template.ftl" />
<#include "include/documentlibrary.inc.ftl" />
<@templateHeader>
<@markup id="location-hash">
<@documentLibraryJS />
</@>
<@markup id="resizer">
<script type="text/javascript">//<![CDATA[
new Alfresco.widget.Resizer("DocumentLibrary").setOptions({
initialWidth: 166
});
//]]></script>
</@>
<@script type="text/javascript" src="${url.context}/res/modules/documentlibrary/doclib-actions.js" group="documentlibrary"></@script>
</@>
<@templateBody>
<#-- <@markup id="alf-hd">
<div id="alf-hd">
<@region scope="global" id="share-header" chromeless="true"/>
</div>
</@>-->
<div></div>
<@markup id="bd">
<div id="bd">
<@region id="actions-common" scope="template"/>
<div class="yui-t1" id="alfresco-documentlibrary">
<div class="yui-b" id="alf-filters">
<@region id="filter" scope="template"/>
<@region id="tree" scope="template"/>
<@region id="categories" scope="template" />
<@region id="tags" scope="template"/>
</div>
<div id="yui-main">
<div class="yui-b" id="alf-content">
<@region id="documentlist_v2" scope="template"/>
</div>
</div>
</div>
<@region id="html-upload" scope="template"/>
<@region id="flash-upload" scope="template"/>
<@region id="file-upload" scope="template"/>
<@region id="dnd-upload" scope="template"/>
<@region id="archive-and-download" scope="template"/>
</div>
<@region id="doclib-custom" scope="template"/>
</@>
</@>
<div></div>
<#--<@templateFooter>
<@markup id="alf-ft">
<div id="alf-ft">
<@region id="footer" scope="global"/>
</div>
</@>
</@>-->
Share-jar src / main / resources / alfresco / templates / {project_name} / include /documentlibrary.inc.ftl
<#--
DocumentLibrary Template "documentLibraryJS" macro.
Client-side JavaScript to parse initial page parameters.
-->
<#macro documentLibraryJS>
<script type="text/javascript">//<![CDATA[
(function()
{
var $combine = Alfresco.util.combinePaths;
// If no location.hash exists, convert certain params in location.search to location.hash and replace the page
var loc = window.location;
if (loc.hash === "" && loc.search !== "")
{
var qs, q, url = loc.protocol + "//" + loc.host + loc.pathname, hash = "";
qs = Alfresco.util.getQueryStringParameters();
var hashParams =
{
"path": true,
"page": true,
"filter": true
},
filterDataParam = "filterData";
for (q in qs)
{
if (qs.hasOwnProperty(q) && q in hashParams)
{
if (q === "path")
{
hash += "&" + "filter=" + encodeURIComponent("path|" + qs[q]);
}
else
{
hash += "&" + encodeURIComponent(q) + "=" + encodeURIComponent(qs[q]);
if (q === "filter")
{
// Check for filterData in QueryString for the "filter" case
if (qs.hasOwnProperty(filterDataParam))
{
hash += escape("|" + qs[filterDataParam]);
delete qs[filterDataParam];
}
}
}
delete qs[q];
}
}
if (hash.length > 0)
{
url += Alfresco.util.toQueryString(qs) + "#" + hash.substring(1);
window.location.replace(url);
}
}
})();
//]]></script>
</#macro>
分享-罐/ SRC /主/资源/露天/网络的扩展/站点数据/的网页 /embedded-documentlibrary.xml
<?xml version='1.0' encoding='UTF-8'?>
<page>
<title>Document Library</title>
<title-id>page.documentLibrary.title</title-id>
<description>Document library with Tree view</description>
<description-id>page.documentLibrary.description</description-id>
<template-instance>embedded-documentlibrary</template-instance>
<authentication>user</authentication>
</page>
共享罐/ SRC /主/资源/露天/网络的扩展/站点数据/的模板实例强> /embedded-documentlibrary.xml
<?xml version='1.0' encoding='UTF-8'?>
<template-instance>
<template-type>com/klinck/mc/cac/embedded-documentlibrary</template-type>
<properties>
<pageFamily>documentlibrary</pageFamily>
<container>documentLibrary</container>
</properties>
<components>
<!-- Title -->
<component>
<region-id>title</region-id>
<url>/components/title/collaboration-title</url>
</component>
<!-- Navigation -->
<component>
<region-id>navigation</region-id>
<url>/components/navigation/collaboration-navigation</url>
</component>
<!-- Actions -->
<component>
<region-id>actions-common</region-id>
<url>/components/documentlibrary/actions-common</url>
<properties>
<dependencyGroup>documentlibrary</dependencyGroup>
</properties>
</component>
<!-- Toolbar -->
<component>
<region-id>toolbar</region-id>
<url>/components/documentlibrary/toolbar</url>
</component>
<!-- Documentlist -->
<component>
<region-id>documentlist</region-id>
<url>/components/documentlibrary/documentlist</url>
<properties>
<pagination>true</pagination>
<dependencyGroup>documentlibrary</dependencyGroup>
</properties>
</component>
<component>
<region-id>documentlist_v2</region-id>
<url>/components/documentlibrary/documentlist_v2</url>
<properties>
<pagination>true</pagination>
<dependencyGroup>documentlibrary</dependencyGroup>
</properties>
</component>
<!-- Filter -->
<component>
<region-id>filter</region-id>
<url>/components/documentlibrary/filter</url>
</component>
<!-- Tree -->
<component>
<region-id>tree</region-id>
<url>/components/documentlibrary/tree</url>
<properties></properties>
</component>
<!-- Categories -->
<component>
<region-id>categories</region-id>
<url>/components/documentlibrary/categories</url>
</component>
<!-- Tags -->
<component>
<region-id>tags</region-id>
<url>/components/tag-filter</url>
<properties>
<scoped>true</scoped>
</properties>
</component>
<!-- Uploaders -->
<component>
<region-id>html-upload</region-id>
<url>/components/upload/html-upload</url>
</component>
<component>
<region-id>flash-upload</region-id>
<url>/components/upload/flash-upload</url>
</component>
<component>
<region-id>file-upload</region-id>
<url>/components/upload/file-upload</url>
</component>
<component>
<region-id>dnd-upload</region-id>
<url>/components/upload/dnd-upload</url>
</component>
<component>
<region-id>archive-and-download</region-id>
<url>/components/download/archive</url>
</component>
<!-- Custom Code -->
<component>
<region-id>doclib-custom</region-id>
<url>/components/documentlibrary/doclib-custom</url>
</component>
</components>
</template-instance>