http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history-table.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history-table.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history-table.js index 5de2440..38f21e8 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history-table.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history-table.js @@ -15,9 +15,37 @@ * limitations under the License. */ -/* global nf, Slick */ - -nf.HistoryTable = (function () { +/* global nf, top, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', + 'Slick', + 'nf.Common', + 'nf.Dialog', + 'nf.ErrorHandler', + 'nf.HistoryModel'], + function ($, Slick, common, dialog, errorHandler, HistoryModel) { + return (nf.HistoryTable = factory($, Slick, common, dialog, errorHandler, HistoryModel)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.HistoryTable = + factory(require('jquery'), + require('Slick'), + require('nf.Common'), + require('nf.Dialog'), + require('nf.ErrorHandler'), + require('nf.HistoryModel'))); + } else { + nf.HistoryTable = factory(root.$, + root.Slick, + root.nf.Common, + root.nf.Dialog, + root.nf.ErrorHandler, + root.nf.HistoryModel); + } +}(this, function ($, Slick, common, dialog, errorHandler, HistoryModel) { + 'use strict'; /** * Configuration object used to hold a number of configuration items. @@ -151,7 +179,7 @@ nf.HistoryTable = (function () { historyModel.setFilterArgs(filter); // reload the table - nf.HistoryTable.loadHistoryTable(); + nfHistoryTable.loadHistoryTable(); } } }, @@ -212,15 +240,15 @@ nf.HistoryTable = (function () { } var endDateTime = endDate + ' ' + endTime; var timezone = $('.timezone:first').text(); - nf.Dialog.showYesNoDialog({ + dialog.showYesNoDialog({ headerText: 'History', - dialogContent: "Are you sure you want to delete all history before '" + nf.Common.escapeHtml(endDateTime) + " " + nf.Common.escapeHtml(timezone) + "'?", + dialogContent: "Are you sure you want to delete all history before '" + common.escapeHtml(endDateTime) + " " + common.escapeHtml(timezone) + "'?", yesHandler: function () { purgeHistory(endDateTime); } }); } else { - nf.Dialog.showOkDialog({ + dialog.showOkDialog({ headerText: 'History', dialogContent: 'The end date must be specified.' }); @@ -262,7 +290,7 @@ nf.HistoryTable = (function () { historyModel.setFilterArgs({}); // refresh the table - nf.HistoryTable.loadHistoryTable(); + nfHistoryTable.loadHistoryTable(); }); // add hover effect and click handler for opening the dialog @@ -272,7 +300,7 @@ nf.HistoryTable = (function () { // define a custom formatter for the more details column var moreDetailsFormatter = function (row, cell, value, columnDef, dataContext) { - if(dataContext.canRead === true) { + if (dataContext.canRead === true) { return '<div title="View Details" class="pointer show-action-details fa fa-info-circle" style="margin-top: 4px;"></div>'; } return ""; @@ -280,10 +308,10 @@ nf.HistoryTable = (function () { // define how general values are formatted var valueFormatter = function (row, cell, value, columnDef, dataContext) { - if(dataContext.canRead !== true) { + if (dataContext.canRead !== true) { return '<span class="unset" style="font-size: 13px; padding-top: 2px;">Not authorized</span>'; } - return nf.Common.formatValue(dataContext.action[columnDef.field]); + return common.formatValue(dataContext.action[columnDef.field]); }; // initialize the templates table @@ -297,12 +325,48 @@ nf.HistoryTable = (function () { width: 50, maxWidth: 50 }, - {id: 'timestamp', name: 'Date/Time', field: 'timestamp', sortable: true, resizable: true, formatter: valueFormatter}, - {id: 'sourceName', name: 'Name', field: 'sourceName', sortable: true, resizable: true, formatter: valueFormatter}, - {id: 'sourceType', name: 'Type', field: 'sourceType', sortable: true, resizable: true, formatter: valueFormatter}, - {id: 'operation', name: 'Operation', field: 'operation', sortable: true, resizable: true, formatter: valueFormatter}, - {id: 'userIdentity', name: 'User', field: 'userIdentity', sortable: true, resizable: true, formatter: valueFormatter} + { + id: 'timestamp', + name: 'Date/Time', + field: 'timestamp', + sortable: true, + resizable: true, + formatter: valueFormatter + }, + { + id: 'sourceName', + name: 'Name', + field: 'sourceName', + sortable: true, + resizable: true, + formatter: valueFormatter + }, + { + id: 'sourceType', + name: 'Type', + field: 'sourceType', + sortable: true, + resizable: true, + formatter: valueFormatter + }, + { + id: 'operation', + name: 'Operation', + field: 'operation', + sortable: true, + resizable: true, + formatter: valueFormatter + }, + { + id: 'userIdentity', + name: 'User', + field: 'userIdentity', + sortable: true, + resizable: true, + formatter: valueFormatter + } ]; + var historyOptions = { forceFitColumns: true, enableTextSelectionOnCells: true, @@ -313,7 +377,7 @@ nf.HistoryTable = (function () { }; // create the remote model - var historyModel = new nf.HistoryModel(); + var historyModel = new HistoryModel(); // initialize the grid var historyGrid = new Slick.Grid('#history-table', historyModel, historyColumns, historyOptions); @@ -365,7 +429,7 @@ nf.HistoryTable = (function () { $('#history-table').data('gridInstance', historyGrid); // add the purge button if appropriate - if (nf.Common.canModifyController()) { + if (common.canModifyController()) { $('#history-purge-button').on('click', function () { $('#history-purge-dialog').modal('show'); }).show(); @@ -385,8 +449,8 @@ nf.HistoryTable = (function () { }), dataType: 'json' }).done(function () { - nf.HistoryTable.loadHistoryTable(); - }).fail(nf.Common.handleAjaxError); + nfHistoryTable.loadHistoryTable(); + }).fail(errorHandler.handleAjaxError); }; /** @@ -397,19 +461,19 @@ nf.HistoryTable = (function () { var showActionDetails = function (action) { // create the markup for the dialog var detailsMarkup = $('<div></div>').append( - $('<div class="action-detail"><div class="history-details-name">Id</div>' + nf.Common.escapeHtml(action.sourceId) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Id</div>' + common.escapeHtml(action.sourceId) + '</div>')); // get any component details var componentDetails = action.componentDetails; // inspect the operation to determine if there are any component details - if (nf.Common.isDefinedAndNotNull(componentDetails)) { + if (common.isDefinedAndNotNull(componentDetails)) { if (action.sourceType === 'Processor' || action.sourceType === 'ControllerService' || action.sourceType === 'ReportingTask') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">Type</div>' + nf.Common.escapeHtml(componentDetails.type) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Type</div>' + common.escapeHtml(componentDetails.type) + '</div>')); } else if (action.sourceType === 'RemoteProcessGroup') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">Uri</div>' + nf.Common.formatValue(componentDetails.uri) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Uri</div>' + common.formatValue(componentDetails.uri) + '</div>')); } } @@ -417,30 +481,30 @@ nf.HistoryTable = (function () { var actionDetails = action.actionDetails; // inspect the operation to determine if there are any action details - if (nf.Common.isDefinedAndNotNull(actionDetails)) { + if (common.isDefinedAndNotNull(actionDetails)) { if (action.operation === 'Configure') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">Name</div>' + nf.Common.formatValue(actionDetails.name) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Value</div>' + nf.Common.formatValue(actionDetails.value) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Previous Value</div>' + nf.Common.formatValue(actionDetails.previousValue) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Name</div>' + common.formatValue(actionDetails.name) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Value</div>' + common.formatValue(actionDetails.value) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Previous Value</div>' + common.formatValue(actionDetails.previousValue) + '</div>')); } else if (action.operation === 'Connect' || action.operation === 'Disconnect') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">Source Id</div>' + nf.Common.escapeHtml(actionDetails.sourceId) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Source Name</div>' + nf.Common.formatValue(actionDetails.sourceName) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Source Type</div>' + nf.Common.escapeHtml(actionDetails.sourceType) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Relationship(s)</div>' + nf.Common.formatValue(actionDetails.relationship) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Destination Id</div>' + nf.Common.escapeHtml(actionDetails.destinationId) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Destination Name</div>' + nf.Common.formatValue(actionDetails.destinationName) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Destination Type</div>' + nf.Common.escapeHtml(actionDetails.destinationType) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Source Id</div>' + common.escapeHtml(actionDetails.sourceId) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Source Name</div>' + common.formatValue(actionDetails.sourceName) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Source Type</div>' + common.escapeHtml(actionDetails.sourceType) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Relationship(s)</div>' + common.formatValue(actionDetails.relationship) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Destination Id</div>' + common.escapeHtml(actionDetails.destinationId) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Destination Name</div>' + common.formatValue(actionDetails.destinationName) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Destination Type</div>' + common.escapeHtml(actionDetails.destinationType) + '</div>')); } else if (action.operation === 'Move') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">Group</div>' + nf.Common.formatValue(actionDetails.group) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Group Id</div>' + nf.Common.escapeHtml(actionDetails.groupId) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Previous Group</div>' + nf.Common.formatValue(actionDetails.previousGroup) + '</div>')).append( - $('<div class="action-detail"><div class="history-details-name">Previous Group Id</div>' + nf.Common.escapeHtml(actionDetails.previousGroupId) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">Group</div>' + common.formatValue(actionDetails.group) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Group Id</div>' + common.escapeHtml(actionDetails.groupId) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Previous Group</div>' + common.formatValue(actionDetails.previousGroup) + '</div>')).append( + $('<div class="action-detail"><div class="history-details-name">Previous Group Id</div>' + common.escapeHtml(actionDetails.previousGroupId) + '</div>')); } else if (action.operation === 'Purge') { detailsMarkup.append( - $('<div class="action-detail"><div class="history-details-name">End Date</div>' + nf.Common.escapeHtml(actionDetails.endDate) + '</div>')); + $('<div class="action-detail"><div class="history-details-name">End Date</div>' + common.escapeHtml(actionDetails.endDate) + '</div>')); } } @@ -451,7 +515,7 @@ nf.HistoryTable = (function () { $('#action-details-dialog').modal('show'); }; - return { + var nfHistoryTable = { init: function () { initDetailsDialog(); initFilterDialog(); @@ -464,7 +528,7 @@ nf.HistoryTable = (function () { */ resetTableSize: function () { var historyGrid = $('#history-table').data('gridInstance'); - if (nf.Common.isDefinedAndNotNull(historyGrid)) { + if (common.isDefinedAndNotNull(historyGrid)) { historyGrid.resizeCanvas(); } }, @@ -483,4 +547,6 @@ nf.HistoryTable = (function () { historyGrid.onViewportChanged.notify(); } }; -}()); + + return nfHistoryTable; +}));
http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js index 0f436e9..7f73724 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/history/nf-history.js @@ -15,14 +15,42 @@ * limitations under the License. */ -/* global nf, top */ - -$(document).ready(function () { - // initialize the status page - nf.History.init(); -}); - -nf.History = (function () { +/* global nf, top, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', + 'nf.Common', + 'nf.HistoryTable', + 'nf.ErrorHandler', + 'nf.Storage', + 'nf.ClusterSummary'], + function ($, common, historyTable, errorHandler, storage, clusterSummary) { + return (nf.History = factory($, common, historyTable, errorHandler, storage, clusterSummary)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.History = + factory(require('jquery'), + require('nf.Common'), + require('nf.HistoryTable'), + require('nf.ErrorHandler'), + require('nf.Storage'), + require('nf.ClusterSummary'))); + } else { + nf.History = factory(root.$, + root.nf.Common, + root.nf.HistoryTable, + root.nf.ErrorHandler, + root.nf.Storage, + root.nf.ClusterSummary); + } +}(this, function ($, common, historyTable, errorHandler, storage, clusterSummary) { + 'use strict'; + + $(document).ready(function () { + // initialize the status page + nfHistory.init(); + }); /** * Configuration object used to hold a number of configuration items. @@ -31,8 +59,7 @@ nf.History = (function () { urls: { banners: '../nifi-api/flow/banners', about: '../nifi-api/flow/about', - currentUser: '../nifi-api/flow/current-user', - clusterSummary: '../nifi-api/flow/cluster/summary' + currentUser: '../nifi-api/flow/current-user' } }; @@ -45,28 +72,8 @@ nf.History = (function () { url: config.urls.currentUser, dataType: 'json' }).done(function (currentUser) { - nf.Common.setCurrentUser(currentUser); - }).fail(nf.Common.handleAjaxError); - }; - - /** - * Loads the flow configuration and updated the cluster state. - * - * @returns xhr - */ - var loadClusterSummary = function () { - return $.ajax({ - type: 'GET', - url: config.urls.clusterSummary, - dataType: 'json' - }).done(function (response) { - var clusterSummary = response.clusterSummary; - - // if clustered, show message to indicate location of actions - if (clusterSummary.clustered === true) { - $('#cluster-history-message').show(); - } - }); + common.setCurrentUser(currentUser); + }).fail(errorHandler.handleAjaxError); }; /** @@ -75,7 +82,7 @@ nf.History = (function () { var initializeHistoryPage = function () { // define mouse over event for the refresh button $('#refresh-button').click(function () { - nf.HistoryTable.loadHistoryTable(); + historyTable.loadHistoryTable(); }); // return a deferred for page initialization @@ -88,8 +95,8 @@ nf.History = (function () { dataType: 'json' }).done(function (response) { // ensure the banners response is specified - if (nf.Common.isDefinedAndNotNull(response.banners)) { - if (nf.Common.isDefinedAndNotNull(response.banners.headerText) && response.banners.headerText !== '') { + if (common.isDefinedAndNotNull(response.banners)) { + if (common.isDefinedAndNotNull(response.banners.headerText) && response.banners.headerText !== '') { // update the header text var bannerHeader = $('#banner-header').text(response.banners.headerText).show(); @@ -103,7 +110,7 @@ nf.History = (function () { updateTop('history'); } - if (nf.Common.isDefinedAndNotNull(response.banners.footerText) && response.banners.footerText !== '') { + if (common.isDefinedAndNotNull(response.banners.footerText) && response.banners.footerText !== '') { // update the footer text and show it var bannerFooter = $('#banner-footer').text(response.banners.footerText).show(); @@ -119,7 +126,7 @@ nf.History = (function () { deferred.resolve(); }).fail(function (xhr, status, error) { - nf.Common.handleAjaxError(xhr, status, error); + errorHandler.handleAjaxError(xhr, status, error); deferred.reject(); }); } else { @@ -128,22 +135,28 @@ nf.History = (function () { }).promise(); }; - return { + var nfHistory = { /** * Initializes the status page. */ init: function () { - nf.Storage.init(); - // load the current user - loadCurrentUser().done(function () { - loadClusterSummary(); + var currentUser = loadCurrentUser() + + storage.init(); + + // ensure the config requests are loaded + $.when(currentUser).done(function (currentUserResult) { + // if clustered, show message to indicate location of actions + if (clusterSummary.isClustered() === true) { + $('#cluster-history-message').show(); + } // create the history table - nf.HistoryTable.init(); + historyTable.init(); // load the history table - nf.HistoryTable.loadHistoryTable(); + historyTable.loadHistoryTable(); // once the table is initialized, finish initializing the page initializeHistoryPage().done(function () { @@ -154,13 +167,13 @@ nf.History = (function () { 'height': $(window).height() + 'px', 'width': $(window).width() + 'px' }); - + $('#history').css('margin', 40); $('#history-refresh-container').css('margin', 40); } // configure the initial grid height - nf.HistoryTable.resetTableSize(); + historyTable.resetTableSize(); }; // get the about details @@ -178,15 +191,15 @@ nf.History = (function () { // set the initial size setBodySize(); - }).fail(nf.Common.handleAjaxError); + }).fail(errorHandler.handleAjaxError); $(window).on('resize', function (e) { setBodySize(); // resize dialogs when appropriate var dialogs = $('.dialog'); for (var i = 0, len = dialogs.length; i < len; i++) { - if ($(dialogs[i]).is(':visible')){ - setTimeout(function(dialog){ + if ($(dialogs[i]).is(':visible')) { + setTimeout(function (dialog) { dialog.modal('resize'); }, 50, $(dialogs[i])); } @@ -195,8 +208,8 @@ nf.History = (function () { // resize grids when appropriate var gridElements = $('*[class*="slickgrid_"]'); for (var j = 0, len = gridElements.length; j < len; j++) { - if ($(gridElements[j]).is(':visible')){ - setTimeout(function(gridElement){ + if ($(gridElements[j]).is(':visible')) { + setTimeout(function (gridElement) { gridElement.data('gridInstance').resizeCanvas(); }, 50, $(gridElements[j])); } @@ -206,16 +219,18 @@ nf.History = (function () { var tabsContainers = $('.tab-container'); var tabsContents = []; for (var k = 0, len = tabsContainers.length; k < len; k++) { - if ($(tabsContainers[k]).is(':visible')){ + if ($(tabsContainers[k]).is(':visible')) { tabsContents.push($('#' + $(tabsContainers[k]).attr('id') + '-content')); } } $.each(tabsContents, function (index, tabsContent) { - nf.Common.toggleScrollable(tabsContent.get(0)); + common.toggleScrollable(tabsContent.get(0)); }); }); }); }); } }; -}()); \ No newline at end of file + + return nfHistory; +})); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/login/nf-login.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/login/nf-login.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/login/nf-login.js index 11faba5..a18d5d7 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/login/nf-login.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/login/nf-login.js @@ -15,13 +15,32 @@ * limitations under the License. */ -/* global nf, top */ - -$(document).ready(function () { - nf.Login.init(); -}); - -nf.Login = (function () { +/* global nf, top, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', + 'nf.Common', + 'nf.Dialog', + 'nf.Storage'], + function ($, common, dialog, storage) { + return (nf.Login = factory($, common, dialog, storage)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.Login = + factory(require('jquery'), + require('nf.Common'), + require('nf.Dialog'), + require('nf.Storage'))); + } else { + nf.Login = factory(root.$, root.nf.Common, root.nf.Dialog, root.nf.Storage); + } +}(this, function ($, common, dialog, storage) { + 'use strict'; + + $(document).ready(function () { + nfLogin.init(); + }); var config = { urls: { @@ -62,12 +81,12 @@ nf.Login = (function () { var login = function () { // remove focus $('#username, #password').blur(); - + // show the logging message... $('#login-progress-label').text('Logging in...'); $('#login-progress-container').show(); $('#login-submission-container').hide(); - + // login submit $.ajax({ type: 'POST', @@ -78,9 +97,9 @@ nf.Login = (function () { } }).done(function (jwt) { // get the payload and store the token with the appropirate expiration - var token = nf.Common.getJwtPayload(jwt); - var expiration = parseInt(token['exp'], 10) * nf.Common.MILLIS_PER_SECOND; - nf.Storage.setItem('jwt', jwt, expiration); + var token = common.getJwtPayload(jwt); + var expiration = parseInt(token['exp'], 10) * common.MILLIS_PER_SECOND; + storage.setItem('jwt', jwt, expiration); // check to see if they actually have access now $.ajax({ @@ -89,10 +108,10 @@ nf.Login = (function () { dataType: 'json' }).done(function (response) { var accessStatus = response.accessStatus; - + // update the logout link appropriately showLogoutLink(); - + // update according to the access status if (accessStatus.status === 'ACTIVE') { // reload as appropriate - no need to schedule token refresh as the page is reloading @@ -122,9 +141,9 @@ nf.Login = (function () { $('#login-message-container').show(); }); }).fail(function (xhr, status, error) { - nf.Dialog.showOkDialog({ + dialog.showOkDialog({ headerText: 'Login', - dialogContent: nf.Common.escapeHtml(xhr.responseText) + dialogContent: common.escapeHtml(xhr.responseText) }); // update the form visibility @@ -134,20 +153,20 @@ nf.Login = (function () { }; var showLogoutLink = function () { - nf.Common.showLogoutLink(); + common.showLogoutLink(); }; - return { + var nfLogin = { /** * Initializes the login page. */ init: function () { - nf.Storage.init(); + storage.init(); - if (nf.Storage.getItem('jwt') !== null) { + if (storage.getItem('jwt') !== null) { showLogoutLink(); } - + // supporting logging in via enter press $('#username, #password').on('keyup', function (e) { var code = e.keyCode ? e.keyCode : e.which; @@ -166,7 +185,7 @@ nf.Login = (function () { $('#login-message').text(xhr.responseText); initializeMessage(); }); - + // access config var accessConfigXhr = $.ajax({ type: 'GET', @@ -180,22 +199,22 @@ nf.Login = (function () { var accessConfigResponse = accessConfigResult[0]; var accessConfig = accessConfigResponse.config; - + // possible login states var needsLogin = true; var showMessage = false; - + // handle the status appropriately if (accessStatus.status === 'UNKNOWN') { needsLogin = true; } else if (accessStatus.status === 'ACTIVE') { showMessage = true; needsLogin = false; - + $('#login-message-title').text('Success'); $('#login-message').text(accessStatus.message); } - + // if login is required, verify its supported if (accessConfig.supportsLogin === false && needsLogin === true) { $('#login-message-title').text('Access Denied'); @@ -214,4 +233,6 @@ nf.Login = (function () { }); } }; -}()); \ No newline at end of file + + return nfLogin; +})); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-ajax-setup.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-ajax-setup.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-ajax-setup.js index ad540b8..eaf61cf 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-ajax-setup.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-ajax-setup.js @@ -15,25 +15,43 @@ * limitations under the License. */ -/** - * Performs ajax setup for use within NiFi. - */ -$(document).ready(function ($) { - // include jwt when possible - $.ajaxSetup({ - 'beforeSend': function(xhr) { - var hadToken = nf.Storage.hasItem('jwt'); +/* global nf, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', + 'nf.Storage'], + function ($, storage) { + return (nf.AjaxSetup = factory($, storage)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.AjaxSetup = factory(require('jquery'), + require('nf.Storage'))); + } else { + nf.AjaxSetup = factory(root.$, + root.nf.Storage); + } +}(this, function ($, storage) { + /** + * Performs ajax setup for use within NiFi. + */ + $(document).ready(function ($) { + // include jwt when possible + $.ajaxSetup({ + 'beforeSend': function (xhr) { + var hadToken = storage.hasItem('jwt'); - // get the token to include in all requests - var token = nf.Storage.getItem('jwt'); - if (token !== null) { - xhr.setRequestHeader('Authorization', 'Bearer ' + token); - } else { - // if the current user was logged in with a token and the token just expired, cancel the request - if (hadToken === true) { - return false; + // get the token to include in all requests + var token = storage.getItem('jwt'); + if (token !== null) { + xhr.setRequestHeader('Authorization', 'Bearer ' + token); + } else { + // if the current user was logged in with a token and the token just expired, cancel the request + if (hadToken === true) { + return false; + } } } - } + }); }); -}); \ No newline at end of file +})); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-client.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-client.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-client.js index 3cf9fdf..aedd555 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-client.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-client.js @@ -15,15 +15,33 @@ * limitations under the License. */ -/* global nf */ +/* global nf, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', + 'nf.Common'], + function ($, common) { + return (nf.Client = factory($, common)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.Client = + factory(require('jquery'), + require('nf.Common'))); + } else { + nf.Client = + factory(root.$, + root.nf.Common); + } +}(this, function ($, common) { + 'use strict'; -nf.Client = (function() { var clientId = null; - + return { /** * Initializes the client. - * + * * @returns deferred */ init: function () { @@ -55,7 +73,7 @@ nf.Client = (function() { * @return {boolean} whether proposedData is newer than currentData */ isNewerRevision: function (currentData, proposedData) { - if (nf.Common.isDefinedAndNotNull(currentData)) { + if (common.isDefinedAndNotNull(currentData)) { var currentRevision = currentData.revision; var proposedRevision = proposedData.revision; @@ -66,4 +84,4 @@ nf.Client = (function() { } } }; -}()); \ No newline at end of file +})); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi/blob/dc934cbb/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-cluster-summary.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-cluster-summary.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-cluster-summary.js new file mode 100644 index 0000000..1352843 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-cluster-summary.js @@ -0,0 +1,81 @@ +/* + * 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. + */ + +/* global nf, define, module, require, exports */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery'], function ($) { + return (nf.ClusterSummary = factory($)); + }); + } else if (typeof exports === 'object' && typeof module === 'object') { + module.exports = (nf.ClusterSummary = + factory(require('jquery'))); + } else { + nf.ClusterSummary = factory(root.$); + } +}(this, function ($) { + var clustered = false; + var connectedToCluster = false; + + var config = { + urls: { + clusterSummary: '../nifi-api/flow/cluster/summary' + } + }; + + return { + + /** + * Loads the flow configuration and updated the cluster state. + * + * @returns xhr + */ + loadClusterSummary: function () { + return $.ajax({ + type: 'GET', + url: config.urls.clusterSummary, + dataType: 'json' + }).done(function (clusterSummaryResult) { + var clusterSummaryResponse = clusterSummaryResult; + var clusterSummary = clusterSummaryResponse.clusterSummary; + + // establish the initial cluster state + clustered = clusterSummary.clustered; + connectedToCluster = clusterSummary.connectedToCluster; + }); + }, + + /** + * Return whether this instance of NiFi is clustered. + * + * @returns {Boolean} + */ + isClustered: function () { + return clustered === true; + }, + + /** + * Return whether this instance is connected to a cluster. + * + * @returns {boolean} + */ + isConnectedToCluster: function () { + return connectedToCluster === true; + } + }; +})); \ No newline at end of file
