| //- |
| 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. |
| |
| include /app/helpers/jade/mixins |
| include /app/configuration/mixins |
| |
| -var form = 'nodeFilter' |
| -var model = '$ctrl.clonedCache' |
| -var nodeFilter = model + '.nodeFilter'; |
| -var nodeFilterKind = nodeFilter + '.kind'; |
| -var igfsFilter = nodeFilterKind + ' === "IGFS"' |
| -var customFilter = nodeFilterKind + ' === "Custom"' |
| |
| panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) |
| panel-title Node filter |
| panel-description Determines on what nodes the cache should be started. |
| panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) |
| .pca-form-column-6.pc-form-grid-row |
| .pc-form-grid-col-60 |
| +form-field__dropdown({ |
| label: 'Node filter:', |
| model: nodeFilterKind, |
| name: '"nodeFilter"', |
| placeholder: 'Not set', |
| options: '::$ctrl.Caches.nodeFilterKinds', |
| tip: 'Node filter variant' |
| }) |
| .pc-form-grid-col-60( |
| ng-if=igfsFilter |
| ) |
| +form-field__dropdown({ |
| label: 'IGFS:', |
| model: `${nodeFilter}.IGFS.igfs`, |
| name: '"igfsNodeFilter"', |
| required: true, |
| placeholder: 'Choose IGFS', |
| placeholderEmpty: 'No IGFS configured', |
| options: '$ctrl.igfssMenu', |
| tip: 'Select IGFS to filter nodes' |
| })( |
| pc-is-in-collection='$ctrl.igfsIDs' |
| ) |
| +form-field__error({ error: 'isInCollection', message: `Cluster doesn't have such an IGFS` }) |
| .pc-form-grid-col-60(ng-show=customFilter) |
| +form-field__java-class({ |
| label: 'Class name:', |
| model: `${nodeFilter}.Custom.className`, |
| name: '"customNodeFilter"', |
| required: customFilter, |
| tip: 'Class name of custom node filter implementation', |
| validationActive: customFilter |
| }) |
| .pca-form-column-6 |
| +preview-xml-java(model, 'cacheNodeFilter', 'igfss') |