You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sc...@apache.org on 2019/09/10 14:51:41 UTC

[nifi] branch master updated (5ddc01e -> 29708d8)

This is an automated email from the ASF dual-hosted git repository.

scottyaslan pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git.


    from 5ddc01e  NIFI-6644 - Consider param context permissions when deciding to allow property conversion to parameter. NIFI-6644 - when deciding to show the convert prop option: enforce user has read and write permissions to the param context & the props are not for a controller service defined in the controller settings.
     new 70af2ac  NIFI-6641 - support read only mode for parameter context dialog
     new 29708d8  NIFI-6641 - fix issue with dialog state when adding a new parameter context. added ellipsis styling and titles to name and id fields.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../canvas/new-parameter-context-dialog.jsp        | 12 +--
 .../webapp/css/new-parameter-context-dialog.css    | 13 +++
 .../webapp/js/nf/canvas/nf-parameter-contexts.js   | 99 +++++++++++++++++++---
 3 files changed, 108 insertions(+), 16 deletions(-)


[nifi] 02/02: NIFI-6641 - fix issue with dialog state when adding a new parameter context. added ellipsis styling and titles to name and id fields.

Posted by sc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

scottyaslan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 29708d836257f152d7893bc11fea0ebb24555538
Author: Rob Fellows <ro...@gmail.com>
AuthorDate: Tue Sep 10 10:02:34 2019 -0400

    NIFI-6641 - fix issue with dialog state when adding a new parameter context. added ellipsis styling and titles to name and id fields.
    
    This closes #3710
    
    Signed-off-by: Scott Aslan <sc...@gmail.com>
---
 .../WEB-INF/partials/canvas/new-parameter-context-dialog.jsp |  4 ++--
 .../src/main/webapp/js/nf/canvas/nf-parameter-contexts.js    | 12 ++++++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
index cba63e0..88d0063 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
@@ -25,14 +25,14 @@
                     <div id="parameter-context-id-setting" class="setting hidden">
                         <div class="setting-name">Id</div>
                         <div class="setting-field">
-                            <div id="parameter-context-id-field"></div>
+                            <div id="parameter-context-id-field" class="ellipsis"></div>
                         </div>
                     </div>
                     <div class="setting">
                         <div class="setting-name">Name</div>
                         <div id="parameter-context-name-container" class="setting-field">
                             <input type="text" id="parameter-context-name" class="edit-mode" name="parameter-context-name"/>
-                            <div id="parameter-context-name-read-only" class="read-only"></div>
+                            <div id="parameter-context-name-read-only" class="read-only ellipsis"></div>
                         </div>
                     </div>
                     <div class="setting">
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
index eee4146..3e0f44f 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
@@ -2205,6 +2205,10 @@
                     $('#parameter-context-id-setting').addClass('hidden');
                 }
 
