| <!-- |
| /** |
| * 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. |
| */ |
| --> |
| <feed-form-cluster-partitions></feed-form-cluster-partitions> |
| |
| <div class="row detailsBox"> |
| <div class="col-xs-24 feedLocationNavBox nopointer plr0px"> |
| <span class="col-xs-7" ng-show="!feed.storage.fileSystem.active">Default Storage Type</span> |
| <span class="col-xs-7" ng-show="feed.storage.fileSystem.active">Storage Type</span> |
| |
| <div class="col-xs-17 feedLocationNav disabled"> |
| <button class="btn btn-default pull-right" |
| ng-class="{active: feed.storage.catalog.active}" |
| ng-disabled="true"> |
| Catalog Storage |
| </button> |
| <button class="btn btn-default pull-right" |
| ng-class="{active: feed.storage.fileSystem.active}" |
| ng-disabled="true"> |
| File System |
| </button> |
| </div> |
| </div> |
| |
| <div class="col-xs-24"> |
| <label pl0px>LOCATION</label> |
| <label class="light">(if not defined, will use default location)</label> |
| </div> |
| |
| <div class="col-xs-24" |
| ng-show="feed.storage.fileSystem.active" |
| ng-repeat="location in cluster.storage.fileSystem.locations"> |
| <label class="light">{{capitalize(location.type)}} Path<mandatory-field></mandatory-field></label> |
| <input type="text" |
| placeholder="{{clusterLocationsPlaceHolders[location.type]}}" |
| class="form-control" |
| ng-model="location.path" |
| validation-optional-message="{{validations.messages.path}}" |
| ng-pattern="validations.patterns.osPath" /> |
| </div> |
| |
| <div class="col-xs-24" ng-show="feed.storage.catalog.active"> |
| <label class="light">Table uri<mandatory-field></mandatory-field></label> |
| <input type="text" class="form-control" |
| ng-model="cluster.storage.catalog.catalogTable.uri" |
| validation-optional-message="{{validations.messages.path}}" |
| ng-pattern="validations.patterns.osPath"/> |
| </div> |
| |
| <div class="col-xs-24"> |
| <label class="mt15">VALIDITY</label> |
| </label></div> |
| <div class="col-xs-24"> |
| <label class="mt15 light">Time Zone : <span>{{feed.timezone}}</span> |
| </label></div> |
| <div class="col-xs-24 validityBox plr0px"> |
| <div class="col-xs-24 plr0px"> |
| <div class="col-xs-6 startDateBox"> |
| <label class="light">Start<mandatory-field></mandatory-field> |
| <input type="text" |
| name="startDateInput" |
| class="form-control dateInput" |
| placeholder="{{dateFormat | lowercase}}" |
| ng-model="cluster.validity.start.date" |
| simple-date-picker /> |
| </label> |
| </div> |
| <div class="col-xs-6 startTimeBox"> |
| <label class="light">Time<mandatory-field></mandatory-field> |
| <timepicker ng-change="constructDate()" |
| ng-model="cluster.validity.start.time" |
| hour-step="1" |
| minute-step="1" |
| show-meridian="true"> |
| </timepicker> |
| </label> |
| </div> |
| </div> |
| |
| <label class="col-xs-24 custom-danger validationMessageGral" |
| ng-if="!cluster.validity.start.date"> |
| {{validations.messages.date.empty}} |
| </label> |
| |
| <div class="col-xs-24 plr0px"> |
| <div class="col-xs-6 endDateBox"> |
| <label class="light">End<mandatory-field></mandatory-field> |
| <input type="text" |
| name="startDateInput" |
| class="form-control dateInput" |
| placeholder="{{dateFormat | lowercase}}" |
| ng-model="cluster.validity.end.date" |
| simple-date-picker /> |
| </label> |
| </div> |
| <div class="col-xs-6 endTimeBox"> |
| <label class="light">Time<mandatory-field></mandatory-field> |
| <timepicker ng-change="constructDate()" |
| ng-model="cluster.validity.end.time" |
| hour-step="1" |
| minute-step="1" |
| show-meridian="true"> |
| </timepicker> |
| </label> |
| </div> |
| </div> |
| |
| <label class="col-xs-24 custom-danger validationMessageGral" |
| ng-if="!cluster.validity.end.date"> |
| {{validations.messages.date.empty}} |
| </label> |
| </div> |
| |
| <label class="light col-xs-24">Retention<mandatory-field></mandatory-field></label> |
| |
| <div class="col-xs-24 inlineInputsGroup"> |
| <input type="text" class="form-control" validation-message="{{validations.messages.number}}" |
| ng-required="true" ng-model="cluster.retention.quantity" ng-keydown="validations.acceptOnlyNumber($event)" |
| ng-pattern="validations.patterns.twoDigits"> |
| |
| <select ng-model="cluster.retention.unit" |
| ng-required="true"> |
| <option selected value="minutes">minutes</option> |
| <option value="hours">hours</option> |
| <option value="days">days</option> |
| <option value="months">months</option> |
| </select> |
| </div> |
| |
| <div class="row"> |
| <button type="button" class="btn btn-default pull-right btn-xs mt5" ng-click="removeCluster($index, cluster.type)"> |
| <span class="entypo minus"></span> delete |
| </button> |
| </div> |
| </div> |