blob: ce5119dee3769dd29fe342a695cef1434508ad8c [file] [log] [blame]
<!--
/**
* 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.
*/
-->
<form name="processForm" class="mt10" novalidate id="processFormAdvancedStep">
<div class="col-xs-24"><label>Retry Policy</label></div>
<div class="col-xs-24 plr0px">
<div class="col-xs-4 plr0px">
<div class="col-xs-24">
<label class="light" tooltip="process.properties.retryPolicy" tooltip-position="up">
Type
</label>
</div>
<div class="col-xs-24">
<select ng-model="process.retry.policy" ng-required="true" validation-message="{{validations.messages.option}}" ng-change="policyChange()">
<option value="" disabled selected style='display:none;'>-Select policy-</option>
<option value="periodic">Periodic</option>
<option value="exp-backoff">Exponential Backup</option>
<option value="final">None</option>
</select>
</div>
</div>
<div class="col-xs-offset-1 col-xs-5 plr0px">
<div class="col-xs-24">
<label class="light">Delay Up to</label>
</div>
<div class="col-xs-24 inlineInputsGroup">
<input type="text" class="form-control"
ng-model="process.retry.delay.quantity" validation-message="{{validations.messages.number}}"
id="delayQuantity" ng-keydown="validations.acceptOnlyNumber($event)"
ng-disabled = "process.retry.policy === 'final'"
ng-required="true"
ng-pattern="validations.patterns.twoDigits"/>
<select ng-model="process.retry.delay.unit" ng-required="true" ng-disabled = "process.retry.policy === 'final'" validation-message="{{validations.messages.option}}">
<option value="" disabled selected style='display:none;'>-Select delay-</option>
<option value="minutes">minutes</option>
<option value="hours">hours</option>
<option value="days">days</option>
<option value="months">months</option>
</select>
</div>
</div>
<div class="col-xs-4 plr0px">
<div class="col-xs-24">
<label class="light">Attempts</label>
</div>
<div class="col-xs-24">
<input type="text" class="form-control" validation-message="{{validations.messages.number}}"
ng-model="process.retry.attempts" ng-keydown="validations.acceptOnlyNumber($event)"
id="attemptsField"
ng-required="true"
ng-disabled = "process.retry.policy === 'final'"
ng-pattern="validations.patterns.twoDigits"/>
</div>
</div>
</div>
<div class="col-xs-24"><label>Performance & Ordering</label></div>
<div class="col-xs-24 plr0px">
<div class="col-xs-4 plr0px">
<div class="col-xs-24">
<label class="light">Max Parallel Instances</label>
</div>
<div class="col-xs-24">
<select ng-model="process.parallel" ng-required="true">
<option ng-repeat="value in [1,2,3,4,5,6,7,8,9,10,11,12] track by $index">{{value}}</option>
</select>
</div>
</div>
<div class="col-xs-offset-1 col-xs-4 plr0px">
<div class="col-xs-24">
<label class="light" tooltip="process.properties.order">Order</label>
</div>
<div class="col-xs-24">
<select ng-model="process.order" ng-required="true" validation-message="{{validations.messages.option}}">
<option value="" disabled selected style='display:none;'>-Select order-</option>
<option ng-repeat="value in ['FIFO', 'LIFO', 'LAST_ONLY'] track by $index">{{value}}</option>
</select>
</div>
</div>
</div>
<div class="col-xs-24">
<label>Properties</label>
</div>
<div ng-repeat="property in process.properties track by $index" class="col-xs-24 plr0px">
<div class="col-xs-6 dynamic-table-spacer">
<input type="text" class="form-control" ng-model="property.name"
ng-pattern="validations.patterns.propertyName"
validation-optional-message="{{validations.messages.name}}"
ng-disabled="xmlPreview.edit"
ng-required="property.value" placeholder="name" />
</div>
<div class="col-xs-6 dynamic-table-spacer">
<input type="text" class="form-control" ng-model="property.value"
validation-optional-message="{{validations.messages.value}}"
ng-disabled="xmlPreview.edit"
ng-required="property.name" placeholder="value" />
</div>
<div class="dynamic-table-spacer">
<button type="button" class="btn btn-default btn-xs" ng-click="removeProperty($index)" ng-if="!$first || !$last"
ng-disabled="xmlPreview.edit">
<span class="entypo minus"></span> delete
</button>
<button type="button" class="btn btn-default btn-xs" ng-click="addProperty()"
ng-disabled="xmlPreview.edit" ng-if="$last">
<span class="entypo plus"></span> ADD
</button>
</div>
</div>
<div class="col-xs-24"><label class="mt15">Access Control List</label></div>
<div class="col-xs-24 plr0px">
<div class="col-xs-4">
<label class="light">Owner<mandatory-field></mandatory-field></label>
<input type="text"
name="aclOwnerInput"
ng-model="process.ACL.owner"
ng-pattern="validations.patterns.unixId"
ng-required="true"
class="form-control"
validation-message="{{validations.messages.acl.owner}}"/>
</div>
<div class="col-xs-4">
<label class="light">Group<mandatory-field></mandatory-field></label>
<input type="text"
name="aclGroupInput"
ng-model="process.ACL.group"
ng-pattern="validations.patterns.unixId"
ng-required="true"
class="form-control"
validation-message="{{validations.messages.acl.group}}" />
</div>
<div class="col-xs-24">
<div class="col-xs-8 plr0px">
<label class="light">Permissions<mandatory-field></mandatory-field></label>
<acl-permissions acl-model="process.ACL.permission"></acl-permissions>
</div>
</div>
</div>
<div class="col-xs-24 pb15px mt35">
<button class="btn prevBtn" type="button"
ng-click="goBack()"
ng-disabled="buttonSpinners.backShow">
PREVIOUS <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.backShow" />
</button>
<div class="pull-right">
<a class="btn cnclBtn" ui-sref="main">
CANCEL
</a>
<button id="nextButton" class="btn nextBtn"
ng-disabled="buttonSpinners.show"
ng-click="goNext(processForm.$invalid)" scroll-to-error>
NEXT <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.show" />
</button>
<button class="btn advancedSaveBtn"
ng-disabled="processForm.$invalid || buttonSpinners.saveShow"
ng-click="saveEntity()" scroll-to-error>
SAVE ADVANCED OPTIONS <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.saveShow" />
</button>
</div>
</div>
</form>