You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/02/10 20:35:01 UTC
[2/2] incubator-nifi git commit: NIFI-250: - Rendering the references
in the disable controller service dialog. - Reloading controller service
table when appropriate. - Padding in dialogs with a border.
NIFI-250:
- Rendering the references in the disable controller service dialog.
- Reloading controller service table when appropriate.
- Padding in dialogs with a border.
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/4bc5ed13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/4bc5ed13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/4bc5ed13
Branch: refs/heads/NIFI-250
Commit: 4bc5ed13ef981b49390b1e8460105e8ed227b446
Parents: 5390c76
Author: Matt Gilman <ma...@gmail.com>
Authored: Tue Feb 10 14:34:48 2015 -0500
Committer: Matt Gilman <ma...@gmail.com>
Committed: Tue Feb 10 14:34:48 2015 -0500
----------------------------------------------------------------------
.../nifi/web/api/dto/ControllerServiceDTO.java | 30 +
.../nifi/web/api/dto/PropertyDescriptorDTO.java | 14 +
.../org/apache/nifi/web/api/dto/DtoFactory.java | 3 +
.../nifi-framework/nifi-web/nifi-web-ui/pom.xml | 5 +-
.../main/resources/filters/canvas.properties | 2 +-
.../disable-controller-service-dialog.jsp | 6 +
.../nifi-web-ui/src/main/webapp/css/canvas.css | 3 +-
.../css/controller-service-configuration.css | 156 -----
.../src/main/webapp/css/controller-service.css | 199 ++++++
.../css/disable-controller-service-dialog.css | 28 -
.../nifi-web-ui/src/main/webapp/css/main.css | 7 +
.../src/main/webapp/css/settings.css | 1 +
.../webapp/js/jquery/modal/jquery.modal.css | 1 -
.../main/webapp/js/nf/canvas/nf-canvas-utils.js | 26 -
.../src/main/webapp/js/nf/canvas/nf-canvas.js | 2 +-
.../nf-controller-service-configuration.js | 497 -------------
.../js/nf/canvas/nf-controller-service.js | 692 +++++++++++++++++++
.../src/main/webapp/js/nf/canvas/nf-settings.js | 130 ++--
18 files changed, 997 insertions(+), 805 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java
index c66eb7a..b6d707c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java
@@ -189,6 +189,8 @@ public class ControllerServiceDTO extends NiFiComponentDTO {
private Boolean enabled;
private String referenceType;
+ private Integer activeThreadCount;
+ private Set<ControllerServiceReferenceDTO> references;
/**
* Group id for this component referencing a controller service. If this
@@ -282,5 +284,33 @@ public class ControllerServiceDTO extends NiFiComponentDTO {
public void setReferenceType(String referenceType) {
this.referenceType = referenceType;
}
+
+ /**
+ * The active thread count for the referencing component.
+ *
+ * @return
+ */
+ public Integer getActiveThreadCount() {
+ return activeThreadCount;
+ }
+
+ public void setActiveThreadCount(Integer activeThreadCount) {
+ this.activeThreadCount = activeThreadCount;
+ }
+
+ /**
+ * If this referencing component represents a ControllerService, these
+ * are the components that reference it.
+ *
+ * @return
+ */
+ public Set<ControllerServiceReferenceDTO> getReferences() {
+ return references;
+ }
+
+ public void setReferences(Set<ControllerServiceReferenceDTO> references) {
+ this.references = references;
+ }
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/PropertyDescriptorDTO.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/PropertyDescriptorDTO.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/PropertyDescriptorDTO.java
index ee4d250..4d6d10f 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/PropertyDescriptorDTO.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/PropertyDescriptorDTO.java
@@ -34,6 +34,7 @@ public class PropertyDescriptorDTO {
private boolean sensitive;
private boolean dynamic;
private boolean supportsEl;
+ private boolean identifiesControllerService;
/**
* The set of allowable values for this property. If empty then the
@@ -155,6 +156,19 @@ public class PropertyDescriptorDTO {
public void setSupportsEl(boolean supportsEl) {
this.supportsEl = supportsEl;
}
+
+ /**
+ * Whether this descriptor represents a controller service.
+ *
+ * @return
+ */
+ public boolean isIdentifiesControllerService() {
+ return identifiesControllerService;
+ }
+
+ public void setIdentifiesControllerService(boolean identifiesControllerService) {
+ this.identifiesControllerService = identifiesControllerService;
+ }
/**
* The allowable values for a property with a constrained set of options.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index 4fe235f..4d034f5 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -903,6 +903,7 @@ public final class DtoFactory {
final ProcessorNode node = ((ProcessorNode) component);
reference.setGroupId(node.getProcessGroup().getIdentifier());
reference.setState(node.getScheduledState().name());
+ reference.setActiveThreadCount(node.getActiveThreadCount());
reference.setType(node.getProcessor().getClass().getName());
reference.setReferenceType(Processor.class.getSimpleName());
} else if (component instanceof ControllerServiceNode) {
@@ -913,6 +914,7 @@ public final class DtoFactory {
} else if (component instanceof ReportingTask) {
final ReportingTaskNode node = ((ReportingTaskNode) component);
reference.setState(node.getScheduledState().name());
+ reference.setActiveThreadCount(node.getActiveThreadCount());
reference.setType(node.getReportingTask().getClass().getName());
reference.setReferenceType(ReportingTask.class.getSimpleName());
}
@@ -1816,6 +1818,7 @@ public final class DtoFactory {
dto.setDescription(propertyDescriptor.getDescription());
dto.setDefaultValue(propertyDescriptor.getDefaultValue());
dto.setSupportsEl(propertyDescriptor.isExpressionLanguageSupported());
+ dto.setIdentifiesControllerService(propertyDescriptor.getControllerServiceDefinition() != null);
final Class<? extends ControllerService> serviceDefinition = propertyDescriptor.getControllerServiceDefinition();
if (propertyDescriptor.getAllowableValues() == null) {
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
index 2eb2416..0e2a292 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
@@ -267,7 +267,7 @@
<include>${staging.dir}/js/nf/canvas/nf-canvas-toolbox.js</include>
<include>${staging.dir}/js/nf/canvas/nf-custom-processor-ui.js</include>
<include>${staging.dir}/js/nf/canvas/nf-registration.js</include>
- <include>${staging.dir}/js/nf/canvas/nf-controller-service-configuration.js</include>
+ <include>${staging.dir}/js/nf/canvas/nf-controller-service.js</include>
<include>${staging.dir}/js/nf/canvas/nf-processor-configuration.js</include>
<include>${staging.dir}/js/nf/nf-processor-details.js</include>
<include>${staging.dir}/js/nf/canvas/nf-process-group-configuration.js</include>
@@ -403,7 +403,7 @@
<insertNewLine>true</insertNewLine>
<output>${project.build.directory}/${project.build.finalName}/css/nf-canvas-all.css</output>
<includes>
- <include>${staging.dir}/css/controller-service-configuration.css</include>
+ <include>${staging.dir}/css/controller-service.css</include>
<include>${staging.dir}/css/processor-configuration.css</include>
<include>${staging.dir}/css/processor-details.css</include>
<include>${staging.dir}/css/process-group-configuration.css</include>
@@ -419,7 +419,6 @@
<include>${staging.dir}/css/dialog.css</include>
<include>${staging.dir}/css/new-processor-dialog.css</include>
<include>${staging.dir}/css/new-controller-service-dialog.css</include>
- <include>${staging.dir}/css/disable-controller-service-dialog.css</include>
<include>${staging.dir}/css/graph.css</include>
<include>${staging.dir}/css/header.css</include>
<include>${staging.dir}/css/main.css</include>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/resources/filters/canvas.properties
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/resources/filters/canvas.properties b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/resources/filters/canvas.properties
index 44841ef..6d0d0ef 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/resources/filters/canvas.properties
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/resources/filters/canvas.properties
@@ -24,7 +24,7 @@ nf.canvas.script.tags=<script type="text/javascript" src="js/nf/nf-namespace.js?
<script type="text/javascript" src="js/nf/canvas/nf-canvas-toolbox.js?${project.version}"></script>\n\
<script type="text/javascript" src="js/nf/canvas/nf-custom-processor-ui.js?${project.version}"></script>\n\
<script type="text/javascript" src="js/nf/canvas/nf-registration.js?${project.version}"></script>\n\
-<script type="text/javascript" src="js/nf/canvas/nf-controller-service-configuration.js?${project.version}"></script>\n\
+<script type="text/javascript" src="js/nf/canvas/nf-controller-service.js?${project.version}"></script>\n\
<script type="text/javascript" src="js/nf/canvas/nf-processor-configuration.js?${project.version}"></script>\n\
<script type="text/javascript" src="js/nf/nf-processor-details.js?${project.version}"></script>\n\
<script type="text/javascript" src="js/nf/canvas/nf-process-group-configuration.js?${project.version}"></script>\n\
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
index f4a4e72..33a0bd9 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/disable-controller-service-dialog.jsp
@@ -23,5 +23,11 @@
<span id="disable-controller-service-name"></span>
</div>
</div>
+ <div class="setting">
+ <div class="setting-name">References</div>
+ <div class="setting-field">
+ <div id="disable-controller-service-references"></div>
+ </div>
+ </div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
index e59aba7..9c31200 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/canvas.css
@@ -20,7 +20,7 @@
@import url(process-group-configuration.css);
@import url(process-group-details.css);
@import url(remote-process-group-configuration.css);
-@import url(controller-service-configuration.css);
+@import url(controller-service.css);
@import url(port-configuration.css);
@import url(port-details.css);
@import url(label-configuration.css);
@@ -31,7 +31,6 @@
@import url(dialog.css);
@import url(new-processor-dialog.css);
@import url(new-controller-service-dialog.css);
-@import url(disable-controller-service-dialog.css);
@import url(graph.css);
@import url(header.css);
@import url(main.css);
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service-configuration.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service-configuration.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service-configuration.css
deleted file mode 100644
index 2978cd8..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service-configuration.css
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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.
- */
-
-/*
- Controller service configuration styles.
-*/
-
-#controller-service-configuration {
- position: absolute;
- overflow: hidden;
- width: 800px;
- height: 450px;
- font-size: 10px;
- z-index: 1301;
- display: none;
-}
-
-div.controller-service-configuration-tab-container {
- margin-top: -10px;
- padding: 5px 11px;
-}
-
-#controller-service-configuration-advanced {
- display: none;
-}
-
-#controller-service-configuration-tabs {
- background-color: transparent;
- width: 778px;
- height: 21px;
- border-bottom: 3px solid #666;
-}
-
-#controller-service-configuration div.configuration-tab {
- height: 320px;
- overflow: auto;
- padding: 10px;
- background: #eee url(../images/bgTabContainer.png) repeat-x;
- display: none;
-}
-
-/* controller-service settings */
-
-#controller-service-configuration div.settings-left {
- float: left;
- width: 330px;
-}
-
-#controller-service-configuration div.settings-right {
- float: left;
- width: 382px;
-}
-
-#controller-service-configuration div.spacer {
- float: left;
- margin-right: 40px;
-}
-
-#controller-service-configuration .setting-input {
- font-size: 11px !important;
- width: 320px;
-}
-
-#controller-service-configuration .small-setting-input {
- font-size: 11px !important;
- width: 130px;
-}
-
-#controller-service-name {
- font-size: 11px !important;
- width: 250px;
- float: left;
-}
-
-#controller-service-enabled {
- width: 12px;
- height: 12px;
- float: left;
- margin-right: 4px;
-}
-
-div.controller-service-enabled-container {
- float: left;
- margin-top: 5px;
- margin-left: 10px;
-}
-
-div.availability-setting {
- float: left;
- width: 140px;
-}
-
-/*
- Service references
-*/
-
-#controller-service-references {
- border: 0 solid #CCCCCC;
- height: 280px;
- overflow-y: auto;
- overflow-x: hidden;
- padding: 2px;
- width: 376px;
-}
-
-div.reference-block {
- margin-bottom: 4px;
-}
-
-span.reference-title {
- margin-left: 5px;
- font-weight: bold
-}
-
-span.reference-count {
- margin-left: 5px;
- color: #aaa;
-}
-
-ul.reference-listing {
- margin-left: 20px;
- margin-bottom: 8px;
-}
-
-ul.reference-listing li {
- margin-bottom: 3px;
-}
-
-span.reference-type {
- margin-left: 5px;
- color: #aaa;
-}
-
-/*
- Comments
-*/
-
-#controller-service-comments {
- height: 250px;
- width: 748px !important;
- margin-top: 10px;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
new file mode 100644
index 0000000..835bbd8
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/controller-service.css
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+
+/*
+ Controller service configuration styles.
+*/
+
+#controller-service-configuration {
+ position: absolute;
+ overflow: hidden;
+ width: 800px;
+ height: 450px;
+ font-size: 10px;
+ z-index: 1301;
+ display: none;
+}
+
+div.controller-service-configuration-tab-container {
+ margin-top: -10px;
+ padding: 5px 11px;
+}
+
+#controller-service-configuration-advanced {
+ display: none;
+}
+
+#controller-service-configuration-tabs {
+ background-color: transparent;
+ width: 778px;
+ height: 21px;
+ border-bottom: 3px solid #666;
+}
+
+#controller-service-configuration div.configuration-tab {
+ height: 320px;
+ overflow: auto;
+ padding: 10px;
+ background: #eee url(../images/bgTabContainer.png) repeat-x;
+ display: none;
+}
+
+/* controller-service settings */
+
+#controller-service-configuration div.settings-left {
+ float: left;
+ width: 330px;
+}
+
+#controller-service-configuration div.settings-right {
+ float: left;
+ width: 382px;
+}
+
+#controller-service-configuration div.spacer {
+ float: left;
+ margin-right: 40px;
+}
+
+#controller-service-configuration .setting-input {
+ font-size: 11px !important;
+ width: 320px;
+}
+
+#controller-service-configuration .small-setting-input {
+ font-size: 11px !important;
+ width: 130px;
+}
+
+#controller-service-name {
+ font-size: 11px !important;
+ width: 250px;
+ float: left;
+}
+
+#controller-service-enabled {
+ width: 12px;
+ height: 12px;
+ float: left;
+ margin-right: 4px;
+}
+
+div.controller-service-enabled-container {
+ float: left;
+ margin-top: 5px;
+ margin-left: 10px;
+}
+
+div.availability-setting {
+ float: left;
+ width: 140px;
+}
+
+/*
+ Service references
+*/
+
+#controller-service-references {
+ border: 0 solid #CCCCCC;
+ height: 280px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 2px;
+ width: 376px;
+}
+
+div.reference-block {
+ margin-bottom: 6px;
+}
+
+span.reference-title {
+ margin-left: 5px;
+ font-weight: bold
+}
+
+span.reference-count {
+ margin-left: 5px;
+ color: #aaa;
+}
+
+ul.reference-listing {
+ margin-left: 20px;
+ margin-bottom: 6px;
+}
+
+ul.reference-listing li {
+ margin-bottom: 6px;
+}
+
+div.reference-state {
+ margin-top: -2px;
+}
+
+span.service.expansion-button {
+ margin-right: 4px;
+ margin-top: 2px;
+}
+
+span.reference-active-thread-count {
+}
+
+span.reference-name {
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+span.reference-type {
+ color: #aaa;
+ font-style: italic;
+}
+
+div.reference-references {
+ margin-left: 20px;
+ margin-top: 6px;
+ clear: left;
+}
+
+/*
+ Comments
+*/
+
+#controller-service-comments {
+ height: 250px;
+ width: 748px !important;
+ margin-top: 10px;
+}
+
+/*
+ Disable dialog
+*/
+
+#disable-controller-service-dialog {
+ z-index: 1301;
+ display: none;
+ width: 500px;
+ height: 450px;
+ line-height: normal;
+}
+
+#disable-controller-service-references {
+ border: 0 solid #CCCCCC;
+ padding: 2px;
+ width: 474px;
+ height: 290px;
+ overflow: auto;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/disable-controller-service-dialog.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/disable-controller-service-dialog.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/disable-controller-service-dialog.css
deleted file mode 100644
index 6a16e17..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/disable-controller-service-dialog.css
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-/*
- New controller service dialog.
-*/
-
-#disable-controller-service-dialog {
- z-index: 1301;
- display: none;
- width: 500px;
- height: 450px;
- line-height: normal;
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
index c57c6ee..83c7831 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/main.css
@@ -210,6 +210,13 @@ div.disabled {
background: transparent url(../images/iconDisable.png) repeat scroll 0 0;
}
+div.enabled {
+ float: left;
+ width: 16px;
+ height: 16px;
+ background: transparent url(../images/iconEnable.png) repeat scroll 0 0;
+}
+
div.stopped {
float: left;
width: 16px;
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/settings.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/settings.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/settings.css
index e1a8cc9..36fef5c 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/settings.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/settings.css
@@ -47,6 +47,7 @@ span.expansion-button {
width: 10px;
height: 10px;
display: inline-block;
+ float: left;
}
span.ancestor-type {
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/modal/jquery.modal.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/modal/jquery.modal.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/modal/jquery.modal.css
index 9cfbe7c..f834275 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/modal/jquery.modal.css
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/jquery/modal/jquery.modal.css
@@ -25,7 +25,6 @@
}
.show-border {
- padding: 10px;
border: 3px solid #365C6A;
box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.9);
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js
index 42de660..83a3117 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js
@@ -400,32 +400,6 @@ nf.CanvasUtils = (function () {
},
/**
- * Reloads components that reference this controller service.
- *
- * @param {object} controllerService
- */
- reloadControllerServiceReferences: function (controllerService) {
- var reloadOther = false;
-
- // reload all dependent processors if they are currently visible
- $.each(controllerService.references, function(_, reference) {
- if (reference.referenceType === 'Processor') {
- if (nf.Canvas.getGroupId() === reference.groupId) {
- var processor = nf.Processor.get(reference.id);
- nf.Processor.reload(processor.component);
- }
- } else {
- reloadOther = true;
- }
- });
-
- // reload the controller services and reporting tasks if necessary
- if (reloadOther) {
- nf.Settings.loadSettings();
- }
- },
-
- /**
* Handles component bulletins.
*
* @param {selection} selection The component
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
index 5a1ec02..7207314 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas.js
@@ -1025,7 +1025,7 @@ nf.Canvas = (function () {
// initialize components
nf.ConnectionConfiguration.init();
- nf.ControllerServiceConfiguration.init();
+ nf.ControllerService.init();
nf.ProcessorConfiguration.init();
nf.ProcessGroupConfiguration.init();
nf.RemoteProcessGroupConfiguration.init();
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4bc5ed13/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service-configuration.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service-configuration.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service-configuration.js
deleted file mode 100644
index c43b017..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-controller-service-configuration.js
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
- * 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.
- */
-nf.ControllerServiceConfiguration = (function () {
-
- /**
- * Handle any expected controller service configuration errors.
- *
- * @argument {object} xhr The XmlHttpRequest
- * @argument {string} status The status of the request
- * @argument {string} error The error
- */
- var handleControllerServiceConfigurationError = function (xhr, status, error) {
- if (xhr.status === 400) {
- var errors = xhr.responseText.split('\n');
-
- var content;
- if (errors.length === 1) {
- content = $('<span></span>').text(errors[0]);
- } else {
- content = nf.Common.formatUnorderedList(errors);
- }
-
- nf.Dialog.showOkDialog({
- dialogContent: content,
- overlayBackground: false,
- headerText: 'Configuration Error'
- });
- } else {
- nf.Common.handleAjaxError(xhr, status, error);
- }
- };
-
- /**
- * Determines whether the user has made any changes to the controller service configuration
- * that needs to be saved.
- */
- var isSaveRequired = function () {
- var details = $('#controller-service-configuration').data('controllerServiceDetails');
-
- // determine if any controller service settings have changed
-
- if ($('#controller-service-name').val() !== details.name) {
- return true;
- }
- if ($('#controller-service-comments').val() !== details.comments) {
- return true;
- }
-
- if ($('#controller-service-enabled').hasClass('checkbox-checked') && details['enabled'] === false) {
- return true;
- } else if ($('#controller-service-enabled').hasClass('checkbox-unchecked') && details['enabled'] === true) {
- return true;
- }
-
- // defer to the properties
- return $('#controller-service-properties').propertytable('isSaveRequired');
- };
-
- /**
- * Marshals the data that will be used to update the contr oller service's configuration.
- */
- var marshalDetails = function () {
- // properties
- var properties = $('#controller-service-properties').propertytable('marshalProperties');
-
- // create the controller service dto
- var controllerServiceDto = {};
- controllerServiceDto['id'] = $('#controller-service-id').text();
- controllerServiceDto['name'] = $('#controller-service-name').val();
-
- // set the properties
- if ($.isEmptyObject(properties) === false) {
- controllerServiceDto['properties'] = properties;
- }
-
- // mark the controller service disabled if appropriate
- if ($('#controller-service-enabled').hasClass('checkbox-unchecked')) {
- controllerServiceDto['enabled'] = false;
- } else if ($('#controller-service-enabled').hasClass('checkbox-checked')) {
- controllerServiceDto['enabled'] = true;
- }
-
- // create the controller service entity
- var controllerServiceEntity = {};
- controllerServiceEntity['revision'] = nf.Client.getRevision();
- controllerServiceEntity['controllerService'] = controllerServiceDto;
-
- // return the marshaled details
- return controllerServiceEntity;
- };
-
- /**
- * Validates the specified details.
- *
- * @argument {object} details The details to validate
- */
- var validateDetails = function (details) {
- return true;
- };
-
- /**
- * Reloads the specified controller service.
- *
- * @param {object} controllerService
- */
- var reloadControllerService = function (controllerService) {
- return $.ajax({
- type: 'GET',
- url: controllerService.uri,
- dataType: 'json'
- }).done(function (response) {
- renderControllerService(response.controllerService);
- }).fail(nf.Common.handleAjaxError);
- };
-
- /**
- * Reloads the specified controller service.
- *
- * @param {object} controllerService
- */
- var renderControllerService = function (controllerService) {
- // get the table and update the row accordingly
- var controllerServiceGrid = $('#controller-services-table').data('gridInstance');
- var controllerServiceData = controllerServiceGrid.getData();
- controllerServiceData.updateItem(controllerService.id, controllerService);
-
- // reload the controller service references
- nf.CanvasUtils.reloadControllerServiceReferences(controllerService);
- };
-
- /**
- * Adds a border to the controller service references if necessary.
- */
- var updateReferencesBorder = function () {
- var controllerServiceReferences = $('#controller-service-references');
- if (controllerServiceReferences.is(':visible') && controllerServiceReferences.get(0).scrollHeight > controllerServiceReferences.innerHeight()) {
- controllerServiceReferences.css('border-width', '1px');
- } else {
- controllerServiceReferences.css('border-width', '0px');
- }
- };
-
- /**
- * Adds the specified reference for this controller service.
- *
- * @param {array} references
- */
- var createReferences = function (references) {
- var processors = $('<ul class="reference-listing clear"></ul>');
- var services = $('<ul class="reference-listing clear"></ul>');
- var tasks = $('<ul class="reference-listing clear"></ul>');
- $.each(references, function (_, reference) {
- if (reference.referenceType === 'Processor') {
- var processorLink = $('<span class="link"></span>').text(reference.name).on('click', function () {
- // show the component
- nf.CanvasUtils.showComponent(reference.groupId, reference.id);
-
- // close the dialog and shell
- $('#controller-service-configuration').modal('hide');
- $('#shell-close-button').click();
- });
-
- var processorType = $('<span class="reference-type"></span>').text('(' + nf.Common.substringAfterLast(reference.type, '.') + ')');
- var processorItem = $('<li></li>').append(processorLink).append(processorType);
- processors.append(processorItem);
- } else if (reference.referenceType === 'ControllerService') {
- var serviceLink = $('<span class="link"></span>').text(reference.name).on('click', function () {
- var controllerServiceGrid = $('#controller-services-table').data('gridInstance');
- var controllerServiceData = controllerServiceGrid.getData();
-
- // select the selected row
- var row = controllerServiceData.getRowById(reference.id);
- controllerServiceGrid.setSelectedRows([row]);
-
- // close the dialog and shell
- $('#controller-service-configuration').modal('hide');
- });
-
- var serviceType = $('<span class="reference-type"></span>').text('(' + nf.Common.substringAfterLast(reference.type, '.') + ')');
- var serviceItem = $('<li></li>').append(serviceLink).append(serviceType);
- services.append(serviceItem);
- } else if (reference.referenceType === 'ReportingTask') {
- var taskItem = $('<li></li>').text(reference.name).on('click', function () {
-
- // close the dialog and shell
- $('#controller-service-configuration').modal('hide');
- });
- tasks.append(taskItem);
- }
- });
-
- // toggles the visibility of a listing
- var toggle = function (twist, list) {
- if (twist.hasClass('expanded')) {
- twist.removeClass('expanded').addClass('collapsed');
- list.hide();
- } else {
- twist.removeClass('collapsed').addClass('expanded');
- list.show();
- }
- };
-
- // create the collapsable listing for each type
- var controllerServiceReferences = $('#controller-service-references');
- var createReferenceBlock = function (titleText, list) {
- var twist = $('<span class="expansion-button expanded"></span>');
- var title = $('<span class="reference-title"></span>').text(titleText);
- var count = $('<span class="reference-count"></span>').text('(' + list.children().length + ')');
-
- // create the reference block
- $('<div class="reference-block pointer unselectable"></div>').on('click', function () {
- // toggle this block
- toggle(twist, list);
-
- // update the border if necessary
- updateReferencesBorder();
- }).append(twist).append(title).append(count).appendTo(controllerServiceReferences);
-
- // show message for empty list
- if (list.is(':empty')) {
- list.append('<li class="unset" style="margin-top: 2px;">No ' + titleText.toLowerCase() + ' reference this service.</li>');
- }
-
- // add the listing
- list.appendTo(controllerServiceReferences);
- };
-
- // create blocks for each type of component
- createReferenceBlock('Processors', processors);
- createReferenceBlock('Controller Services', services);
- createReferenceBlock('Reporting Tasks', tasks);
-
- // update the border if necessary
- updateReferencesBorder();
- };
-
- return {
- /**
- * Initializes the controller service configuration dialog.
- */
- init: function () {
- // initialize the configuration dialog tabs
- $('#controller-service-configuration-tabs').tabbs({
- tabStyle: 'tab',
- selectedTabStyle: 'selected-tab',
- tabs: [{
- name: 'Settings',
- tabContentId: 'controller-service-standard-settings-tab-content'
- }, {
- name: 'Properties',
- tabContentId: 'controller-service-properties-tab-content'
- }, {
- name: 'Comments',
- tabContentId: 'controller-service-comments-tab-content'
- }],
- select: function () {
- // update the property table size in case this is the first time its rendered
- if ($(this).text() === 'Properties') {
- $('#controller-service-properties').propertytable('resetTableSize');
- }
-
- // close all fields currently being edited
- $('#controller-service-properties').propertytable('saveRow');
-
- // show the border around the processor relationships if necessary
- updateReferencesBorder();
- }
- });
-
- // we clustered we need to show the controls for editing the availability
- if (nf.Canvas.isClustered()) {
- $('#availability-setting-container').show();
- }
-
- // initialize the conroller service configuration dialog
- $('#controller-service-configuration').modal({
- headerText: 'Configure Controller Service',
- overlayBackground: false,
- handler: {
- close: function () {
- // empty the references list
- $('#controller-service-references').css('border-width', '0').empty();
-
- // cancel any active edits
- $('#controller-service-properties').propertytable('cancelEdit');
-
- // clear the tables
- $('#controller-service-properties').propertytable('clear');
-
- // removed the cached controller service details
- $('#controller-service-configuration').removeData('controllerServiceDetails');
- }
- }
- });
-
- // initialize the property table
- $('#controller-service-properties').propertytable({
- readOnly: false,
- newPropertyDialogContainer: 'body'
- });
- },
-
- /**
- * Shows the configuration dialog for the specified controller service.
- *
- * @argument {controllerService} controllerService The controller service
- */
- showConfiguration: function (controllerService) {
- // reload the service in case the property descriptors have changed
- var reloadService = $.ajax({
- type: 'GET',
- url: controllerService.uri,
- dataType: 'json'
- });
-
- // get the controller service history
- var loadHistory = $.ajax({
- type: 'GET',
- url: '../nifi-api/controller/history/controller-services/' + encodeURIComponent(controllerService.id),
- dataType: 'json'
- });
-
- // once everything is loaded, show the dialog
- $.when(reloadService, loadHistory).done(function (serviceResponse, historyResponse) {
- // get the updated controller service
- controllerService = serviceResponse[0].controllerService;
-
- // get the controller service history
- var controllerServiceHistory = historyResponse[0].componentHistory;
-
- // record the controller service details
- $('#controller-service-configuration').data('controllerServiceDetails', controllerService);
-
- // determine if the enabled checkbox is checked or not
- var controllerServiceEnableStyle = 'checkbox-checked';
- if (controllerService['enabled'] === false) {
- controllerServiceEnableStyle = 'checkbox-unchecked';
- }
-
- // populate the controller service settings
- $('#controller-service-id').text(controllerService['id']);
- $('#controller-service-type').text(nf.Common.substringAfterLast(controllerService['type'], '.'));
- $('#controller-service-name').val(controllerService['name']);
- $('#controller-service-enabled').removeClass('checkbox-unchecked checkbox-checked').addClass(controllerServiceEnableStyle);
- $('#controller-service-comments').val(controllerService['comments']);
-
- // select the availability when appropriate
- if (nf.Canvas.isClustered()) {
- if (controllerService['availability'] === 'node') {
- $('#availability').text('Node');
- } else {
- $('#availability').text('Cluster Manager');
- }
- }
-
- // load the controller references list
- if (!nf.Common.isEmpty(controllerService.references)) {
- createReferences(controllerService.references);
- } else {
- $('#controller-service-references').append('<div class="unset">This service has no components referencing it.</div>');
- }
-
- var buttons = [{
- buttonText: 'Apply',
- handler: {
- click: function () {
- // close all fields currently being edited
- $('#controller-service-properties').propertytable('saveRow');
-
- // marshal the settings and properties and update the controller service
- var updatedControllerService = marshalDetails();
-
- // ensure details are valid as far as we can tell
- if (validateDetails(updatedControllerService)) {
- // update the selected component
- $.ajax({
- type: 'PUT',
- data: JSON.stringify(updatedControllerService),
- url: controllerService.uri,
- dataType: 'json',
- processData: false,
- contentType: 'application/json'
- }).done(function (response) {
- if (nf.Common.isDefinedAndNotNull(response.controllerService)) {
- // update the revision
- nf.Client.setRevision(response.revision);
-
- // reload the controller service
- renderControllerService(response.controllerService);
-
- // close the details panel
- $('#controller-service-configuration').modal('hide');
- }
- }).fail(handleControllerServiceConfigurationError);
- }
- }
- }
- }, {
- buttonText: 'Cancel',
- handler: {
- click: function () {
- $('#controller-service-configuration').modal('hide');
- }
- }
- }];
-
- // determine if we should show the advanced button
- if (nf.Common.isDefinedAndNotNull(controllerService.customUiUrl) && controllerService.customUiUrl !== '') {
- buttons.push({
- buttonText: 'Advanced',
- handler: {
- click: function () {
- var openCustomUi = function () {
- // reset state and close the dialog manually to avoid hiding the faded background
- $('#controller-service-configuration').modal('hide');
-
- // show the custom ui
- nf.CustomProcessorUi.showCustomUi($('#controller-service-id').text(), controllerService.customUiUrl, true).done(function () {
- // once the custom ui is closed, reload the controller service
- reloadControllerService(controllerService);
- });
- };
-
- // close all fields currently being edited
- $('#controller-service-properties').propertytable('saveRow');
-
- // determine if changes have been made
- if (isSaveRequired()) {
- // see if those changes should be saved
- nf.Dialog.showYesNoDialog({
- dialogContent: 'Save changes before opening the advanced configuration?',
- overlayBackground: false,
- noHandler: openCustomUi,
- yesHandler: function () {
- // marshal the settings and properties and update the controller service
- var updatedControllerService = marshalDetails();
-
- // ensure details are valid as far as we can tell
- if (validateDetails(updatedControllerService)) {
- // update the selected component
- $.ajax({
- type: 'PUT',
- data: JSON.stringify(updatedControllerService),
- url: controllerService.uri,
- dataType: 'json',
- processData: false,
- contentType: 'application/json'
- }).done(function (response) {
- if (nf.Common.isDefinedAndNotNull(response.controllerService)) {
- // update the revision
- nf.Client.setRevision(response.revision);
-
- // open the custom ui
- openCustomUi();
- }
- }).fail(handleControllerServiceConfigurationError);
- }
- }
- });
- } else {
- // if there were no changes, simply open the custom ui
- openCustomUi();
- }
- }
- }
- });
- }
-
- // set the button model
- $('#controller-service-configuration').modal('setButtonModel', buttons);
-
- // load the property table
- $('#controller-service-properties').propertytable('loadProperties', controllerService.properties, controllerService.descriptors, controllerServiceHistory.propertyHistory);
-
- // show the details
- $('#controller-service-configuration').modal('show');
-
- // show the border if necessary
- updateReferencesBorder();
- }).fail(nf.Common.handleAjaxError);
- }
- };
-}());