열려있는 모든 워크 플로를 나열하는 사용자 지정 페이지를 만들었습니다. 필자는 지금까지 제프 폿츠 (Jeff Potts)의 튜토리얼을 따라 갔지만 지금은 내 테이블을 어떤 역동적 인 테이블로 바꾸려고 노력하고 있습니다.Alfresco dojo/jquery 검색/정렬 테이블
는 위젯의 js 파일은 내가 어떤없이 List.js 및 DataTables.js JQuery와 라이브러리를 사용하여 시도
<div class="ajax-widget">
<h1>${widgetTitle}</h1>
<div class="div1">
<table>
<thead>
<tr>
<th>Workflow ID</th>
<th>Description</th>
<th>Status</th>
<th>Due Date</th>
<th>Created By</th>
<th>Assigned To</th>
</tr>
</thead>
<tbody data-dojo-attach-point="containerNode"></tbody>
</table>
이
define(["dojo/_base/declare",
"dijit/_WidgetBase",
"alfresco/core/Core",
"alfresco/core/CoreXhr",
"dojo/dom-construct",
"dojo/_base/array",
"dijit/_TemplatedMixin",
"dojo/text!./templates/AjaxWidget.html",
],
function(declare, _Widget, Core, AlfCoreXhr, domConstruct, array, _Templated, template) {
return declare([_Widget, Core, AlfCoreXhr, _Templated], {
templateString: template,
cssRequirements: [{cssFile:"./css/AjaxWidget.css"}],
i18nRequirements: [ {i18nFile: "./i18n/AjaxWidget.properties"} ],
buildRendering: function example_widgets_AjaxWidget__buildRendering() {
this.widgetTitle = this.message('widgetTitle');
this.columnName = this.message('columnName');
this.columnDescription = this.message('columnDescription');
this.inherited(arguments);
},
postCreate: function example_widgets_AjaxWidget__postCreate() {
var url1 = Alfresco.constants.PROXY_URI + "api/people";
this.serviceXhr({url : url1,
method: "GET",
successCallback: this._getTasksPerUser,
callbackScope: this});
},
_getTasksPerUser: function example_widgets_AjaxWidget__getTasksPerUser(response, config) {
var parentNode = this.containerNode;
var wfUsers = [];
array.forEach(response.people, function(person) {
wfUsers.push(person.userName);
});
for (var wfUser in wfUsers) {
var url2 = Alfresco.constants.PROXY_URI + "api/task-instances?authority=" + wfUsers[wfUser];
this.serviceXhr({url : url2,
method: "GET",
successCallback: this._onSuccessCallback,
callbackScope: this});
}
},
_onSuccessCallback:
function example_widgets_AjaxWidget__onSuccessCallback(response, config) {
var parentNode = this.containerNode;
array.forEach(response.data, function(item) {
var row = domConstruct.create("tr", {}, parentNode);
domConstruct.create("td", { innerHTML: item.workflowInstance.id }, row);
domConstruct.create("td", { innerHTML: item.workflowInstance.message }, row);
domConstruct.create("td", { innerHTML: item.state }, row);
domConstruct.create("td", { innerHTML: item.properties.bpm_dueDate }, row);
domConstruct.create("td", { innerHTML: item.workflowInstance.initiator.firstName + " " + item.workflowInstance.initiator.lastName }, row);
domConstruct.create("td", { innerHTML: item.owner.firstName + " " + item.owner.lastName }, row);
});
}
});
});
과 HTML 템플릿과 같다 성공. 이러한 라이브러리 중 하나를 사용하고자하는 이유는 내가 상자에서 요구하는 기능을 제공하기 때문입니다. 구현하기 쉬운 dojo가 있습니까? 나는 모든 귀이다.
내 첫 번째 질문은 이것입니다. 제가이 결과를 얻기 위해 가장 효과적인 방법을 사용하고 있습니까? Alfresco는 지난 5 년 동안 꽤 많이 바뀐 것 같아요. 현재 어떤 튜토리얼/게시물이 여전히 관련이 있는지 알기가 어렵습니다.
dojo 패키지를 사용하여 이러한 라이브러리를 추가하려고했지만 소스를 볼 때 사용할 수 있는지, js 파일에서 "require []"키워드를 사용할 때 보이지 않습니다. 효과.
내가 올바른 길을 가고 있다면 정렬 및 검색이 가능한 테이블을 어떻게 만들 수 있을까요? 내가 틀린 나무를 짖고 있다면, 올바른 방향으로 나를 가리켜주세요.
감사합니다 - 모든 제안 :-)
"Jeff Potts '튜토리얼에 링크를 추가하면 유용 할 것입니다. 또한, 당신이 직면 한 오류/문제점을 언급하십시오. –
나는 틀렸다. 사실이 튜토리얼이었습니다. http://ohej.github.io/alfresco-tutorials/tutorial/aikau/tutorial.html#adding-a-menu-item-to-the-header. – user1398017
오류가 발생하지 않습니다. 어떤 것도 시도해도 아무 것도 작동하지 않습니다 (페이지에 새로운 것은 없음). 또는 다른 라이브러리를 덮어 쓰는 것과 같은 빈 페이지가 생깁니다. 모든 것은 오류없이 컴파일됩니다. – user1398017