//- -var variable = {"links":[{"from":"from1","to":"to1","condition":"1==1"}],"services":[{"name":"DataAccessService","alias":"DataAccessService-alias","fileName": "fileName","path":"./DataAccessService"}],"id":"id","code":"FormLoad","name":"FormLoad","handlers": [{"id":"handlerId1","type":"executeNode","name":"loadData","code":"loadData","serviceName":"DataAccessService-alias", "method":"loadData","params":[{"name":"listPath","value":"{\"a\":\"1\"}"},{"name":"listPath","value":"JHList"}]}]};

| import { Injectable } from '@angular/core';
| import { CommandHandler, NgCommandHandler, CommandContext } from '@farris/devkit';
|
each service in variable.services
  if (service.isCommon == "1" || service.isCommon == 1)
    | import { #{service.name} as #{service.alias} } from '#{service.path}';
    = '\n'
  else
    | import { #{service.name} as #{service.alias} } from '../../services/#{service.fileName.toLowerCase()}';
    = '\n'
|
| @Injectable()
| @NgCommandHandler({
|   commandName: '#{variable.code}'
| })
| export class #{variable.externalPrefix}#{variable.code}Handler extends CommandHandler {
|   constructor(
|
each service, index in variable.services
  |     public _#{service.alias}: #{service.alias}
  if (index<(variable.services.length-1))
    | ,
    = '\n'
|
|   ) {
|     super();
|   }
= '\n'
= '\n'
|   schedule() {
= '\n'
if (variable.handlers && variable.handlers.length)
  each task, index in variable.handlers
    if (task.type == "executeNode")
      = '\n'
      |     this.addTask('#{task.code}', (context: CommandContext) => {
      = '\n'
      if task.params && task.params.length
        |       const args = [
        = '\n'
        each param, index in task.params
          |         '!{param.value}'
          if (index<(task.params.length-1))
            | ,
          = '\n'
        |       ];
      else
        |       const args = [];
      = '\n'
      |       return this.invoke(this._#{task.serviceName}, '#{task.method}', args, context);
      |     });
      = '\n'
      = '\n'
if (variable.links && variable.links.length)
  each link, index in variable.links
    |     this.addLink('#{link.from}', '#{link.to}', `!{link.condition}`);
    = '\n'
|   }
= '\n'
= '\n'

| }
= '\n'
= '\n'