Repository: incubator-ignite Updated Branches: refs/heads/ignite-843 b4d9568f8 -> 7716574a3
# ignite-843 Add lodash. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7716574a Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7716574a Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7716574a Branch: refs/heads/ignite-843 Commit: 7716574a31c8e279fb1326d9564251f3b04caf70 Parents: b4d9568 Author: Andrey <anovi...@gridgain.com> Authored: Thu Jun 4 13:53:42 2015 +0700 Committer: Andrey <anovi...@gridgain.com> Committed: Thu Jun 4 13:53:42 2015 +0700 ---------------------------------------------------------------------- .../public/javascripts/controllers/clusters.js | 6 ++-- .../public/javascripts/controllers/common.js | 33 +++++++++++++++++--- modules/webconfig/nodejs/views/layout.jade | 2 ++ 3 files changed, 34 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7716574a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js index 53a1685..0f965e3 100644 --- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js +++ b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js @@ -125,12 +125,12 @@ configuratorModule.controller('clustersController', ['$scope', '$modal', '$http' $scope.saveItem = function(item) { $http.post('/rest/clusters/save', item) .success(function() { - var cluster = $scope.clusters.find(function(cluster) { + var i = _.findIndex($scope.clusters, function(cluster) { return cluster._id == item._id; }); - if (cluster) - angular.extend(cluster, item); + if (i >= 0) + angular.extend($scope.clusters[i], item); }) .error(function(errorMessage) { console.log('Error: ' + errorMessage); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7716574a/modules/webconfig/nodejs/public/javascripts/controllers/common.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/common.js b/modules/webconfig/nodejs/public/javascripts/controllers/common.js index bb07f4b..b160614 100644 --- a/modules/webconfig/nodejs/public/javascripts/controllers/common.js +++ b/modules/webconfig/nodejs/public/javascripts/controllers/common.js @@ -15,15 +15,40 @@ * limitations under the License. */ +if (!Array.prototype.find) { + Array.prototype.find = function(predicate) { + if (this == null) { + throw new TypeError('Array.prototype.find called on null or undefined'); + } + if (typeof predicate !== 'function') { + throw new TypeError('predicate must be a function'); + } + var list = Object(this); + var length = list.length >>> 0; + var thisArg = arguments[1]; + var value; + + for (var i = 0; i < length; i++) { + value = list[i]; + if (predicate.call(thisArg, value, i, list)) { + return value; + } + } + return undefined; + }; +} + var configuratorModule = angular.module('ignite-web-configurator', ['smart-table', 'mgcrea.ngStrap']); // Decode name using map(value, label). configuratorModule.filter('displayValue', function () { return function (v, m, dflt) { - for (var i = 0; i < m.length; i++) { - if (m[i].value == v) - return m[i].label; - } + var i = _.findIndex(m, function(item) { + return item.value == v; + }); + + if (i >= 0) + return m[i].label; if (dflt) return dflt; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7716574a/modules/webconfig/nodejs/views/layout.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/layout.jade b/modules/webconfig/nodejs/views/layout.jade index f23e373..d217000 100644 --- a/modules/webconfig/nodejs/views/layout.jade +++ b/modules/webconfig/nodejs/views/layout.jade @@ -34,6 +34,8 @@ html(ng-app='ignite-web-configurator') block scripts script(src='//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js') + script(src='//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.min.js') + script(src='//ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js') script(src='//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.js') script(src='//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.2.2/angular-strap.tpl.min.js')