ng-virtual-list 18.11.2 → 18.12.0
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/README.md +115 -111
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +170 -61
- package/esm2022/lib/components/ng-list-item/const/index.mjs +41 -2
- package/esm2022/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +55 -51
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +5 -5
- package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +7 -1
- package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +17 -3
- package/esm2022/lib/components/ng-list-item/utils/index.mjs +3 -2
- package/esm2022/lib/components/ng-list-item/utils/matrix-3d.mjs +18 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +172 -47
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +32 -16
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +5 -5
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +58 -34
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +37 -7
- package/esm2022/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +58 -28
- package/esm2022/lib/components/ng-scroll-bar/const/index.mjs +8 -1
- package/esm2022/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +236 -88
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +170 -44
- package/esm2022/lib/components/ng-scroll-view/const/index.mjs +4 -2
- package/esm2022/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +610 -99
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +7 -1
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +12 -0
- package/esm2022/lib/components/ng-scroll-view/utils/get-dir.mjs +10 -0
- package/esm2022/lib/components/ng-scroll-view/utils/index.mjs +4 -2
- package/esm2022/lib/components/ng-scroll-view/utils/matrix-3d.mjs +15 -0
- package/esm2022/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +342 -160
- package/esm2022/lib/const/index.mjs +50 -10
- package/esm2022/lib/core/cache-map.mjs +1 -54
- package/esm2022/lib/core/const/index.mjs +3 -0
- package/esm2022/lib/core/enums/index.mjs +3 -0
- package/esm2022/lib/core/enums/item-display-methods.mjs +14 -0
- package/esm2022/lib/core/events/index.mjs +3 -0
- package/esm2022/lib/core/events/track-box-events.mjs +12 -0
- package/esm2022/lib/core/interfaces/get-item-position-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/get-metrics-returns.mjs +2 -0
- package/esm2022/lib/core/interfaces/index.mjs +2 -0
- package/esm2022/lib/core/interfaces/item.mjs +2 -0
- package/esm2022/lib/core/interfaces/metrics.mjs +2 -0
- package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-returns.mjs +2 -0
- package/esm2022/lib/core/track-box.mjs +601 -191
- package/esm2022/lib/core/tracker.mjs +14 -8
- package/esm2022/lib/core/types/cache-map-events.mjs +2 -0
- package/esm2022/lib/core/types/cache-map-listeners.mjs +2 -0
- package/esm2022/lib/core/types/cache.mjs +2 -0
- package/esm2022/lib/core/types/index.mjs +2 -0
- package/esm2022/lib/core/types/on-change-event-listener.mjs +2 -0
- package/esm2022/lib/core/types/on-tick-event-listener.mjs +2 -0
- package/esm2022/lib/core/utils/get-service-id-prop.mjs +10 -0
- package/esm2022/lib/core/utils/index.mjs +3 -0
- package/esm2022/lib/directives/index.mjs +3 -3
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +34 -13
- package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +67 -0
- package/esm2022/lib/directives/virtual-click/virtual-click.module.mjs +19 -0
- package/esm2022/lib/enums/alignments.mjs +12 -0
- package/esm2022/lib/enums/collapsing-modes.mjs +22 -0
- package/esm2022/lib/enums/index.mjs +8 -4
- package/esm2022/lib/enums/selecting-modes-types.mjs +22 -0
- package/esm2022/lib/enums/selecting-modes.mjs +22 -0
- package/esm2022/lib/enums/snap-to-item-aligns.mjs +22 -0
- package/esm2022/lib/enums/spreading-modes.mjs +18 -0
- package/esm2022/lib/interfaces/animation-params.mjs +1 -1
- package/esm2022/lib/interfaces/base-virtual-list-item-component.mjs +2 -9
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/item-transformation.mjs +2 -0
- package/esm2022/lib/interfaces/point.mjs +2 -0
- package/esm2022/lib/interfaces/scroll-options.mjs +1 -1
- package/esm2022/lib/interfaces/scroll-params.mjs +1 -1
- package/esm2022/lib/models/item-config-map.model.mjs +1 -1
- package/esm2022/lib/models/item.model.mjs +1 -1
- package/esm2022/lib/models/render-item-config.model.mjs +1 -1
- package/esm2022/lib/models/render-item-measures.model.mjs +1 -1
- package/esm2022/lib/ng-virtual-list-public.service.mjs +6 -7
- package/esm2022/lib/ng-virtual-list.component.mjs +2033 -903
- package/esm2022/lib/ng-virtual-list.service.mjs +91 -30
- package/esm2022/lib/transformations/deck-of-cards-3d.mjs +57 -0
- package/esm2022/lib/transformations/deck-of-cards.mjs +54 -0
- package/esm2022/lib/transformations/event-horizon.mjs +47 -0
- package/esm2022/lib/transformations/index.mjs +13 -0
- package/esm2022/lib/transformations/linear.mjs +47 -0
- package/esm2022/lib/transformations/swipe-3d.mjs +51 -0
- package/esm2022/lib/types/alignment.mjs +2 -0
- package/esm2022/lib/types/arithmetic-expression.mjs +2 -0
- package/esm2022/lib/types/collapsing-mode.mjs +2 -0
- package/esm2022/lib/types/collection-mode.mjs +2 -0
- package/esm2022/lib/types/color.mjs +2 -0
- package/esm2022/lib/types/direction.mjs +2 -0
- package/esm2022/lib/types/float-or-persentage-value.mjs +2 -0
- package/esm2022/lib/types/focus-item-params.mjs +1 -1
- package/esm2022/lib/types/gradient-color-position.mjs +1 -1
- package/esm2022/lib/types/index.mjs +1 -1
- package/esm2022/lib/types/item-transform.mjs +2 -0
- package/esm2022/lib/types/scroll-direction.mjs +1 -1
- package/esm2022/lib/types/selecting-mode.mjs +2 -0
- package/esm2022/lib/types/snap-to-item-align.mjs +2 -0
- package/esm2022/lib/types/snapping-distance.mjs +2 -0
- package/esm2022/lib/types/snapping-method.mjs +2 -0
- package/esm2022/lib/types/spreading-mode.mjs +2 -0
- package/esm2022/lib/types/text-direction.mjs +2 -0
- package/esm2022/lib/utils/animator/animator.mjs +28 -8
- package/esm2022/lib/utils/animator/const/index.mjs +2 -0
- package/esm2022/lib/utils/animator/index.mjs +3 -2
- package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/index.mjs +2 -0
- package/esm2022/lib/utils/animator/types/easing.mjs +1 -1
- package/esm2022/lib/utils/disposable-component.mjs +27 -0
- package/esm2022/lib/utils/event-emitter/event-emitter.mjs +1 -1
- package/esm2022/lib/utils/get-scroll-state-version.mjs +12 -0
- package/esm2022/lib/utils/is-collapse-mode.mjs +18 -0
- package/esm2022/lib/utils/is-collection-mode.mjs +1 -1
- package/esm2022/lib/utils/is-direction.mjs +1 -1
- package/esm2022/lib/utils/is-persentage-value.mjs +14 -0
- package/esm2022/lib/utils/is-select-mode.mjs +18 -0
- package/esm2022/lib/utils/is-spreading-mode.mjs +15 -0
- package/esm2022/lib/utils/list-validators.mjs +1 -1
- package/esm2022/lib/utils/normalize-collection.mjs +42 -0
- package/esm2022/lib/utils/object.mjs +1 -1
- package/esm2022/lib/utils/parse-arithmetic-expression.mjs +53 -0
- package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +17 -0
- package/esm2022/lib/utils/scrolling-direction.mjs +29 -0
- package/esm2022/lib/utils/snapping-method.mjs +1 -1
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ng-virtual-list.mjs +7545 -3904
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +40 -16
- package/lib/components/ng-list-item/const/index.d.ts +3 -1
- package/lib/components/ng-list-item/interfaces/template-context.d.ts +1 -1
- package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +5 -2
- package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +2 -2
- package/lib/components/ng-list-item/utils/create-display-id.d.ts +6 -0
- package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -1
- package/lib/components/ng-list-item/utils/index.d.ts +2 -1
- package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +69 -26
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +2 -2
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +2 -2
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +33 -12
- package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +1 -0
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +20 -17
- package/lib/components/ng-scroll-bar/const/index.d.ts +2 -0
- package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +2 -2
- package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +75 -24
- package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +49 -16
- package/lib/components/ng-scroll-view/const/index.d.ts +3 -1
- package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +4 -1
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +79 -11
- package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +6 -0
- package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/index.d.ts +3 -1
- package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-scroller/enums/scroller-directions.d.ts +2 -1
- package/lib/components/ng-scroller/ng-scroller.component.d.ts +111 -47
- package/lib/const/index.d.ts +46 -5
- package/lib/core/cache-map.d.ts +0 -10
- package/lib/core/const/index.d.ts +1 -0
- package/lib/core/enums/index.d.ts +2 -0
- package/lib/core/enums/item-display-methods.d.ts +12 -0
- package/lib/core/events/index.d.ts +2 -0
- package/lib/core/events/track-box-events.d.ts +10 -0
- package/lib/core/interfaces/get-item-position-options.d.ts +10 -0
- package/lib/core/interfaces/get-metrics-returns.d.ts +11 -0
- package/lib/core/interfaces/index.d.ts +8 -0
- package/lib/core/interfaces/item.d.ts +9 -0
- package/lib/core/interfaces/metrics.d.ts +51 -0
- package/lib/core/interfaces/recalculate-metrics-options.d.ts +32 -0
- package/lib/core/interfaces/update-collection-options.d.ts +10 -0
- package/lib/core/interfaces/update-collection-returns.d.ts +14 -0
- package/lib/core/track-box.d.ts +25 -95
- package/lib/core/tracker.d.ts +1 -1
- package/lib/core/types/cache-map-events.d.ts +8 -0
- package/lib/core/types/cache-map-listeners.d.ts +9 -0
- package/lib/core/types/cache.d.ts +12 -0
- package/lib/core/types/index.d.ts +6 -0
- package/lib/core/types/on-change-event-listener.d.ts +7 -0
- package/lib/core/types/on-tick-event-listener.d.ts +7 -0
- package/lib/core/utils/get-service-id-prop.d.ts +7 -0
- package/lib/core/utils/index.d.ts +2 -0
- package/lib/directives/index.d.ts +2 -2
- package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +16 -6
- package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -0
- package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -0
- package/lib/enums/alignments.d.ts +10 -0
- package/lib/enums/collapsing-modes.d.ts +20 -0
- package/lib/enums/index.d.ts +7 -9
- package/lib/enums/{method-for-selecting-types.d.ts → selecting-modes-types.d.ts} +3 -3
- package/lib/enums/{methods-for-selecting.d.ts → selecting-modes.d.ts} +3 -3
- package/lib/enums/snap-to-item-aligns.d.ts +20 -0
- package/lib/enums/spreading-modes.d.ts +16 -0
- package/lib/interfaces/animation-params.d.ts +1 -0
- package/lib/interfaces/base-virtual-list-item-component.d.ts +13 -13
- package/lib/interfaces/index.d.ts +3 -2
- package/lib/interfaces/item-transformation.d.ts +22 -0
- package/lib/interfaces/point.d.ts +16 -0
- package/lib/interfaces/scroll-options.d.ts +4 -0
- package/lib/interfaces/scroll-params.d.ts +3 -2
- package/lib/models/item-config-map.model.d.ts +5 -0
- package/lib/models/item.model.d.ts +7 -0
- package/lib/models/render-item-config.model.d.ts +50 -0
- package/lib/models/render-item-measures.model.d.ts +71 -0
- package/lib/ng-virtual-list-public.service.d.ts +4 -5
- package/lib/ng-virtual-list.component.d.ts +462 -135
- package/lib/ng-virtual-list.service.d.ts +33 -12
- package/lib/transformations/deck-of-cards-3d.d.ts +54 -0
- package/lib/transformations/deck-of-cards.d.ts +50 -0
- package/lib/transformations/event-horizon.d.ts +26 -0
- package/lib/transformations/index.d.ts +7 -0
- package/lib/transformations/linear.d.ts +26 -0
- package/lib/transformations/swipe-3d.d.ts +38 -0
- package/lib/types/alignment.d.ts +8 -0
- package/lib/types/arithmetic-expression.d.ts +10 -0
- package/lib/types/collapsing-mode.d.ts +8 -0
- package/lib/{enums → types}/collection-mode.d.ts +1 -1
- package/lib/types/color.d.ts +4 -0
- package/lib/{enums → types}/direction.d.ts +1 -1
- package/lib/types/float-or-persentage-value.d.ts +7 -0
- package/lib/types/focus-item-params.d.ts +6 -0
- package/lib/types/gradient-color-position.d.ts +1 -1
- package/lib/types/index.d.ts +15 -1
- package/lib/types/item-transform.d.ts +9 -0
- package/lib/types/scroll-direction.d.ts +2 -0
- package/lib/types/selecting-mode.d.ts +8 -0
- package/lib/types/snap-to-item-align.d.ts +8 -0
- package/lib/types/snapping-distance.d.ts +8 -0
- package/lib/{enums → types}/snapping-method.d.ts +1 -1
- package/lib/types/spreading-mode.d.ts +8 -0
- package/lib/{enums → types}/text-direction.d.ts +1 -1
- package/lib/utils/animator/animator.d.ts +10 -17
- package/lib/utils/animator/const/index.d.ts +1 -0
- package/lib/utils/animator/index.d.ts +2 -1
- package/lib/utils/animator/interfaces/animator-params.d.ts +18 -0
- package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -0
- package/lib/utils/animator/interfaces/index.d.ts +3 -0
- package/lib/utils/animator/types/easing.d.ts +6 -0
- package/lib/utils/disposable-component.d.ts +15 -0
- package/lib/utils/get-scroll-state-version.d.ts +1 -0
- package/lib/utils/is-collapse-mode.d.ts +8 -0
- package/lib/utils/is-collection-mode.d.ts +1 -1
- package/lib/utils/is-direction.d.ts +1 -1
- package/lib/utils/is-persentage-value.d.ts +7 -0
- package/lib/utils/is-select-mode.d.ts +8 -0
- package/lib/utils/is-spreading-mode.d.ts +8 -0
- package/lib/utils/list-validators.d.ts +1 -1
- package/lib/utils/normalize-collection.d.ts +8 -0
- package/lib/utils/object.d.ts +1 -1
- package/lib/utils/parse-arithmetic-expression.d.ts +8 -0
- package/lib/utils/parse-float-or-persentage-value.d.ts +7 -0
- package/lib/utils/scrolling-direction.d.ts +17 -0
- package/lib/utils/snapping-method.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/esm2022/lib/components/ng-scroller/const/index.mjs +0 -2
- package/esm2022/lib/directives/item-click/item-click.directive.mjs +0 -59
- package/esm2022/lib/directives/item-click/item-click.module.mjs +0 -19
- package/esm2022/lib/enums/collection-mode.mjs +0 -2
- package/esm2022/lib/enums/direction.mjs +0 -2
- package/esm2022/lib/enums/method-for-selecting-types.mjs +0 -22
- package/esm2022/lib/enums/method-for-selecting.mjs +0 -2
- package/esm2022/lib/enums/methods-for-selecting.mjs +0 -22
- package/esm2022/lib/enums/snapping-method.mjs +0 -2
- package/esm2022/lib/enums/text-direction.mjs +0 -2
- package/esm2022/lib/utils/is-method-for-selecting.mjs +0 -18
- package/lib/components/ng-scroller/const/index.d.ts +0 -1
- package/lib/directives/item-click/item-click.directive.d.ts +0 -19
- package/lib/directives/item-click/item-click.module.d.ts +0 -8
- package/lib/enums/method-for-selecting.d.ts +0 -8
- package/lib/utils/is-method-for-selecting.d.ts +0 -8
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CollapsingModes } from "../enums";
|
|
2
|
+
const NONE_ALIASES = [CollapsingModes.NONE, 'none'], MULTIMPLE_ALIASES = [CollapsingModes.MULTI_COLLAPSE, 'multi-collapse'], ACCORDION_ALIASES = [CollapsingModes.ACCORDION, 'accordion'];
|
|
3
|
+
/**
|
|
4
|
+
* Defines the mode for collapsing list items.
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/is-collapse-mode.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export const isCollapseMode = (src, expected) => {
|
|
10
|
+
if (NONE_ALIASES.includes(expected)) {
|
|
11
|
+
return NONE_ALIASES.includes(src);
|
|
12
|
+
}
|
|
13
|
+
else if (MULTIMPLE_ALIASES.includes(expected)) {
|
|
14
|
+
return MULTIMPLE_ALIASES.includes(src);
|
|
15
|
+
}
|
|
16
|
+
return ACCORDION_ALIASES.includes(src);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29sbGFwc2UtbW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLWNvbGxhcHNlLW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUczQyxNQUFNLFlBQVksR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQy9DLGlCQUFpQixHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxFQUN0RSxpQkFBaUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFakU7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUNyRixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztTQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxhcHNpbmdNb2RlcyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBDb2xsYXBzaW5nTW9kZSB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuY29uc3QgTk9ORV9BTElBU0VTID0gW0NvbGxhcHNpbmdNb2Rlcy5OT05FLCAnbm9uZSddLFxyXG4gICAgTVVMVElNUExFX0FMSUFTRVMgPSBbQ29sbGFwc2luZ01vZGVzLk1VTFRJX0NPTExBUFNFLCAnbXVsdGktY29sbGFwc2UnXSxcclxuICAgIEFDQ09SRElPTl9BTElBU0VTID0gW0NvbGxhcHNpbmdNb2Rlcy5BQ0NPUkRJT04sICdhY2NvcmRpb24nXTtcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIHRoZSBtb2RlIGZvciBjb2xsYXBzaW5nIGxpc3QgaXRlbXMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE4LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtY29sbGFwc2UtbW9kZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0NvbGxhcHNlTW9kZSA9IChzcmM6IENvbGxhcHNpbmdNb2RlLCBleHBlY3RlZDogQ29sbGFwc2luZ01vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChOT05FX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIE5PTkVfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfSBlbHNlIGlmIChNVUxUSU1QTEVfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gTVVMVElNUExFX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxuICAgIH1cclxuICAgIHJldHVybiBBQ0NPUkRJT05fQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG59XHJcbiJdfQ==
|
|
@@ -12,4 +12,4 @@ export const isCollectionMode = (src, expected) => {
|
|
|
12
12
|
}
|
|
13
13
|
return NORMAL_ALIASES.includes(src);
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29sbGVjdGlvbi1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtY29sbGVjdGlvbi1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUNyRCxZQUFZLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRWxEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFtQixFQUFFLFFBQXdCLEVBQVcsRUFBRTtJQUN2RixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uTW9kZXMgfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgQ29sbGVjdGlvbk1vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PUk1BTF9BTElBU0VTID0gW0NvbGxlY3Rpb25Nb2Rlcy5OT1JNQUwsICdub3JtYWwnXSxcclxuICAgIExBWllfQUxJQVNFUyA9IFtDb2xsZWN0aW9uTW9kZXMuTEFaWSwgJ2xhenknXTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBheGlzIG1lbWJlcnNoaXAgb2YgYSB2aXJ0dWFsIGxpc3RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTgueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1jb2xsZWN0aW9uLW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0aW9uTW9kZSA9IChzcmM6IENvbGxlY3Rpb25Nb2RlLCBleHBlY3RlZDogQ29sbGVjdGlvbk1vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChMQVpZX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIExBWllfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE5PUk1BTF9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbn0iXX0=
|
|
@@ -12,4 +12,4 @@ export const isDirection = (src, expected) => {
|
|
|
12
12
|
}
|
|
13
13
|
return VERTICAL_ALIASES.includes(src);
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtZGlyZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLEVBQzVELGdCQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUV6RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQWMsRUFBRSxRQUFtQixFQUFXLEVBQUU7SUFDeEUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9ucyB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IEhPUklaT05UQUxfQUxJQVNFUyA9IFtEaXJlY3Rpb25zLkhPUklaT05UQUwsICdob3Jpem9udGFsJ10sXHJcbiAgICBWRVJUSUNBTF9BTElBU0VTID0gW0RpcmVjdGlvbnMuVkVSVElDQUwsICd2ZXJ0aWNhbCddO1xyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgdGhlIGF4aXMgbWVtYmVyc2hpcCBvZiBhIHZpcnR1YWwgbGlzdFxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xOC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLWRpcmVjdGlvbi50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0RpcmVjdGlvbiA9IChzcmM6IERpcmVjdGlvbiwgZXhwZWN0ZWQ6IERpcmVjdGlvbik6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKEhPUklaT05UQUxfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gSE9SSVpPTlRBTF9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gVkVSVElDQUxfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG59Il19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PERCENTAGE_VALUE_PATTERN } from "../const";
|
|
2
|
+
/**
|
|
3
|
+
* isPercentageValue
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/is-persentage-value.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export const isPercentageValue = (value) => {
|
|
9
|
+
if (value === undefined || typeof value === 'number') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return PERCENTAGE_VALUE_PATTERN.test(value);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcGVyc2VudGFnZS12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLXBlcnNlbnRhZ2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFxQyxFQUFFLEVBQUU7SUFDdkUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQRVJDRU5UQUdFX1ZBTFVFX1BBVFRFUk4gfSBmcm9tIFwiLi4vY29uc3RcIjtcclxuXHJcbi8qKlxyXG4gKiBpc1BlcmNlbnRhZ2VWYWx1ZVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xOC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2lzLXBlcnNlbnRhZ2UtdmFsdWUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNQZXJjZW50YWdlVmFsdWUgPSAodmFsdWU6IG51bWJlciB8IGAke251bWJlcn0lYCB8IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBQRVJDRU5UQUdFX1ZBTFVFX1BBVFRFUk4udGVzdCh2YWx1ZSk7XHJcbn07Il19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SelectingModes } from "../enums";
|
|
2
|
+
const NONE_ALIASES = [SelectingModes.NONE, 'none'], SELECT_ALIASES = [SelectingModes.SELECT, 'select'], MULTI_SELECT_ALIASES = [SelectingModes.MULTI_SELECT, 'multi-select'];
|
|
3
|
+
/**
|
|
4
|
+
* Defines the mode for selecting list items.
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/is-select-mode.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export const isSelectMode = (src, expected) => {
|
|
10
|
+
if (NONE_ALIASES.includes(expected)) {
|
|
11
|
+
return NONE_ALIASES.includes(src);
|
|
12
|
+
}
|
|
13
|
+
else if (SELECT_ALIASES.includes(expected)) {
|
|
14
|
+
return SELECT_ALIASES.includes(src);
|
|
15
|
+
}
|
|
16
|
+
return MULTI_SELECT_ALIASES.includes(src);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0LW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zZWxlY3QtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzFDLE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFDOUMsY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDbEQsb0JBQW9CLEdBQUcsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRXpFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBa0IsRUFBRSxRQUF1QixFQUFXLEVBQUU7SUFDakYsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbEMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7U0FBTSxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELE9BQU8sb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGluZ01vZGVzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IFNlbGVjdGluZ01vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PTkVfQUxJQVNFUyA9IFtTZWxlY3RpbmdNb2Rlcy5OT05FLCAnbm9uZSddLFxyXG4gICAgU0VMRUNUX0FMSUFTRVMgPSBbU2VsZWN0aW5nTW9kZXMuU0VMRUNULCAnc2VsZWN0J10sXHJcbiAgICBNVUxUSV9TRUxFQ1RfQUxJQVNFUyA9IFtTZWxlY3RpbmdNb2Rlcy5NVUxUSV9TRUxFQ1QsICdtdWx0aS1zZWxlY3QnXTtcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIHRoZSBtb2RlIGZvciBzZWxlY3RpbmcgbGlzdCBpdGVtcy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTgueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zZWxlY3QtbW9kZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc1NlbGVjdE1vZGUgPSAoc3JjOiBTZWxlY3RpbmdNb2RlLCBleHBlY3RlZDogU2VsZWN0aW5nTW9kZSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKE5PTkVfQUxJQVNFUy5pbmNsdWRlcyhleHBlY3RlZCkpIHtcclxuICAgICAgICByZXR1cm4gTk9ORV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9IGVsc2UgaWYgKFNFTEVDVF9BTElBU0VTLmluY2x1ZGVzKGV4cGVjdGVkKSkge1xyXG4gICAgICAgIHJldHVybiBTRUxFQ1RfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE1VTFRJX1NFTEVDVF9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SpreadingModes } from "../enums";
|
|
2
|
+
const NORMAL_ALIASES = [SpreadingModes.NORMAL, 'normal'], INFINITY_ALIASES = [SpreadingModes.INFINITY, 'infinity'];
|
|
3
|
+
/**
|
|
4
|
+
* Determines the display mode of list items.
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/is-select-mode.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export const isSpreadingMode = (src, expected) => {
|
|
10
|
+
if (INFINITY_ALIASES.includes(expected)) {
|
|
11
|
+
return INFINITY_ALIASES.includes(src);
|
|
12
|
+
}
|
|
13
|
+
return NORMAL_ALIASES.includes(src);
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3ByZWFkaW5nLW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pcy1zcHJlYWRpbmctbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzFDLE1BQU0sY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDcEQsZ0JBQWdCLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRTdEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBa0IsRUFBRSxRQUF1QixFQUFXLEVBQUU7SUFDcEYsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwcmVhZGluZ01vZGVzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IFNwcmVhZGluZ01vZGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IE5PUk1BTF9BTElBU0VTID0gW1NwcmVhZGluZ01vZGVzLk5PUk1BTCwgJ25vcm1hbCddLFxyXG4gICAgSU5GSU5JVFlfQUxJQVNFUyA9IFtTcHJlYWRpbmdNb2Rlcy5JTkZJTklUWSwgJ2luZmluaXR5J107XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB0aGUgZGlzcGxheSBtb2RlIG9mIGxpc3QgaXRlbXMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE4LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvaXMtc2VsZWN0LW1vZGUudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNTcHJlYWRpbmdNb2RlID0gKHNyYzogU3ByZWFkaW5nTW9kZSwgZXhwZWN0ZWQ6IFNwcmVhZGluZ01vZGUpOiBib29sZWFuID0+IHtcclxuICAgIGlmIChJTkZJTklUWV9BTElBU0VTLmluY2x1ZGVzKGV4cGVjdGVkKSkge1xyXG4gICAgICAgIHJldHVybiBJTkZJTklUWV9BTElBU0VTLmluY2x1ZGVzKHNyYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTk9STUFMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufVxyXG4iXX0=
|
|
@@ -24,4 +24,4 @@ export const validateScrollIteration = (value) => {
|
|
|
24
24
|
throw Error('The "align" parameter must have the value `none`, `start`, `center` or `end`.');
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvbGlzdC12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1SCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLEVBQ0csVUFBVSxHQUFHLENBQUMsRUFBTSxFQUFFLEVBQUU7SUFDcEIsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLEVBQVksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxFQUFZLENBQUMsQ0FBQztJQUMxRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVCxNQUFNLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDTCxDQUFDLEVBQ0Qsc0JBQXNCLEdBQUcsQ0FBQyxRQUF3RCxFQUFFLEVBQUU7SUFDbEYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDN0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1QsTUFBTSxLQUFLLENBQUMsNkVBQTZFLENBQUMsQ0FBQztJQUMvRixDQUFDO0FBQ0wsQ0FBQyxFQUNELGlCQUFpQixHQUFHLENBQUMsU0FBNkIsRUFBRSxFQUFFO0lBQ2xELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1QsTUFBTSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0wsQ0FBQyxFQUNELHNCQUFzQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNsSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVCxNQUFNLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNQVhfU0NST0xMX1RPX0lURVJBVElPTlMgfSBmcm9tIFwiLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgRm9jdXNBbGlnbm1lbnQsIElkIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IHZhbGlkYXRlRmxvYXQsIHZhbGlkYXRlSW50LCB2YWxpZGF0ZVN0cmluZyB9IGZyb20gXCIuL3ZhbGlkYXRpb25cIjtcclxuXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNjcm9sbEl0ZXJhdGlvbiA9ICh2YWx1ZTogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBOdW1iZXIuaXNOYU4odmFsdWUpIHx8ICh2YWx1ZSA8IDApID8gMCA6IHZhbHVlID4gTUFYX1NDUk9MTF9UT19JVEVSQVRJT05TID8gTUFYX1NDUk9MTF9UT19JVEVSQVRJT05TIDogdmFsdWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59LFxyXG4gICAgdmFsaWRhdGVJZCA9IChpZDogSWQpID0+IHtcclxuICAgICAgICBjb25zdCB2YWxpZCA9IHZhbGlkYXRlU3RyaW5nKGlkIGFzIHN0cmluZykgfHwgdmFsaWRhdGVGbG9hdChpZCBhcyBudW1iZXIpO1xyXG4gICAgICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBcImlkXCIgcGFyYW1ldGVyIG11c3QgYmUgb2YgdHlwZSBgSWRgLicpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2YWxpZGF0ZVNjcm9sbEJlaGF2aW9yID0gKGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvciB8ICdhdXRvJyB8ICdpbnN0YW50JyB8ICdzbW9vdGgnKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsaWQgPSB2YWxpZGF0ZVN0cmluZyhiZWhhdmlvciBhcyBzdHJpbmcpICYmIChiZWhhdmlvciA9PT0gJ2F1dG8nIHx8IGJlaGF2aW9yID09PSAnaW5zdGFudCcgfHwgYmVoYXZpb3IgPT09ICdzbW9vdGgnKTtcclxuICAgICAgICBpZiAoIXZhbGlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgXCJiZWhhdmlvclwiIHBhcmFtZXRlciBtdXN0IGhhdmUgdGhlIHZhbHVlIGBhdXRvYCwgYGluc3RhbnRgIG9yIGBzbW9vdGhgLicpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2YWxpZGF0ZUl0ZXJhdGlvbiA9IChpdGVyYXRpb246IG51bWJlciB8IHVuZGVmaW5lZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGVJbnQoaXRlcmF0aW9uLCB0cnVlKTtcclxuICAgICAgICBpZiAoIXZhbGlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgXCJpdGVyYXRpb25cIiBwYXJhbWV0ZXIgbXVzdCBiZSBvZiB0eXBlIGBudW1iZXJgLicpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2YWxpZGF0ZUZvY3VzQWxpZ25tZW50ID0gKGFsaWduOiBGb2N1c0FsaWdubWVudCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGVTdHJpbmcoYWxpZ24gYXMgc3RyaW5nKSAmJiAoYWxpZ24gPT09ICdub25lJyB8fCBhbGlnbiA9PT0gJ3N0YXJ0JyB8fCBhbGlnbiA9PT0gJ2NlbnRlcicgfHwgYWxpZ24gPT09ICdlbmQnKTtcclxuICAgICAgICBpZiAoIXZhbGlkKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgXCJhbGlnblwiIHBhcmFtZXRlciBtdXN0IGhhdmUgdGhlIHZhbHVlIGBub25lYCwgYHN0YXJ0YCwgYGNlbnRlcmAgb3IgYGVuZGAuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfTsiXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SERVICE_PROP_DUMMY, SERVICE_PROP_DUMMY_ENABLED, SERVICE_PROP_DUMMY_ID, SERVICE_TYPE_DUMMY } from "../const";
|
|
2
|
+
/**
|
|
3
|
+
* normalizeCollection
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/normalize-collection.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export const normalizeCollection = (items, itemConfigMap, trackBy, divides) => {
|
|
9
|
+
if (divides > 1) {
|
|
10
|
+
const normalizedItems = [];
|
|
11
|
+
let ci = -1, emptyId = Number.MIN_SAFE_INTEGER, offset = 0;
|
|
12
|
+
for (let i = 0, l = items.length; i < l; i++) {
|
|
13
|
+
const ii = i + offset, item = items[i], id = item[trackBy] ?? null, config = id !== null ? itemConfigMap[id] : null, fullSize = !!config ? ((!!config.sticky && config.sticky > 0) || (config.fullSize === true)) : false;
|
|
14
|
+
if ((ii % divides) === 0) {
|
|
15
|
+
ci = 0;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
ci++;
|
|
19
|
+
}
|
|
20
|
+
if (fullSize && ii > 0 && ci !== 0) {
|
|
21
|
+
for (let j = ci; j < divides; j++) {
|
|
22
|
+
const dummyId = `${SERVICE_PROP_DUMMY_ID}-${i},${j}`;
|
|
23
|
+
normalizedItems.push({ [trackBy]: dummyId, [SERVICE_PROP_DUMMY]: SERVICE_PROP_DUMMY_ENABLED, type: SERVICE_TYPE_DUMMY });
|
|
24
|
+
emptyId++;
|
|
25
|
+
offset++;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
normalizedItems.push(item);
|
|
29
|
+
if (fullSize && (i < (l - 1))) {
|
|
30
|
+
for (let j = 1; j < divides; j++) {
|
|
31
|
+
const dummyId = `${SERVICE_PROP_DUMMY_ID}-${i},${j}`;
|
|
32
|
+
normalizedItems.push({ [trackBy]: dummyId, [SERVICE_PROP_DUMMY]: SERVICE_PROP_DUMMY_ENABLED, type: SERVICE_TYPE_DUMMY });
|
|
33
|
+
emptyId++;
|
|
34
|
+
offset++;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return normalizedItems;
|
|
39
|
+
}
|
|
40
|
+
return items;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9ub3JtYWxpemUtY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHckg7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQTZCLEVBQUUsYUFBd0MsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDN0ksSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDZCxNQUFNLGVBQWUsR0FBdUMsRUFBRSxDQUFDO1FBQy9ELElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLE1BQU0sR0FBRyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDL0csUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFFekcsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNYLENBQUM7aUJBQU0sQ0FBQztnQkFDSixFQUFFLEVBQUUsQ0FBQztZQUNULENBQUM7WUFFRCxJQUFJLFFBQVEsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNoQyxNQUFNLE9BQU8sR0FBRyxHQUFHLHFCQUFxQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDckQsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO29CQUN6SCxPQUFPLEVBQUUsQ0FBQztvQkFDVixNQUFNLEVBQUUsQ0FBQztnQkFDYixDQUFDO1lBQ0wsQ0FBQztZQUNELGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQy9CLE1BQU0sT0FBTyxHQUFHLEdBQUcscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNyRCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7b0JBQ3pILE9BQU8sRUFBRSxDQUFDO29CQUNWLE1BQU0sRUFBRSxDQUFDO2dCQUNiLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRVJWSUNFX1BST1BfRFVNTVksIFNFUlZJQ0VfUFJPUF9EVU1NWV9FTkFCTEVELCBTRVJWSUNFX1BST1BfRFVNTVlfSUQsIFNFUlZJQ0VfVFlQRV9EVU1NWSB9IGZyb20gXCIuLi9jb25zdFwiO1xyXG5pbXBvcnQgeyBJVmlydHVhbExpc3RDb2xsZWN0aW9uLCBJVmlydHVhbExpc3RJdGVtQ29uZmlnTWFwIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuLyoqXHJcbiAqIG5vcm1hbGl6ZUNvbGxlY3Rpb25cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTgueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9ub3JtYWxpemUtY29sbGVjdGlvbi50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBub3JtYWxpemVDb2xsZWN0aW9uID0gKGl0ZW1zOiBJVmlydHVhbExpc3RDb2xsZWN0aW9uLCBpdGVtQ29uZmlnTWFwOiBJVmlydHVhbExpc3RJdGVtQ29uZmlnTWFwLCB0cmFja0J5OiBzdHJpbmcsIGRpdmlkZXM6IG51bWJlcikgPT4ge1xyXG4gICAgaWYgKGRpdmlkZXMgPiAxKSB7XHJcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEl0ZW1zOiBJVmlydHVhbExpc3RDb2xsZWN0aW9uPGFueSB8IG51bGw+ID0gW107XHJcbiAgICAgICAgbGV0IGNpID0gLTEsIGVtcHR5SWQgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiwgb2Zmc2V0ID0gMDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpaSA9IGkgKyBvZmZzZXQsIGl0ZW0gPSBpdGVtc1tpXSwgaWQgPSBpdGVtW3RyYWNrQnldID8/IG51bGwsIGNvbmZpZyA9IGlkICE9PSBudWxsID8gaXRlbUNvbmZpZ01hcFtpZF0gOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZnVsbFNpemUgPSAhIWNvbmZpZyA/ICgoISFjb25maWcuc3RpY2t5ICYmIGNvbmZpZy5zdGlja3kgPiAwKSB8fCAoY29uZmlnLmZ1bGxTaXplID09PSB0cnVlKSkgOiBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIGlmICgoaWkgJSBkaXZpZGVzKSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgY2kgPSAwO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY2krKztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGZ1bGxTaXplICYmIGlpID4gMCAmJiBjaSAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IGNpOyBqIDwgZGl2aWRlczsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHVtbXlJZCA9IGAke1NFUlZJQ0VfUFJPUF9EVU1NWV9JRH0tJHtpfSwke2p9YDtcclxuICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkSXRlbXMucHVzaCh7IFt0cmFja0J5XTogZHVtbXlJZCwgW1NFUlZJQ0VfUFJPUF9EVU1NWV06IFNFUlZJQ0VfUFJPUF9EVU1NWV9FTkFCTEVELCB0eXBlOiBTRVJWSUNFX1RZUEVfRFVNTVkgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZW1wdHlJZCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRJdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoZnVsbFNpemUgJiYgKGkgPCAobCAtIDEpKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDE7IGogPCBkaXZpZGVzOyBqKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkdW1teUlkID0gYCR7U0VSVklDRV9QUk9QX0RVTU1ZX0lEfS0ke2l9LCR7an1gO1xyXG4gICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRJdGVtcy5wdXNoKHsgW3RyYWNrQnldOiBkdW1teUlkLCBbU0VSVklDRV9QUk9QX0RVTU1ZXTogU0VSVklDRV9QUk9QX0RVTU1ZX0VOQUJMRUQsIHR5cGU6IFNFUlZJQ0VfVFlQRV9EVU1NWSB9KTtcclxuICAgICAgICAgICAgICAgICAgICBlbXB0eUlkKys7XHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Kys7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRJdGVtcztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtcztcclxufVxyXG4iXX0=
|
|
@@ -25,4 +25,4 @@ export const copyValueAsReadonly = (source) => {
|
|
|
25
25
|
}
|
|
26
26
|
return source;
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQThDLE1BQVMsRUFBRSxFQUFFO0lBQ3ZGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNWLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxFQUFPLENBQUM7SUFDdkIsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2hDLEtBQUs7WUFDTCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFVLE1BQVMsRUFBRSxFQUFFO0lBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNWLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFpQixDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBvYmplY3RBc1JlYWRvbmx5ID0gPFQgPSB7IFt4OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ+KHNvdXJjZTogVCkgPT4ge1xyXG4gICAgaWYgKCFzb3VyY2UpIHtcclxuICAgICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIFQ7XHJcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gc291cmNlKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBzb3VyY2VbcHJvcF07XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgcHJvcCwge1xyXG4gICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY29weVZhbHVlQXNSZWFkb25seSA9IDxUID0gYW55Pihzb3VyY2U6IFQpID0+IHtcclxuICAgIGlmICghc291cmNlKSB7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUoWy4uLnNvdXJjZV0pIGFzIHVua25vd24gYXMgVDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICByZXR1cm4gb2JqZWN0QXNSZWFkb25seShzb3VyY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzb3VyY2U7XHJcbn0iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isPercentageValue } from "./is-persentage-value";
|
|
2
|
+
import { parseFloatOrPersentageValue } from "./parse-float-or-persentage-value";
|
|
3
|
+
const WHITESPACE = ' ', PLUS = '+', MINUS = '-', OPERATORS = [PLUS, MINUS];
|
|
4
|
+
const calculate = (exp, reference, operator = 1) => {
|
|
5
|
+
let result = 0;
|
|
6
|
+
const isPercentage = isPercentageValue(exp);
|
|
7
|
+
if (isPercentage) {
|
|
8
|
+
const v = parseFloatOrPersentageValue(exp);
|
|
9
|
+
result += (reference * v) * operator;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
result += (Number(exp) ?? 0) * operator;
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* parseArithmeticExpression
|
|
18
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/parse-arithmetic-expression.ts
|
|
19
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
20
|
+
* @email djonnyx@gmail.com
|
|
21
|
+
*/
|
|
22
|
+
export const parseArithmeticExpression = (value, reference) => {
|
|
23
|
+
if (typeof value === 'number') {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
let result = 0, operator = 1, exp = '';
|
|
27
|
+
for (let i = 0, l = value.length; i < l; i++) {
|
|
28
|
+
const char = value[i], isLast = i === l - 1;
|
|
29
|
+
if ((char === WHITESPACE) || isLast) {
|
|
30
|
+
if (isLast) {
|
|
31
|
+
exp = `${exp}${char}`;
|
|
32
|
+
}
|
|
33
|
+
if (exp.length > 0) {
|
|
34
|
+
result += calculate(exp, reference, operator);
|
|
35
|
+
}
|
|
36
|
+
exp = '';
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
else if (OPERATORS.indexOf(char) > -1) {
|
|
40
|
+
if (exp.length > 0) {
|
|
41
|
+
result += calculate(exp, reference, operator);
|
|
42
|
+
}
|
|
43
|
+
exp = '';
|
|
44
|
+
operator = char === PLUS ? 1 : -1;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
exp = `${exp}${char}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtYXJpdGhtZXRpYy1leHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvcGFyc2UtYXJpdGhtZXRpYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhGLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTNFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFFLFNBQWlCLEVBQUUsV0FBbUIsQ0FBQyxFQUFFLEVBQUU7SUFDdkUsSUFBSSxNQUFNLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsR0FBRywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ3pDLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEtBQTJCLEVBQUUsU0FBaUIsRUFBVSxFQUFFO0lBQ2hHLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksTUFBTSxHQUFXLENBQUMsRUFBRSxRQUFRLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDL0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUNELEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDVCxTQUFTO1FBQ2IsQ0FBQzthQUNJLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ1QsUUFBUSxHQUFHLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsU0FBUztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJpdGhtZXRpY0V4cHJlc3Npb24gfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuaW1wb3J0IHsgaXNQZXJjZW50YWdlVmFsdWUgfSBmcm9tIFwiLi9pcy1wZXJzZW50YWdlLXZhbHVlXCI7XHJcbmltcG9ydCB7IHBhcnNlRmxvYXRPclBlcnNlbnRhZ2VWYWx1ZSB9IGZyb20gXCIuL3BhcnNlLWZsb2F0LW9yLXBlcnNlbnRhZ2UtdmFsdWVcIjtcclxuXHJcbmNvbnN0IFdISVRFU1BBQ0UgPSAnICcsIFBMVVMgPSAnKycsIE1JTlVTID0gJy0nLCBPUEVSQVRPUlMgPSBbUExVUywgTUlOVVNdO1xyXG5cclxuY29uc3QgY2FsY3VsYXRlID0gKGV4cDogc3RyaW5nLCByZWZlcmVuY2U6IG51bWJlciwgb3BlcmF0b3I6IC0xIHwgMSA9IDEpID0+IHtcclxuICAgIGxldCByZXN1bHQ6IG51bWJlciA9IDA7XHJcbiAgICBjb25zdCBpc1BlcmNlbnRhZ2UgPSBpc1BlcmNlbnRhZ2VWYWx1ZShleHApO1xyXG4gICAgaWYgKGlzUGVyY2VudGFnZSkge1xyXG4gICAgICAgIGNvbnN0IHYgPSBwYXJzZUZsb2F0T3JQZXJzZW50YWdlVmFsdWUoZXhwKTtcclxuICAgICAgICByZXN1bHQgKz0gKHJlZmVyZW5jZSAqIHYpICogb3BlcmF0b3I7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdCArPSAoTnVtYmVyKGV4cCkgPz8gMCkgKiBvcGVyYXRvcjtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBwYXJzZUFyaXRobWV0aWNFeHByZXNzaW9uXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE4LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvcGFyc2UtYXJpdGhtZXRpYy1leHByZXNzaW9uLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHBhcnNlQXJpdGhtZXRpY0V4cHJlc3Npb24gPSAodmFsdWU6IEFyaXRobWV0aWNFeHByZXNzaW9uLCByZWZlcmVuY2U6IG51bWJlcik6IG51bWJlciA9PiB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzdWx0OiBudW1iZXIgPSAwLCBvcGVyYXRvcjogMSB8IC0xID0gMSwgZXhwOiBzdHJpbmcgPSAnJztcclxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgY2hhciA9IHZhbHVlW2ldLCBpc0xhc3QgPSBpID09PSBsIC0gMTtcclxuICAgICAgICBpZiAoKGNoYXIgPT09IFdISVRFU1BBQ0UpIHx8IGlzTGFzdCkge1xyXG4gICAgICAgICAgICBpZiAoaXNMYXN0KSB7XHJcbiAgICAgICAgICAgICAgICBleHAgPSBgJHtleHB9JHtjaGFyfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGV4cC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gY2FsY3VsYXRlKGV4cCwgcmVmZXJlbmNlLCBvcGVyYXRvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZXhwID0gJyc7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChPUEVSQVRPUlMuaW5kZXhPZihjaGFyKSA+IC0xKSB7XHJcbiAgICAgICAgICAgIGlmIChleHAubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGNhbGN1bGF0ZShleHAsIHJlZmVyZW5jZSwgb3BlcmF0b3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGV4cCA9ICcnO1xyXG4gICAgICAgICAgICBvcGVyYXRvciA9IGNoYXIgPT09IFBMVVMgPyAxIDogLTE7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGV4cCA9IGAke2V4cH0ke2NoYXJ9YDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isPercentageValue } from "./is-persentage-value";
|
|
2
|
+
const PERSENTS_100 = 100, PERSENTS_1 = 1, SIZE_PERSENT = '%', CHAR_NONE = '';
|
|
3
|
+
/**
|
|
4
|
+
* parseFloatOrPersentageValue
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/parse-float-or-persentage-value.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export const parseFloatOrPersentageValue = (value) => {
|
|
10
|
+
const isPercentage = isPercentageValue(value);
|
|
11
|
+
if (isPercentage) {
|
|
12
|
+
const v = parseFloat(String(value).replace(SIZE_PERSENT, CHAR_NONE));
|
|
13
|
+
return v / (isPercentage ? PERSENTS_100 : PERSENTS_1);
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZmxvYXQtb3ItcGVyc2VudGFnZS12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3BhcnNlLWZsb2F0LW9yLXBlcnNlbnRhZ2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUNwQixVQUFVLEdBQUcsQ0FBQyxFQUNkLFlBQVksR0FBRyxHQUFHLEVBQ2xCLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFbkI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQXFDLEVBQVUsRUFBRTtJQUN6RixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE9BQU8sS0FBZSxDQUFDO0FBQzNCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGVyY2VudGFnZVZhbHVlIH0gZnJvbSBcIi4vaXMtcGVyc2VudGFnZS12YWx1ZVwiO1xyXG5cclxuY29uc3QgUEVSU0VOVFNfMTAwID0gMTAwLFxyXG4gICAgUEVSU0VOVFNfMSA9IDEsXHJcbiAgICBTSVpFX1BFUlNFTlQgPSAnJScsXHJcbiAgICBDSEFSX05PTkUgPSAnJztcclxuXHJcbi8qKlxyXG4gKiBwYXJzZUZsb2F0T3JQZXJzZW50YWdlVmFsdWVcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTgueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9wYXJzZS1mbG9hdC1vci1wZXJzZW50YWdlLXZhbHVlLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHBhcnNlRmxvYXRPclBlcnNlbnRhZ2VWYWx1ZSA9ICh2YWx1ZTogbnVtYmVyIHwgYCR7bnVtYmVyfSVgIHwgc3RyaW5nKTogbnVtYmVyID0+IHtcclxuICAgIGNvbnN0IGlzUGVyY2VudGFnZSA9IGlzUGVyY2VudGFnZVZhbHVlKHZhbHVlKTtcclxuICAgIGlmIChpc1BlcmNlbnRhZ2UpIHtcclxuICAgICAgICBjb25zdCB2ID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWUpLnJlcGxhY2UoU0laRV9QRVJTRU5ULCBDSEFSX05PTkUpKTtcclxuICAgICAgICByZXR1cm4gdiAvIChpc1BlcmNlbnRhZ2UgPyBQRVJTRU5UU18xMDAgOiBQRVJTRU5UU18xKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZSBhcyBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BehaviorSubject } from "rxjs";
|
|
2
|
+
/**
|
|
3
|
+
* ScrollingDirection
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/scrolling-direction.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export class ScrollingDirection {
|
|
9
|
+
_length;
|
|
10
|
+
_value = 0;
|
|
11
|
+
_$direction = new BehaviorSubject(0);
|
|
12
|
+
$direction = this._$direction.asObservable();
|
|
13
|
+
constructor(_length = 5) {
|
|
14
|
+
this._length = _length;
|
|
15
|
+
}
|
|
16
|
+
add(v) {
|
|
17
|
+
this._value += v;
|
|
18
|
+
const dir = this._value < this._length ? -this._length : this._value > this._length ? this._length : this._value, result = dir === 0 ? 0 : Math.sign(dir);
|
|
19
|
+
this._$direction.next(result);
|
|
20
|
+
}
|
|
21
|
+
get() {
|
|
22
|
+
return this._$direction.getValue();
|
|
23
|
+
}
|
|
24
|
+
clear() {
|
|
25
|
+
this._value = 0;
|
|
26
|
+
this._$direction.next(0);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLWRpcmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3Njcm9sbGluZy1kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFNUDtJQUxaLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFFbkIsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFrQixDQUFDLENBQUMsQ0FBQztJQUNyRCxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0RCxZQUFvQixVQUFrQixDQUFDO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBSSxDQUFDO0lBRTVDLEdBQUcsQ0FBQyxDQUFrQjtRQUNsQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUM1RyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBb0IsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIFNjcm9sbGluZ0RpcmVjdGlvblxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xOC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3Njcm9sbGluZy1kaXJlY3Rpb24udHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2Nyb2xsaW5nRGlyZWN0aW9uIHtcclxuICAgIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHByaXZhdGUgXyRkaXJlY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcm9sbERpcmVjdGlvbj4oMCk7XHJcbiAgICByZWFkb25seSAkZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9sZW5ndGg6IG51bWJlciA9IDUpIHsgfVxyXG5cclxuICAgIGFkZCh2OiBTY3JvbGxEaXJlY3Rpb24pIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSArPSB2O1xyXG4gICAgICAgIGNvbnN0IGRpciA9IHRoaXMuX3ZhbHVlIDwgdGhpcy5fbGVuZ3RoID8gLXRoaXMuX2xlbmd0aCA6IHRoaXMuX3ZhbHVlID4gdGhpcy5fbGVuZ3RoID8gdGhpcy5fbGVuZ3RoIDogdGhpcy5fdmFsdWUsXHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRpciA9PT0gMCA/IDAgOiBNYXRoLnNpZ24oZGlyKSBhcyBTY3JvbGxEaXJlY3Rpb247XHJcbiAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KCk6IFNjcm9sbERpcmVjdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuXyRkaXJlY3Rpb24uZ2V0VmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KDApO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -6,4 +6,4 @@ export const isSnappingMethodAdvenced = (method) => {
|
|
|
6
6
|
export const isSnappingMethodDefault = (method) => {
|
|
7
7
|
return DEFAULT_PATTERN.includes(method);
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHBpbmctbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvc25hcHBpbmctbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHM0MsTUFBTSxpQkFBaUIsR0FBMEIsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUN6SCxlQUFlLEdBQTBCLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQXNCLEVBQVcsRUFBRTtJQUN4RSxPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE1BQXNCLEVBQVcsRUFBRTtJQUN2RSxPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU25hcHBpbmdNZXRob2RzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcbmltcG9ydCB7IFNuYXBwaW5nTWV0aG9kIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5jb25zdCBBRFZBTkNFRF9QQVRURVJOUzogQXJyYXk8U25hcHBpbmdNZXRob2Q+ID0gW1NuYXBwaW5nTWV0aG9kcy5BRFZBTkNFRCwgU25hcHBpbmdNZXRob2RzLlNUQU5EQVJULCAnYWR2YW5jZWQnLCAnc3RhbmRhcnQnXSxcclxuICAgIERFRkFVTFRfUEFUVEVSTjogQXJyYXk8U25hcHBpbmdNZXRob2Q+ID0gW1NuYXBwaW5nTWV0aG9kcy5TVEFOREFSVCwgJ3N0YW5kYXJ0J107XHJcblxyXG5leHBvcnQgY29uc3QgaXNTbmFwcGluZ01ldGhvZEFkdmVuY2VkID0gKG1ldGhvZDogU25hcHBpbmdNZXRob2QpOiBib29sZWFuID0+IHtcclxuICAgIHJldHVybiBBRFZBTkNFRF9QQVRURVJOUy5pbmNsdWRlcyhtZXRob2QpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNTbmFwcGluZ01ldGhvZERlZmF1bHQgPSAobWV0aG9kOiBTbmFwcGluZ01ldGhvZCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgcmV0dXJuIERFRkFVTFRfUEFUVEVSTi5pbmNsdWRlcyhtZXRob2QpO1xyXG59Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -9,9 +9,12 @@ export * from './lib/ng-virtual-list-public.service';
|
|
|
9
9
|
export * from './lib/ng-virtual-list.service';
|
|
10
10
|
export * from './lib/ng-virtual-list.component';
|
|
11
11
|
export * from './lib/ng-virtual-list.module';
|
|
12
|
+
export * from './lib/directives/virtual-click/virtual-click.directive';
|
|
13
|
+
export * from './lib/directives/virtual-click/virtual-click.module';
|
|
14
|
+
export * from './lib/transformations';
|
|
12
15
|
export * from './lib/interfaces';
|
|
13
16
|
export * from './lib/enums';
|
|
14
17
|
export * from './lib/models';
|
|
15
18
|
export * from './lib/types';
|
|
16
19
|
export * from './lib/utils';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLXZpcnR1YWwtbGlzdFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL25nLXNjcm9sbC1iYXItcHVibGljLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC1iYXIvdHlwZXMvc2Nyb2xsYmFyLXN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL2VudW1zL3Njcm9sbGJhci1zdGF0ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS9uZy12aXJ0dWFsLWxpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aXJ0dWFsLWxpc3QtcHVibGljLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aXJ0dWFsLWxpc3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLXZpcnR1YWwtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aXJ0dWFsLWxpc3QubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy92aXJ0dWFsLWNsaWNrL3ZpcnR1YWwtY2xpY2suZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy92aXJ0dWFsLWNsaWNrL3ZpcnR1YWwtY2xpY2subW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNmb3JtYXRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XHJcbiJdfQ==
|