UNPKG

nativescript-image-swipe

Version:
81 lines (80 loc) 3.03 kB
"use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); var observable_array_1 = require("data/observable-array"); var view_1 = require("ui/core/view"); var weak_event_listener_1 = require("ui/core/weak-event-listener"); var image_cache_1 = require("ui/image-cache"); var scroll_view_1 = require("ui/scroll-view"); __export(require("ui/scroll-view")); var ImageSwipeBase = (function (_super) { __extends(ImageSwipeBase, _super); function ImageSwipeBase() { var _this = _super.call(this) || this; if (!ImageSwipeBase_1._imageCache) { ImageSwipeBase_1._imageCache = new image_cache_1.Cache(); ImageSwipeBase_1._imageCache.maxRequests = 3; } return _this; } ImageSwipeBase_1 = ImageSwipeBase; ImageSwipeBase.prototype._getDataItem = function (index) { return this.isItemsSourceIn ? this.items.getItem(index) : this.items[index]; }; var ImageSwipeBase_1; ImageSwipeBase.pageChangedEvent = "pageChanged"; ImageSwipeBase = ImageSwipeBase_1 = __decorate([ view_1.CSSType("ImageSwipe") ], ImageSwipeBase); return ImageSwipeBase; }(scroll_view_1.ScrollView)); exports.ImageSwipeBase = ImageSwipeBase; exports.pageNumberProperty = new view_1.CoercibleProperty({ name: "pageNumber", defaultValue: 0, valueConverter: function (v) { return parseInt(v, 10); }, coerceValue: function (target, value) { var items = target.items; if (items && items.length !== 0) { var max = items.length - 1; if (value < 0) { value = 0; } if (value > max) { value = max; } } else { value = null; } return value; } }); exports.pageNumberProperty.register(ImageSwipeBase); exports.itemsProperty = new view_1.Property({ name: "items", valueChanged: function (target, oldValue, newValue) { var getItem = newValue && newValue.getItem; target.isItemsSourceIn = typeof getItem === "function"; if (oldValue instanceof observable_array_1.ObservableArray) { weak_event_listener_1.removeWeakEventListener(oldValue, observable_array_1.ObservableArray.changeEvent, target.refresh, target); } if (newValue instanceof observable_array_1.ObservableArray) { weak_event_listener_1.addWeakEventListener(newValue, observable_array_1.ObservableArray.changeEvent, target.refresh, target); } target.refresh(); } }); exports.itemsProperty.register(ImageSwipeBase); exports.imageUrlPropertyProperty = new view_1.Property({ name: "imageUrlProperty", defaultValue: "" }); exports.imageUrlPropertyProperty.register(ImageSwipeBase); exports.allowZoomProperty = new view_1.Property({ name: "allowZoom", defaultValue: true }); exports.allowZoomProperty.register(ImageSwipeBase);