You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mg...@apache.org on 2017/01/16 10:27:14 UTC
ambari git commit: AMBARI-19521 Log Search Add 'last 24 hours' to the
time picker buttons (mgergely)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 f5dca1afc -> 930d5bf31
AMBARI-19521 Log Search Add 'last 24 hours' to the time picker buttons (mgergely)
Change-Id: I5fb34a45f0fd73f4b60c614776ffa146417db594
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/930d5bf3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/930d5bf3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/930d5bf3
Branch: refs/heads/branch-2.5
Commit: 930d5bf312fe42e4088398e4f5ae5d614216ed36
Parents: f5dca1a
Author: Miklos Gergely <mg...@hortonworks.com>
Authored: Mon Jan 16 11:27:00 2017 +0100
Committer: Miklos Gergely <mg...@hortonworks.com>
Committed: Mon Jan 16 11:27:00 2017 +0100
----------------------------------------------------------------------
.../src/main/webapp/scripts/utils/Utils.js | 2256 +++++++++---------
1 file changed, 1130 insertions(+), 1126 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/930d5bf3/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
index 924f92f..85c8245 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
@@ -17,858 +17,862 @@
*/
define(['require',
- 'utils/Enums',
- 'utils/LangSupport',
- 'moment',
- 'utils/Globals',
- 'bootbox'
+ 'utils/Enums',
+ 'utils/LangSupport',
+ 'moment',
+ 'utils/Globals',
+ 'bootbox'
],function(require,XAEnums,localization,moment,Globals,bootbox) {
- 'use strict';
+ 'use strict';
- var prevNetworkErrorTime = 0;
- var Utils = {};
+ var prevNetworkErrorTime = 0;
+ var Utils = {};
- require(['noty'],function(){
- $.extend($.noty.defaults,{
- timeout : 5000,
- layout : "topRight",
- theme : "relax",
- closeWith: ['click','button'],
- animation : {
+ require(['noty'],function(){
+ $.extend($.noty.defaults,{
+ timeout : 5000,
+ layout : "topRight",
+ theme : "relax",
+ closeWith: ['click','button'],
+ animation : {
open : 'animated flipInX',
close : 'animated flipOutX',
easing: 'swing',
speed : 500
}
-
- });
- });
-
- // ///////////////////////////////////////////////////////
- // Enum utility methods
- // //////////////////////////////////////////////////////
- /**Utils
- * Get enum for the enumId
- *
- * @param {integer}
- * enumId - The enumId
- */
- Utils.getEnum = function(enumId) {
- if (!enumId || enumId.length < 1) {
- return "";
- }
- // check if the enums are loaded
- if (!XAEnums[enumId]) {
- return "";
- }
- return XAEnums[enumId];
- };
-
- /**
- * Get enum by Enum and value
- *
- * @param {Object}
- * myEnum - The enum
- * @param {integer}
- * value - The value
- */
- Utils.enumElementByValue = function(myEnum, value) {
- var element = _.detect(myEnum, function(element) {
- return element.value == value;
- });
- return element;
- };
-
- /**
- * Get enum by Enum and name, value
- *
- * @param {Object}
- * myEnum - The enum
- * @param {string}
- * propertyName - The name of key
- * @param {integer}
- * propertyValue - The value
- */
- Utils.enumElementByPropertyNameValue = function(myEnum, propertyName,
- propertyValue) {
- for ( var element in myEnum) {
- if (myEnum[element][propertyName] == propertyValue) {
- return myEnum[element];
- }
- }
- return null;
- };
-
- /**
- * Get enum value for given enum label
- *
- * @param {Object}
- * myEnum - The enum
- * @param {string}
- * label - The label to search for in the Enum
- */
- Utils.enumLabelToValue = function(myEnum, label) {
- var element = _.detect(myEnum, function(element) {
- return element.label == label;
- });
- return (typeof element === "undefined") ? "--" : element.value;
- };
-
- /**
- * Get enum label for given enum value
- *
- * @param {Object}
- * myEnum - The enum
- * @param {integer}
- * value - The value
- */
- Utils.enumValueToLabel = function(myEnum, value) {
- var element = _.detect(myEnum, function(element) {
- return element.value == value;
- });
- return (typeof element === "undefined") ? "--" : element.label;
- };
-
- /**
- * Get enum label tt string for given Enum value
- *
- * @param {Object}
- * myEnum - The enum
- * @param {integer}
- * value - The value
- */
- Utils.enumValueToLabeltt = function(myEnum, value) {
- var element = _.detect(myEnum, function(element) {
- return element.value == value;
- });
- return (typeof element === "undefined") ? "--" : element.tt;
- };
-
- /**
- * Get NVpairs for given Enum to be used in Select
- *
- * @param {Object}
- * myEnum - The enum
- */
- Utils.enumToSelectPairs = function(myEnum) {
- return _.map(myEnum, function(o) {
- return {
- val : o.value,
- label : o.label
- };
- });
- };
-
- /**
- * Get NVpairs for given Enum
- *
- * @param {Object}
- * myEnum - The enum
- */
- Utils.enumNVPairs = function(myEnum) {
- var nvPairs = {
- ' ' : '--Select--'
- };
-
- for ( var name in myEnum) {
- nvPairs[myEnum[name].value] = myEnum[name].label;
- }
-
- return nvPairs;
- };
-
- /**
- * Get array NV pairs for given Array
- *
- * @param {Array}
- * myArray - The eArraynum
- */
- Utils.arrayNVPairs = function(myArray) {
- var nvPairs = {
- ' ' : '--Select--'
- };
- _.each(myArray, function(val) {
- nvPairs[val] = val;
- });
- return nvPairs;
- };
-
- Utils.notifyInfo = function(options) {
- noty({
- type:"information",
- text : "<i class='fa fa-exclamation-circle'></i> "+(options.content || "Info message.")
- });
- };
- Utils.notifyWarn = function(options) {
- noty({
- type:"warning",
- text : "<i class='fa fa-times-circle'></i> "+(options.content || "Info message.")
- });
- };
-
- Utils.notifyError = function(options) {
- noty({
- type:"error",
- text : "<i class='fa fa-times-circle'></i> "+(options.content || "Error occurred.")
- });
- };
-
- Utils.notifySuccess = function(options) {
- noty({
- type:"success",
- text : "<i class='fa fa-check-circle-o'></i> "+(options.content || "Error occurred.")
- });
- };
-
- /**
- * Convert new line to <br />
- *
- * @param {string}
- * str - the string to convert
- */
- Utils.nl2br = function(str) {
- if (!str)
- return '';
- return str.replace(/\n/g, '<br/>').replace(/[\r\t]/g, " ");
- };
-
- /**
- * Convert <br />
- * to new line
- *
- * @param {string}
- * str - the string to convert
- */
- Utils.br2nl = function(str) {
- if (!str)
- return '';
- return str.replace(/\<br(\s*\/|)\>/gi, '\n');
- };
-
- /**
- * Escape html chars
- *
- * @param {string}
- * str - the html string to escape
- */
- Utils.escapeHtmlChar = function(str) {
- if (!str)
- return '';
- str = str.replace(/&/g, "&");
- str = str.replace(/>/g, ">");
- str = str.replace(/</g, "<");
- str = str.replace(/\"/g, """);
- str = str.replace(/'/g, "'");
- return str;
- };
-
- /**
- * nl2br and Escape html chars
- *
- * @param {string}
- * str - the html string
- */
- Utils.nl2brAndEscapeHtmlChar = function(str) {
-
- if (!str)
- return '';
- var escapedStr = escapeHtmlChar(str);
- var finalStr = nl2br(str);
- return finalStr;
- };
-
- /**
- * prevent navigation with msg and call callback
- *
- * @param {String}
- * msg - The msg to show
- * @param {function}
- * callback - The callback to call
- */
- Utils.preventNavigation = function(msg, $form) {
- window._preventNavigation = true;
- window._preventNavigationMsg = msg;
- $("body a, i[class^='icon-']").on("click.blockNavigation", function(e) {
- Utils.preventNavigationHandler.call(this, e, msg, $form);
- });
- };
-
- /**
- * remove the block of preventNavigation
- */
- Utils.allowNavigation = function() {
- window._preventNavigation = false;
- window._preventNavigationMsg = undefined;
- $("body a, i[class^='icon-']").off('click.blockNavigation');
- };
-
- Utils.preventNavigationHandler = function(e, msg, $form) {
- var formChanged = false;
- var target = this;
- if (!_.isUndefined($form))
- formChanged = $form.find('.dirtyField').length > 0 ? true : false;
- if (!$(e.currentTarget).hasClass("_allowNav") && formChanged) {
-
- e.preventDefault();
- e.stopImmediatePropagation();
- bootbox.dialog(msg, [ {
- "label" : localization.tt('btn.stayOnPage'),
- "class" : "btn-success btn-small",
- "callback" : function() {
- }
- }, {
- "label" : localization.tt('btn.leavePage'),
- "class" : "btn-danger btn-small",
- "callback" : function() {
- Utils.allowNavigation();
- target.click();
- }
- } ]);
- return false;
- }
- };
-
- /**
- * Bootbox wrapper for alert
- *
- * @param {Object}
- * params - The params
- */
- Utils.alertPopup = function(params) {
- var obj = _.extend({
- message : params.msg
- },params);
- bootbox.alert(obj);
- };
-
- /**
- * Bootbox wrapper for confirm
- *
- * @param {Object}
- * params - The params
- */
- Utils.confirmPopup = function(params) {
- bootbox.confirm(params.msg, function(result) {
- if (result) {
- params.callback();
- }
- });
- };
-
- Utils.bootboxCustomDialogs = function(params) {
- bootbox.dialog({
- title: params.title,
- message: params.msg,
- buttons: {
- cancel: {
- label: "Cancel",
- className: "btn-secondary"
- },
- Ok: {
- className: "btn-primary",
- callback: params.callback
- }
- }
- });
- };
-
- Utils.filterResultByIds = function(results, selectedVals) {
- return _.filter(results, function(obj) {
- if ($.inArray(obj.id, selectedVals) < 0)
- return obj;
-
- });
- };
- Utils.filterResultByText = function(results, selectedVals) {
- return _.filter(results, function(obj) {
- if ($.inArray(obj.text, selectedVals) < 0)
- return obj;
-
- });
- };
- Utils.scrollToField = function(field) {
- $("html, body").animate({
- scrollTop : field.position().top - 80
- }, 1100, function() {
- field.focus();
- });
- };
- Utils.blockUI = function(options) {
- var Opt = {
- autoUnblock : false,
- clickUnblock : false,
- bgPath : 'images/',
- content : '<img src="images/blockLoading.gif" > Please wait..',
- css : {}
- };
- options = _.isUndefined(options) ? Opt : options;
- $.msg(options);
- };
- var errorShown = false;
- Utils.defaultErrorHandler = function(model, error) {
- if (error.status == 500) {
- try {
- if (!errorShown) {
- errorShown = true;
- Utils.notifyError({
- content: "Some issue on server, Please try again later."
- });
- setTimeout(function() {
- errorShown = false;
- }, 3000);
- }
- } catch (e) {}
- }
- else if (error.status == 400) {
- try {
- if (!errorShown) {
- errorShown = true;
- Utils.notifyError({
- content: JSON.parse(error.responseText).msgDesc
- });
- setTimeout(function() {
- errorShown = false;
- }, 3000);
- }
- } catch (e) {}
- } else if (error.status == 401) {
- window.location = 'login.html' + window.location.search;
- // App.rContent.show(new vError({
- // status : error.status
- // }));
-
- } else if (error.status == 419) {
- window.location = 'login.html' + window.location.search;
-
- } else if (error.status == "0") {
- var diffTime = (new Date().getTime() - prevNetworkErrorTime);
- if (diffTime > 3000) {
- prevNetworkErrorTime = new Date().getTime();
- if(error.statusText === "abort"){
- Utils.notifyInfo({ content: "You have canceled the request"});
- }else{
- Utils.notifyError({
- content: "Network Connection Failure : " +
- "It seems you are not connected to the internet. Please check your internet connection and try again"
- });
- }
- }
- }
- // require(['views/common/ErrorView','App'],function(vError,App){
-
- // });
- };
- Utils.select2Focus = function(event) {
- if (/^select2-focus/.test(event.type)) {
- $(this).select2('open');
- }
- };
-
- Utils.checkDirtyField = function(arg1, arg2, $elem) {
- if (_.isEqual(arg1, arg2)) {
- $elem.removeClass('dirtyField');
- } else {
- $elem.addClass('dirtyField');
- }
- };
- Utils.checkDirtyFieldForToggle = function($el) {
- if ($el.hasClass('dirtyField')) {
- $el.removeClass('dirtyField');
- } else {
- $el.addClass('dirtyField');
- }
- };
- Utils.checkDirtyFieldForSelect2 = function($el, dirtyFieldValue, that) {
- if ($el.hasClass('dirtyField')
- && _.isEqual($el.val(), dirtyFieldValue.toString())) {
- $el.removeClass('dirtyField');
- } else if (!$el.hasClass('dirtyField')) {
- $el.addClass('dirtyField');
- dirtyFieldValue = !_.isUndefined(that.value.values) ? that.value.values
- : '';
- }
- return dirtyFieldValue;
- };
- Utils.enumToSelectLabelValuePairs = function(myEnum) {
- return _.map(myEnum, function(o) {
- return {
- label : o.label,
- value : o.value + ''
- // category :'DHSS',
- };
- });
- };
- Utils.hackForVSLabelValuePairs = function(myEnum) {
- return _.map(myEnum, function(o) {
- return {
- label : o.label,
- value : o.label + ''
- // category :'DHSS',
- };
- });
- };
- Utils.addVisualSearch = function(searchOpt, serverAttrName, collection,
- pluginAttr) {
- var visualSearch;
- var search = function(searchCollection, serverAttrName, searchOpt,
- collection) {
- var params = {};
- searchCollection.each(function(m) {
- var serverParamName = _.findWhere(serverAttrName, {
- text : m.attributes.category
- });
- var extraParam = {};
- if (_.has(serverParamName, 'multiple')
- && serverParamName.multiple) {
- extraParam[serverParamName.label] = Utils
- .enumLabelToValue(serverParamName.optionsArr, m
- .get('value'));
- ;
- $.extend(params, extraParam);
- } else {
- if (!_.isUndefined(serverParamName)) {
- extraParam[serverParamName.label] = m.get('value');
- $.extend(params, extraParam);
- }
- }
- });
- collection.queryParams = $.extend(collection.queryParams, params);
- collection.state.currentPage = collection.state.firstPage;
- collection.fetch({
- reset : true,
- cache : false
- // data : params,
- });
- };
- // var searchOpt = ['Event Time','User','Resource Name','Resource
- // ID','Resource Type','Repository Name','Repository
- // Type','Result','Client IP','Client Type','Access Type','Access
- // Enforcer','Audit Type','Session ID'];
-
- var callbackCommon = {
- search : function(query, searchCollection) {
- collection.VSQuery = query;
- search(searchCollection, serverAttrName, searchOpt, collection);
- },
- clearSearch : function(callback) {
- _.each(serverAttrName, function(attr) {
- delete collection.queryParams[attr.label];
- });
- callback();
- },
- facetMatches : function(callback) {
- // console.log(visualSearch);
- var searchOptTemp = $.extend(true, [], searchOpt);
- visualSearch.searchQuery.each(function(m) {
- if ($.inArray(m.get('category'), searchOptTemp) >= 0) {
- searchOptTemp.splice($.inArray(m.get('category'),
- searchOptTemp), 1);
- }
- });
- // visualSearch.options.readOnly = searchOptTemp.length <= 0 ?
- // true : false;
- callback(searchOptTemp, {
- preserveOrder : false
- });
- },
- removedFacet : function(removedFacet, searchCollection, indexObj) {
- // console.log(removedFacet);
-
- var removedFacetSeverName = _.findWhere(serverAttrName, {
- text : removedFacet.get('category')
- });
- if (!_.isUndefined(removedFacetSeverName)) {
- delete collection.queryParams[removedFacetSeverName.label];
- collection.state.currentPage = collection.state.firstPage;
- collection.fetch({
- reset : true,
- cache : false
- });
- }
- // TODO Added for Demo to remove datapicker popups
- if (!_.isUndefined(visualSearch.searchBox.$el))
- visualSearch.searchBox.$el.parents('body').find(
- '.datepicker').remove();
- }
- // we can also add focus, blur events callback here..
- };
- pluginAttr.callbacks = $.extend(callbackCommon, pluginAttr.callbacks);
- // Initializing VisualSearch Plugin....
- visualSearch = VS.init($.extend(pluginAttr, {
- remainder : false
- }));
-
- if (visualSearch.searchQuery.length > 0) // For On Load Visual Search
- search(visualSearch.searchQuery, serverAttrName, searchOpt,
- collection);
-
- return visualSearch;
- };
-
- Utils.displayDatepicker = function($el, facet, $date, callback) {
- var input = $el
- .find('.search_facet.is_editing input.search_facet_input');
- $el.parents('body').find('.datepicker').hide();
- input.datepicker({
- autoclose : true,
- dateFormat : 'yy-mm-dd'
- }).on('changeDate', function(ev) {
- callback(ev.date);
- input.datepicker("hide");
- var e = jQuery.Event("keydown");
- e.which = 13; // Enter
- $(this).trigger(e);
- });
- if (!_.isUndefined($date)) {
- if (facet == 'Start Date') {
- input.datepicker('setEndDate', $date);
- } else {
- input.datepicker('setStartDate', $date);
- }
- }
- input.datepicker('show');
- input.on('blur', function(e) {
- input.datepicker("hide");
- // $('.datepicker').remove();
-
- });
- // input.attr("readonly", "readonly");
- input.on('keydown', function(e) {
- if (e.which == 9 && e.shiftKey) {
- input.datepicker('setValue', new Date());
- input.trigger('change');
- input.datepicker("hide");
- }
- if (e.which == 13) {
- var e1 = jQuery.Event("keypress");
- e1.which = 13; // Enter
- $(this).trigger(e1);
-
- }
- });
- return input;
- };
-
- Utils.capitaliseFirstLetter = function(string) {
- return string.charAt(0).toUpperCase() + string.slice(1);
- };
- Utils.lowerCaseFirstLetter = function(string) {
- return string.charAt(0).toLowerCase() + string.slice(1);
- };
- Utils.toUpperCase = function(string) {
- return (""+string).toUpperCase();
- };
-
- Utils.bindDraggableEvent = function($el){
- //
- // Function maked all .box selector is draggable, to disable for concrete element add class .no-drop
- //
- $el
- .draggable({
- revert: true,
- zIndex: 2000,
- cursor: "crosshair",
- handle: '.box-name',
- opacity: 0.8
- })
- .droppable({
- tolerance: 'pointer',
- drop: function( event, ui ) {
- var draggable = ui.draggable;
- var droppable = $(this);
- var dragPos = draggable.position();
- var dropPos = droppable.position();
- draggable.swap(droppable);
- setTimeout(function() {
- var dropmap = droppable.find('[id^=map-]');
- var dragmap = draggable.find('[id^=map-]');
- if (dragmap.length > 0 || dropmap.length > 0){
- dragmap.resize();
- dropmap.resize();
- }
- else {
- draggable.resize();
- droppable.resize();
- }
- }, 50);
- setTimeout(function() {
- draggable.find('[id^=map-]').resize();
- droppable.find('[id^=map-]').resize();
- }, 250);
- }
- });
- };
-
- Utils.scrollToSearchString = function(results, type, counter, adjPx,$el){
- if(results.length > 0){
- if(type === 'next'){
- if(counter > 0 && results.length == counter){
- counter = 0;
- }
- } else if (type === 'prev') {
- if(counter < 0){
- counter = results.length - 1;
- } else if(counter === results.length){
- counter = counter - 2;
- }
- }
- results.removeClass("active");
- $(results[counter]).addClass("active");
- if(_.isUndefined($el)){
- $('html,body').animate({
- scrollTop: $(results[counter]).offset().top - adjPx
- }, 100);
- }else{
- $el.animate({
- scrollTop: $(results[counter]).offset().top - adjPx
- }, 100);
- }
-
- counter = (type === 'prev') ? counter - 1 : counter + 1;
- }
- return counter;
- };
- //date should be javascript date
- Utils.convertDateToUTC = function (date) {
- return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
+
+ });
+ });
+
+ // ///////////////////////////////////////////////////////
+ // Enum utility methods
+ // //////////////////////////////////////////////////////
+ /**Utils
+ * Get enum for the enumId
+ *
+ * @param {integer}
+ * enumId - The enumId
+ */
+ Utils.getEnum = function(enumId) {
+ if (!enumId || enumId.length < 1) {
+ return "";
+ }
+ // check if the enums are loaded
+ if (!XAEnums[enumId]) {
+ return "";
+ }
+ return XAEnums[enumId];
+ };
+
+ /**
+ * Get enum by Enum and value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
+ */
+ Utils.enumElementByValue = function(myEnum, value) {
+ var element = _.detect(myEnum, function(element) {
+ return element.value == value;
+ });
+ return element;
+ };
+
+ /**
+ * Get enum by Enum and name, value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {string}
+ * propertyName - The name of key
+ * @param {integer}
+ * propertyValue - The value
+ */
+ Utils.enumElementByPropertyNameValue = function(myEnum, propertyName,
+ propertyValue) {
+ for ( var element in myEnum) {
+ if (myEnum[element][propertyName] == propertyValue) {
+ return myEnum[element];
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Get enum value for given enum label
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {string}
+ * label - The label to search for in the Enum
+ */
+ Utils.enumLabelToValue = function(myEnum, label) {
+ var element = _.detect(myEnum, function(element) {
+ return element.label == label;
+ });
+ return (typeof element === "undefined") ? "--" : element.value;
+ };
+
+ /**
+ * Get enum label for given enum value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
+ */
+ Utils.enumValueToLabel = function(myEnum, value) {
+ var element = _.detect(myEnum, function(element) {
+ return element.value == value;
+ });
+ return (typeof element === "undefined") ? "--" : element.label;
+ };
+
+ /**
+ * Get enum label tt string for given Enum value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
+ */
+ Utils.enumValueToLabeltt = function(myEnum, value) {
+ var element = _.detect(myEnum, function(element) {
+ return element.value == value;
+ });
+ return (typeof element === "undefined") ? "--" : element.tt;
+ };
+
+ /**
+ * Get NVpairs for given Enum to be used in Select
+ *
+ * @param {Object}
+ * myEnum - The enum
+ */
+ Utils.enumToSelectPairs = function(myEnum) {
+ return _.map(myEnum, function(o) {
+ return {
+ val : o.value,
+ label : o.label
+ };
+ });
+ };
+
+ /**
+ * Get NVpairs for given Enum
+ *
+ * @param {Object}
+ * myEnum - The enum
+ */
+ Utils.enumNVPairs = function(myEnum) {
+ var nvPairs = {
+ ' ' : '--Select--'
+ };
+
+ for ( var name in myEnum) {
+ nvPairs[myEnum[name].value] = myEnum[name].label;
+ }
+
+ return nvPairs;
+ };
+
+ /**
+ * Get array NV pairs for given Array
+ *
+ * @param {Array}
+ * myArray - The eArraynum
+ */
+ Utils.arrayNVPairs = function(myArray) {
+ var nvPairs = {
+ ' ' : '--Select--'
+ };
+ _.each(myArray, function(val) {
+ nvPairs[val] = val;
+ });
+ return nvPairs;
+ };
+
+ Utils.notifyInfo = function(options) {
+ noty({
+ type:"information",
+ text : "<i class='fa fa-exclamation-circle'></i> "+(options.content || "Info message.")
+ });
+ };
+ Utils.notifyWarn = function(options) {
+ noty({
+ type:"warning",
+ text : "<i class='fa fa-times-circle'></i> "+(options.content || "Info message.")
+ });
+ };
+
+ Utils.notifyError = function(options) {
+ noty({
+ type:"error",
+ text : "<i class='fa fa-times-circle'></i> "+(options.content || "Error occurred.")
+ });
+ };
+
+ Utils.notifySuccess = function(options) {
+ noty({
+ type:"success",
+ text : "<i class='fa fa-check-circle-o'></i> "+(options.content || "Error occurred.")
+ });
+ };
+
+ /**
+ * Convert new line to <br />
+ *
+ * @param {string}
+ * str - the string to convert
+ */
+ Utils.nl2br = function(str) {
+ if (!str)
+ return '';
+ return str.replace(/\n/g, '<br/>').replace(/[\r\t]/g, " ");
+ };
+
+ /**
+ * Convert <br />
+ * to new line
+ *
+ * @param {string}
+ * str - the string to convert
+ */
+ Utils.br2nl = function(str) {
+ if (!str)
+ return '';
+ return str.replace(/\<br(\s*\/|)\>/gi, '\n');
+ };
+
+ /**
+ * Escape html chars
+ *
+ * @param {string}
+ * str - the html string to escape
+ */
+ Utils.escapeHtmlChar = function(str) {
+ if (!str)
+ return '';
+ str = str.replace(/&/g, "&");
+ str = str.replace(/>/g, ">");
+ str = str.replace(/</g, "<");
+ str = str.replace(/\"/g, """);
+ str = str.replace(/'/g, "'");
+ return str;
+ };
+
+ /**
+ * nl2br and Escape html chars
+ *
+ * @param {string}
+ * str - the html string
+ */
+ Utils.nl2brAndEscapeHtmlChar = function(str) {
+
+ if (!str)
+ return '';
+ var escapedStr = escapeHtmlChar(str);
+ var finalStr = nl2br(str);
+ return finalStr;
+ };
+
+ /**
+ * prevent navigation with msg and call callback
+ *
+ * @param {String}
+ * msg - The msg to show
+ * @param {function}
+ * callback - The callback to call
+ */
+ Utils.preventNavigation = function(msg, $form) {
+ window._preventNavigation = true;
+ window._preventNavigationMsg = msg;
+ $("body a, i[class^='icon-']").on("click.blockNavigation", function(e) {
+ Utils.preventNavigationHandler.call(this, e, msg, $form);
+ });
+ };
+
+ /**
+ * remove the block of preventNavigation
+ */
+ Utils.allowNavigation = function() {
+ window._preventNavigation = false;
+ window._preventNavigationMsg = undefined;
+ $("body a, i[class^='icon-']").off('click.blockNavigation');
+ };
+
+ Utils.preventNavigationHandler = function(e, msg, $form) {
+ var formChanged = false;
+ var target = this;
+ if (!_.isUndefined($form))
+ formChanged = $form.find('.dirtyField').length > 0 ? true : false;
+ if (!$(e.currentTarget).hasClass("_allowNav") && formChanged) {
+
+ e.preventDefault();
+ e.stopImmediatePropagation();
+ bootbox.dialog(msg, [ {
+ "label" : localization.tt('btn.stayOnPage'),
+ "class" : "btn-success btn-small",
+ "callback" : function() {
+ }
+ }, {
+ "label" : localization.tt('btn.leavePage'),
+ "class" : "btn-danger btn-small",
+ "callback" : function() {
+ Utils.allowNavigation();
+ target.click();
+ }
+ } ]);
+ return false;
+ }
+ };
+
+ /**
+ * Bootbox wrapper for alert
+ *
+ * @param {Object}
+ * params - The params
+ */
+ Utils.alertPopup = function(params) {
+ var obj = _.extend({
+ message : params.msg
+ },params);
+ bootbox.alert(obj);
+ };
+
+ /**
+ * Bootbox wrapper for confirm
+ *
+ * @param {Object}
+ * params - The params
+ */
+ Utils.confirmPopup = function(params) {
+ bootbox.confirm(params.msg, function(result) {
+ if (result) {
+ params.callback();
+ }
+ });
+ };
+
+ Utils.bootboxCustomDialogs = function(params) {
+ bootbox.dialog({
+ title: params.title,
+ message: params.msg,
+ buttons: {
+ cancel: {
+ label: "Cancel",
+ className: "btn-secondary"
+ },
+ Ok: {
+ className: "btn-primary",
+ callback: params.callback
+ }
+ }
+ });
+ };
+
+ Utils.filterResultByIds = function(results, selectedVals) {
+ return _.filter(results, function(obj) {
+ if ($.inArray(obj.id, selectedVals) < 0)
+ return obj;
+
+ });
+ };
+ Utils.filterResultByText = function(results, selectedVals) {
+ return _.filter(results, function(obj) {
+ if ($.inArray(obj.text, selectedVals) < 0)
+ return obj;
+
+ });
+ };
+ Utils.scrollToField = function(field) {
+ $("html, body").animate({
+ scrollTop : field.position().top - 80
+ }, 1100, function() {
+ field.focus();
+ });
+ };
+ Utils.blockUI = function(options) {
+ var Opt = {
+ autoUnblock : false,
+ clickUnblock : false,
+ bgPath : 'images/',
+ content : '<img src="images/blockLoading.gif" > Please wait..',
+ css : {}
+ };
+ options = _.isUndefined(options) ? Opt : options;
+ $.msg(options);
+ };
+ var errorShown = false;
+ Utils.defaultErrorHandler = function(model, error) {
+ if (error.status == 500) {
+ try {
+ if (!errorShown) {
+ errorShown = true;
+ Utils.notifyError({
+ content: "Some issue on server, Please try again later."
+ });
+ setTimeout(function() {
+ errorShown = false;
+ }, 3000);
+ }
+ } catch (e) {}
+ }
+ else if (error.status == 400) {
+ try {
+ if (!errorShown) {
+ errorShown = true;
+ Utils.notifyError({
+ content: JSON.parse(error.responseText).msgDesc
+ });
+ setTimeout(function() {
+ errorShown = false;
+ }, 3000);
+ }
+ } catch (e) {}
+ } else if (error.status == 401) {
+ window.location = 'login.html' + window.location.search;
+ // App.rContent.show(new vError({
+ // status : error.status
+ // }));
+
+ } else if (error.status == 419) {
+ window.location = 'login.html' + window.location.search;
+
+ } else if (error.status == "0") {
+ var diffTime = (new Date().getTime() - prevNetworkErrorTime);
+ if (diffTime > 3000) {
+ prevNetworkErrorTime = new Date().getTime();
+ if(error.statusText === "abort"){
+ Utils.notifyInfo({ content: "You have canceled the request"});
+ }else{
+ Utils.notifyError({
+ content: "Network Connection Failure : " +
+ "It seems you are not connected to the internet. Please check your internet connection and try again"
+ });
+ }
+ }
+ }
+ // require(['views/common/ErrorView','App'],function(vError,App){
+
+ // });
+ };
+ Utils.select2Focus = function(event) {
+ if (/^select2-focus/.test(event.type)) {
+ $(this).select2('open');
+ }
+ };
+
+ Utils.checkDirtyField = function(arg1, arg2, $elem) {
+ if (_.isEqual(arg1, arg2)) {
+ $elem.removeClass('dirtyField');
+ } else {
+ $elem.addClass('dirtyField');
+ }
+ };
+ Utils.checkDirtyFieldForToggle = function($el) {
+ if ($el.hasClass('dirtyField')) {
+ $el.removeClass('dirtyField');
+ } else {
+ $el.addClass('dirtyField');
+ }
+ };
+ Utils.checkDirtyFieldForSelect2 = function($el, dirtyFieldValue, that) {
+ if ($el.hasClass('dirtyField')
+ && _.isEqual($el.val(), dirtyFieldValue.toString())) {
+ $el.removeClass('dirtyField');
+ } else if (!$el.hasClass('dirtyField')) {
+ $el.addClass('dirtyField');
+ dirtyFieldValue = !_.isUndefined(that.value.values) ? that.value.values
+ : '';
+ }
+ return dirtyFieldValue;
+ };
+ Utils.enumToSelectLabelValuePairs = function(myEnum) {
+ return _.map(myEnum, function(o) {
+ return {
+ label : o.label,
+ value : o.value + ''
+ // category :'DHSS',
+ };
+ });
+ };
+ Utils.hackForVSLabelValuePairs = function(myEnum) {
+ return _.map(myEnum, function(o) {
+ return {
+ label : o.label,
+ value : o.label + ''
+ // category :'DHSS',
+ };
+ });
+ };
+ Utils.addVisualSearch = function(searchOpt, serverAttrName, collection,
+ pluginAttr) {
+ var visualSearch;
+ var search = function(searchCollection, serverAttrName, searchOpt,
+ collection) {
+ var params = {};
+ searchCollection.each(function(m) {
+ var serverParamName = _.findWhere(serverAttrName, {
+ text : m.attributes.category
+ });
+ var extraParam = {};
+ if (_.has(serverParamName, 'multiple')
+ && serverParamName.multiple) {
+ extraParam[serverParamName.label] = Utils
+ .enumLabelToValue(serverParamName.optionsArr, m
+ .get('value'));
+ ;
+ $.extend(params, extraParam);
+ } else {
+ if (!_.isUndefined(serverParamName)) {
+ extraParam[serverParamName.label] = m.get('value');
+ $.extend(params, extraParam);
+ }
+ }
+ });
+ collection.queryParams = $.extend(collection.queryParams, params);
+ collection.state.currentPage = collection.state.firstPage;
+ collection.fetch({
+ reset : true,
+ cache : false
+ // data : params,
+ });
+ };
+ // var searchOpt = ['Event Time','User','Resource Name','Resource
+ // ID','Resource Type','Repository Name','Repository
+ // Type','Result','Client IP','Client Type','Access Type','Access
+ // Enforcer','Audit Type','Session ID'];
+
+ var callbackCommon = {
+ search : function(query, searchCollection) {
+ collection.VSQuery = query;
+ search(searchCollection, serverAttrName, searchOpt, collection);
+ },
+ clearSearch : function(callback) {
+ _.each(serverAttrName, function(attr) {
+ delete collection.queryParams[attr.label];
+ });
+ callback();
+ },
+ facetMatches : function(callback) {
+ // console.log(visualSearch);
+ var searchOptTemp = $.extend(true, [], searchOpt);
+ visualSearch.searchQuery.each(function(m) {
+ if ($.inArray(m.get('category'), searchOptTemp) >= 0) {
+ searchOptTemp.splice($.inArray(m.get('category'),
+ searchOptTemp), 1);
+ }
+ });
+ // visualSearch.options.readOnly = searchOptTemp.length <= 0 ?
+ // true : false;
+ callback(searchOptTemp, {
+ preserveOrder : false
+ });
+ },
+ removedFacet : function(removedFacet, searchCollection, indexObj) {
+ // console.log(removedFacet);
+
+ var removedFacetSeverName = _.findWhere(serverAttrName, {
+ text : removedFacet.get('category')
+ });
+ if (!_.isUndefined(removedFacetSeverName)) {
+ delete collection.queryParams[removedFacetSeverName.label];
+ collection.state.currentPage = collection.state.firstPage;
+ collection.fetch({
+ reset : true,
+ cache : false
+ });
+ }
+ // TODO Added for Demo to remove datapicker popups
+ if (!_.isUndefined(visualSearch.searchBox.$el))
+ visualSearch.searchBox.$el.parents('body').find(
+ '.datepicker').remove();
+ }
+ // we can also add focus, blur events callback here..
+ };
+ pluginAttr.callbacks = $.extend(callbackCommon, pluginAttr.callbacks);
+ // Initializing VisualSearch Plugin....
+ visualSearch = VS.init($.extend(pluginAttr, {
+ remainder : false
+ }));
+
+ if (visualSearch.searchQuery.length > 0) // For On Load Visual Search
+ search(visualSearch.searchQuery, serverAttrName, searchOpt,
+ collection);
+
+ return visualSearch;
+ };
+
+ Utils.displayDatepicker = function($el, facet, $date, callback) {
+ var input = $el
+ .find('.search_facet.is_editing input.search_facet_input');
+ $el.parents('body').find('.datepicker').hide();
+ input.datepicker({
+ autoclose : true,
+ dateFormat : 'yy-mm-dd'
+ }).on('changeDate', function(ev) {
+ callback(ev.date);
+ input.datepicker("hide");
+ var e = jQuery.Event("keydown");
+ e.which = 13; // Enter
+ $(this).trigger(e);
+ });
+ if (!_.isUndefined($date)) {
+ if (facet == 'Start Date') {
+ input.datepicker('setEndDate', $date);
+ } else {
+ input.datepicker('setStartDate', $date);
+ }
+ }
+ input.datepicker('show');
+ input.on('blur', function(e) {
+ input.datepicker("hide");
+ // $('.datepicker').remove();
+
+ });
+ // input.attr("readonly", "readonly");
+ input.on('keydown', function(e) {
+ if (e.which == 9 && e.shiftKey) {
+ input.datepicker('setValue', new Date());
+ input.trigger('change');
+ input.datepicker("hide");
+ }
+ if (e.which == 13) {
+ var e1 = jQuery.Event("keypress");
+ e1.which = 13; // Enter
+ $(this).trigger(e1);
+
+ }
+ });
+ return input;
+ };
+
+ Utils.capitaliseFirstLetter = function(string) {
+ return string.charAt(0).toUpperCase() + string.slice(1);
+ };
+ Utils.lowerCaseFirstLetter = function(string) {
+ return string.charAt(0).toLowerCase() + string.slice(1);
+ };
+ Utils.toUpperCase = function(string) {
+ return (""+string).toUpperCase();
+ };
+
+ Utils.bindDraggableEvent = function($el){
+ //
+ // Function maked all .box selector is draggable, to disable for concrete element add class .no-drop
+ //
+ $el
+ .draggable({
+ revert: true,
+ zIndex: 2000,
+ cursor: "crosshair",
+ handle: '.box-name',
+ opacity: 0.8
+ })
+ .droppable({
+ tolerance: 'pointer',
+ drop: function( event, ui ) {
+ var draggable = ui.draggable;
+ var droppable = $(this);
+ var dragPos = draggable.position();
+ var dropPos = droppable.position();
+ draggable.swap(droppable);
+ setTimeout(function() {
+ var dropmap = droppable.find('[id^=map-]');
+ var dragmap = draggable.find('[id^=map-]');
+ if (dragmap.length > 0 || dropmap.length > 0){
+ dragmap.resize();
+ dropmap.resize();
+ }
+ else {
+ draggable.resize();
+ droppable.resize();
+ }
+ }, 50);
+ setTimeout(function() {
+ draggable.find('[id^=map-]').resize();
+ droppable.find('[id^=map-]').resize();
+ }, 250);
+ }
+ });
+ };
+
+ Utils.scrollToSearchString = function(results, type, counter, adjPx,$el){
+ if(results.length > 0){
+ if(type === 'next'){
+ if(counter > 0 && results.length == counter){
+ counter = 0;
+ }
+ } else if (type === 'prev') {
+ if(counter < 0){
+ counter = results.length - 1;
+ } else if(counter === results.length){
+ counter = counter - 2;
+ }
+ }
+ results.removeClass("active");
+ $(results[counter]).addClass("active");
+ if(_.isUndefined($el)){
+ $('html,body').animate({
+ scrollTop: $(results[counter]).offset().top - adjPx
+ }, 100);
+ }else{
+ $el.animate({
+ scrollTop: $(results[counter]).offset().top - adjPx
+ }, 100);
+ }
+
+ counter = (type === 'prev') ? counter - 1 : counter + 1;
+ }
+ return counter;
+ };
+ //date should be javascript date
+ Utils.convertDateToUTC = function (date) {
+ return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
}
Utils.randomNumber = function(){
- var date = new Date();
- var id = new Number();
- return ((Math.random()*date.getTime())/2).toFixed(0)
- }
- /**
- * GET data from form
- * @param {object} title -serializeArray
- */
- Utils.getFormData = function(serializeArray) {
- var formJson = {};
- _.each(serializeArray, function(fValues) {
- formJson[fValues.name] = fValues.value;
-
- });
- return formJson;
- };
- Utils.getQueryParams = function(qs) {
- qs = qs.split('+').join(' ');
-
- var params = {},
- tokens,
- re = /[?&]?([^=]+)=([^&]*)/g;
- try {
- while (tokens = re.exec(qs)) {
- params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
- }
- } catch (exception) {
- console.error(exception);
- Utils.notifyError({
- content: exception
- });
- }
- return params;
- };
- /**
- * [converDate description]
- * @param {[type]} option [pass String or momnet object]
- * @return {[type]} [it is string]
- */
- Utils.dateUtil = new function() {
- var that = this;
-
- this.getTimeZone = function(string, format) {
- return moment(string).format((format || Globals.dateFormat));
- };
- this.getJSON = function(string) {
- return moment(string).toJSON();
- };
- this.getMomentUTC = function(string) {
- return moment.utc(string)
- };
- this.getMomentObject = function(string) {
- return moment(string)
- }
- this.getLocalTimeZoneDateObject = function(date,offset) {
- return new Date(date.setMinutes(-(date.getTimezoneOffset() + (offset))))
- }
- this.getTimeZoneDateObject = function(string) {
- return new Date(string)
- }
- /**
- * [getTimeZoneMomentDateObject it will return ]
- * @param {[type]} option [require moment tz object]
- * @return {[type]} [description]
- */
- this.getTimeZoneFromMomentObject = function(momentO) {
- if(momentO.isValid()){
- var date = momentO.format('MM/DD/YYYY,HH:mm:ss.SSS').split(',');
- var dateObjectWithMilisecond ="";
- if(date[0] && date[1]){
- var milliseconds = date[1].split('.');
- if(milliseconds[0] && milliseconds[1] ){
- dateObjectWithMilisecond = new Date( date[0] +" " +milliseconds[0]);
- dateObjectWithMilisecond.setMilliseconds(milliseconds[1]);
- }else{
- dateObjectWithMilisecond = new Date(date[0]);
- }
- return dateObjectWithMilisecond;
- }
- }else{
- this.getLocalTimeZoneDateObject( ((momentO.toDate())?(momentO.toDate()):(new Date(momentO))));
- }
- }
- this.getTimeDiff = function(option) {
- // If You have time more then 24 hours so moment returns 0 for HH:MM:SS so using this 3 line we get perfect time gap
- var self = this;
- var ms = moment(option[1], "DD/MM/YYYY HH:mm:ss").diff(moment(option[0], "DD/MM/YYYY HH:mm:ss"));
- var d = moment.duration(ms);
- var s = Math.floor(d.asHours()) + that.getMomentUTC(ms).format(":mm:ss");
- this.splitedValue = s.split(':');
-
- this.getHourDiff = function() {
- return parseInt(self.splitedValue[0]);
- };
- this.getMinuteDiff = function() {
- return parseInt(self.splitedValue[1]);
- };
- this.getSecondDiff = function() {
- return parseInt(self.splitedValue[2]);
- };
- }
- this.setTimeZone =function(zone){
- moment.tz.setDefault(zone)
- }
- this.getRelativeDateString =function(){}
- this.getLast1HourRange = function() {
- var m = moment()
- return [moment().hour(m.hours() - 1).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds() + 1), moment().hour(m.hours()).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds())];
- }
- this.getTodayRange = function() {
- return [moment().hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getYesterdayRange = function() {
- return [moment().subtract(1, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().subtract(1, 'days').hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getLast7DaysRange = function() {
- return [moment().subtract(6, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getLast30DaysRange = function() {
- return [moment().subtract(29, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getThisMonthRange = function() {
- return [moment().startOf('month').hour('0').minute('0').seconds('0').milliseconds("000"), moment().endOf('month').hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getLastMonthRange = function() {
- return [moment().subtract(1, 'month').startOf('month').hour('0').minute('0').seconds('0').milliseconds("000"), moment().subtract(1, 'month').endOf('month').hour('23').minute('59').seconds('59').milliseconds("999")];
- }
- this.getOneDayTimeDiff = function(checkTime) {
- var hourDiff = checkTime.getHourDiff();
+ var date = new Date();
+ var id = new Number();
+ return ((Math.random()*date.getTime())/2).toFixed(0)
+ }
+ /**
+ * GET data from form
+ * @param {object} title -serializeArray
+ */
+ Utils.getFormData = function(serializeArray) {
+ var formJson = {};
+ _.each(serializeArray, function(fValues) {
+ formJson[fValues.name] = fValues.value;
+
+ });
+ return formJson;
+ };
+ Utils.getQueryParams = function(qs) {
+ qs = qs.split('+').join(' ');
+
+ var params = {},
+ tokens,
+ re = /[?&]?([^=]+)=([^&]*)/g;
+ try {
+ while (tokens = re.exec(qs)) {
+ params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
+ }
+ } catch (exception) {
+ console.error(exception);
+ Utils.notifyError({
+ content: exception
+ });
+ }
+ return params;
+ };
+ /**
+ * [converDate description]
+ * @param {[type]} option [pass String or momnet object]
+ * @return {[type]} [it is string]
+ */
+ Utils.dateUtil = new function() {
+ var that = this;
+
+ this.getTimeZone = function(string, format) {
+ return moment(string).format((format || Globals.dateFormat));
+ };
+ this.getJSON = function(string) {
+ return moment(string).toJSON();
+ };
+ this.getMomentUTC = function(string) {
+ return moment.utc(string)
+ };
+ this.getMomentObject = function(string) {
+ return moment(string)
+ }
+ this.getLocalTimeZoneDateObject = function(date,offset) {
+ return new Date(date.setMinutes(-(date.getTimezoneOffset() + (offset))))
+ }
+ this.getTimeZoneDateObject = function(string) {
+ return new Date(string)
+ }
+ /**
+ * [getTimeZoneMomentDateObject it will return ]
+ * @param {[type]} option [require moment tz object]
+ * @return {[type]} [description]
+ */
+ this.getTimeZoneFromMomentObject = function(momentO) {
+ if(momentO.isValid()){
+ var date = momentO.format('MM/DD/YYYY,HH:mm:ss.SSS').split(',');
+ var dateObjectWithMilisecond ="";
+ if(date[0] && date[1]){
+ var milliseconds = date[1].split('.');
+ if(milliseconds[0] && milliseconds[1] ){
+ dateObjectWithMilisecond = new Date( date[0] +" " +milliseconds[0]);
+ dateObjectWithMilisecond.setMilliseconds(milliseconds[1]);
+ }else{
+ dateObjectWithMilisecond = new Date(date[0]);
+ }
+ return dateObjectWithMilisecond;
+ }
+ }else{
+ this.getLocalTimeZoneDateObject( ((momentO.toDate())?(momentO.toDate()):(new Date(momentO))));
+ }
+ }
+ this.getTimeDiff = function(option) {
+ // If You have time more then 24 hours so moment returns 0 for HH:MM:SS so using this 3 line we get perfect time gap
+ var self = this;
+ var ms = moment(option[1], "DD/MM/YYYY HH:mm:ss").diff(moment(option[0], "DD/MM/YYYY HH:mm:ss"));
+ var d = moment.duration(ms);
+ var s = Math.floor(d.asHours()) + that.getMomentUTC(ms).format(":mm:ss");
+ this.splitedValue = s.split(':');
+
+ this.getHourDiff = function() {
+ return parseInt(self.splitedValue[0]);
+ };
+ this.getMinuteDiff = function() {
+ return parseInt(self.splitedValue[1]);
+ };
+ this.getSecondDiff = function() {
+ return parseInt(self.splitedValue[2]);
+ };
+ }
+ this.setTimeZone =function(zone){
+ moment.tz.setDefault(zone)
+ }
+ this.getRelativeDateString =function(){}
+ this.getLast1HourRange = function() {
+ var m = moment()
+ return [moment().hour(m.hours() - 1).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds() + 1), moment().hour(m.hours()).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds())];
+ }
+ this.getLast24HourRange = function() {
+ var m = moment()
+ return [moment().hour(m.hours() - 24).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds() + 1), moment().hour(m.hours()).minute(m.minutes()).seconds(m.seconds()).milliseconds(m.milliseconds())];
+ }
+ this.getTodayRange = function() {
+ return [moment().hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getYesterdayRange = function() {
+ return [moment().subtract(1, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().subtract(1, 'days').hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getLast7DaysRange = function() {
+ return [moment().subtract(6, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getLast30DaysRange = function() {
+ return [moment().subtract(29, 'days').hour('0').minute('0').seconds('0').milliseconds("000"), moment().hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getThisMonthRange = function() {
+ return [moment().startOf('month').hour('0').minute('0').seconds('0').milliseconds("000"), moment().endOf('month').hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getLastMonthRange = function() {
+ return [moment().subtract(1, 'month').startOf('month').hour('0').minute('0').seconds('0').milliseconds("000"), moment().subtract(1, 'month').endOf('month').hour('23').minute('59').seconds('59').milliseconds("999")];
+ }
+ this.getOneDayTimeDiff = function(checkTime) {
+ var hourDiff = checkTime.getHourDiff();
var seconDiff = checkTime.getSecondDiff();
var minuteDiff = checkTime.getMinuteDiff();
if (hourDiff <= 2) {
if (hourDiff == 0) {
- if (minuteDiff == 0) {
+ if (minuteDiff == 0) {
if (seconDiff == 0) {
return "+100MILLISECOND";
} else {
@@ -904,257 +908,257 @@ define(['require',
return "+1HOUR";
}
}
- this.getMonthDiff = function(startDate, endDate, dayGap, checkTime) {
- var dayDiff = (moment(endDate).diff(startDate, 'days'));
- if (dayDiff <= dayGap) {
- if (dayDiff == 0) {
- return this.getOneDayTimeDiff(checkTime)
- } else {
- return "+" + (moment(endDate).diff(startDate, 'days')) + "HOUR"
- }
- } else {
- return "+1DAY"
- }
- }
- this.calculateUnit =function(picker){
- var dayGap = 10,
- startDate = new Date(picker.startDate.format('MM/DD/YYYY')),
- endDate = new Date(picker.endDate.format('MM/DD/YYYY')),
- now = new Date(moment().format('MM/DD/YYYY'));
-
- var checkTime = new that.getTimeDiff([picker.startDate.format('MM/DD/YYYY HH:mm:ss'), picker.endDate.format('MM/DD/YYYY HH:mm:ss')]);
-
- if ((moment(startDate).isSame(endDate)) && (moment(startDate).isSame(now))) {
- //console.log("today")
- return that.getOneDayTimeDiff(checkTime);
- } else if ((moment(startDate).isSame(endDate)) && (moment(startDate).isBefore(now))) {
- //console.log("yesterday")
- return that.getOneDayTimeDiff(checkTime);
-
- } else if ((moment(startDate).isBefore(now)) || (moment(now).diff(startDate, 'days'))) {
- if ((moment(now).diff(startDate, 'days')) === 6) {
- //console.log("last 7 days");
- return "+8HOUR";
- } else if ((moment(now).diff(startDate, 'days') === 29) || (moment(now).diff(startDate, 'days') === 28) || (moment(now).diff(startDate, 'days') === 30)) {
- //console.log("Last 30 days");
- return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
- } else if ((moment(now).diff(startDate, 'month') === 1) && (moment(now).diff(startDate, 'days') > 30) && (moment(startDate).isSame(endDate, 'month'))) {
- //console.log("Last Month");
- return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
- } else if ((moment(startDate).isSame(endDate, 'month')) && ((moment(now).diff(startDate, 'days') === 29) || (moment(now).diff(startDate, 'days') === 30) || (moment(now).diff(startDate, 'days') === 28))) {
- //console.log("this Month");
- return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
- } else if ((moment(endDate).diff(startDate, 'days') >= 28) && (moment(endDate).diff(startDate, 'days') <= 30)) {
- //console.log("Last 30 days");
- return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
- } else if ((moment(endDate).diff(startDate, 'month') > 3)) {
- return "+1MONTH";
- } else if ((moment(endDate).diff(startDate, 'month') < 3)) {
- if ((moment(endDate).diff(startDate, 'month')) === 0) {
- return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
- } else {
- return "+1MONTH"
- }
-
- } else {
- return "+1MONTH";
- }
- } else {
- if ((moment(endDate).diff(startDate, 'days') < 10)) {
- return "+2HOUR";
- } else if ((moment(endDate).diff(startDate, 'days') >15)) {
- return "+8HOUR";
- } else if ((moment(endDate).diff(startDate, 'days') <= 30)) {
- return "+1DAY";
- } else {
- return "+1MONTH";
- }
- }
+ this.getMonthDiff = function(startDate, endDate, dayGap, checkTime) {
+ var dayDiff = (moment(endDate).diff(startDate, 'days'));
+ if (dayDiff <= dayGap) {
+ if (dayDiff == 0) {
+ return this.getOneDayTimeDiff(checkTime)
+ } else {
+ return "+" + (moment(endDate).diff(startDate, 'days')) + "HOUR"
+ }
+ } else {
+ return "+1DAY"
+ }
+ }
+ this.calculateUnit =function(picker){
+ var dayGap = 10,
+ startDate = new Date(picker.startDate.format('MM/DD/YYYY')),
+ endDate = new Date(picker.endDate.format('MM/DD/YYYY')),
+ now = new Date(moment().format('MM/DD/YYYY'));
+
+ var checkTime = new that.getTimeDiff([picker.startDate.format('MM/DD/YYYY HH:mm:ss'), picker.endDate.format('MM/DD/YYYY HH:mm:ss')]);
+
+ if ((moment(startDate).isSame(endDate)) && (moment(startDate).isSame(now))) {
+ //console.log("today")
+ return that.getOneDayTimeDiff(checkTime);
+ } else if ((moment(startDate).isSame(endDate)) && (moment(startDate).isBefore(now))) {
+ //console.log("yesterday")
+ return that.getOneDayTimeDiff(checkTime);
+
+ } else if ((moment(startDate).isBefore(now)) || (moment(now).diff(startDate, 'days'))) {
+ if ((moment(now).diff(startDate, 'days')) === 6) {
+ //console.log("last 7 days");
+ return "+8HOUR";
+ } else if ((moment(now).diff(startDate, 'days') === 29) || (moment(now).diff(startDate, 'days') === 28) || (moment(now).diff(startDate, 'days') === 30)) {
+ //console.log("Last 30 days");
+ return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
+ } else if ((moment(now).diff(startDate, 'month') === 1) && (moment(now).diff(startDate, 'days') > 30) && (moment(startDate).isSame(endDate, 'month'))) {
+ //console.log("Last Month");
+ return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
+ } else if ((moment(startDate).isSame(endDate, 'month')) && ((moment(now).diff(startDate, 'days') === 29) || (moment(now).diff(startDate, 'days') === 30) || (moment(now).diff(startDate, 'days') === 28))) {
+ //console.log("this Month");
+ return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
+ } else if ((moment(endDate).diff(startDate, 'days') >= 28) && (moment(endDate).diff(startDate, 'days') <= 30)) {
+ //console.log("Last 30 days");
+ return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
+ } else if ((moment(endDate).diff(startDate, 'month') > 3)) {
+ return "+1MONTH";
+ } else if ((moment(endDate).diff(startDate, 'month') < 3)) {
+ if ((moment(endDate).diff(startDate, 'month')) === 0) {
+ return that.getMonthDiff(startDate, endDate, dayGap, checkTime);
+ } else {
+ return "+1MONTH"
+ }
+
+ } else {
+ return "+1MONTH";
+ }
+ } else {
+ if ((moment(endDate).diff(startDate, 'days') < 10)) {
+ return "+2HOUR";
+ } else if ((moment(endDate).diff(startDate, 'days') >15)) {
+ return "+8HOUR";
+ } else if ((moment(endDate).diff(startDate, 'days') <= 30)) {
+ return "+1DAY";
+ } else {
+ return "+1MONTH";
+ }
+ }
- }
- this.getRelativeDateFromString = function(string){
- var obj = _.findWhere(Utils.relativeDates, { text : string})
- if(obj)
- return obj.fn && obj.fn();
- }
-
- };
- Utils.relativeDates = {
- last1Hour : {text : "Last 1 Hour",fn:Utils.dateUtil.getLast1HourRange},
- today : {text : "Today",fn:Utils.dateUtil.getTodayRange},
- yesterday : {text : "Yesterday",fn:Utils.dateUtil.getYesterdayRange},
+ }
+ this.getRelativeDateFromString = function(string){
+ var obj = _.findWhere(Utils.relativeDates, { text : string})
+ if(obj)
+ return obj.fn && obj.fn();
+ }
+
+ };
+ Utils.relativeDates = {
+ last1Hour : {text : "Last 1 Hour",fn:Utils.dateUtil.getLast1HourRange},
+ last24Hour: {text : "Last 24 Hour",fn:Utils.dateUtil.getLast24HourRange},
+ today : {text : "Today",fn:Utils.dateUtil.getTodayRange},
+ yesterday : {text : "Yesterday",fn:Utils.dateUtil.getYesterdayRange},
last7Days : {text : "Last 7 Days",fn:Utils.dateUtil.getLast7DaysRange},
last30Days: {text : "Last 30 Days",fn:Utils.dateUtil.getLast30DaysRange},
thisMonth : {text : "This Month",fn:Utils.dateUtil.getThisMonthRange},
lastMonth : {text : "Last Month",fn:Utils.dateUtil.getLastMonthRange}
- };
-
-
- /*
- * Converting Include Exclude string
- */
- Utils.encodeIncludeExcludeStr = function(arrOrStr,doEncode,token){
- var token = token || Globals.splitToken;
- if(doEncode && _.isArray(arrOrStr)){
- return arrOrStr.join(token);
- }else if(_.isString(arrOrStr)){
- return arrOrStr.split(token);
- }
- };
-
- Utils.localStorage = {
- checkLocalStorage:function(key,value){
- if (typeof(Storage) !== "undefined") {
- return this.getLocalStorage(key,value);
- } else {
- console.log('Sorry! No Web Storage support');
- Utils.cookie.checkCookie(key,value);
- }
- },
- setLocalStorage:function(key,value){
- localStorage.setItem(key,value);
- return {found:false,'value':value};
- },
- getLocalStorage:function(key,value){
- var keyValue = localStorage.getItem(key)
- if(!keyValue || keyValue == "undefined"){
- return this.setLocalStorage(key,value);
- }else{
- return {found:true,'value':keyValue};
- }
- }
-
- }
- Utils.cookie ={
- setCookie:function(cname,cvalue) {
- //var d = new Date();
- //d.setTime(d.getTime() + (exdays*24*60*60*1000));
- //var expires = "expires=" + d.toGMTString();
- document.cookie = cname+"="+cvalue+"; "
- return {found:false,'value':cvalue};
- },
- getCookie:function(findString) {
- var search = findString + "=";
- var ca = document.cookie.split(';');
- for(var i=0; i<ca.length; i++) {
- var c = ca[i];
- while (c.charAt(0)==' ') c = c.substring(1);
- if (c.indexOf(name) == 0) {
- return c.substring(name.length, c.length);
- }
- }
- return "";
- },
- checkCookie:function(key,value) {
- var findString = getCookie(key);
- if (findString != "" || keyValue != "undefined") {
- return {found:true,'value':((findString == "undefined")?(undefined):(findString))};
- } else {
- return setCookie(key,value);
- }
- }
- }
-
- Utils.getRandomColor = function getRandomColor(str) {
- if(!str)
- return "#000";
- var hashCode = function(str) {
- var hash = 0;
- for (var i = 0; i < str.length; i++) {
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
- }
- return hash;
- };
-
- var intToRGB = function(i){
- var c = (i & 0x00FFFFFF)
- .toString(16)
- .toUpperCase();
-
- return "00000".substring(0, 6 - c.length) + c;
- };
- return "#" +intToRGB(hashCode(str));
- };
- /**
- * [genrateSelect2 description]
- * @param {[array of object]} listOfselect2 []
- * listOfselect2 = [
- {
- id: "select2 id",
- placeholder: "placeholder",
- collection: "collection",
- dataText: 'display text', //in binding for appling name
- collectionHasCode: 'collection dosnt have id then pass what you want to show', // if collection dont have id ,
- modelAttr: 'collection attribute name',
- mandatory: false,
- nonCrud: getAuditSchemaFieldsName // pass function Name with params (suucess,error,etc)
- fetch: true,
- data:[] // it will not fetch from collection
- },
- {...}
- ]
- collectionFetchLov // listenTo in your view
- * @param {[type]} that [scope of function or view]
- * @return {[type]} [description]
- */
- Utils.genrateSelect2 =function(listOfselect2,that){
-
- for (var i = 0; i < listOfselect2.length; i++) {
-
- if (listOfselect2[i]['data'] || listOfselect2[i]['attachSelect']) {
- if(listOfselect2[i]['attachSelect']){
- that.ui[listOfselect2[i]['id']].select2({
- placeholder: listOfselect2[i]['placeholder'],
- width: '100%'
- });
- continue;
- }
-
- if(that.ui[listOfselect2[i]['id']]){
- that.ui[listOfselect2[i]['id']].select2({
- placeholder: listOfselect2[i]['placeholder'],
- width: '100%',
- data: listOfselect2[i]['data']
- });
- }
-
- continue;
- } else {
- if(that.ui[listOfselect2[i]['id']]){
- that.ui[listOfselect2[i]['id']].select2({
- placeholder: listOfselect2[i]['placeholder'],
- width: '100%',
- data: []
- });
- that.ui[listOfselect2[i]['id']].select2("disable");
- }else{
- continue;
- }
-
- }
-
-
- if (listOfselect2[i]['fetch']) {
- if (listOfselect2[i].collection && typeof that.listOfselect2[i].collection === "object") {
- that.listOfselect2[i]['collectionFetchLov'] = that.listOfselect2[i].collection
- } else if (listOfselect2[i].collection && typeof that.listOfselect2[i].collection === "string") {
- that.listOfselect2[i]['collectionFetchLov'] = that[listOfselect2[i]['collection']]
- }
-
- }
-
- }
-
- _.each(that.listOfselect2, function(obj, i) {
- if(obj['collectionFetchLov']){
- that.listenTo(obj['collectionFetchLov'], "reset", function(collection, response, options) {
- if (obj['collectionHasCode']) {
- for (var i = 0; i < collection.models.length; i++) {
- $.extend(collection.models[i].attributes, {
- id: collection.models[i].get(obj['collectionHasCode'])
- })
- }
- }
+ };
+
+ /*
+ * Converting Include Exclude string
+ */
+ Utils.encodeIncludeExcludeStr = function(arrOrStr,doEncode,token){
+ var token = token || Globals.splitToken;
+ if(doEncode && _.isArray(arrOrStr)){
+ return arrOrStr.join(token);
+ }else if(_.isString(arrOrStr)){
+ return arrOrStr.split(token);
+ }
+ };
+
+ Utils.localStorage = {
+ checkLocalStorage:function(key,value){
+ if (typeof(Storage) !== "undefined") {
+ return this.getLocalStorage(key,value);
+ } else {
+ console.log('Sorry! No Web Storage support');
+ Utils.cookie.checkCookie(key,value);
+ }
+ },
+ setLocalStorage:function(key,value){
+ localStorage.setItem(key,value);
+ return {found:false,'value':value};
+ },
+ getLocalStorage:function(key,value){
+ var keyValue = localStorage.getItem(key)
+ if(!keyValue || keyValue == "undefined"){
+ return this.setLocalStorage(key,value);
+ }else{
+ return {found:true,'value':keyValue};
+ }
+ }
+
+ }
+ Utils.cookie ={
+ setCookie:function(cname,cvalue) {
+ //var d = new Date();
+ //d.setTime(d.getTime() + (exdays*24*60*60*1000));
+ //var expires = "expires=" + d.toGMTString();
+ document.cookie = cname+"="+cvalue+"; "
+ return {found:false,'value':cvalue};
+ },
+ getCookie:function(findString) {
+ var search = findString + "=";
+ var ca = document.cookie.split(';');
+ for(var i=0; i<ca.length; i++) {
+ var c = ca[i];
+ while (c.charAt(0)==' ') c = c.substring(1);
+ if (c.indexOf(name) == 0) {
+ return c.substring(name.length, c.length);
+ }
+ }
+ return "";
+ },
+ checkCookie:function(key,value) {
+ var findString = getCookie(key);
+ if (findString != "" || keyValue != "undefined") {
+ return {found:true,'value':((findString == "undefined")?(undefined):(findString))};
+ } else {
+ return setCookie(key,value);
+ }
+ }
+ }
+
+ Utils.getRandomColor = function getRandomColor(str) {
+ if(!str)
+ return "#000";
+ var hashCode = function(str) {
+ var hash = 0;
+ for (var i = 0; i < str.length; i++) {
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
+ }
+ return hash;
+ };
+
+ var intToRGB = function(i){
+ var c = (i & 0x00FFFFFF)
+ .toString(16)
+ .toUpperCase();
+
+ return "00000".substring(0, 6 - c.length) + c;
+ };
+ return "#" +intToRGB(hashCode(str));
+ };
+ /**
+ * [genrateSelect2 description]
+ * @param {[array of object]} listOfselect2 []
+ * listOfselect2 = [
+ {
+ id: "select2 id",
+ placeholder: "placeholder",
+ collection: "collection",
+ dataText: 'display text', //in binding for appling name
+ collectionHasCode: 'collection dosnt have id then pass what you want to show', // if collection dont have id ,
+ modelAttr: 'collection attribute name',
+ mandatory: false,
+ nonCrud: getAuditSchemaFieldsName // pass function Name with params (suucess,error,etc)
+ fetch: true,
+ data:[] // it will not fetch from collection
+ },
+ {...}
+ ]
+ collectionFetchLov // listenTo in your view
+ * @param {[type]} that [scope of function or view]
+ * @return {[type]} [description]
+ */
+ Utils.genrateSelect2 =function(listOfselect2,that){
+
+ for (var i = 0; i < listOfselect2.length; i++) {
+
+ if (listOfselect2[i]['data'] || listOfselect2[i]['attachSelect']) {
+ if(listOfselect2[i]['attachSelect']){
+ that.ui[listOfselect2[i]['id']].select2({
+ placeholder: listOfselect2[i]['placeholder'],
+ width: '100%'
+ });
+ continue;
+ }
+
+ if(that.ui[listOfselect2[i]['id']]){
+ that.ui[listOfselect2[i]['id']].select2({
+ placeholder: listOfselect2[i]['placeholder'],
+ width: '100%',
+ data: listOfselect2[i]['data']
+ });
+ }
+
+ continue;
+ } else {
+ if(that.ui[listOfselect2[i]['id']]){
+ that.ui[listOfselect2[i]['id']].select2({
+ placeholder: listOfselect2[i]['placeholder'],
+ width: '100%',
+ data: []
+ });
+ that.ui[listOfselect2[i]['id']].select2("disable");
+ }else{
+ continue;
+ }
+
+ }
+
+
+ if (listOfselect2[i]['fetch']) {
+ if (listOfselect2[i].collection && typeof that.listOfselect2[i].collection === "object") {
+ that.listOfselect2[i]['collectionFetchLov'] = that.listOfselect2[i].collection
+ } else if (listOfselect2[i].collection && typeof that.listOfselect2[i].collection === "string") {
+ that.listOfselect2[i]['collectionFetchLov'] = that[listOfselect2[i]['collection']]
+ }
+
+ }
+
+ }
+
+ _.each(that.listOfselect2, function(obj, i) {
+ if(obj['collectionFetchLov']){
+ that.listenTo(obj['collectionFetchLov'], "reset", function(collection, response, options) {
+ if (obj['collectionHasCode']) {
+ for (var i = 0; i < collection.models.length; i++) {
+ $.extend(collection.models[i].attributes, {
+ id: collection.models[i].get(obj['collectionHasCode'])
+ })
+ }
+ }
var allowClearFlag = false;
if(!obj['mandatory'])allowClearFlag = true
var data = _.pluck(collection.models, 'attributes');
@@ -1174,57 +1178,57 @@ define(['require',
}
});
if(!obj['disabled']){
- that.ui[obj['id']].select2("enable");
+ that.ui[obj['id']].select2("enable");
}
if (that.model && !that.model.isNew()) {
- that.ui[obj['id']].select2('val', that.model.get(obj['modelAttr'])).trigger('change');
+ that.ui[obj['id']].select2('val', that.model.get(obj['modelAttr'])).trigger('change');
}
}, that);
- if(obj['nonCrud']){
- obj['nonCrud'](that.ui[obj['id']]);
- }else{
- obj['collectionFetchLov'].fetch({reset:true});
- }
-
- }
- });
- },
-
- /* This Method for handling graph unit.
- which seperate number from the string and again append to
- the string by formatting it
-
- */
- Utils.graphUnitParse = function(unitVal){
- if(! unitVal){
- return "";
- }
- var pattern = /(\d)\s+(?=\d)/g;
- var number = unitVal.match(/\d+/g).map(Number);
- var numString = number.toString().replace(pattern , '$1');
+ if(obj['nonCrud']){
+ obj['nonCrud'](that.ui[obj['id']]);
+ }else{
+ obj['collectionFetchLov'].fetch({reset:true});
+ }
+
+ }
+ });
+ },
+
+ /* This Method for handling graph unit.
+ which seperate number from the string and again append to
+ the string by formatting it
+
+ */
+ Utils.graphUnitParse = function(unitVal){
+ if(! unitVal){
+ return "";
+ }
+ var pattern = /(\d)\s+(?=\d)/g;
+ var number = unitVal.match(/\d+/g).map(Number);
+ var numString = number.toString().replace(pattern , '$1');
var str = unitVal.replace(/\d+/g, '').replace(/\+/g,'');
return numString +" " + Utils.getCamelCase(str) + "(s) gap";
- },
-
- Utils.getCamelCase = function(str){
- if(!str){
- return "";
- }
- var str = str.toLowerCase();
- return str.replace(/(?:^|\s)\w/g, function(match) {
- return match.toUpperCase()
+ },
+
+ Utils.getCamelCase = function(str){
+ if(!str){
+ return "";
+ }
+ var str = str.toLowerCase();
+ return str.replace(/(?:^|\s)\w/g, function(match) {
+ return match.toUpperCase()
});
- },
- Utils.manipulateValueForAddingAstrik = function(str){
- if(!str){
- return "";
- }
- var string = ((str.lastIndexOf('*',0) === 0)) ? str : '*'+str;
- string = ((str.lastIndexOf('*', str.length - 1) === str.length - 1)) ? string : string+'*';
-
- return string;
- };
+ },
+ Utils.manipulateValueForAddingAstrik = function(str){
+ if(!str){
+ return "";
+ }
+ var string = ((str.lastIndexOf('*',0) === 0)) ? str : '*'+str;
+ string = ((str.lastIndexOf('*', str.length - 1) === str.length - 1)) ? string : string+'*';
+
+ return string;
+ };
- return Utils;
+ return Utils;
});