+                // make sure this dialog is not in read-only mode
+                $('#parameter-context-dialog').removeClass('read-only');
+                $('#parameter-context-dialog').addClass('edit-mode');
+
                 $('#parameter-context-dialog').modal('setHeaderText', 'Add Parameter Context').modal('setButtonModel', [{
                     buttonText: 'Apply',
                     color: {
@@ -2364,7 +2368,9 @@
                 } else {
                     $('#parameter-context-dialog').removeClass('edit-mode');
                     $('#parameter-context-dialog').addClass('read-only');
-                    $('#parameter-context-name-read-only').text(parameterContextEntity.component.name);
+                    $('#parameter-context-name-read-only')
+                        .prop('title', parameterContextEntity.component.name)
+                        .text(parameterContextEntity.component.name);
                     $('#parameter-context-description-read-only').text(parameterContextEntity.component.description);
                 }
 
@@ -2372,7 +2378,9 @@
                 if ($('#parameter-context-id-setting').hasClass('hidden')) {
                     $('#parameter-context-id-setting').removeClass('hidden');
                 }
-                $('#parameter-context-id-field').text(parameterContextEntity.id);
+                $('#parameter-context-id-field')
+                    .prop('title', parameterContextEntity.id)
+                    .text(parameterContextEntity.id);
 
                 loadParameters(parameterContextEntity, null, readOnly);
 


[nifi] 01/02: NIFI-6641 - support read only mode for parameter context dialog

Posted by sc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

scottyaslan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 70af2acc06157245d8d8bf2bb8600c2e782e12fd
Author: Rob Fellows <ro...@gmail.com>
AuthorDate: Fri Sep 6 15:45:19 2019 -0400

    NIFI-6641 - support read only mode for parameter context dialog
---
 .../canvas/new-parameter-context-dialog.jsp        | 10 ++-
 .../webapp/css/new-parameter-context-dialog.css    | 13 ++++
 .../webapp/js/nf/canvas/nf-parameter-contexts.js   | 89 +++++++++++++++++++---
 3 files changed, 98 insertions(+), 14 deletions(-)

diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
index dd531838..cba63e0 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/WEB-INF/partials/canvas/new-parameter-context-dialog.jsp
@@ -15,7 +15,7 @@
   limitations under the License.
 --%>
 <%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
-<div id="parameter-context-dialog" layout="column" class="hidden">
+<div id="parameter-context-dialog" layout="column" class="hidden read-only">
     <div id="parameter-context-status-bar"></div>
     <div class="parameter-context-tab-container dialog-content">
         <div id="parameter-context-tabs" class="tab-container"></div>
@@ -31,13 +31,15 @@
                     <div class="setting">
                         <div class="setting-name">Name</div>
                         <div id="parameter-context-name-container" class="setting-field">
-                            <input type="text" id="parameter-context-name" name="parameter-context-name"/>
+                            <input type="text" id="parameter-context-name" class="edit-mode" name="parameter-context-name"/>
+                            <div id="parameter-context-name-read-only" class="read-only"></div>
                         </div>
                     </div>
                     <div class="setting">
                         <div class="setting-name">Description</div>
                         <div class="setting-field parameter-context-description-container">
-                            <textarea id="parameter-context-description-field" rows="6"></textarea>
+                            <textarea id="parameter-context-description-field" class="edit-mode" rows="6"></textarea>
+                            <div id="parameter-context-description-read-only" class="read-only"></div>
                         </div>
                         <div class="clear"></div>
                     </div>
@@ -48,7 +50,7 @@
             </div>
             <div id="parameter-context-parameters-tab-content" class="configuration-tab">
                 <div class="settings-left">
-                    <div>
+                    <div class="edit-mode">
                         <div id="add-parameter"><button class="button fa fa-plus"></button></div>
                         <div class="clear"></div>
                     </div>
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
index 8c7501b..17daf4d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
@@ -24,6 +24,14 @@
     height: 575px;
 }
 
+#parameter-context-dialog.edit-mode .read-only {
+    display: none;
+}
+
+#parameter-context-dialog.read-only .edit-mode {
+    display: none;
+}
+
 #parameter-context-dialog div.settings-left {
     float: left;
     width: 65%;
@@ -70,6 +78,11 @@
     height: 85px;
 }
 
+#parameter-context-description-read-only {
+    max-height: 250px;
+    overflow-y: auto;
+}
+
 #parameter-referencing-components-container {
     position: absolute;
     bottom: 10px;
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
index a4561cf..eee4146 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
@@ -190,7 +190,11 @@
      */
     var resetDialog = function () {
         $('#parameter-context-name').val('');
+        $('#parameter-context-name-read-only').text('');
+
         $('#parameter-context-description-field').val('');
+        $('#parameter-context-description-read-only').text('');
+
         $('#parameter-table, #add-parameter').show();
         $('#parameter-context-tabs').show();
         $('#parameter-context-tabs').find('.tab')[0].click();
@@ -1337,8 +1341,9 @@
      *
      * @param {object} parameterContext
      * @param {string} parameterToSelect to select
+     * @param {boolean} if the parameters should be displayed in a read-only state regardless of permissions
      */
-    var loadParameters = function (parameterContext, parameterToSelect) {
+    var loadParameters = function (parameterContext, parameterToSelect, readOnly) {
         if (nfCommon.isDefinedAndNotNull(parameterContext)) {
 
             var parameterGrid = $('#parameter-table').data('gridInstance');
@@ -1362,7 +1367,7 @@
                     description: parameterEntity.parameter.description,
                     previousValue: parameterEntity.parameter.value,
                     previousDescription: parameterEntity.parameter.description,
-                    isEditable: parameterEntity.canWrite,
+                    isEditable: _.defaultTo(readOnly, false) ? false : parameterEntity.canWrite,
                     referencingComponents: parameterEntity.parameter.referencingComponents
                 };
 
@@ -2034,9 +2039,30 @@
             return nfCommon.escapeHtml(dataContext.component.description);
         };
 
+        var parameterContextInfoFormatter = function (row, cell, value, columnDef, dataContext) {
+            var markup = '';
+
+            var canRead = dataContext.permissions.canRead;
+
+            if (canRead) {
+                markup += '<div title="View Details" class="pointer view-parameter-context fa fa-info-circle"></div>';
+            }
+
+            return markup;
+        };
+
         // define the column model for the parameter contexts table
         var parameterContextsColumnModel = [
             {
+                id: 'info',
+                name: '&nbsp;',
+                resizable: false,
+                formatter: parameterContextInfoFormatter,
+                sortable: false,
+                width: 30,
+                maxWidth: 30
+            },
+            {
                 id: 'name',
                 name: 'Name',
                 sortable: true,
@@ -2107,6 +2133,10 @@
                     // close the settings dialog
                     $('#shell-close-button').click();
                 }
+            } else if (parameterContextsGrid.getColumns()[args.cell].id === 'info') {
+                if (target.hasClass('view-parameter-context')) {
+                    nfParameterContexts.showParameterContext(parameterContextEntity.id, true);
+                }
             }
         });
 
