#javascript #jquery #delay
#javascript #jquery #задержка
Вопрос:
У меня есть файл activiti Bpmn, в котором происходит переход задачи. Во время перехода мне нужно создать дату выполнения для этой новой задачи. моя проблема — срок выполнения и новая задача, выполняемая в одно и то же время. из-за этого я получаю ошибку.
onClose: function (date) {
if (valid) {
date = Date.parse(date);
if (oldDate !== date) {
var tasks = getSet(context, 'task') || getSet(context, 'tasks'),
trans = Ember.get(context, 'transition') || Ember.get(context, 'propertyMap.transition'),
requestData = [];
if (!tasks.length) {
resolve();
return;
}
if (!trans) {
trans = 'Done';
}
tasks.forEach(function (task) {
requestData.push({ name: 'id', value: (Ember.get(task, 'id') || Ember.get(task, 'currentTask.id') )});
requestData.push({ name: 'transition', value: trans || '' });
});
if (context.get('serviceParams')) {
Object.asAjaxData(context.get('serviceParams')).forEach(function (param) {
requestData.push(param);
});
}
return (Core.services({
type: 'post',
service: 'workflow/task/transition',
data: requestData,
json: true
})
.done(function (res) {
Core.Action('Core:updateTask', context, { dtDue: date });
Core.model.ingestResources(res);
var inspected = Core.controller.detailsObject,
wf = res.workflows || {};
if (inspected) {
Object.keys(wf).forEach(function (w) {
var hist = wf[w].historicalTaskIds;
if (hist.contains(inspected.currentTaskId)) {
inspected.set('currentTaskId', wf[w].openTaskIds[0]);
}
});
}
resolve();
})
.fail(function (xhr, status, error) {
Core.Error.show(error);
})
.always(function () {
tasks.forEach(function (task) {
if (Ember.get(task, 'isClip')) {
Core.model.clip.clear();
}
});
var wfController = Core.Tab.Workflow.getController();
var sel = wfController.get('selection');
wfController.reloadResultSet();
var rs = wfController.get('resultSet');
rs amp;amp; rs.done(function () {
var s = Ember.Set.create();
rs.get('content').forEach(function (item) {
if (!item) { return; }
s.addObject(item);
});
sel.forEach(function (item) {
if (!s.contains(item)) {
sel.remove(item);
}
});
});
sel.clear();
resolve(tasks);
})
);
}
}
}
В этом Core.Action('Core:updateTask', context, { dtDue: date });
используется для обновления duedate. Если я использую оператор on the top If
, срок выполнения обновляется, но Transistion не происходит. Если я использую done
функцию, происходит переход и переносится в новый идентификатор задачи. Из-за этого он ищет идентификатор задачи и показывает ошибку.
Пожалуйста, предоставьте мне предложение по этому поводу. Мне нужно создать оба перехода и одновременно обновить дату.
Комментарии:
1. какую библиотеку вы используете для ядра ….?
2. @ducmai Ember 1.4.0
3. можете ли вы поделиться журналами сервера?