diff options
Diffstat (limited to 'configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff')
16 files changed, 1111 insertions, 0 deletions
diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.editorconfig b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.editorconfig new file mode 100644 index 00000000..85653605 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.editorconfig @@ -0,0 +1,18 @@ +# This file is for unifying the coding style for different editors and IDEs +# editorconfig.org + +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +# Tabs in JS unless otherwise specified +[**.js] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.gitattributes b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.gitattributes new file mode 100644 index 00000000..bdb0cabc --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jscsrc b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jscsrc new file mode 100644 index 00000000..e91fa415 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jscsrc @@ -0,0 +1,52 @@ +{ + "requireCurlyBraces": [ + "try", + "catch", + "do" + ], + "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", + "requireCapitalizedConstructors": true, + "validateIndentation": 2, + "validateQuoteMarks": "'", + + "disallowQuotedKeysInObjects": true, + "disallowSpaceAfterObjectKeys": true, + + "requireSpaceBeforeBinaryOperators": [ + "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", + "&=", "|=", "^=", "+=", + + "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", + "|", "^", "&&", "||", "===", "==", ">=", + "<=", "<", ">", "!=", "!==" + ], + "requireSpaceAfterBinaryOperators": true, + "requireSpacesInConditionalExpression": true, + "requireSpaceBeforeBlockStatements": true, + "requireSpacesInForStatement": true, + "requireLineFeedAtFileEnd": true, + "requireSpacesInFunctionExpression": { + "beforeOpeningCurlyBrace": true + }, + "requireDotNotation": true, + "disallowSpacesInsideArrayBrackets": "all", + "disallowSpacesInsideParentheses": true, + + + "validateJSDoc": { + "checkParamNames": true, + "requireParamTypes": true + }, + + "disallowMultipleLineBreaks": true, + "disallowNewlineBeforeBlockStatements": true, + "disallowKeywords": [ "with" ], + + "excludeFiles": [ + "bower_components/**", + "node_modules/**", + "dist/**", + "test/coverage/**", + "examples/smoothscroll.min.js" + ] +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintignore b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintignore new file mode 100644 index 00000000..997cf2dc --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintignore @@ -0,0 +1,6 @@ +bower_components/ +node_modules/ +dist/ +tmp/ +examples/ + diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintrc b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintrc new file mode 100644 index 00000000..c569ff2f --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.jshintrc @@ -0,0 +1,19 @@ +{ + "strict" : true, // true: Requires all functions run in ES5 Strict Mode + "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) + "unused" : true, // true: Require all defined variables be used + "noempty" : true, // Prohibit use of empty blocks + "trailing" : true, // Prohibit trailing whitespaces. + "white" : false, // Check against strict whitespace and indentation rules. + "indent" : 2, // {int} Number of spaces to use for indentation + "newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()` + "quotmark" : "single", // Quotation mark consistency + "-W058" : true, // Missing '()' invoking a constructor + "browser" : true, // Standard browser globals e.g. `window`, `document`. + "predef" : [ // Custom globals. + "angular", + "G_vmlCanvasManager", + "require", + "console" + ] +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.npmignore b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.npmignore new file mode 100644 index 00000000..aeb776de --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/.npmignore @@ -0,0 +1,4 @@ +.idea/ +node_modules/ +test/fixtures/shots/ +bower_components/ diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/LICENSE b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/LICENSE new file mode 100644 index 00000000..0f2fefcf --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Deepu k Sasidharan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/README.md b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/README.md new file mode 100644 index 00000000..bc3190d1 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/README.md @@ -0,0 +1,121 @@ +# angular-diff +An Angular JS plugin to compare and show object differences in JSON format. [Demo](http://hipster-labs.github.io/angular-object-diff/) + +![Screenshot](/screenshot.png) +# Installation + +with bower +``` +bower install angular-object-diff --save +``` + +``` +<link type="text/css" href="bower_components/dist/angular-object-diff.css" rel='stylesheet'> +<script type="text/javascript" src="bower_components/dist/angular-object-diff.js"></script> +``` + +or with npm +``` +npm i angular-object-diff +``` + +# Available methods on `ObjectDiff` service + + +`setOpenChar`: set the opening character for the view, default is `{` + +`setCloseChar`: set the closing character for the view, default is `}` + +`diff`: compare and build all the difference of two objects including prototype properties + +`diffOwnProperties`: compare and build the difference of two objects taking only its own properties into account + +`toJsonView`: format a diff object to a full JSON formatted object view + +`toJsonDiffView`: format a diff object to a JSON formatted view with only changes + +`objToJsonView`: format any javascript object to a JSON formatted view + + +# Available filters + +`toJsonView`: format a diff object to a full JSON formatted object view + +`toJsonDiffView`: format a diff object to a JSON formatted view with only changes + +`objToJsonView`: format any javascript object to a JSON formatted view + + +# Usage + +Declare the dependency +``` +angular.module('myModule', ['ds.objectDiff']); + +``` + +Inject the service + +```javascript +angular.module('myModule') + .controller('MyController', ['$scope', 'ObjectDiff', function($scope, ObjectDiff){ + $scope.yourObjectOne = {//all your object attributes and values here}; + $scope.yourObjectTwo = {//all your object attributes and values here}; + + // This is required only if you want to show a JSON formatted view of your object without using a filter + $scope.yourObjectOneJsonView = ObjectDiff.objToJsonView($scope.yourObjectOne); + $scope.yourObjectTwoJsonView = ObjectDiff.objToJsonView($scope.yourObjectTwo); + + // you can directly diff your objects js now or parse a Json to object and diff + var diff = ObjectDiff.diffOwnProperties($scope.yourObjectOne, $scope.yourObjectTwo); + + // you can directly diff your objects including prototype properties and inherited properties using `diff` method + var diffAll = ObjectDiff.diff($scope.yourObjectOne, $scope.yourObjectTwo); + + // gives a full object view with Diff highlighted + $scope.diffValue = ObjectDiff.toJsonView(diff); + + // gives object view with onlys Diff highlighted + $scope.diffValueChanges = ObjectDiff.toJsonDiffView(diff); + + }]); +``` + +Bind the variables directly in your html using the `ng-bind-html` angular directive. +Use a `<pre>` element for better results + +```html +<pre ng-bind-html="diffValue"></pre> +<pre ng-bind-html="diffValueChanges"></pre> +<pre ng-bind-html="yourObjectOneJsonView"></pre> +<pre ng-bind-html="yourObjectTwoJsonView"></pre> +``` + +The same can be done with filters as well + +```javascript +angular.module('myModule') + .controller('MyController', ['$scope', 'ObjectDiff', function($scope, ObjectDiff){ + $scope.yourObjectOne = {//all your object attributes and values here}; + $scope.yourObjectTwo = {//all your object attributes and values here}; + + // you can directly diff your objects js now or parse a Json to object and diff + var diff = ObjectDiff.diffOwnProperties($scope.yourObjectOne, $scope.yourObjectTwo); + + // you can directly diff your objects including prototype properties and inherited properties using `diff` method + var diffAll = ObjectDiff.diff($scope.yourObjectOne, $scope.yourObjectTwo); + + }]); +``` + +Bind the variables directly in your html using the `ng-bind-html` angular directive. +Use a `<pre>` element for better results + +```html +<pre ng-bind-html="diffValue | toJsonView"></pre> +<pre ng-bind-html="diffValueChanges | toJsonDiffView"></pre> +<pre ng-bind-html="yourObjectOneJsonView | objToJsonView"></pre> +<pre ng-bind-html="yourObjectTwoJsonView | objToJsonView"></pre> +``` + +Inspired from https://github.com/NV/objectDiff.js diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.js b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.js new file mode 100644 index 00000000..08b124fc --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.js @@ -0,0 +1,344 @@ +(function () { + 'use strict'; + + angular + .module('ds.objectDiff', []) + .factory('ObjectDiff', objectDiff) + .filter('toJsonView', toJsonViewFilter) + .filter('toJsonDiffView', toJsonDiffViewFilter) + .filter('objToJsonView', objToJsonViewFilter); + + objectDiff.$inject = ['$sce']; + toJsonViewFilter.$inject = ['ObjectDiff']; + toJsonDiffViewFilter.$inject = ['ObjectDiff']; + objToJsonViewFilter.$inject = ['ObjectDiff']; + + /* service implementation */ + function objectDiff($sce) { + + var openChar = '{', + closeChar = '}', + service = { + setOpenChar: setOpenChar, + setCloseChar: setCloseChar, + diff: diff, + diffOwnProperties: diffOwnProperties, + toJsonView: formatToJsonXMLString, + objToJsonView: formatObjToJsonXMLString, + toJsonDiffView: formatChangesToXMLString + }; + + return service; + + + /* service methods */ + + /** + * @param char + */ + function setOpenChar(char) { + openChar = char; + } + + /** + * @param char + */ + function setCloseChar(char) { + closeChar = char; + } + + /** + * diff between object a and b + * @param {Object} a + * @param {Object} b + * @param shallow + * @param isOwn + * @return {Object} + */ + function diff(a, b, shallow, isOwn) { + + if (a === b) { + return equalObj(a); + } + + var diffValue = {}; + var equal = true; + + for (var key in a) { + if ((!isOwn && key in b) || (isOwn && typeof b != 'undefined' && b.hasOwnProperty(key))) { + if (a[key] === b[key]) { + diffValue[key] = equalObj(a[key]); + } else { + if (!shallow && isValidAttr(a[key], b[key])) { + var valueDiff = diff(a[key], b[key], shallow, isOwn); + if (valueDiff.changed == 'equal') { + diffValue[key] = equalObj(a[key]); + } else { + equal = false; + diffValue[key] = valueDiff; + } + } else { + equal = false; + diffValue[key] = { + changed: 'primitive change', + removed: a[key], + added: b[key] + } + } + } + } else { + equal = false; + diffValue[key] = { + changed: 'removed', + value: a[key] + } + } + } + + for (key in b) { + if ((!isOwn && !(key in a)) || (isOwn && typeof a != 'undefined' && !a.hasOwnProperty(key))) { + equal = false; + diffValue[key] = { + changed: 'added', + value: b[key] + } + } + } + + if (equal) { + return equalObj(a); + } else { + return { + changed: 'object change', + value: diffValue + } + } + } + + + /** + * diff between object a and b own properties only + * @param {Object} a + * @param {Object} b + * @return {Object} + * @param deep + */ + function diffOwnProperties(a, b, shallow) { + return diff(a, b, shallow, true); + } + + /** + * Convert to a readable xml/html Json structure + * @param {Object} changes + * @return {string} + * @param shallow + */ + function formatToJsonXMLString(changes, shallow) { + var properties = []; + + var diff = changes.value; + if (changes.changed == 'equal') { + return $sce.trustAsHtml(inspect(diff, shallow)); + } + + for (var key in diff) { + properties.push(formatChange(key, diff[key], shallow)); + } + + return $sce.trustAsHtml('<span>' + openChar + '</span>\n<div class="diff-level">' + properties.join('<span>,</span>\n') + '\n</div><span>' + closeChar + '</span>'); + + } + + /** + * Convert to a readable xml/html Json structure + * @return {string} + * @param obj + * @param shallow + */ + function formatObjToJsonXMLString(obj, shallow) { + return $sce.trustAsHtml(inspect(obj, shallow)); + } + + /** + * Convert to a readable xml/html Json structure + * @param {Object} changes + * @return {string} + * @param shallow + */ + function formatChangesToXMLString(changes, shallow) { + var properties = []; + + if (changes.changed == 'equal') { + return ''; + } + + var diff = changes.value; + + for (var key in diff) { + var changed = diff[key].changed; + if (changed !== 'equal') + properties.push(formatChange(key, diff[key], shallow, true)); + } + + return $sce.trustAsHtml('<span>' + openChar + '</span>\n<div class="diff-level">' + properties.join('<span>,</span>\n') + '\n</div><span>' + closeChar + '</span>'); + + } + + /** + * @param obj + * @returns {{changed: string, value: *}} + */ + function equalObj(obj) { + return { + changed: 'equal', + value: obj + } + } + + /** + * @param a + * @param b + * @returns {*|boolean} + */ + function isValidAttr(a, b) { + var typeA = typeof a; + var typeB = typeof b; + return (a && b && (typeA == 'object' || typeA == 'function') && (typeB == 'object' || typeB == 'function')); + } + + /** + * @param key + * @param diffItem + * @returns {*} + * @param shallow + * @param diffOnly + */ + function formatChange(key, diffItem, shallow, diffOnly) { + var changed = diffItem.changed; + var property; + switch (changed) { + case 'equal': + property = (stringifyObjectKey(escapeHTML(key)) + '<span>: </span>' + inspect(diffItem.value)); + break; + + case 'removed': + property = ('<del class="diff">' + stringifyObjectKey(escapeHTML(key)) + '<span>: </span>' + inspect(diffItem.value) + '</del>'); + break; + + case 'added': + property = ('<ins class="diff">' + stringifyObjectKey(escapeHTML(key)) + '<span>: </span>' + inspect(diffItem.value) + '</ins>'); + break; + + case 'primitive change': + var prefix = stringifyObjectKey(escapeHTML(key)) + '<span>: </span>'; + property = ( + '<del class="diff diff-key">' + prefix + inspect(diffItem.removed) + '</del><span>,</span>\n' + + '<ins class="diff diff-key">' + prefix + inspect(diffItem.added) + '</ins>'); + break; + + case 'object change': + property = shallow ? '' : (stringifyObjectKey(key) + '<span>: </span>' + ( diffOnly ? formatChangesToXMLString(diffItem) : formatToJsonXMLString(diffItem))); + break; + } + + return property; + } + + /** + * @param {string} key + * @return {string} + */ + function stringifyObjectKey(key) { + return /^[a-z0-9_$]*$/i.test(key) ? + key : + JSON.stringify(key); + } + + /** + * @param {string} string + * @return {string} + */ + function escapeHTML(string) { + return string.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); + } + + /** + * @param {Object} obj + * @return {string} + * @param shallow + */ + function inspect(obj, shallow) { + + return _inspect('', obj, shallow); + + /** + * @param {string} accumulator + * @param {object} obj + * @see http://jsperf.com/continuation-passing-style/3 + * @return {string} + * @param shallow + */ + function _inspect(accumulator, obj, shallow) { + switch (typeof obj) { + case 'object': + if (!obj) { + accumulator += 'null'; + break; + } + if (shallow) { + accumulator += '[object]'; + break; + } + var keys = Object.keys(obj); + var length = keys.length; + if (length === 0) { + accumulator += '<span>' + openChar + closeChar + '</span>'; + } else { + accumulator += '<span>' + openChar + '</span>\n<div class="diff-level">'; + for (var i = 0; i < length; i++) { + var key = keys[i]; + accumulator = _inspect(accumulator + stringifyObjectKey(escapeHTML(key)) + '<span>: </span>', obj[key]); + if (i < length - 1) { + accumulator += '<span>,</span>\n'; + } + } + accumulator += '\n</div><span>' + closeChar + '</span>' + } + break; + + case 'string': + accumulator += JSON.stringify(escapeHTML(obj)); + break; + + case 'undefined': + accumulator += 'undefined'; + break; + + default: + accumulator += escapeHTML(String(obj)); + break; + } + return accumulator; + } + } + } + + /* filter implementation */ + function toJsonViewFilter(ObjectDiff) { + return function (value) { + return ObjectDiff.toJsonView(value); + }; + } + + function toJsonDiffViewFilter(ObjectDiff) { + return function (value) { + return ObjectDiff.toJsonDiffView(value); + }; + } + + function objToJsonViewFilter(ObjectDiff) { + return function (value) { + return ObjectDiff.objToJsonView(value); + }; + } +})(); diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.less b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.less new file mode 100644 index 00000000..08115548 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/angular-object-diff.less @@ -0,0 +1,42 @@ +.diff { + display: inline-block; +} +.diff-level { + margin-left: 1.6em; +} +.diff-holder { + color: #666; + margin: 0; +} +.diff-holder span { + color: #AAA; +} +del.diff { + text-decoration: none; + color: #b30000; + background: #fadad7; +} +ins.diff { + background: #eaf2c2; + color: #406619; + text-decoration: none; +} +del.diff-key { + border: 1px solid #f8a4a4; +} +ins.diff-key { + border: 1px solid #a3ce4c; + margin-top: -1px; + position: relative; +} +ins.diff span { + color: #AABF40; +} +del.diff span { + color: #EE8177; +} +.audit-obj { + max-height: 300px; + max-width: 300px; + overflow: auto; +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/bower.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/bower.json new file mode 100644 index 00000000..7602502a --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/bower.json @@ -0,0 +1,50 @@ +{ + "name": "angular-object-diff", + "version": "1.0.3", + "main": [ + "./dist/angular-object-diff.js", + "./dist/angular-object-diff.css" + ], + "authors": [ + "Deepu K Sasidharan <d4udts@gmail.com>" + ], + "repository": { + "type": "git", + "url": "git://github.com/hipster-labs/angular-object-diff.git" + }, + "description": "An Angular JS plugin to compare and show object differences.", + "moduleType": [ + "globals" + ], + "keywords": [ + "angular", + "angular.js", + "object", + "diff", + "json", + "json-diff", + "object-diff", + "compare" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "dependencies": { + "angular": "1.x" + }, + "devDependencies": { + "angular-bootstrap": "~0.11.0", + "font-awesome": "~4.1.0", + "rainbow": "~1.1.9", + "angular-mocks": "~1.3.10" + }, + "resolutions": { + "angular": "1.x", + "angular-mocks": "1.3.10" + } +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/demo.js b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/demo.js new file mode 100644 index 00000000..3613fcca --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/demo.js @@ -0,0 +1,68 @@ +// Angular JS code +(function () { + 'use-strict'; + + angular.module('demoApp', ['ds.objectDiff']) + .config([ + '$interpolateProvider', + function ($interpolateProvider) { + return $interpolateProvider.startSymbol('{(').endSymbol(')}'); + } + ]) + .controller('DemoController', DemoController); + + DemoController.$inject = ['$scope', 'ObjectDiff']; + + function DemoController($scope, ObjectDiff) { + $scope.objectOne = "{\n" + + " a: {\n" + + " b: 1,\n" + + " c: [1, 2]\n" + + " },\n" + + " \"2b\": {\n" + + " foo: 'bar'\n" + + " }\n" + + " }"; + $scope.objectTwo = "{\n" + + " a: { \n" + + " b: 2,\n" + + " c: [1, 2, 3]\n" + + " },\n" + + " x: 1\n" + + " }"; + + + function makeDiff() { + var objectOne, objectTwo, diff; + try { + $scope.errorA = false; + objectOne = eval('(' + $scope.objectOne + ')'); //JSON.parse($scope.objectOne); + } catch (err) { + $scope.errorA = true; + } + try { + $scope.errorB = false; + objectTwo = eval('(' + $scope.objectTwo + ')'); //JSON.parse($scope.objectTwo); + } catch (err) { + $scope.errorB = true; + } + + // you can directly diff your objects if they are not string + diff = ObjectDiff.diffOwnProperties(objectOne, objectTwo); + + $scope.diffValue = ObjectDiff.toJsonView(diff); + $scope.diffValueChanges = ObjectDiff.toJsonDiffView(diff); + + $scope.yourObjectOne = objectOne; + $scope.yourObjectTwo = objectTwo; + } + + $scope.$watch('objectOne', function (newValue, oldValue) { + makeDiff(); + }); + $scope.$watch('objectTwo', function (newValue, oldValue) { + makeDiff(); + }); + } + +})(); diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/gulpfile.js b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/gulpfile.js new file mode 100644 index 00000000..78fdc574 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/gulpfile.js @@ -0,0 +1,169 @@ +(function () { + 'use strict'; + + var gulp = require('gulp'); + var less = require('gulp-less'); + var sourcemaps = require('gulp-sourcemaps'); + var uglify = require('gulp-uglify'); + var csso = require('gulp-csso'); + var jshint = require('gulp-jshint'); + var stylish = require('jshint-stylish'); + var jscs = require('gulp-jscs'); + var mocha = require('gulp-spawn-mocha'); + var mochaPhantomJS = require('gulp-mocha-phantomjs'); + var tar = require('gulp-tar'); + var gzip = require('gulp-gzip'); + var bumper = require('gulp-bump'); + var git = require('gulp-git'); + var shell = require('gulp-shell'); + var rename = require('gulp-rename'); + var fs = require('fs'); + var sequence = require('gulp-sequence'); + + gulp.task('less', function () { + return gulp.src('./*.less') + .pipe(sourcemaps.init()) + .pipe(less()) + .pipe(csso()) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('./dist')); + }); + + gulp.task('lint', function () { + return gulp.src('**/*.js') + .pipe(jshint()) + .pipe(jshint.reporter(stylish)); + }); + + /* gulp.task('style', function() { + return gulp.src('**/ + /*.js') + .pipe(jscs()); + });*/ + + gulp.task('unit', function () { + return gulp + .src('test/index.html') + .pipe(mochaPhantomJS()); + }); + + gulp.task('bump-patch', bump('patch')); + gulp.task('bump-minor', bump('minor')); + gulp.task('bump-major', bump('major')); + + gulp.task('bower', function () { + return gulp.src('./angular-object-diff.js') + .pipe(gulp.dest('./dist')); + }); + + gulp.task('js', ['lint' /*, 'style'*/ , 'bower'], function () { + return gulp.src('./angular-object-diff.js') + .pipe(rename('angular-object-diff.min.js')) + .pipe(sourcemaps.init()) + .pipe(uglify()) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('./dist')); + }); + + gulp.task('build', function () { + return gulp.src(['dist/*', '!./dist/*.tar.gz']) + .pipe(tar('angular-object-diff.js.tar')) + .pipe(gzip({ + gzipOptions: { + level: 9 + } + })) + .pipe(gulp.dest('dist/')); + }); + + gulp.task('update', function (cb) { + fs.readFile('./examples/index.template.html', 'utf8', function (err, file) { + if (err) return cb(err); + file = file.replace('<!-- version -->', version()); + fs.writeFile('./examples/index.html', file, cb); + }); + }); + + gulp.task('git-commit', function () { + var v = 'update to version ' + version(); + gulp.src(['./dist/*', './examples/*', './test/*', './package.json', './bower.json', './angular-object-diff.js', './angular-object-diff.less']) + .pipe(git.add()) + .pipe(git.commit(v)); + }); + + gulp.task('git-push', function (cb) { + var v = 'v' + version(); + git.push('origin', 'master', function (err) { + if (err) return cb(err); + git.tag(v, v, function (err) { + if (err) return cb(err); + git.push('origin', 'master', { + args: '--tags' + }, function(err){ + if (err) return cb(err); + git.checkout('gh-pages', function (err) { + if (err) return cb(err); + git.reset('master', { + args: '--hard' + }, function (err) { + if (err) return cb(err); + git.push('origin', 'gh-pages', function (err) { + if (err) return cb(err); + git.checkout('master', cb); + }); + }); + }); + }); + }); + }); + }); + + gulp.task('git-demo', function (cb) { + var v = 'v' + version(); + git.checkout('gh-pages', function (err) { + if (err) return cb(err); + git.reset('master', { + args: '--hard' + }, function (err) { + if (err) return cb(err); + git.push('origin', 'gh-pages', function (err) { + if (err) return cb(err); + git.checkout('master', cb); + }); + }); + }); + }); + + gulp.task('npm', shell.task([ + 'npm publish' + ])); + + gulp.task('watch', function () { + gulp.watch('./*.js', ['js']); + gulp.watch('./*.less', ['less']); + return true; + }); + + function bump(level) { + return function () { + return gulp.src(['./package.json', './bower.json']) + .pipe(bumper({ + type: level + })) + .pipe(gulp.dest('./')); + }; + } + + function version() { + return JSON.parse(fs.readFileSync('package.json', 'utf8')).version; + } + + gulp.task('default', sequence('check', ['less', 'js'], 'build')); + gulp.task('test', sequence('unit' /*, 'integration'*/ )); + gulp.task('check', sequence(['lint' /*, 'style'*/ ], 'test')); + gulp.task('publish', sequence(['git-commit', 'git-push', 'npm'])); + gulp.task('deploy-patch', sequence('default', 'bump-patch', /*'update',*/ 'publish')); + gulp.task('deploy-minor', sequence('default', 'bump-minor', /*'update',*/ 'publish')); + gulp.task('deploy-major', sequence('default', 'bump-major', /*'update',*/ 'publish')); + +})(); diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/index.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/index.html new file mode 100644 index 00000000..986a8b23 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/index.html @@ -0,0 +1,95 @@ +<!DOCTYPE html> +<html lang="en-US"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content="A Demo page for angular-object-diff plugin."> + <meta name="author" content="Deepu KS (deepu.js.org)"> + <meta name="twitter:site" content="@deepu105" /> + <meta name="twitter:title" content="A Demo page for angular-object-diff plugin" /> + <meta name="twitter:description" content="A Demo page for angular-object-diff plugin." /> + <meta name="twitter:url" content="http://hipster-labs.js.org/angular-object-diff/" /> + <title>Angular Object Diff Demo</title> + <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" /> + <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" /> + <link rel="stylesheet" href="dist/angular-object-diff.css" /> + <style> + .error { + background-color: red; + } + </style> +</head> + +<body> + + <!-- Static navbar --> + <div class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <a class="navbar-brand" href="#">Angular Object Diff</a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li class="active"><a href="#">Home</a></li> + <li><a href="https://github.com/hipster-labs/angular-object-diff">Github</a></li> + </ul> + </div> + <!--/.nav-collapse --> + </div> + </div> + + + <div class="container-fluid" ng-app="demoApp"> + + <!-- content is injected here --> + <div ng-controller="DemoController"> + <div class="row"> + <div class="col-md-4 col-xs-12"> + <label>Object A</label> + <textarea class="form-control" ng-class="[{'error': errorA}]" rows="15" ng-model="objectOne"></textarea> + </div> + <div class="col-md-4 col-xs-12"> + <label>Object B</label> + <textarea class="form-control" ng-class="[{'error': errorB}]" rows="15" ng-model="objectTwo"></textarea> + </div> + <div class="col-md-4 col-xs-12"> + <label>Full Diff</label> + <pre ng-bind-html="diffValue"></pre> + </div> + </div> + <div class="row"> + <div class="col-md-4 col-xs-12"> + <label>Object A JSON View</label> + <pre ng-bind-html="yourObjectOne | objToJsonView"></pre> + </div> + <div class="col-md-4 col-xs-12"> + <label>Object B JSON View</label> + <pre ng-bind-html="yourObjectTwo | objToJsonView"></pre> + </div> + <div class="col-md-4 col-xs-12"> + <label>Diff Changes only</label> + <pre ng-bind-html="diffValueChanges"></pre> + </div> + </div> + </div> + + </div> + <!-- /container --> + + <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> + <script src="angular-object-diff.js"></script> + <script src="demo.js"></script> + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-74370272-3', 'auto'); + ga('send', 'pageview'); + + </script> +</body> + +</html> diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/package.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/package.json new file mode 100644 index 00000000..ea694e00 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/package.json @@ -0,0 +1,84 @@ +{ + "_from": "angular-object-diff", + "_id": "angular-object-diff@1.0.3", + "_inBundle": false, + "_integrity": "sha1-zUu3X+n/Extw08NCzUxhBFFtXF8=", + "_location": "/angular-object-diff", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "angular-object-diff", + "name": "angular-object-diff", + "escapedName": "angular-object-diff", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/angular-object-diff/-/angular-object-diff-1.0.3.tgz", + "_shasum": "cd4bb75fe9ff131b70d3c342cd4c6104516d5c5f", + "_spec": "angular-object-diff", + "_where": "D:\\SDNC_UI\\app\\node_modules", + "author": { + "name": "Deepu K Sasidharan", + "email": "d4udts@gmail.com" + }, + "bugs": { + "url": "https://github.com/hipster-labs/angular-object-diff/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "An Angular JS plugin to compare and show object differences.", + "devDependencies": { + "chai": "^1.10.0", + "chai-string": "^1.1.1", + "cp": "^0.2.0", + "gm": "^1.17.0", + "gulp": "^3.8.6", + "gulp-bump": "^0.1.11", + "gulp-csso": "^0.2.9", + "gulp-git": "^0.5.6", + "gulp-gzip": "0.0.8", + "gulp-jscs": "^1.4.0", + "gulp-jshint": "^1.9.2", + "gulp-less": "^1.3.1", + "gulp-mocha-phantomjs": "^0.6.1", + "gulp-rename": "^1.2.0", + "gulp-sequence": "^0.3.1", + "gulp-shell": "^0.2.11", + "gulp-sourcemaps": "^1.0.0", + "gulp-spawn-mocha": "^2.0.1", + "gulp-tar": "^0.5.0", + "gulp-uglify": "^0.3.1", + "imgur-node-api": "^0.1.0", + "jshint-stylish": "^1.0.0", + "less": "^1.7.3", + "mkdirp": "^0.5.0", + "mocha": "^2.1.0", + "mocha-phantomjs": "^3.5.3", + "sinon": "^1.12.2", + "sinon-chai": "^2.7.0", + "testatic": "^0.1.0", + "tmp-sync": "github:jtblin/node-tmp-sync", + "webshot": "^0.15.3" + }, + "directories": { + "example": "examples" + }, + "homepage": "https://github.com/hipster-labs/angular-object-diff#readme", + "license": "MIT", + "main": "angular-object-diff.js", + "name": "angular-object-diff", + "repository": { + "type": "git", + "url": "git://github.com/hipster-labs/angular-object-diff.git" + }, + "scripts": { + "test": "gulp check" + }, + "version": "1.0.3" +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/screenshot.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/screenshot.png Binary files differnew file mode 100644 index 00000000..938110db --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/node_modules/angular-object-diff/screenshot.png |