/*! * UI development toolkit for HTML5 (OpenUI5) * (c) Copyright 2009-2018 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ sap.ui.define(['jquery.sap.global','sap/base/util/uid','sap/base/strings/hash','sap/base/util/array/uniqueSort','sap/base/util/deepEqual','sap/base/util/each','sap/base/util/array/diff','sap/base/util/JSTokenizer','sap/base/util/merge','sap/base/util/UriParameters'],function(q,u,h,a,d,e,b,J,m,U){"use strict";q.sap.uid=u;q.sap.hashCode=h;q.sap.unique=a;q.sap.equal=d;q.sap.each=e;q.sap.arraySymbolDiff=b;q.sap._createJSTokenizer=function(){return new J();};q.sap.parseJS=J.parseJS;q.sap.extend=function(){var c=arguments,f=false;if(typeof arguments[0]==="boolean"){f=arguments[0];c=Array.prototype.slice.call(arguments,1);}if(f){return m.apply(this,c);}else{ /* * The code in this function is taken from jQuery 2.2.3 "jQuery.extend" and got modified. * * jQuery JavaScript Library v2.2.3 * http://jquery.com/ * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license */ var g,n,o,t=arguments[0]||{},i=1,l=arguments.length;if(typeof t!=="object"&&typeof t!=="function"){t={};}for(;i1){break;}}}}if(F==1){var k={oldIndex:t,newIndex:i};if(M[t]){delete O[t];delete N[M[t].newIndex];}else{N[i]={data:n[i],row:t};O[t]={data:o[t],row:i};M[t]=k;}}}for(var i=0;i0;i--){if(N[i]&&!N[i-1]&&N[i].row>0&&!O[N[i].row-1]&&c(o[N[i].row-1],n[i-1])){N[i-1]={data:n[i-1],row:N[i].row-1};O[N[i].row-1]={data:O[N[i].row-1],row:i-1};}}var D=[];if(n.length==0){for(var i=0;il){D.push({index:i,type:'insert'});}else{l=N[i].row+1;for(var j=N[i].row+1;j