mardi 16 avril 2019

Need to run the function after the If statement done [duplicate]

I need to create the duedate calendar for certain transition type. So I have created If statement for that Transition. The calendar is created well. But it need to move another transition after date got done.

        runTransition: function (context, resolve, reject) {
            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';
            }
            if (trans == 'PrelimPassReview') {
            Core.Action('Core:editDueDate', context).done(showDialog);
            }
            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.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 && 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);
                })
            );
        },

In that I had created the if (trans == 'PrelimPassReview') with calling the due date action. I need once the date got done it move it to another transition. Please provide some suggestion

Aucun commentaire:

Enregistrer un commentaire