<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<div class="box-body">
    <div role="tabpanel" class="tab-pane active" onsubmit="return false;">
        <form id="job-form" class="form-horizontal">
            <div class="row">
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="job-name" class="col-sm-6 control-label" data-lang="job-name"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="text" disabled="disabled" placeholder="yourJob" id="job-name" name="jobName" class="form-control" />
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="job-app-name" class="col-sm-6 control-label" data-lang="app-name"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="text" disabled="disabled" placeholder="yourappName" id="job-app-name" name="jobAppName" class="form-control" data-toggle="tooltip" data-placement="bottom" title="作业所在的应用名称，必须是在应用中已注册。"/>
                        </div>
                    </div>
                </div>
                <div class="col-sm-3">
                    <div class="form-group">
                        <label for="job-execution-type" class="col-sm-6 control-label" data-lang="job-execution-type"><i>*</i></label>
                        <div class="col-sm-6">
                            <select id="job-execution-type" disabled="disabled" name="jobExecutionType" class="form-control" >
                                <option value="DAEMON">DAEMON</option>
                                <option value="TRANSIENT">TRANSIENT</option>
                            </select> 
                        </div>
                    </div>
                </div>
            </div>
            <div class="form-group" id="job-class-model">
                <label for="job-class" class="col-sm-2 control-label" data-lang="job-class"><i>*</i></label>
                <div class="col-sm-9">
                    <input type="text" disabled="disabled" placeholder="yourJobClass" id="job-class" name="jobClass" class="form-control" data-toggle="tooltip" data-placement="bottom" title="作业实现类，需实现ElasticJob接口，脚本型作业不需要配置"/>
                </div>
            </div>
            <div class="row">
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="job-type" class="col-sm-6 control-label" data-lang="job-type"><i>*</i></label>
                        <div class="col-sm-6">
                            <select id="job-type" disabled="disabled" name="jobType" class="form-control" >
                                <option value="SIMPLE" required>SIMPLE</option>
                                <option value="DATAFLOW">DATAFLOW</option>
                                <option value="SCRIPT">SCRIPT</option>
                            </select>
                        </div>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="cron" class="col-sm-6 control-label" data-lang="job-cron"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="text" disabled="disabled" placeholder="0/5 * * * * ?" id="cron" name="cron" class="form-control" data-toggle="tooltip" data-placement="bottom"  title="作业启动时间的cron表达式。如：0/5 * * * * ?"/>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="sharding-total-count" class="col-sm-6 control-label" data-lang="job-sharding-total-count"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="number" disabled="disabled" min=1 value=1 id="sharding-total-count" name="shardingTotalCount" class="form-control" data-toggle="tooltip" data-placement="bottom" title="作业分片总数"/>
                        </div>
                    </div>
                </div>
                <div class="col-sm-3">
                    <div class="form-group">
                        <label for="job-parameter" class="col-sm-6 control-label" data-lang="job-parameter"></label>
                        <div class="col-sm-6">
                            <input type="text" disabled="disabled" id="job-parameter" name="jobParameter" class="form-control" data-toggle="tooltip" data-placement="bottom" title="作业自定义参数，可通过传递该参数为作业调度的业务方法传参，用于实现带参数的作业例：每次获取的数据量、作业实例从数据库读取的主键。" />
                        </div>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="cpu-count" class="col-sm-6 control-label" data-lang="job-cpu-count"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="number" disabled="disabled" value="0.001" min="0.001" step="0.001" id="cpu-count" name="cpuCount" class="form-control" data-toggle="tooltip"  data-placement="bottom" title="单片作业所需要的CPU数量，最小值为0.001"/>
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="job-memory" class="col-sm-6 control-label" data-lang="job-memory"><i>*</i></label>
                        <div class="col-sm-6">
                            <input type="number" disabled="disabled" value="1" min="1" id="job-memory" name="jobMemory" class="form-control" data-toggle="tooltip" data-placement="bottom" title="单片作业所需要的内存MB，最小值为1"/>
                        </div>
                    </div>
                </div>
                <div class="col-sm-3">
                    <div class="form-group">
                        <label for="bean-name" class="col-sm-6 control-label" data-lang="job-bean-name"></label>
                        <div class="col-sm-6">
                            <input type="text" disabled="disabled" placeholder="yourBeanName" id="bean-name" name="beanName" class="form-control" data-toggle="tooltip" data-placement="bottom" title="Spring容器中配置的bean名称" />
                        </div>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="failover" class="col-sm-6 control-label" data-lang="job-failover"></label>
                        <div class="col-sm-6">
                            <input type="checkbox" disabled="disabled" id="failover" name="failover" data-toggle="tooltip" data-placement="bottom" title="是否开启任务执行失效转移，开启表示如果作业在一次任务执行中途宕机，允许将该次未完成的任务在另一作业节点上补偿执行。" />
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="misfire" class="col-sm-6 control-label" data-lang="job-misfire"></label>
                        <div class="col-sm-6">
                            <input type="checkbox" disabled="disabled" id="misfire" name="misfire" data-toggle="tooltip" data-placement="bottom" title="是否开启任务错过重新执行" />
                        </div>
                    </div>
                </div>
                <div class="col-sm-4">
                    <div class="form-group">
                        <label for="streaming-process" hidden="hidden" id="streaming-process-box" class="col-sm-6 control-label" data-lang="job-streaming-process"></label>
                        <div class="col-sm-6" >
                            <input hidden="hidden" disabled="disabled" type="checkbox" id="streaming-process" name="streamingProcess" data-toggle="tooltip" data-placement="bottom" title="DATAFLOW类型作业，是否流式处理数据如果流式处理数据, 则fetchData不返回空结果将持续执行作业，如果非流式处理数据, 则处理数据完成后作业结束。" />
                        </div>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="form-group">
                    <label for="application-context" class="col-sm-2 control-label" data-lang="job-application-context"></label>
                    <div class="col-sm-9">
                        <input type="text" disabled="disabled" placeholder="META-INF\applicationContext.xml" id="application-context" name="applicationContext" class="form-control" data-toggle="tooltip" data-placement="bottom" title="Spring方式配置Spring配置文件相对路径以及名称，如：META-INF\applicationContext.xml" />
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="form-group">
                    <label for="sharding-item-parameters" class="col-sm-2 control-label" data-lang="job-sharding-item-parameters"></label>
                    <div class="col-sm-9">
                        <textarea id="sharding-item-parameters" disabled="disabled" placeholder="0=a,1=b,2=c" name="shardingItemParameters" class="form-control" data-toggle="tooltip" data-placement="bottom" title="分片序列号和参数用等号分隔，多个键值对用逗号分隔，类似map。分片序列号从0开始，不可大于或等于作业分片总数。如：0=a,1=b,2=c"></textarea>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="form-group" id="bootstrap-script-div" hidden="hidden">
                    <label for="script-command-line" class="col-sm-2 control-label" data-lang="job-script-command-line"><i>*</i></label>
                    <div class="col-sm-9">
                        <input type="text" id="script-command-line" disabled="disabled" name="scriptCommandLine" class="form-control" data-toggle="tooltip" data-placement="bottom" title="SCRIPT类型作业命令行执行脚本" />
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="form-group">
                    <label for="description" class="col-sm-2 control-label" data-lang="job-description"></label>
                    <div class="col-sm-9">
                        <textarea id="description" disabled="disabled" name="description" class="form-control"></textarea>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

