ods-component-lib 1.18.7 → 1.18.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/devextreme/OdsRemoteDataGrid.d.ts +10 -3
- package/dist/index.js +681 -60
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +682 -61
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16537,13 +16537,589 @@ function _finallyRethrows(body, finalizer) {
|
|
|
16537
16537
|
return finalizer(false, result);
|
|
16538
16538
|
}
|
|
16539
16539
|
|
|
16540
|
+
/**
|
|
16541
|
+
* Checks if `value` is the
|
|
16542
|
+
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
|
16543
|
+
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
|
16544
|
+
*
|
|
16545
|
+
* @static
|
|
16546
|
+
* @memberOf _
|
|
16547
|
+
* @since 0.1.0
|
|
16548
|
+
* @category Lang
|
|
16549
|
+
* @param {*} value The value to check.
|
|
16550
|
+
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
|
16551
|
+
* @example
|
|
16552
|
+
*
|
|
16553
|
+
* _.isObject({});
|
|
16554
|
+
* // => true
|
|
16555
|
+
*
|
|
16556
|
+
* _.isObject([1, 2, 3]);
|
|
16557
|
+
* // => true
|
|
16558
|
+
*
|
|
16559
|
+
* _.isObject(_.noop);
|
|
16560
|
+
* // => true
|
|
16561
|
+
*
|
|
16562
|
+
* _.isObject(null);
|
|
16563
|
+
* // => false
|
|
16564
|
+
*/
|
|
16565
|
+
function isObject(value) {
|
|
16566
|
+
var type = typeof value;
|
|
16567
|
+
return value != null && (type == 'object' || type == 'function');
|
|
16568
|
+
}
|
|
16569
|
+
|
|
16570
|
+
var isObject_1 = isObject;
|
|
16571
|
+
|
|
16572
|
+
/** Detect free variable `global` from Node.js. */
|
|
16573
|
+
var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
16574
|
+
|
|
16575
|
+
var _freeGlobal = freeGlobal;
|
|
16576
|
+
|
|
16577
|
+
/** Detect free variable `self`. */
|
|
16578
|
+
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
16579
|
+
|
|
16580
|
+
/** Used as a reference to the global object. */
|
|
16581
|
+
var root = _freeGlobal || freeSelf || Function('return this')();
|
|
16582
|
+
|
|
16583
|
+
var _root = root;
|
|
16584
|
+
|
|
16585
|
+
/**
|
|
16586
|
+
* Gets the timestamp of the number of milliseconds that have elapsed since
|
|
16587
|
+
* the Unix epoch (1 January 1970 00:00:00 UTC).
|
|
16588
|
+
*
|
|
16589
|
+
* @static
|
|
16590
|
+
* @memberOf _
|
|
16591
|
+
* @since 2.4.0
|
|
16592
|
+
* @category Date
|
|
16593
|
+
* @returns {number} Returns the timestamp.
|
|
16594
|
+
* @example
|
|
16595
|
+
*
|
|
16596
|
+
* _.defer(function(stamp) {
|
|
16597
|
+
* console.log(_.now() - stamp);
|
|
16598
|
+
* }, _.now());
|
|
16599
|
+
* // => Logs the number of milliseconds it took for the deferred invocation.
|
|
16600
|
+
*/
|
|
16601
|
+
var now = function() {
|
|
16602
|
+
return _root.Date.now();
|
|
16603
|
+
};
|
|
16604
|
+
|
|
16605
|
+
var now_1 = now;
|
|
16606
|
+
|
|
16607
|
+
/** Used to match a single whitespace character. */
|
|
16608
|
+
var reWhitespace = /\s/;
|
|
16609
|
+
|
|
16610
|
+
/**
|
|
16611
|
+
* Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
|
|
16612
|
+
* character of `string`.
|
|
16613
|
+
*
|
|
16614
|
+
* @private
|
|
16615
|
+
* @param {string} string The string to inspect.
|
|
16616
|
+
* @returns {number} Returns the index of the last non-whitespace character.
|
|
16617
|
+
*/
|
|
16618
|
+
function trimmedEndIndex(string) {
|
|
16619
|
+
var index = string.length;
|
|
16620
|
+
|
|
16621
|
+
while (index-- && reWhitespace.test(string.charAt(index))) {}
|
|
16622
|
+
return index;
|
|
16623
|
+
}
|
|
16624
|
+
|
|
16625
|
+
var _trimmedEndIndex = trimmedEndIndex;
|
|
16626
|
+
|
|
16627
|
+
/** Used to match leading whitespace. */
|
|
16628
|
+
var reTrimStart = /^\s+/;
|
|
16629
|
+
|
|
16630
|
+
/**
|
|
16631
|
+
* The base implementation of `_.trim`.
|
|
16632
|
+
*
|
|
16633
|
+
* @private
|
|
16634
|
+
* @param {string} string The string to trim.
|
|
16635
|
+
* @returns {string} Returns the trimmed string.
|
|
16636
|
+
*/
|
|
16637
|
+
function baseTrim(string) {
|
|
16638
|
+
return string
|
|
16639
|
+
? string.slice(0, _trimmedEndIndex(string) + 1).replace(reTrimStart, '')
|
|
16640
|
+
: string;
|
|
16641
|
+
}
|
|
16642
|
+
|
|
16643
|
+
var _baseTrim = baseTrim;
|
|
16644
|
+
|
|
16645
|
+
/** Built-in value references. */
|
|
16646
|
+
var Symbol$1 = _root.Symbol;
|
|
16647
|
+
|
|
16648
|
+
var _Symbol = Symbol$1;
|
|
16649
|
+
|
|
16650
|
+
/** Used for built-in method references. */
|
|
16651
|
+
var objectProto = Object.prototype;
|
|
16652
|
+
|
|
16653
|
+
/** Used to check objects for own properties. */
|
|
16654
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
16655
|
+
|
|
16656
|
+
/**
|
|
16657
|
+
* Used to resolve the
|
|
16658
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
16659
|
+
* of values.
|
|
16660
|
+
*/
|
|
16661
|
+
var nativeObjectToString = objectProto.toString;
|
|
16662
|
+
|
|
16663
|
+
/** Built-in value references. */
|
|
16664
|
+
var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;
|
|
16665
|
+
|
|
16666
|
+
/**
|
|
16667
|
+
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
16668
|
+
*
|
|
16669
|
+
* @private
|
|
16670
|
+
* @param {*} value The value to query.
|
|
16671
|
+
* @returns {string} Returns the raw `toStringTag`.
|
|
16672
|
+
*/
|
|
16673
|
+
function getRawTag(value) {
|
|
16674
|
+
var isOwn = hasOwnProperty.call(value, symToStringTag),
|
|
16675
|
+
tag = value[symToStringTag];
|
|
16676
|
+
|
|
16677
|
+
try {
|
|
16678
|
+
value[symToStringTag] = undefined;
|
|
16679
|
+
var unmasked = true;
|
|
16680
|
+
} catch (e) {}
|
|
16681
|
+
|
|
16682
|
+
var result = nativeObjectToString.call(value);
|
|
16683
|
+
if (unmasked) {
|
|
16684
|
+
if (isOwn) {
|
|
16685
|
+
value[symToStringTag] = tag;
|
|
16686
|
+
} else {
|
|
16687
|
+
delete value[symToStringTag];
|
|
16688
|
+
}
|
|
16689
|
+
}
|
|
16690
|
+
return result;
|
|
16691
|
+
}
|
|
16692
|
+
|
|
16693
|
+
var _getRawTag = getRawTag;
|
|
16694
|
+
|
|
16695
|
+
/** Used for built-in method references. */
|
|
16696
|
+
var objectProto$1 = Object.prototype;
|
|
16697
|
+
|
|
16698
|
+
/**
|
|
16699
|
+
* Used to resolve the
|
|
16700
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
16701
|
+
* of values.
|
|
16702
|
+
*/
|
|
16703
|
+
var nativeObjectToString$1 = objectProto$1.toString;
|
|
16704
|
+
|
|
16705
|
+
/**
|
|
16706
|
+
* Converts `value` to a string using `Object.prototype.toString`.
|
|
16707
|
+
*
|
|
16708
|
+
* @private
|
|
16709
|
+
* @param {*} value The value to convert.
|
|
16710
|
+
* @returns {string} Returns the converted string.
|
|
16711
|
+
*/
|
|
16712
|
+
function objectToString(value) {
|
|
16713
|
+
return nativeObjectToString$1.call(value);
|
|
16714
|
+
}
|
|
16715
|
+
|
|
16716
|
+
var _objectToString = objectToString;
|
|
16717
|
+
|
|
16718
|
+
/** `Object#toString` result references. */
|
|
16719
|
+
var nullTag = '[object Null]',
|
|
16720
|
+
undefinedTag = '[object Undefined]';
|
|
16721
|
+
|
|
16722
|
+
/** Built-in value references. */
|
|
16723
|
+
var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;
|
|
16724
|
+
|
|
16725
|
+
/**
|
|
16726
|
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
16727
|
+
*
|
|
16728
|
+
* @private
|
|
16729
|
+
* @param {*} value The value to query.
|
|
16730
|
+
* @returns {string} Returns the `toStringTag`.
|
|
16731
|
+
*/
|
|
16732
|
+
function baseGetTag(value) {
|
|
16733
|
+
if (value == null) {
|
|
16734
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
16735
|
+
}
|
|
16736
|
+
return (symToStringTag$1 && symToStringTag$1 in Object(value))
|
|
16737
|
+
? _getRawTag(value)
|
|
16738
|
+
: _objectToString(value);
|
|
16739
|
+
}
|
|
16740
|
+
|
|
16741
|
+
var _baseGetTag = baseGetTag;
|
|
16742
|
+
|
|
16743
|
+
/**
|
|
16744
|
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
16745
|
+
* and has a `typeof` result of "object".
|
|
16746
|
+
*
|
|
16747
|
+
* @static
|
|
16748
|
+
* @memberOf _
|
|
16749
|
+
* @since 4.0.0
|
|
16750
|
+
* @category Lang
|
|
16751
|
+
* @param {*} value The value to check.
|
|
16752
|
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
16753
|
+
* @example
|
|
16754
|
+
*
|
|
16755
|
+
* _.isObjectLike({});
|
|
16756
|
+
* // => true
|
|
16757
|
+
*
|
|
16758
|
+
* _.isObjectLike([1, 2, 3]);
|
|
16759
|
+
* // => true
|
|
16760
|
+
*
|
|
16761
|
+
* _.isObjectLike(_.noop);
|
|
16762
|
+
* // => false
|
|
16763
|
+
*
|
|
16764
|
+
* _.isObjectLike(null);
|
|
16765
|
+
* // => false
|
|
16766
|
+
*/
|
|
16767
|
+
function isObjectLike(value) {
|
|
16768
|
+
return value != null && typeof value == 'object';
|
|
16769
|
+
}
|
|
16770
|
+
|
|
16771
|
+
var isObjectLike_1 = isObjectLike;
|
|
16772
|
+
|
|
16773
|
+
/** `Object#toString` result references. */
|
|
16774
|
+
var symbolTag = '[object Symbol]';
|
|
16775
|
+
|
|
16776
|
+
/**
|
|
16777
|
+
* Checks if `value` is classified as a `Symbol` primitive or object.
|
|
16778
|
+
*
|
|
16779
|
+
* @static
|
|
16780
|
+
* @memberOf _
|
|
16781
|
+
* @since 4.0.0
|
|
16782
|
+
* @category Lang
|
|
16783
|
+
* @param {*} value The value to check.
|
|
16784
|
+
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
|
16785
|
+
* @example
|
|
16786
|
+
*
|
|
16787
|
+
* _.isSymbol(Symbol.iterator);
|
|
16788
|
+
* // => true
|
|
16789
|
+
*
|
|
16790
|
+
* _.isSymbol('abc');
|
|
16791
|
+
* // => false
|
|
16792
|
+
*/
|
|
16793
|
+
function isSymbol(value) {
|
|
16794
|
+
return typeof value == 'symbol' ||
|
|
16795
|
+
(isObjectLike_1(value) && _baseGetTag(value) == symbolTag);
|
|
16796
|
+
}
|
|
16797
|
+
|
|
16798
|
+
var isSymbol_1 = isSymbol;
|
|
16799
|
+
|
|
16800
|
+
/** Used as references for various `Number` constants. */
|
|
16801
|
+
var NAN = 0 / 0;
|
|
16802
|
+
|
|
16803
|
+
/** Used to detect bad signed hexadecimal string values. */
|
|
16804
|
+
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
|
|
16805
|
+
|
|
16806
|
+
/** Used to detect binary string values. */
|
|
16807
|
+
var reIsBinary = /^0b[01]+$/i;
|
|
16808
|
+
|
|
16809
|
+
/** Used to detect octal string values. */
|
|
16810
|
+
var reIsOctal = /^0o[0-7]+$/i;
|
|
16811
|
+
|
|
16812
|
+
/** Built-in method references without a dependency on `root`. */
|
|
16813
|
+
var freeParseInt = parseInt;
|
|
16814
|
+
|
|
16815
|
+
/**
|
|
16816
|
+
* Converts `value` to a number.
|
|
16817
|
+
*
|
|
16818
|
+
* @static
|
|
16819
|
+
* @memberOf _
|
|
16820
|
+
* @since 4.0.0
|
|
16821
|
+
* @category Lang
|
|
16822
|
+
* @param {*} value The value to process.
|
|
16823
|
+
* @returns {number} Returns the number.
|
|
16824
|
+
* @example
|
|
16825
|
+
*
|
|
16826
|
+
* _.toNumber(3.2);
|
|
16827
|
+
* // => 3.2
|
|
16828
|
+
*
|
|
16829
|
+
* _.toNumber(Number.MIN_VALUE);
|
|
16830
|
+
* // => 5e-324
|
|
16831
|
+
*
|
|
16832
|
+
* _.toNumber(Infinity);
|
|
16833
|
+
* // => Infinity
|
|
16834
|
+
*
|
|
16835
|
+
* _.toNumber('3.2');
|
|
16836
|
+
* // => 3.2
|
|
16837
|
+
*/
|
|
16838
|
+
function toNumber(value) {
|
|
16839
|
+
if (typeof value == 'number') {
|
|
16840
|
+
return value;
|
|
16841
|
+
}
|
|
16842
|
+
if (isSymbol_1(value)) {
|
|
16843
|
+
return NAN;
|
|
16844
|
+
}
|
|
16845
|
+
if (isObject_1(value)) {
|
|
16846
|
+
var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
|
|
16847
|
+
value = isObject_1(other) ? (other + '') : other;
|
|
16848
|
+
}
|
|
16849
|
+
if (typeof value != 'string') {
|
|
16850
|
+
return value === 0 ? value : +value;
|
|
16851
|
+
}
|
|
16852
|
+
value = _baseTrim(value);
|
|
16853
|
+
var isBinary = reIsBinary.test(value);
|
|
16854
|
+
return (isBinary || reIsOctal.test(value))
|
|
16855
|
+
? freeParseInt(value.slice(2), isBinary ? 2 : 8)
|
|
16856
|
+
: (reIsBadHex.test(value) ? NAN : +value);
|
|
16857
|
+
}
|
|
16858
|
+
|
|
16859
|
+
var toNumber_1 = toNumber;
|
|
16860
|
+
|
|
16861
|
+
/** Error message constants. */
|
|
16862
|
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
16863
|
+
|
|
16864
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
16865
|
+
var nativeMax = Math.max,
|
|
16866
|
+
nativeMin = Math.min;
|
|
16867
|
+
|
|
16868
|
+
/**
|
|
16869
|
+
* Creates a debounced function that delays invoking `func` until after `wait`
|
|
16870
|
+
* milliseconds have elapsed since the last time the debounced function was
|
|
16871
|
+
* invoked. The debounced function comes with a `cancel` method to cancel
|
|
16872
|
+
* delayed `func` invocations and a `flush` method to immediately invoke them.
|
|
16873
|
+
* Provide `options` to indicate whether `func` should be invoked on the
|
|
16874
|
+
* leading and/or trailing edge of the `wait` timeout. The `func` is invoked
|
|
16875
|
+
* with the last arguments provided to the debounced function. Subsequent
|
|
16876
|
+
* calls to the debounced function return the result of the last `func`
|
|
16877
|
+
* invocation.
|
|
16878
|
+
*
|
|
16879
|
+
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
|
16880
|
+
* invoked on the trailing edge of the timeout only if the debounced function
|
|
16881
|
+
* is invoked more than once during the `wait` timeout.
|
|
16882
|
+
*
|
|
16883
|
+
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
|
16884
|
+
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
|
16885
|
+
*
|
|
16886
|
+
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
|
16887
|
+
* for details over the differences between `_.debounce` and `_.throttle`.
|
|
16888
|
+
*
|
|
16889
|
+
* @static
|
|
16890
|
+
* @memberOf _
|
|
16891
|
+
* @since 0.1.0
|
|
16892
|
+
* @category Function
|
|
16893
|
+
* @param {Function} func The function to debounce.
|
|
16894
|
+
* @param {number} [wait=0] The number of milliseconds to delay.
|
|
16895
|
+
* @param {Object} [options={}] The options object.
|
|
16896
|
+
* @param {boolean} [options.leading=false]
|
|
16897
|
+
* Specify invoking on the leading edge of the timeout.
|
|
16898
|
+
* @param {number} [options.maxWait]
|
|
16899
|
+
* The maximum time `func` is allowed to be delayed before it's invoked.
|
|
16900
|
+
* @param {boolean} [options.trailing=true]
|
|
16901
|
+
* Specify invoking on the trailing edge of the timeout.
|
|
16902
|
+
* @returns {Function} Returns the new debounced function.
|
|
16903
|
+
* @example
|
|
16904
|
+
*
|
|
16905
|
+
* // Avoid costly calculations while the window size is in flux.
|
|
16906
|
+
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
|
|
16907
|
+
*
|
|
16908
|
+
* // Invoke `sendMail` when clicked, debouncing subsequent calls.
|
|
16909
|
+
* jQuery(element).on('click', _.debounce(sendMail, 300, {
|
|
16910
|
+
* 'leading': true,
|
|
16911
|
+
* 'trailing': false
|
|
16912
|
+
* }));
|
|
16913
|
+
*
|
|
16914
|
+
* // Ensure `batchLog` is invoked once after 1 second of debounced calls.
|
|
16915
|
+
* var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
|
|
16916
|
+
* var source = new EventSource('/stream');
|
|
16917
|
+
* jQuery(source).on('message', debounced);
|
|
16918
|
+
*
|
|
16919
|
+
* // Cancel the trailing debounced invocation.
|
|
16920
|
+
* jQuery(window).on('popstate', debounced.cancel);
|
|
16921
|
+
*/
|
|
16922
|
+
function debounce(func, wait, options) {
|
|
16923
|
+
var lastArgs,
|
|
16924
|
+
lastThis,
|
|
16925
|
+
maxWait,
|
|
16926
|
+
result,
|
|
16927
|
+
timerId,
|
|
16928
|
+
lastCallTime,
|
|
16929
|
+
lastInvokeTime = 0,
|
|
16930
|
+
leading = false,
|
|
16931
|
+
maxing = false,
|
|
16932
|
+
trailing = true;
|
|
16933
|
+
|
|
16934
|
+
if (typeof func != 'function') {
|
|
16935
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
16936
|
+
}
|
|
16937
|
+
wait = toNumber_1(wait) || 0;
|
|
16938
|
+
if (isObject_1(options)) {
|
|
16939
|
+
leading = !!options.leading;
|
|
16940
|
+
maxing = 'maxWait' in options;
|
|
16941
|
+
maxWait = maxing ? nativeMax(toNumber_1(options.maxWait) || 0, wait) : maxWait;
|
|
16942
|
+
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
16943
|
+
}
|
|
16944
|
+
|
|
16945
|
+
function invokeFunc(time) {
|
|
16946
|
+
var args = lastArgs,
|
|
16947
|
+
thisArg = lastThis;
|
|
16948
|
+
|
|
16949
|
+
lastArgs = lastThis = undefined;
|
|
16950
|
+
lastInvokeTime = time;
|
|
16951
|
+
result = func.apply(thisArg, args);
|
|
16952
|
+
return result;
|
|
16953
|
+
}
|
|
16954
|
+
|
|
16955
|
+
function leadingEdge(time) {
|
|
16956
|
+
// Reset any `maxWait` timer.
|
|
16957
|
+
lastInvokeTime = time;
|
|
16958
|
+
// Start the timer for the trailing edge.
|
|
16959
|
+
timerId = setTimeout(timerExpired, wait);
|
|
16960
|
+
// Invoke the leading edge.
|
|
16961
|
+
return leading ? invokeFunc(time) : result;
|
|
16962
|
+
}
|
|
16963
|
+
|
|
16964
|
+
function remainingWait(time) {
|
|
16965
|
+
var timeSinceLastCall = time - lastCallTime,
|
|
16966
|
+
timeSinceLastInvoke = time - lastInvokeTime,
|
|
16967
|
+
timeWaiting = wait - timeSinceLastCall;
|
|
16968
|
+
|
|
16969
|
+
return maxing
|
|
16970
|
+
? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
|
|
16971
|
+
: timeWaiting;
|
|
16972
|
+
}
|
|
16973
|
+
|
|
16974
|
+
function shouldInvoke(time) {
|
|
16975
|
+
var timeSinceLastCall = time - lastCallTime,
|
|
16976
|
+
timeSinceLastInvoke = time - lastInvokeTime;
|
|
16977
|
+
|
|
16978
|
+
// Either this is the first call, activity has stopped and we're at the
|
|
16979
|
+
// trailing edge, the system time has gone backwards and we're treating
|
|
16980
|
+
// it as the trailing edge, or we've hit the `maxWait` limit.
|
|
16981
|
+
return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
|
|
16982
|
+
(timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
|
|
16983
|
+
}
|
|
16984
|
+
|
|
16985
|
+
function timerExpired() {
|
|
16986
|
+
var time = now_1();
|
|
16987
|
+
if (shouldInvoke(time)) {
|
|
16988
|
+
return trailingEdge(time);
|
|
16989
|
+
}
|
|
16990
|
+
// Restart the timer.
|
|
16991
|
+
timerId = setTimeout(timerExpired, remainingWait(time));
|
|
16992
|
+
}
|
|
16993
|
+
|
|
16994
|
+
function trailingEdge(time) {
|
|
16995
|
+
timerId = undefined;
|
|
16996
|
+
|
|
16997
|
+
// Only invoke if we have `lastArgs` which means `func` has been
|
|
16998
|
+
// debounced at least once.
|
|
16999
|
+
if (trailing && lastArgs) {
|
|
17000
|
+
return invokeFunc(time);
|
|
17001
|
+
}
|
|
17002
|
+
lastArgs = lastThis = undefined;
|
|
17003
|
+
return result;
|
|
17004
|
+
}
|
|
17005
|
+
|
|
17006
|
+
function cancel() {
|
|
17007
|
+
if (timerId !== undefined) {
|
|
17008
|
+
clearTimeout(timerId);
|
|
17009
|
+
}
|
|
17010
|
+
lastInvokeTime = 0;
|
|
17011
|
+
lastArgs = lastCallTime = lastThis = timerId = undefined;
|
|
17012
|
+
}
|
|
17013
|
+
|
|
17014
|
+
function flush() {
|
|
17015
|
+
return timerId === undefined ? result : trailingEdge(now_1());
|
|
17016
|
+
}
|
|
17017
|
+
|
|
17018
|
+
function debounced() {
|
|
17019
|
+
var time = now_1(),
|
|
17020
|
+
isInvoking = shouldInvoke(time);
|
|
17021
|
+
|
|
17022
|
+
lastArgs = arguments;
|
|
17023
|
+
lastThis = this;
|
|
17024
|
+
lastCallTime = time;
|
|
17025
|
+
|
|
17026
|
+
if (isInvoking) {
|
|
17027
|
+
if (timerId === undefined) {
|
|
17028
|
+
return leadingEdge(lastCallTime);
|
|
17029
|
+
}
|
|
17030
|
+
if (maxing) {
|
|
17031
|
+
// Handle invocations in a tight loop.
|
|
17032
|
+
clearTimeout(timerId);
|
|
17033
|
+
timerId = setTimeout(timerExpired, wait);
|
|
17034
|
+
return invokeFunc(lastCallTime);
|
|
17035
|
+
}
|
|
17036
|
+
}
|
|
17037
|
+
if (timerId === undefined) {
|
|
17038
|
+
timerId = setTimeout(timerExpired, wait);
|
|
17039
|
+
}
|
|
17040
|
+
return result;
|
|
17041
|
+
}
|
|
17042
|
+
debounced.cancel = cancel;
|
|
17043
|
+
debounced.flush = flush;
|
|
17044
|
+
return debounced;
|
|
17045
|
+
}
|
|
17046
|
+
|
|
17047
|
+
var debounce_1 = debounce;
|
|
17048
|
+
|
|
17049
|
+
/** Error message constants. */
|
|
17050
|
+
var FUNC_ERROR_TEXT$1 = 'Expected a function';
|
|
17051
|
+
|
|
17052
|
+
/**
|
|
17053
|
+
* Creates a throttled function that only invokes `func` at most once per
|
|
17054
|
+
* every `wait` milliseconds. The throttled function comes with a `cancel`
|
|
17055
|
+
* method to cancel delayed `func` invocations and a `flush` method to
|
|
17056
|
+
* immediately invoke them. Provide `options` to indicate whether `func`
|
|
17057
|
+
* should be invoked on the leading and/or trailing edge of the `wait`
|
|
17058
|
+
* timeout. The `func` is invoked with the last arguments provided to the
|
|
17059
|
+
* throttled function. Subsequent calls to the throttled function return the
|
|
17060
|
+
* result of the last `func` invocation.
|
|
17061
|
+
*
|
|
17062
|
+
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
|
17063
|
+
* invoked on the trailing edge of the timeout only if the throttled function
|
|
17064
|
+
* is invoked more than once during the `wait` timeout.
|
|
17065
|
+
*
|
|
17066
|
+
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
|
17067
|
+
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
|
17068
|
+
*
|
|
17069
|
+
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
|
17070
|
+
* for details over the differences between `_.throttle` and `_.debounce`.
|
|
17071
|
+
*
|
|
17072
|
+
* @static
|
|
17073
|
+
* @memberOf _
|
|
17074
|
+
* @since 0.1.0
|
|
17075
|
+
* @category Function
|
|
17076
|
+
* @param {Function} func The function to throttle.
|
|
17077
|
+
* @param {number} [wait=0] The number of milliseconds to throttle invocations to.
|
|
17078
|
+
* @param {Object} [options={}] The options object.
|
|
17079
|
+
* @param {boolean} [options.leading=true]
|
|
17080
|
+
* Specify invoking on the leading edge of the timeout.
|
|
17081
|
+
* @param {boolean} [options.trailing=true]
|
|
17082
|
+
* Specify invoking on the trailing edge of the timeout.
|
|
17083
|
+
* @returns {Function} Returns the new throttled function.
|
|
17084
|
+
* @example
|
|
17085
|
+
*
|
|
17086
|
+
* // Avoid excessively updating the position while scrolling.
|
|
17087
|
+
* jQuery(window).on('scroll', _.throttle(updatePosition, 100));
|
|
17088
|
+
*
|
|
17089
|
+
* // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
|
|
17090
|
+
* var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
|
|
17091
|
+
* jQuery(element).on('click', throttled);
|
|
17092
|
+
*
|
|
17093
|
+
* // Cancel the trailing throttled invocation.
|
|
17094
|
+
* jQuery(window).on('popstate', throttled.cancel);
|
|
17095
|
+
*/
|
|
17096
|
+
function throttle(func, wait, options) {
|
|
17097
|
+
var leading = true,
|
|
17098
|
+
trailing = true;
|
|
17099
|
+
|
|
17100
|
+
if (typeof func != 'function') {
|
|
17101
|
+
throw new TypeError(FUNC_ERROR_TEXT$1);
|
|
17102
|
+
}
|
|
17103
|
+
if (isObject_1(options)) {
|
|
17104
|
+
leading = 'leading' in options ? !!options.leading : leading;
|
|
17105
|
+
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
17106
|
+
}
|
|
17107
|
+
return debounce_1(func, wait, {
|
|
17108
|
+
'leading': leading,
|
|
17109
|
+
'maxWait': wait,
|
|
17110
|
+
'trailing': trailing
|
|
17111
|
+
});
|
|
17112
|
+
}
|
|
17113
|
+
|
|
17114
|
+
var throttle_1 = throttle;
|
|
17115
|
+
|
|
16540
17116
|
var exportFormats$3 = ['xlsx'];
|
|
16541
17117
|
var totalPageCount = 1;
|
|
16542
17118
|
var loadedPageCount = 1;
|
|
16543
17119
|
var totalRecordCount = 0;
|
|
16544
17120
|
var useToken$1 = antd.theme.useToken;
|
|
16545
17121
|
var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
16546
|
-
var _props$axiosRequest2, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
|
|
17122
|
+
var _props$axiosRequest2, _props$axiosRequest4, _props$axiosRequest5, _props$axiosRequest6, _props$axiosRequest7, _props$axiosRequest8, _props$axiosRequest9, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
|
|
16547
17123
|
var _useToken = useToken$1(),
|
|
16548
17124
|
token = _useToken.token;
|
|
16549
17125
|
var _useState = React.useState([]),
|
|
@@ -16556,12 +17132,6 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16556
17132
|
var gridRef = React.useRef(null);
|
|
16557
17133
|
var _useState3 = React.useState(0),
|
|
16558
17134
|
filteredRowCount = _useState3[0];
|
|
16559
|
-
var _useState4 = React.useState([]),
|
|
16560
|
-
kebabMenuButtons = _useState4[0],
|
|
16561
|
-
setKebabMenuButtons = _useState4[1];
|
|
16562
|
-
var _useState5 = React.useState([]),
|
|
16563
|
-
actionButtons = _useState5[0],
|
|
16564
|
-
setActionButtons = _useState5[1];
|
|
16565
17135
|
var headers = new Headers({
|
|
16566
17136
|
'Content-Type': 'application/json',
|
|
16567
17137
|
'Authorization': 'Bearer ' + (props.axiosRequest ? props.axiosRequest.token : ""),
|
|
@@ -16569,14 +17139,14 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16569
17139
|
});
|
|
16570
17140
|
React.useEffect(function () {
|
|
16571
17141
|
var _props$axiosRequest;
|
|
16572
|
-
if (
|
|
17142
|
+
if (Object.keys((_props$axiosRequest = props.axiosRequest) === null || _props$axiosRequest === void 0 ? void 0 : _props$axiosRequest.requestData).length > 0) {
|
|
16573
17143
|
totalPageCount = 1;
|
|
16574
17144
|
loadedPageCount = 1;
|
|
16575
17145
|
totalRecordCount = 0;
|
|
16576
17146
|
setData([]);
|
|
16577
17147
|
fetchData();
|
|
16578
17148
|
}
|
|
16579
|
-
}, [
|
|
17149
|
+
}, [(_props$axiosRequest2 = props.axiosRequest) === null || _props$axiosRequest2 === void 0 ? void 0 : _props$axiosRequest2.requestData]);
|
|
16580
17150
|
React.useEffect(function () {
|
|
16581
17151
|
localization.locale(localStorage.getItem("locale"));
|
|
16582
17152
|
localization.loadMessages(JSON.parse(localStorage.getItem("localTranslation")));
|
|
@@ -16584,14 +17154,26 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16584
17154
|
gridRef.current.instance.updateDimensions();
|
|
16585
17155
|
}
|
|
16586
17156
|
}, []);
|
|
16587
|
-
React.
|
|
17157
|
+
var actionButtons = React.useMemo(function () {
|
|
17158
|
+
if (props.actionButtonGroup) {
|
|
17159
|
+
if (props.actionButtonGroup.length >= 2 && !props.edit) {
|
|
17160
|
+
return props.actionButtonGroup.slice(0, 2);
|
|
17161
|
+
} else {
|
|
17162
|
+
return props.actionButtonGroup;
|
|
17163
|
+
}
|
|
17164
|
+
} else {
|
|
17165
|
+
return [];
|
|
17166
|
+
}
|
|
17167
|
+
}, [props.actionButtonGroup]);
|
|
17168
|
+
var kebabMenuButtons = React.useMemo(function () {
|
|
16588
17169
|
if (props.actionButtonGroup) {
|
|
16589
17170
|
if (props.actionButtonGroup.length >= 2 && !props.edit) {
|
|
16590
|
-
|
|
16591
|
-
setKebabMenuButtons(props.actionButtonGroup.slice(2, props.actionButtonGroup.length));
|
|
17171
|
+
return props.actionButtonGroup.slice(2, props.actionButtonGroup.length);
|
|
16592
17172
|
} else {
|
|
16593
|
-
|
|
17173
|
+
return [];
|
|
16594
17174
|
}
|
|
17175
|
+
} else {
|
|
17176
|
+
return [];
|
|
16595
17177
|
}
|
|
16596
17178
|
}, [props.actionButtonGroup]);
|
|
16597
17179
|
var handleRef = function handleRef(instance) {
|
|
@@ -16599,8 +17181,10 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16599
17181
|
gridRef.current = instance;
|
|
16600
17182
|
}
|
|
16601
17183
|
};
|
|
16602
|
-
var fetchData = function
|
|
17184
|
+
var fetchData = React.useCallback(function () {
|
|
16603
17185
|
try {
|
|
17186
|
+
var _props$axiosRequest3;
|
|
17187
|
+
if (Object.keys((_props$axiosRequest3 = props.axiosRequest) === null || _props$axiosRequest3 === void 0 ? void 0 : _props$axiosRequest3.requestData).length === 0) return Promise.resolve();
|
|
16604
17188
|
setIsLoading(true);
|
|
16605
17189
|
var _temp2 = function () {
|
|
16606
17190
|
if (props.isServerSide) {
|
|
@@ -16642,21 +17226,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16642
17226
|
} catch (e) {
|
|
16643
17227
|
return Promise.reject(e);
|
|
16644
17228
|
}
|
|
16645
|
-
};
|
|
16646
|
-
var
|
|
16647
|
-
setTimeout(function () {
|
|
16648
|
-
var dxScrollable = e.component.getScrollable();
|
|
16649
|
-
if (dxScrollable != null) {
|
|
16650
|
-
dxScrollable.off("scroll");
|
|
16651
|
-
dxScrollable.on("scroll", function (args) {
|
|
16652
|
-
if (args.reachedBottom) {
|
|
16653
|
-
getServerSide("reachedBottom");
|
|
16654
|
-
}
|
|
16655
|
-
});
|
|
16656
|
-
}
|
|
16657
|
-
}, 10);
|
|
16658
|
-
};
|
|
16659
|
-
var onEditorPreparing = function onEditorPreparing(e) {
|
|
17229
|
+
}, [(_props$axiosRequest4 = props.axiosRequest) === null || _props$axiosRequest4 === void 0 ? void 0 : _props$axiosRequest4.requestData, (_props$axiosRequest5 = props.axiosRequest) === null || _props$axiosRequest5 === void 0 ? void 0 : _props$axiosRequest5.apiUrl, (_props$axiosRequest6 = props.axiosRequest) === null || _props$axiosRequest6 === void 0 ? void 0 : _props$axiosRequest6.environmentUrl, (_props$axiosRequest7 = props.axiosRequest) === null || _props$axiosRequest7 === void 0 ? void 0 : _props$axiosRequest7.requestQueryString, (_props$axiosRequest8 = props.axiosRequest) === null || _props$axiosRequest8 === void 0 ? void 0 : _props$axiosRequest8.requestType, props.pageSize, props.isServerSide]);
|
|
17230
|
+
var onEditorPreparing = React.useCallback(function (e) {
|
|
16660
17231
|
if (e.row !== undefined && e.parentType === 'dataRow') {
|
|
16661
17232
|
if (props.isServerSide) {
|
|
16662
17233
|
var disableScrolling = function disableScrolling() {
|
|
@@ -16669,19 +17240,34 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16669
17240
|
e.editorOptions.onFocusOut = enableScrolling;
|
|
16670
17241
|
}
|
|
16671
17242
|
}
|
|
16672
|
-
};
|
|
16673
|
-
var getServerSide = function
|
|
16674
|
-
|
|
16675
|
-
|
|
16676
|
-
|
|
16677
|
-
|
|
16678
|
-
|
|
16679
|
-
|
|
16680
|
-
|
|
17243
|
+
}, [props.isServerSide]);
|
|
17244
|
+
var getServerSide = React.useCallback(function (type) {
|
|
17245
|
+
try {
|
|
17246
|
+
var run = throttle_1(function (type) {
|
|
17247
|
+
try {
|
|
17248
|
+
return Promise.resolve(function () {
|
|
17249
|
+
if (type === "reachedBottom") {
|
|
17250
|
+
return function () {
|
|
17251
|
+
if (totalPageCount <= loadedPageCount) {} else {
|
|
17252
|
+
loadedPageCount = loadedPageCount + 1;
|
|
17253
|
+
return Promise.resolve(fetchData()).then(function () {});
|
|
17254
|
+
}
|
|
17255
|
+
}();
|
|
17256
|
+
}
|
|
17257
|
+
}());
|
|
17258
|
+
} catch (e) {
|
|
17259
|
+
return Promise.reject(e);
|
|
17260
|
+
}
|
|
17261
|
+
}, 5000, {
|
|
17262
|
+
trailing: false
|
|
17263
|
+
});
|
|
17264
|
+
run(type);
|
|
17265
|
+
return Promise.resolve();
|
|
17266
|
+
} catch (e) {
|
|
17267
|
+
return Promise.reject(e);
|
|
16681
17268
|
}
|
|
16682
|
-
|
|
16683
|
-
|
|
16684
|
-
var onExporting = function onExporting(e) {
|
|
17269
|
+
}, [totalPageCount, loadedPageCount, fetchData]);
|
|
17270
|
+
var onExporting = React.useCallback(function (e) {
|
|
16685
17271
|
if (e.format === 'xlsx') {
|
|
16686
17272
|
var workbook = new exceljs.Workbook();
|
|
16687
17273
|
excel_exporter.exportDataGrid({
|
|
@@ -16705,8 +17291,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16705
17291
|
doc.save(fileName + '.pdf');
|
|
16706
17292
|
});
|
|
16707
17293
|
}
|
|
16708
|
-
};
|
|
16709
|
-
var customLoad = function
|
|
17294
|
+
}, [fileName]);
|
|
17295
|
+
var customLoad = React.useCallback(function () {
|
|
16710
17296
|
var state = JSON.parse(localStorage.getItem(props.exportFileName + "Storage"));
|
|
16711
17297
|
if (localStorage.getItem(props.exportFileName + "Storage")) {
|
|
16712
17298
|
state.selectedRowKeys = [];
|
|
@@ -16717,8 +17303,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16717
17303
|
};
|
|
16718
17304
|
}
|
|
16719
17305
|
return state;
|
|
16720
|
-
};
|
|
16721
|
-
var customSave = function
|
|
17306
|
+
}, [props.filterEnabledShow]);
|
|
17307
|
+
var customSave = React.useCallback(function (state) {
|
|
16722
17308
|
state.selectedRowKeys = [];
|
|
16723
17309
|
if (props.filterEnabledShow) state.filterPanel = {
|
|
16724
17310
|
filterEnabled: false
|
|
@@ -16726,8 +17312,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16726
17312
|
filterEnabled: true
|
|
16727
17313
|
};
|
|
16728
17314
|
localStorage.setItem(props.exportFileName + "Storage", JSON.stringify(state));
|
|
16729
|
-
};
|
|
16730
|
-
var onEditorPrepared = function
|
|
17315
|
+
}, [props.filterEnabledShow]);
|
|
17316
|
+
var onEditorPrepared = React.useCallback(function (info) {
|
|
16731
17317
|
if (info.parentType === 'filterRow' && info.editorName === "dxSelectBox" && info.dataField === "IsActive") {
|
|
16732
17318
|
if (info.dataSource != null && info.dataSource.length > 0) {
|
|
16733
17319
|
info.showAllText = info.dataSource.find(function (i) {
|
|
@@ -16741,8 +17327,8 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16741
17327
|
}).label;
|
|
16742
17328
|
}
|
|
16743
17329
|
}
|
|
16744
|
-
};
|
|
16745
|
-
var renderTotal = function
|
|
17330
|
+
}, []);
|
|
17331
|
+
var renderTotal = React.useCallback(function () {
|
|
16746
17332
|
var totalloaded = 0;
|
|
16747
17333
|
if (data.length < 50) {
|
|
16748
17334
|
totalloaded = data.length;
|
|
@@ -16751,20 +17337,20 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16751
17337
|
}
|
|
16752
17338
|
var result = "";
|
|
16753
17339
|
if (filteredRowCount > 0) {
|
|
16754
|
-
result = totalloaded +
|
|
17340
|
+
result = "" + totalloaded + props.customSummary.summaryFilteredDataLabel + (totalRecordCount > 0 ? totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalRecordCount) + props.customSummary.summaryTotalDataLabel : " ");
|
|
16755
17341
|
} else {
|
|
16756
|
-
result = totalRecordCount > 0 ? totalloaded + "
|
|
17342
|
+
result = totalRecordCount > 0 ? totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalRecordCount) + props.customSummary.summaryTotalDataLabel : "";
|
|
16757
17343
|
}
|
|
16758
17344
|
return result;
|
|
16759
|
-
};
|
|
16760
|
-
var renderTotalPaging = function
|
|
17345
|
+
}, [data, filteredRowCount, loadedPageCount, props.pageSize, totalRecordCount]);
|
|
17346
|
+
var renderTotalPaging = React.useCallback(function () {
|
|
16761
17347
|
var result = "";
|
|
16762
17348
|
if (totalPageCount > 1) {
|
|
16763
17349
|
result = loadedPageCount + " / " + totalPageCount;
|
|
16764
17350
|
}
|
|
16765
17351
|
return result;
|
|
16766
|
-
};
|
|
16767
|
-
var actionCellRender = function
|
|
17352
|
+
}, [loadedPageCount, totalPageCount]);
|
|
17353
|
+
var actionCellRender = React.useMemo(function () {
|
|
16768
17354
|
return React__default.createElement(devextremeReact.DropDownButton, {
|
|
16769
17355
|
icon: server_browser.renderToString(React__default.createElement(DynamicIcon, {
|
|
16770
17356
|
iconName: 'kebabMenu'
|
|
@@ -16774,11 +17360,45 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16774
17360
|
return e.itemData.onClick();
|
|
16775
17361
|
}
|
|
16776
17362
|
});
|
|
17363
|
+
}, [kebabMenuButtons]);
|
|
17364
|
+
var onScrollEnd = React.useCallback(function () {
|
|
17365
|
+
getServerSide("reachedBottom");
|
|
17366
|
+
}, [(_props$axiosRequest9 = props.axiosRequest) === null || _props$axiosRequest9 === void 0 ? void 0 : _props$axiosRequest9.requestData, getServerSide]);
|
|
17367
|
+
var handleScroll = function handleScroll(e) {
|
|
17368
|
+
var run = debounce_1(function (e) {
|
|
17369
|
+
var _scrollable$scrollTop, _scrollable$clientHei, _scrollable$scrollHei;
|
|
17370
|
+
var scrollable = e.target;
|
|
17371
|
+
var top = (_scrollable$scrollTop = scrollable === null || scrollable === void 0 ? void 0 : scrollable.scrollTop) != null ? _scrollable$scrollTop : 0;
|
|
17372
|
+
var height = (_scrollable$clientHei = scrollable === null || scrollable === void 0 ? void 0 : scrollable.clientHeight) != null ? _scrollable$clientHei : 0;
|
|
17373
|
+
var scrollHeight = (_scrollable$scrollHei = scrollable === null || scrollable === void 0 ? void 0 : scrollable.scrollHeight) != null ? _scrollable$scrollHei : 0;
|
|
17374
|
+
var maxHeight = Math.max(top, height, scrollHeight) - 1;
|
|
17375
|
+
var reachedBottom = Math.ceil(top + height) >= maxHeight;
|
|
17376
|
+
console.log("reachedBottom", Math.ceil(top + height), maxHeight, reachedBottom);
|
|
17377
|
+
var lastScrollTop = 0;
|
|
17378
|
+
if (top < lastScrollTop) {
|
|
17379
|
+
return;
|
|
17380
|
+
}
|
|
17381
|
+
lastScrollTop = top <= 0 ? 0 : top;
|
|
17382
|
+
if (reachedBottom) {
|
|
17383
|
+
onScrollEnd();
|
|
17384
|
+
}
|
|
17385
|
+
}, 200);
|
|
17386
|
+
run(e);
|
|
16777
17387
|
};
|
|
17388
|
+
React.useEffect(function () {
|
|
17389
|
+
var scrollable = document.querySelector('.dx-scrollable-container');
|
|
17390
|
+
if (scrollable) {
|
|
17391
|
+
scrollable.addEventListener('scrollend', handleScroll);
|
|
17392
|
+
}
|
|
17393
|
+
return function () {
|
|
17394
|
+
if (scrollable) {
|
|
17395
|
+
scrollable.removeEventListener('scrollend', handleScroll);
|
|
17396
|
+
}
|
|
17397
|
+
};
|
|
17398
|
+
}, [data.length]);
|
|
16778
17399
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(DataGrid__default, {
|
|
16779
17400
|
keyExpr: props.keyExpr,
|
|
16780
17401
|
dataSource: props.isServerSide ? data : props.dataSource,
|
|
16781
|
-
onContentReady: onContentReady,
|
|
16782
17402
|
showBorders: true,
|
|
16783
17403
|
columnAutoWidth: false,
|
|
16784
17404
|
onEditorPreparing: onEditorPreparing,
|
|
@@ -16843,10 +17463,12 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16843
17463
|
dataField: "Actionss",
|
|
16844
17464
|
fixed: true,
|
|
16845
17465
|
allowSorting: false,
|
|
16846
|
-
caption:
|
|
17466
|
+
caption: props.actionButtonGroupCaption,
|
|
16847
17467
|
type: "buttons",
|
|
16848
17468
|
showInColumnChooser: false,
|
|
16849
|
-
cellRender:
|
|
17469
|
+
cellRender: function cellRender() {
|
|
17470
|
+
return actionCellRender;
|
|
17471
|
+
}
|
|
16850
17472
|
}), props.edit && React__default.createElement(DataGrid.Editing, {
|
|
16851
17473
|
mode: props.edit.mode,
|
|
16852
17474
|
allowUpdating: props.edit.allowUpdating,
|
|
@@ -16964,7 +17586,6 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
|
|
|
16964
17586
|
customSave: customSave
|
|
16965
17587
|
})));
|
|
16966
17588
|
};
|
|
16967
|
-
var OdsRemoteDataGrid$1 = React__default.memo(OdsRemoteDataGrid);
|
|
16968
17589
|
|
|
16969
17590
|
exports.DxTreeList = DxTreeList;
|
|
16970
17591
|
exports.DxTreeView = DxTreeView;
|
|
@@ -17005,7 +17626,7 @@ exports.OdsRadio = OdsRadio;
|
|
|
17005
17626
|
exports.OdsRadioGroup = OdsRadioGroup;
|
|
17006
17627
|
exports.OdsRangeTimepicker = OdsRangeTimepicker;
|
|
17007
17628
|
exports.OdsRate = OdsRate;
|
|
17008
|
-
exports.OdsRemoteDataGrid = OdsRemoteDataGrid
|
|
17629
|
+
exports.OdsRemoteDataGrid = OdsRemoteDataGrid;
|
|
17009
17630
|
exports.OdsSearch = OdsSearch;
|
|
17010
17631
|
exports.OdsSelect = OdsSelect;
|
|
17011
17632
|
exports.OdsSelectableTable = OdsSelectableTable;
|