themes/nifi/layouts/partials/component.html (414 lines of code) (raw):

{{ $processors := where .Site.Pages "Params.componentType" "processors" }} {{ $controllerServices := where .Site.Pages "Params.componentType" "controller-services" }} <h3>{{ .Params.title }} {{ .Params.version }}</h3> <dl class="uk-description-list"> <dt>Bundle</dt> <dd>{{ .Params.group }} | {{ .Params.artifact }}</dd> <dt>Description</dt> <dd>{{ .Params.typeDescription }}</dd> <dt>Tags</dt> <dd> {{- range $index, $tag := .Params.tags -}} {{- if $index }}, {{ end }}{{ $tag }} {{- end -}} </dd> <dt>Input Requirement</dt> <dd> {{ replace .Params.inputRequirement "INPUT_" "" }} </dd> <dt>Supports Sensitive Dynamic Properties</dt> <dd>{{ .Params.supportsSensitiveDynamicProperties }}</dd> </dl> {{ if .Params.additionalDetails }} {{ $detailsPage := .GetPage "additional-details" }} <ul uk-accordion> <li class="additional-details"> <a class="uk-accordion-title" href>Additional Details for {{ .Params.title }} {{ .Params.version }}</a> <div class="uk-accordion-content"> {{ $detailsPage.Content }} </div> </li> </ul> {{ end }} <div class="uk-margin uk-flex"> <div class="component-section-header uk-width-3-4">Properties</div> <div class="uk-width-1-4 uk-text-right"> <button uk-icon="icon: expand" uk-tooltip="Expand Properties" id="expand-property-descriptors" class="uk-button uk-button-link uk-button-small"></button> <button uk-icon="icon: shrink" uk-tooltip="Collapse Properties" id="shrink-property-descriptors" class="uk-button uk-button-link uk-button-small"></button> </div> <script type="text/javascript"> document.addEventListener('uikit:init', () => { var expand = document.getElementById('expand-property-descriptors'); expand.addEventListener('click', () => { var descriptors = document.getElementsByClassName('property-descriptor-content'); for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; descriptor.hidden = false; } }); var shrink = document.getElementById('shrink-property-descriptors'); shrink.addEventListener('click', () => { var descriptors = document.getElementsByClassName('property-descriptor-content'); for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; descriptor.hidden = true; } }); }); </script> </div> <div> <ul uk-accordion="multiple: true" id="property-descriptors"> {{ range .Params.propertyDescriptors }} <li class="property-descriptor"> <a class="uk-accordion-title" href> <span class="{{ if .required }}property-required{{ end }}">{{ .displayName }}</span> <div class="uk-width-2-3 uk-align-right uk-margin-remove uk-text-truncate uk-text-lighter">{{ .description }}</div> </a> <div class="uk-accordion-content uk-padding-small property-descriptor-content"> <dl class="uk-description-list"> <dt>Display Name</dt> <dd>{{ .displayName }}</dd> <dt>Description</dt> <dd>{{ .description }}</dd> <dt>API Name</dt> <dd>{{ .name }}</dd> {{ if .defaultValue }} <dt>Default Value</dt> <dd>{{ .defaultValue }}</dd> {{ end }} {{ if .allowableValues }} <dt>Allowable Values</dt> <dd> <ul> {{ range .allowableValues }} <li> {{ .displayName }} {{ if .description -}} <span uk-icon="info" uk-tooltip="{{ .description }}"></span> {{- end -}} </li> {{ end }} </ul> </dd> {{ end }} {{ if .typeProvidedByValue }} <dt>Service Interface</dt> <dd>{{ .typeProvidedByValue.type }}</dd> {{ $serviceInterface := .typeProvidedByValue.type }} <dt>Service Implementations</dt> <dd> {{ range $controllerServices }} {{ $serviceImplementation := .Params.type }} {{ range .Params.providedApiImplementations }} {{ if eq .type $serviceInterface }} <div><a href="/components/{{ $serviceImplementation }}/">{{ $serviceImplementation }}</a></div> {{ end }} {{ end }} {{ end }} </dd> {{ end }} <dt>Expression Language Scope</dt> <dd>{{ .expressionLanguageScopeDescription }}</dd> <dt>Sensitive</dt> <dd>{{ .sensitive }}</dd> <dt>Required</dt> <dd>{{ .required }}</dd> {{ if .dependencies }} <dt>Dependencies</dt> <dd> <ul> {{ range .dependencies }} <li> <span>{{ .propertyDisplayName }}</span> <span class="uk-text-light">is set to any {{ if .dependentValues }} of {{ else }} value specified {{ end }} </span> {{ if .dependentValues }} [{{- range $index, $dependentValue := .dependentValues -}} {{- if $index }}, {{ end }}{{ $dependentValue -}} {{ end }}] {{ end }} </li> {{ end }} </ul> </dd> {{ end }} </dl> </div> </li> {{ end }} </ul> </div> {{ if .Params.dynamicProperties }} <div class="uk-margin uk-flex"> <div class="component-section-header uk-width-3-4">Dynamic Properties</div> <div class="uk-width-1-4 uk-text-right"> <button uk-icon="icon: expand" uk-tooltip="Expand Properties" id="expand-dynamic-properties" class="uk-button uk-button-link uk-button-small"></button> <button uk-icon="icon: shrink" uk-tooltip="Collapse Properties" id="shrink-dynamic-properties" class="uk-button uk-button-link uk-button-small"></button> </div> <script type="text/javascript"> document.addEventListener('uikit:init', () => { var expand = document.getElementById('expand-dynamic-properties'); expand.addEventListener('click', () => { var descriptors = document.getElementsByClassName('dynamic-property-content'); for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; descriptor.hidden = false; } }); var shrink = document.getElementById('shrink-dynamic-properties'); shrink.addEventListener('click', () => { var descriptors = document.getElementsByClassName('dynamic-property-content'); for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; descriptor.hidden = true; } }); }); </script> </div> <div> <ul uk-accordion="multiple: true" id="dynamic-properties"> {{ range .Params.dynamicProperties }} <li class="property-descriptor"> <a class="uk-accordion-title" href> <span>{{ .name }}</span> <div class="uk-width-2-3 uk-align-right uk-margin-remove uk-text-truncate uk-text-lighter">{{ .description }}</div> </a> <div class="uk-accordion-content uk-padding-small dynamic-property-content"> <dl class="uk-description-list"> <dt>Name</dt> <dd>{{ .name }}</dd> <dt>Description</dt> <dd>{{ .description }}</dd> <dt>Value</dt> <dd>{{ .value }}</dd> <dt>Expression Language Scope</dt> <dd>{{ .expressionLanguageScope }}</dd> </dl> </div> </li> {{ end }} </ul> </div> {{ end }} {{ if .Params.stateful }} <div class="component-section-header uk-margin">State Management</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Scopes</th> <th class="uk-width-3-4">Description</th> </tr> </thead> <tbody> <tr> <td> {{- range $index, $scope := .Params.stateful.scopes -}} {{- if $index }}, {{ end }}{{ $scope }} {{- end -}} </td> <td class="uk-text-lighter">{{ .Params.stateful.description }}</td> </tr> </tbody> </table> </div> {{ end }} {{ if .Params.systemResourceConsiderations }} <div class="component-section-header uk-margin">System Resource Considerations</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Resource</th> <th class="uk-width-3-4">Description</th> </tr> </thead> <tbody> {{ range .Params.systemResourceConsiderations }} <tr> <td>{{ .resource }}</td> <td class="uk-text-lighter">{{ .description }}</td> </tr> {{ end }} </tbody> </table> </div> {{ end }} {{ if .Params.explicitRestrictions }} <div class="component-section-header uk-margin">Restrictions</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Required Permission</th> <th class="uk-width-3-4">Explanation</th> </tr> </thead> <tbody> {{ range .Params.explicitRestrictions }} <tr> <td>{{ .requiredPermission }}</td> <td class="uk-text-lighter">{{ .explanation }}</td> </tr> {{ end }} </tbody> </table> </div> {{ end }} {{ if .Params.supportedRelationships }} <div class="component-section-header uk-margin">Relationships</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Name</th> <th class="uk-width-3-4">Description</th> </tr> </thead> <tbody> {{ range .Params.supportedRelationships }} <tr> <td>{{ .name }}</td> <td class="uk-text-lighter">{{ .description }}</td> </tr> {{ end }} </tbody> </table> </div> {{ end }} {{ if .Params.readsAttributes }} <div class="component-section-header uk-margin">Reads Attributes</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Name</th> <th class="uk-width-3-4">Description</th> </tr> </thead> <tbody> {{ range .Params.readsAttributes }} <tr> <td>{{ .name }}</td> <td class="uk-text-lighter">{{ .description }}</td> </tr> {{ end }} </tbody> </table> </div> {{ end }} {{ if .Params.writesAttributes }} <div class="component-section-header uk-margin">Writes Attributes</div> <div> <table class="uk-table uk-table-small uk-table-divider uk-box-shadow-small"> <thead> <tr> <th class="uk-width-1-4">Name</th> <th class="uk-width-3-4">Description</th> </tr> </thead> <tbody> {{ range .Params.writesAttributes }} <tr> <td>{{ .name }}</td> <td class="uk-text-lighter">{{ .description }}</td> </tr> {{ end }} </tbody> </table> </div> {{ end }} {{ if .Params.useCases }} <div class="uk-margin"> <div class="component-section-header">Use Cases</div> </div> <div> <ul uk-accordion="multiple: true" id="use-cases"> {{ range .Params.useCases }} <li class="description"> <a class="uk-accordion-title" href> <div class="uk-margin-remove uk-text-truncate uk-text-light">{{ .description }}</div> </a> <div class="uk-accordion-content uk-padding-small"> <dl class="uk-description-list"> <dt>Description</dt> <dd>{{ .description }}</dd> {{ if .notes }} <dt>Notes</dt> <dd>{{ .notes }}</dd> {{ end }} {{ if .keywords }} <dt>Keywords</dt> <dd> {{- range $index, $keyword := .keywords -}} {{- if $index }}, {{ end }}{{ $keyword }} {{- end -}} </dd> {{ end }} <dt>Configuration</dt> <dd><pre class="use-case-configuration">{{ .configuration }}</pre></dd> </dl> </div> </li> {{ end }} </ul> </div> {{ end }} {{ if .Params.multiProcessorUseCases }} <div class="uk-margin"> <div class="component-section-header">Use Cases Involving Other Components</div> </div> <div> <ul uk-accordion="multiple: true" id="multi-processor-use-cases"> {{ range .Params.multiProcessorUseCases }} <li class="description"> <a class="uk-accordion-title" href> <div class="uk-margin-remove uk-text-truncate uk-text-light">{{ .description }}</div> </a> <div class="uk-accordion-content uk-padding-small"> <dl class="uk-description-list"> <dt>Description</dt> <dd>{{ .description }}</dd> {{ if .notes }} <dt>Notes</dt> <dd>{{ .notes }}</dd> {{ end }} {{ if .keywords }} <dt>Keywords</dt> <dd> {{- range $index, $keyword := .keywords -}} {{- if $index }}, {{ end }}{{ $keyword }} {{- end -}} </dd> {{ end }} <dt>Processor Configurations</dt> <dd> {{ range .configurations }} <div class="uk-margin-top">{{ .processorClassName }}</div> <pre class="use-case-configuration">{{ .configuration }}</pre> {{ end }} </dd> </dl> </div> </li> {{ end }} </ul> </div> {{ end }} {{ if .Params.seeAlso }} <div class="component-section-header uk-margin">See Also</div> <ul> {{ range .Params.seeAlso }} <li> <a href="/components/{{ . }}/">{{ . }}</a> </li> {{ end }} </ul> {{ end }}