blob: 8d76c906fe7fedc7414104668b188c5eba9cf33e [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 novalidate name="clusterForm" id="clusterGeneralStep">
<div class="col-xs-24">
<label class="light">Name</label>
<input type="text" class="form-control nameInput"
ng-pattern="validations.patterns.name"
ng-model="clusterEntity.clusterModel.cluster._name" ng-required="true"
ng-keydown="validations.acceptNoSpaces($event)"
check-name="{type:'cluster', check:true}" ng-class="{fakeInvalid:!validations.nameAvailable}"
ng-disabled="xmlPreview.edit" />
<!--check-type="cluster" check-name-flag="nameValid" check="true"-->
</div>
<div class="col-xs-12">
<label class="light">Colo</label>
<input type="text" class="form-control"
ng-pattern="validations.patterns.freeText"
ng-required="true" ng-disabled="xmlPreview.edit"
ng-model="clusterEntity.clusterModel.cluster._colo" validation-message="{{validations.messages.colo}}"/>
</div>
<div class="col-xs-12">
<label class="light">Description</label>
<input type="text" class="form-control"
ng-pattern="validations.patterns.freeText"
ng-required="true" ng-disabled="xmlPreview.edit" validation-message="{{validations.messages.description}}"
ng-model="clusterEntity.clusterModel.cluster._description" />
</div>
<div class="col-xs-24">
<label class="light">Tags</label>
</div>
<div class="col-xs-24">
<div ng-repeat="tag in tagsArray" class="row dynamic-table-spacer">
<div class="col-xs-10">
<input type="text" class="form-control" ng-model="tag.key" ng-disabled="xmlPreview.edit" placeholder="key"
ng-pattern="validations.patterns.alpha" ng-required="tag.value" validation-optional-message="{{validations.messages.key}}"/>
</div>
<div class="col-xs-11">
<input type="text" class="form-control" ng-disabled="xmlPreview.edit" placeholder="value"
ng-model="tag.value" ng-pattern="validations.patterns.alpha" ng-required="tag.key" validation-optional-message="{{validations.messages.value}}"/>
</div>
<div class="col-xs-3">
<button type="button" class="btn btn-default btn-xs" ng-click="removeTag($index)" ng-disabled="xmlPreview.edit" ng-if="$index>0">
<span class="entypo minus"></span> delete
</button>
</div>
</div>
</div>
<div class="col-xs-24 mt5">
<button type="button" class="btn btn-default btn-xs" ng-click="addTag()" ng-disabled="xmlPreview.edit">
<span class="entypo plus"></span> add tag
</button>
</div>
<h4 class="col-xs-24"> Access Control List </h4>
<div class="col-xs-8">
<label class="light">Owner</label>
<input type="text" class="form-control" ng-disabled="xmlPreview.edit" validation-message="{{validations.messages.acl.owner}}"
ng-required="true"
ng-pattern="validations.patterns.unixId"
ng-model="clusterEntity.clusterModel.cluster.ACL._owner"/>
</div>
<div class="col-xs-8">
<label class="light">Group</label>
<input type="text" class="form-control" ng-disabled="xmlPreview.edit" validation-message="{{validations.messages.acl.group}}"
ng-required="true"
ng-pattern="validations.patterns.unixId"
ng-model="clusterEntity.clusterModel.cluster.ACL._group"/>
</div>
<div class="col-xs-8">
<label class="light">Permissions</label>
<input type="text" class="form-control" ng-disabled="xmlPreview.edit" validation-message="{{validations.messages.acl.permission}}"
ng-required="true"
ng-pattern="validations.patterns.unixPermissions"
ng-model="clusterEntity.clusterModel.cluster.ACL._permission"/>
</div>
<h4 class="col-xs-24"> Interfaces </h4>
<label class="col-xs-4">
Type
</label>
<label class="col-xs-16">
Endpoint
</label>
<label class="col-xs-4">
Version
</label>
<div id="interfaces-detail" class="col-xs-24"
ng-repeat="_interface in clusterEntity.clusterModel.cluster.interfaces.interface">
<div class="row">
<div class="col-xs-4">
<input type="checkbox" ng-checked="registry.check" ng-model="registry.check"
ng-if="_interface._type === 'registry'" ng-disabled="xmlPreview.edit"/> {{_interface._type}}
</div>
<div class="col-xs-16">
<input type="text" class="form-control" ng-pattern="validations.patterns.osPath"
ng-model="_interface._endpoint"
ng-disabled="_interface._type === 'registry' && !registry.check || xmlPreview.edit"/>
</div>
<div class="col-xs-4">
<input type="text" class="form-control" ng-pattern="validations.patterns.versionNumbers"
ng-disabled="(_interface._type === 'registry' && !registry.check) || xmlPreview.edit"
ng-model="_interface._version">
</div>
</div>
</div>
<h4 class="col-xs-24"> Properties </h4>
<label class="col-xs-7">name</label><label class="col-xs-17">value</label>
<div ng-repeat="property in clusterEntity.clusterModel.cluster.properties.property">
<div class="col-xs-7 dynamic-table-spacer">
<input type="text" class="form-control" ng-model="property._name"
validation-optional-message="{{validations.messages.name}}"
ng-disabled="xmlPreview.edit"
ng-required="property._value" placeholder="name" />
</div>
<div class="col-xs-15 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="col-xs-2 dynamic-table-spacer">
<button type="button" class="btn btn-default btn-xs" ng-click="removeProperty($index)" ng-if="$index > 0"
ng-disabled="xmlPreview.edit">
<span class="entypo minus"></span> delete
</button>
</div>
<div class="clearfix hidden-md"></div>
</div>
<div class="col-xs-24 dynamic-table-spacer">
<button type="button" class="btn btn-default btn-xs" ng-click="addProperty()" ng-disabled="xmlPreview.edit">
<span class="entypo plus"></span> add property
</button>
</div>
<h4 class="col-xs-24"> Location </h4>
<label class="col-xs-7">name</label><label class="col-xs-17">path</label>
<div ng-repeat="location in clusterEntity.clusterModel.cluster.locations.location" class="col-xs-24">
<div class="row" ng-if="location._name === 'staging' || location._name === 'working' || location._name === 'temp'">
<div class="col-xs-7 dynamic-table-spacer">
{{location._name}}
</div>
<div class="col-xs-15 dynamic-table-spacer">
<input id="location.{{location._name}}" type="text" class="form-control" ng-model="location._path" ng-pattern="validations.patterns.osPath"
ng-disabled="xmlPreview.edit" ng-required="true" validation-message="{{validations.messages.location}}"/>
</div>
<div class="col-xs-2 dynamic-table-spacer"></div>
<div class="clearfix hidden-md"></div>
</div>
<div class="row" ng-if="location._name !== 'staging' && location._name !== 'working' && location._name !== 'temp'">
<div class="col-xs-7 dynamic-table-spacer">
<input type="text" class="form-control" ng-model="location._name"
validation-optional-message="{{validations.messages.name}}"
ng-pattern="validations.patterns.alpha"
ng-disabled="xmlPreview.edit" ng-required="location._path" placeholder="name" />
</div>
<div class="col-xs-15 dynamic-table-spacer">
<input type="text" class="form-control" ng-model="location._path"
validation-optional-message="{{validations.messages.path}}"
ng-pattern="validations.patterns.osPath"
ng-disabled="xmlPreview.edit" ng-required="location._name" placeholder="path" />
</div>
<div class="col-xs-2 dynamic-table-spacer">
<button class="btn btn-default btn-xs" ng-click="removeLocation($index)" ng-if="$index>3"
ng-disabled="xmlPreview.edit" >
<span class="entypo minus"></span> delete
</button>
</div>
<div class="clearfix hidden-md"></div>
</div>
</div>
<div class="col-xs-24 dynamic-table-spacer">
<button type="button" class="btn btn-default btn-xs" ng-click="addLocation()" ng-disabled="xmlPreview.edit">
<span class="entypo plus"></span> add location
</button>
</div>
<div class="col-xs-24 mt20">
<button id="cluster.step1" class="btn nextBtn pull-right" ng-disabled="xmlPreview.edit || buttonSpinners.show"
ng-click="goSummaryStep(clusterForm.$invalid)">
Next <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.show" />
</button>
<a class="pull-right" ui-sref="main">
Cancel
</a>
</div>
</form>