diff --git a/module/common/view/kanban.html.php b/module/common/view/kanban.html.php
index 24f9a91645..449585b97e 100644
--- a/module/common/view/kanban.html.php
+++ b/module/common/view/kanban.html.php
@@ -436,21 +436,6 @@ $.extend($.fn.kanban.Constructor.DEFAULTS,
var color = kanbanColorList[lane.$index % kanbanColorList.length];
$name.css('background-color', color);
},
- onRenderKanban: function($kanban, kanbanData)
- {
- /* Update project count and execution count */
- var doingProjectCount = 0;
- var doingExecutionCount = 0;
- var $doingProjectItems = $kanban.find('.kanban-lane-col[data-type="doingProject"] > .kanban-lane-items');
- if($doingProjectItems.length)
- {
- doingProjectCount = $doingProjectItems.find('.project-item').length;
- doingExecutionCount = $doingProjectItems.find('.execution-item').length;
- }
-
- $kanban.find('.kanban-header-col[data-type="doingProject"] > .title > .count').text(doingProjectCount || 0);
- $kanban.find('.kanban-header-col[data-type="doingExecution"] > .title > .count').text(doingExecutionCount || 0);
- },
onCreate: function(kanban)
{
kanban.$.on('scroll', tryUpdateKanbanAffix);
diff --git a/module/product/js/kanban.js b/module/product/js/kanban.js
index 30d2879cc2..674434c117 100644
--- a/module/product/js/kanban.js
+++ b/module/product/js/kanban.js
@@ -9,14 +9,22 @@ function processKanbanData(key, programsData)
var kanbanId = key;
/* Generate columns */
- var columns = [];
+ var columns = [];
var hasDoingProject = false;
+ var executionsCol;
$.each(kanbanColumns, function(_, column)
{
var colType = column.type;
+ if(colType === 'doingProject') hasDoingProject = true;
+ column = $.extend({}, column,
+ {
+ kanban: kanbanId,
+ id: kanbanId + '-' + colType,
+ parentType: (hasDoingProject && (colType === 'doingProject' || colType === 'doingExecution')) ? 'doing' : false,
+ });
+
if(colType === 'doingProject')
{
- hasDoingProject = true;
columns.push(
{
kanban: kanbanId,
@@ -27,12 +35,12 @@ function processKanbanData(key, programsData)
count: ''
});
}
- columns.push($.extend({}, column,
+ else if(colType === 'doingExecution')
{
- kanban: kanbanId,
- id: kanbanId + '-' + colType,
- parentType: (hasDoingProject && (colType === 'doingProject' || colType === 'doingExecution')) ? 'doing' : false,
- }));
+ executionsCol = column;
+ executionsCol.count = 0;
+ }
+ columns.push(column);
});
/* Format lanes data */
@@ -76,6 +84,8 @@ function processKanbanData(key, programsData)
var execution = latestExecutions[projectID];
if(!execution || !execution.id) return;
+
+ executionsCol.count++;
projectItem.execution = $.extend({}, execution, {id: 'execution-' + execution.id, _id: execution.id});
});
}
diff --git a/module/program/js/kanban.js b/module/program/js/kanban.js
index 8e46008db4..28c36e6796 100644
--- a/module/program/js/kanban.js
+++ b/module/program/js/kanban.js
@@ -10,9 +10,17 @@ function processKanbanData(key, programsData)
/* Generate columns */
var columns = [];
+ var executionsCol;
$.each(kanbanColumns, function(_, column)
{
var colType = column.type;
+ column = $.extend({}, column,
+ {
+ kanban: kanbanId,
+ id: kanbanId + '-' + column.type,
+ parentType: (colType === 'doingProject' || colType === 'doingExecution') ? 'doing' : false,
+ });
+
if(colType === 'doingProject')
{
columns.push(
@@ -25,13 +33,12 @@ function processKanbanData(key, programsData)
count: ''
});
}
-
- columns.push($.extend({}, column,
+ else if(colType === 'doingExecution')
{
- kanban: kanbanId,
- id: kanbanId + '-' + column.type,
- parentType: (colType === 'doingProject' || colType === 'doingExecution') ? 'doing' : false,
- }));
+ executionsCol = column;
+ executionsCol.count = 0;
+ }
+ columns.push(column);
});
/* Format lanes data */
@@ -87,6 +94,8 @@ function processKanbanData(key, programsData)
var execution = project.execution;
if(!execution || !execution.id) return;
+
+ executionsCol.count++;
projectItem.execution = $.extend({}, execution, {id: 'execution-' + execution.id, _id: execution.id});
});
}
diff --git a/module/project/js/kanban.js b/module/project/js/kanban.js
index 506d68b027..6b0b993da5 100644
--- a/module/project/js/kanban.js
+++ b/module/project/js/kanban.js
@@ -10,9 +10,17 @@ function processKanbanData(key, programGroup)
/* Generate columns */
var columns = [];
+ var executionsCol;
$.each(kanbanColumns, function(_, column)
{
var colType = column.type;
+ column = $.extend({}, column,
+ {
+ kanban: kanbanId,
+ id: kanbanId + '-' + column.type,
+ parentType: (colType === 'doingProject' || colType === 'doingExecution') ? 'doing' : false,
+ });
+
if(colType === 'doingProject')
{
columns.push(
@@ -25,13 +33,13 @@ function processKanbanData(key, programGroup)
count: ''
});
}
-
- columns.push($.extend({}, column,
+ else if(colType === 'doingExecution')
{
- kanban: kanbanId,
- id: kanbanId + '-' + column.type,
- parentType: (colType === 'doingProject' || colType === 'doingExecution') ? 'doing' : false,
- }));
+ executionsCol = column;
+ executionsCol.count = 0;
+ }
+
+ columns.push(column);
});
/* Format lanes data */
var lanes = [];
@@ -58,6 +66,7 @@ function processKanbanData(key, programGroup)
var execution = latestExecutions[projectID];
if(execution && execution.id)
{
+ executionsCol.count++;
projectItem.execution = $.extend({}, execution, {id: 'execution-' + execution.id, _id: execution.id});
}
}