@@ -2303,9 +2333,10 @@
         /**
          * Shows the dialog for the specified parameter context.
          *
-         * @argument id      The parameter context id
+         * @param id         The parameter context id
+         * @param readOnly   Optional, boolean to open in read only mode even if the user has permission to write.
          */
-        showParameterContext: function (id) {
+        showParameterContext: function (id, readOnly) {
             parameterCount = 0;
 
             // reload the parameter context in case the parameters have changed
@@ -2317,9 +2348,25 @@
 
             // once everything is loaded, show the dialog
             reloadContext.done(function (parameterContextEntity) {
+                var canWrite = _.get(parameterContextEntity, 'permissions.canWrite', false);
+
+                // if specifically asked to open in read only mode, set canWrite to false to trigger that behavior
+                if (_.defaultTo(readOnly, false)) {
+                    canWrite = false;
+                }
+
                 currentParameterContextEntity = parameterContextEntity;
-                $('#parameter-context-name').val(parameterContextEntity.component.name);
-                $('#parameter-context-description-field').val(parameterContextEntity.component.description);
+                if (canWrite) {
+                    $('#parameter-context-dialog').removeClass('read-only');
+                    $('#parameter-context-dialog').addClass('edit-mode');
+                    $('#parameter-context-name').val(parameterContextEntity.component.name);
+                    $('#parameter-context-description-field').val(parameterContextEntity.component.description);
+                } else {
+                    $('#parameter-context-dialog').removeClass('edit-mode');
+                    $('#parameter-context-dialog').addClass('read-only');
+                    $('#parameter-context-name-read-only').text(parameterContextEntity.component.name);
+                    $('#parameter-context-description-read-only').text(parameterContextEntity.component.description);
+                }
 
                 // show the parameter context id
                 if ($('#parameter-context-id-setting').hasClass('hidden')) {
@@ -2327,10 +2374,9 @@
                 }
                 $('#parameter-context-id-field').text(parameterContextEntity.id);
 
-                loadParameters(parameterContextEntity);
+                loadParameters(parameterContextEntity, null, readOnly);
 
-                // show the context
-                $('#parameter-context-dialog').modal('setHeaderText', 'Update Parameter Context').modal('setButtonModel', [{
+                var editModeButtonModel = [{
                     buttonText: 'Apply',
                     color: {
                         base: '#728E9B',
@@ -2360,7 +2406,30 @@
                             $(this).modal('hide');
                         }
                     }
-                }]).modal('show');
+                }];
+
+                var readOnlyButtonModel = [{
+                    buttonText: 'Ok',
+                    color: {
+                        base: '#728E9B',
+                        hover: '#004849',
+                        text: '#ffffff'
+                    },
+                    disabled: function () {
+                        return false;
+                    },
+                    handler: {
+                        click: function () {
+                            $(this).modal('hide');
+                        }
+                    }
+                }];
+
+                // show the context
+                $('#parameter-context-dialog')
+                    .modal('setHeaderText', canWrite ? 'Update Parameter Context' : 'View Parameter Context')
+                    .modal('setButtonModel', canWrite ? editModeButtonModel : readOnlyButtonModel)
+                    .modal('show');
 
                 // select the parameters tab
                 $('#parameter-context-tabs').find('li:last').click();