@nativescript-community/ui-pager 13.0.28
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/CHANGELOG.md +224 -0
- package/LICENSE +201 -0
- package/angular/bundles/nativescript-community-ui-pager-angular.umd.js +753 -0
- package/angular/bundles/nativescript-community-ui-pager-angular.umd.js.map +1 -0
- package/angular/esm2015/index.js +55 -0
- package/angular/esm2015/nativescript-community-ui-pager-angular.js +2 -0
- package/angular/esm2015/pager-items-comp.js +312 -0
- package/angular/fesm2015/nativescript-community-ui-pager-angular.js +366 -0
- package/angular/fesm2015/nativescript-community-ui-pager-angular.js.map +1 -0
- package/angular/index.d.ts +18 -0
- package/angular/nativescript-community-ui-pager-angular.d.ts +2 -0
- package/angular/package.json +16 -0
- package/angular/pager-items-comp.d.ts +85 -0
- package/package.json +55 -0
- package/pager.android.d.ts +79 -0
- package/pager.android.js +954 -0
- package/pager.android.js.map +1 -0
- package/pager.common.d.ts +128 -0
- package/pager.common.js +393 -0
- package/pager.common.js.map +1 -0
- package/pager.d.ts +35 -0
- package/pager.ios.d.ts +115 -0
- package/pager.ios.js +1175 -0
- package/pager.ios.js.map +1 -0
- package/platforms/android/include.gradle +20 -0
- package/platforms/android/native-api-usage.json +10 -0
- package/platforms/ios/Podfile +1 -0
- package/platforms/ios/native-api-usage.json +7 -0
- package/react/index.d.ts +301 -0
- package/react/index.js +151 -0
- package/react/index.js.map +1 -0
- package/references.d.ts +1 -0
- package/svelte/index.d.ts +19 -0
- package/svelte/index.js +117 -0
- package/svelte/index.js.map +1 -0
- package/typings/viewpager2.d.ts +470 -0
- package/vue/index.d.ts +4 -0
- package/vue/index.js +9 -0
- package/vue/index.js.map +1 -0
- package/vue/pager.d.ts +47 -0
- package/vue/pager.js +104 -0
- package/vue/pager.js.map +1 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nativescript-community-ui-pager-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/angular/pager-items-comp.ts","../../../src/angular/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n Directive,\n DoCheck,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Host,\n Inject,\n InjectionToken,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ɵisListLikeIterable as isListLikeIterable\n} from '@angular/core';\nimport {\n Pager,\n PagerError,\n PagerItem,\n PagerLog\n} from '@nativescript-community/ui-pager';\nimport {\n getSingleViewRecursive,\n isInvisibleNode,\n registerElement\n} from '@nativescript/angular';\nimport { EventData, isIOS, KeyedTemplate, LayoutBase, Template, Trace, View } from '@nativescript/core';\nimport { ObservableArray } from '@nativescript/core/data/observable-array';\nimport { profile } from '@nativescript/core/profiling';\nimport { ItemEventData, ItemsSource } from '@nativescript/core/ui/list-view';\n\n\nregisterElement('Pager', () => Pager);\nregisterElement('PagerItem', () => PagerItem);\n\nconst NG_VIEW = '_ngViewRef';\n\nexport interface PagerTemplatedItemsView {\n items: any[] | ItemsSource;\n itemTemplate: string | Template;\n itemTemplates?: string | KeyedTemplate[];\n\n refresh(): void;\n\n on(\n event: 'itemDisposing' | 'itemLoading',\n callback: (args: ItemEventData) => void,\n thisArg?: any\n );\n\n off(\n event: 'itemLoading' | 'itemDisposing',\n callback: (args: EventData) => void,\n thisArg?: any\n );\n\n}\n\nexport class ItemContext {\n constructor(\n public $implicit?: any,\n public item?: any,\n public index?: number,\n public even?: boolean,\n public odd?: boolean\n ) {}\n}\n\nexport interface SetupItemViewArgs {\n view: EmbeddedViewRef<any>;\n data: any;\n index: number;\n context: ItemContext;\n}\n@Component({\n template: '',\n})\nexport abstract class TemplatedItemsComponent\nimplements DoCheck, OnDestroy, AfterContentInit {\n public abstract get nativeElement(): Pager;\n\n protected templatedItemsView: Pager;\n protected _items: any;\n protected _differ: IterableDiffer<KeyedTemplate>;\n protected _templateMap: Map<string, KeyedTemplate>;\n private _selectedIndex: number;\n @ViewChild('loader', { read: ViewContainerRef, static: false })\n loader: ViewContainerRef;\n\n @Output()\n public setupItemView = new EventEmitter<SetupItemViewArgs>();\n\n @ContentChild(TemplateRef, { static: false })\n itemTemplateQuery: TemplateRef<ItemContext>;\n\n itemTemplate: TemplateRef<ItemContext>;\n\n @Input()\n get items() {\n return this._items;\n }\n\n set items(value: any) {\n this._items = value;\n let needDiffer = true;\n if (value instanceof ObservableArray) {\n needDiffer = false;\n }\n if (needDiffer && !this._differ && isListLikeIterable(value)) {\n this._differ = this._iterableDiffers\n .find(this._items)\n .create((_index, item) => item);\n }\n\n this.templatedItemsView.items = this._items;\n }\n\n @Input()\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value) {\n this._selectedIndex = value;\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n }\n\n ngAfterViewInit() {\n if (!!(this._selectedIndex)) {\n setTimeout(() => {\n if (isIOS) {\n this.templatedItemsView.scrollToIndexAnimated(\n this._selectedIndex,\n false\n );\n }\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n });\n }\n }\n\n constructor(\n _elementRef: ElementRef,\n private _iterableDiffers: IterableDiffers\n ) {\n this.templatedItemsView = _elementRef.nativeElement;\n\n this.templatedItemsView.on('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);\n }\n\n ngAfterContentInit() {\n if (Trace.isEnabled()) {\n PagerLog('TemplatedItemsView.ngAfterContentInit()');\n }\n this.setItemTemplates();\n }\n\n ngOnDestroy() {\n this.templatedItemsView.off('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.off(\n 'itemDisposing',\n this.onItemDisposing,\n this\n );\n }\n\n private setItemTemplates() {\n if (!this.items) return;\n // The itemTemplateQuery may be changed after list items are added that contain <template> inside,\n // so cache and use only the original template to avoid errors.\n this.itemTemplate = this.itemTemplateQuery;\n\n if (this._templateMap) {\n if (Trace.isEnabled()) {\n PagerLog('Setting templates');\n }\n\n const templates: KeyedTemplate[] = [];\n this._templateMap.forEach((value) => {\n templates.push(value);\n });\n this.templatedItemsView.itemTemplates = templates;\n }\n }\n\n public registerTemplate(key: string, template: TemplateRef<ItemContext>) {\n if (Trace.isEnabled()) {\n PagerLog(`registerTemplate for key: ${key}`);\n }\n\n if (!this._templateMap) {\n this._templateMap = new Map<string, KeyedTemplate>();\n }\n\n const keyedTemplate = {\n key,\n createView: this.getItemTemplateViewFactory(template),\n };\n\n this._templateMap.set(key, keyedTemplate);\n }\n\n @profile\n public onItemLoading(args: ItemEventData) {\n if (!args.view && !this.itemTemplate) {\n return;\n }\n\n if (!this.items) return;\n\n const index = args.index;\n const items = (<any>args.object).items;\n const currentItem =\n typeof items.getItem === 'function'\n ? items.getItem(index)\n : items[index];\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemLoading: ${index} - Reusing existing view`);\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (\n !viewRef &&\n args.view instanceof LayoutBase &&\n args.view.getChildrenCount() > 0\n ) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(\n `ViewReference not found for item ${index}. View recycling is not working`\n );\n }\n }\n\n if (!viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(\n `onItemLoading: ${index} - Creating view from template`\n );\n }\n\n viewRef = this.loader.createEmbeddedView(\n this.itemTemplate,\n new ItemContext(),\n 0\n );\n args.view = getItemViewRoot(viewRef);\n args.view[NG_VIEW] = viewRef;\n }\n\n this.setupViewRef(viewRef, currentItem, index);\n\n this.detectChangesOnChild(viewRef, index);\n }\n\n @profile\n public onItemDisposing(args: ItemEventData) {\n if (!args.view) {\n return;\n }\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(\n `onItemDisposing: ${args.index} - Removing angular view`\n );\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (\n !viewRef &&\n args.view instanceof LayoutBase &&\n args.view.getChildrenCount() > 0\n ) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(\n `ViewReference not found for item ${args.index}. View disposing is not working`\n );\n }\n }\n\n if (viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(\n `onItemDisposing: ${args.index} - Disposing view reference`\n );\n }\n\n viewRef.destroy();\n }\n }\n\n public setupViewRef(\n viewRef: EmbeddedViewRef<ItemContext>,\n data: any,\n index: number\n ): void {\n const context = viewRef.context;\n context.$implicit = data;\n context.item = data;\n context.index = index;\n context.even = index % 2 === 0;\n context.odd = !context.even;\n\n this.setupItemView.next({\n view: viewRef,\n data,\n index,\n context,\n });\n }\n\n protected getItemTemplateViewFactory(\n template: TemplateRef<ItemContext>\n ): () => View {\n return () => {\n const viewRef = this.loader.createEmbeddedView(\n template,\n new ItemContext(),\n 0\n );\n const resultView = getItemViewRoot(viewRef);\n resultView[NG_VIEW] = viewRef;\n\n return resultView;\n };\n }\n\n @profile\n private detectChangesOnChild(\n viewRef: EmbeddedViewRef<ItemContext>,\n index: number\n ) {\n if (Trace.isEnabled()) {\n PagerLog(`Manually detect changes in child: ${index}`);\n }\n\n viewRef.markForCheck();\n viewRef.detectChanges();\n }\n\n ngDoCheck() {\n if (this._differ) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - execute differ');\n }\n\n const changes = this._differ.diff(this._items);\n if (changes) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - refresh');\n }\n\n this.templatedItemsView.refresh();\n }\n }\n }\n}\n\nexport interface ComponentView {\n rootNodes: any[];\n\n destroy(): void;\n}\n\nexport type RootLocator = (nodes: any[], nestLevel: number) => View;\n\nexport function getItemViewRoot(\n viewRef: ComponentView,\n rootLocator: RootLocator = getSingleViewRecursive as any\n): View {\n return rootLocator(viewRef.rootNodes, 0);\n}\n\nexport const TEMPLATED_ITEMS_COMPONENT = new InjectionToken<\nTemplatedItemsComponent\n>('TemplatedItemsComponent');\n\n@Directive({\n selector: '[pagerItem]',\n})\nexport class PagerItemDirective implements OnInit {\n private item: PagerItem;\n\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private owner: TemplatedItemsComponent,\n private viewContainer: ViewContainerRef\n ) {}\n\n private ensureItem() {\n if (!this.item) {\n this.item = new PagerItem();\n }\n }\n\n private applyConfig() {\n this.ensureItem();\n }\n\n ngOnInit() {\n this.applyConfig();\n\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\n // Filter out text nodes and comments\n const realViews = viewRef.rootNodes.filter(\n (node) => !isInvisibleNode(node)\n );\n\n if (realViews.length > 0) {\n const view = realViews[0];\n this.item.addChild(view);\n this.owner.nativeElement._addChildFromBuilder(\n 'PagerItem',\n this.item\n );\n }\n }\n}\n\n@Directive({ selector: '[pagerTemplateKey]' })\nexport class TemplateKeyDirective {\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private comp: TemplatedItemsComponent\n ) {}\n\n @Input()\n set pagerTemplateKey(value: any) {\n if (this.comp && this.templateRef) {\n this.comp.registerTemplate(value, this.templateRef);\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n IterableDiffers,\n NO_ERRORS_SCHEMA,\n NgModule,\n forwardRef\n} from '@angular/core';\n\nimport { Pager } from '@nativescript-community/ui-pager';\nimport {\n PagerItemDirective,\n TEMPLATED_ITEMS_COMPONENT,\n TemplateKeyDirective,\n TemplatedItemsComponent\n} from './pager-items-comp';\n\nexport {PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective} from './pager-items-comp';\n\n@Component({\n selector: 'Pager',\n template: `\n\t\t<DetachedContainer>\n\t\t\t<Placeholder #loader></Placeholder>\n\t\t</DetachedContainer>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEMPLATED_ITEMS_COMPONENT,\n useExisting: forwardRef(() => PagerComponent)\n }\n ]\n})\n\nexport class PagerComponent extends TemplatedItemsComponent {\n public get nativeElement(): Pager {\n return this.templatedItemsView;\n }\n\n protected templatedItemsView: Pager;\n\n constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers) {\n super(_elementRef, _iterableDiffers);\n }\n}\n\n@NgModule({\n declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class PagerModule {\n}\n"],"names":["__decorate","registerElement","Pager","PagerItem","EventEmitter","ObservableArray","isListLikeIterable","isIOS","Trace","PagerLog","LayoutBase","PagerError","TemplateRef","ViewContainerRef","profile","Component","ViewChild","Output","ContentChild","Input","InjectionToken","isInvisibleNode","Directive","Inject","Host","forwardRef","i0","ChangeDetectionStrategy","NgModule","NO_ERRORS_SCHEMA"],"mappings":"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"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';
|
2
|
+
import { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';
|
5
|
+
export class PagerComponent extends TemplatedItemsComponent {
|
6
|
+
constructor(_elementRef, _iterableDiffers) {
|
7
|
+
super(_elementRef, _iterableDiffers);
|
8
|
+
}
|
9
|
+
get nativeElement() {
|
10
|
+
return this.templatedItemsView;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
PagerComponent.ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
14
|
+
PagerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
15
|
+
{
|
16
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
17
|
+
useExisting: forwardRef(() => PagerComponent)
|
18
|
+
}
|
19
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
|
20
|
+
i0.ɵɵelementStart(0, "DetachedContainer");
|
21
|
+
i0.ɵɵelement(1, "Placeholder", null, 0);
|
22
|
+
i0.ɵɵelementEnd();
|
23
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
24
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
|
25
|
+
type: Component,
|
26
|
+
args: [{
|
27
|
+
selector: 'Pager',
|
28
|
+
template: `
|
29
|
+
<DetachedContainer>
|
30
|
+
<Placeholder #loader></Placeholder>
|
31
|
+
</DetachedContainer>`,
|
32
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
33
|
+
providers: [
|
34
|
+
{
|
35
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
36
|
+
useExisting: forwardRef(() => PagerComponent)
|
37
|
+
}
|
38
|
+
]
|
39
|
+
}]
|
40
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
|
41
|
+
export class PagerModule {
|
42
|
+
}
|
43
|
+
PagerModule.ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
44
|
+
PagerModule.ɵmod = i0.ɵɵdefineNgModule({ type: PagerModule });
|
45
|
+
PagerModule.ɵinj = i0.ɵɵdefineInjector({});
|
46
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
|
47
|
+
type: NgModule,
|
48
|
+
args: [{
|
49
|
+
declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
50
|
+
exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
51
|
+
schemas: [NO_ERRORS_SCHEMA]
|
52
|
+
}]
|
53
|
+
}], null, null); })();
|
54
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ndWxhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixvQkFBb0IsRUFDcEIsdUJBQXVCLEVBQzFCLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBaUJyRyxNQUFNLE9BQU8sY0FBZSxTQUFRLHVCQUF1QjtJQU92RCxZQUFZLFdBQXVCLEVBQUUsZ0JBQWlDO1FBQ2xFLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBUkQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7OzRFQUhRLGNBQWM7bURBQWQsY0FBYywyREFSWjtZQUNQO2dCQUNJLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQ2hEO1NBQ0o7UUFUSCx5Q0FBbUI7UUFDbEIsdUNBQW1DO1FBQ3BDLGlCQUFvQjs7dUZBVVQsY0FBYztjQWYxQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRTs7O3VCQUdTO2dCQUNuQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSx5QkFBeUI7d0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQztxQkFDaEQ7aUJBQ0o7YUFDSjs7QUFtQkQsTUFBTSxPQUFPLFdBQVc7O3NFQUFYLFdBQVc7K0NBQVgsV0FBVzs7dUZBQVgsV0FBVztjQUx2QixRQUFRO2VBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDO2dCQUN4RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2FBQzlCOzt3RkFDWSxXQUFXLG1CQWpCWCxjQUFjLEVBYVEsb0JBQW9CLEVBQUUsa0JBQWtCLGFBYjlELGNBQWMsRUFjRyxvQkFBb0IsRUFBRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBOT19FUlJPUlNfU0NIRU1BLFxuICAgIE5nTW9kdWxlLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBhZ2VyIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC1jb21tdW5pdHkvdWktcGFnZXInO1xuaW1wb3J0IHtcbiAgICBQYWdlckl0ZW1EaXJlY3RpdmUsXG4gICAgVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCxcbiAgICBUZW1wbGF0ZUtleURpcmVjdGl2ZSxcbiAgICBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudFxufSBmcm9tICcuL3BhZ2VyLWl0ZW1zLWNvbXAnO1xuXG5leHBvcnQge1BhZ2VySXRlbURpcmVjdGl2ZSwgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlfSBmcm9tICcuL3BhZ2VyLWl0ZW1zLWNvbXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1BhZ2VyJyxcbiAgICB0ZW1wbGF0ZTogYFxuXHRcdDxEZXRhY2hlZENvbnRhaW5lcj5cblx0XHRcdDxQbGFjZWhvbGRlciAjbG9hZGVyPjwvUGxhY2Vob2xkZXI+XG5cdFx0PC9EZXRhY2hlZENvbnRhaW5lcj5gLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBURU1QTEFURURfSVRFTVNfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFnZXJDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgUGFnZXJDb21wb25lbnQgZXh0ZW5kcyBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudCB7XG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCk6IFBhZ2VyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuXG4gICAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIF9pdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2l0ZXJhYmxlRGlmZmVycyk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1BhZ2VyQ29tcG9uZW50LCBUZW1wbGF0ZUtleURpcmVjdGl2ZSwgUGFnZXJJdGVtRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbUGFnZXJDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBQYWdlckl0ZW1EaXJlY3RpdmVdLFxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlck1vZHVsZSB7XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './index';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1wYWdlci1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FuZ3VsYXIvbmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1wYWdlci1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,312 @@
|
|
1
|
+
import { Component, ContentChild, Directive, EventEmitter, Host, Inject, InjectionToken, Input, Output, TemplateRef, ViewChild, ViewContainerRef, ɵisListLikeIterable as isListLikeIterable } from '@angular/core';
|
2
|
+
import { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';
|
3
|
+
import { getSingleViewRecursive, isInvisibleNode, registerElement } from '@nativescript/angular';
|
4
|
+
import { isIOS, LayoutBase, Trace } from '@nativescript/core';
|
5
|
+
import { ObservableArray } from '@nativescript/core/data/observable-array';
|
6
|
+
import { profile } from '@nativescript/core/profiling';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
const _c0 = ["loader"];
|
9
|
+
registerElement('Pager', () => Pager);
|
10
|
+
registerElement('PagerItem', () => PagerItem);
|
11
|
+
const NG_VIEW = '_ngViewRef';
|
12
|
+
export class ItemContext {
|
13
|
+
constructor($implicit, item, index, even, odd) {
|
14
|
+
this.$implicit = $implicit;
|
15
|
+
this.item = item;
|
16
|
+
this.index = index;
|
17
|
+
this.even = even;
|
18
|
+
this.odd = odd;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
export class TemplatedItemsComponent {
|
22
|
+
constructor(_elementRef, _iterableDiffers) {
|
23
|
+
this._iterableDiffers = _iterableDiffers;
|
24
|
+
this.setupItemView = new EventEmitter();
|
25
|
+
this.templatedItemsView = _elementRef.nativeElement;
|
26
|
+
this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
|
27
|
+
this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
|
28
|
+
}
|
29
|
+
get items() {
|
30
|
+
return this._items;
|
31
|
+
}
|
32
|
+
set items(value) {
|
33
|
+
this._items = value;
|
34
|
+
let needDiffer = true;
|
35
|
+
if (value instanceof ObservableArray) {
|
36
|
+
needDiffer = false;
|
37
|
+
}
|
38
|
+
if (needDiffer && !this._differ && isListLikeIterable(value)) {
|
39
|
+
this._differ = this._iterableDiffers
|
40
|
+
.find(this._items)
|
41
|
+
.create((_index, item) => item);
|
42
|
+
}
|
43
|
+
this.templatedItemsView.items = this._items;
|
44
|
+
}
|
45
|
+
get selectedIndex() {
|
46
|
+
return this._selectedIndex;
|
47
|
+
}
|
48
|
+
set selectedIndex(value) {
|
49
|
+
this._selectedIndex = value;
|
50
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
51
|
+
}
|
52
|
+
ngAfterViewInit() {
|
53
|
+
if (!!(this._selectedIndex)) {
|
54
|
+
setTimeout(() => {
|
55
|
+
if (isIOS) {
|
56
|
+
this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
|
57
|
+
}
|
58
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
59
|
+
});
|
60
|
+
}
|
61
|
+
}
|
62
|
+
ngAfterContentInit() {
|
63
|
+
if (Trace.isEnabled()) {
|
64
|
+
PagerLog('TemplatedItemsView.ngAfterContentInit()');
|
65
|
+
}
|
66
|
+
this.setItemTemplates();
|
67
|
+
}
|
68
|
+
ngOnDestroy() {
|
69
|
+
this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
|
70
|
+
this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
|
71
|
+
}
|
72
|
+
setItemTemplates() {
|
73
|
+
if (!this.items)
|
74
|
+
return;
|
75
|
+
this.itemTemplate = this.itemTemplateQuery;
|
76
|
+
if (this._templateMap) {
|
77
|
+
if (Trace.isEnabled()) {
|
78
|
+
PagerLog('Setting templates');
|
79
|
+
}
|
80
|
+
const templates = [];
|
81
|
+
this._templateMap.forEach((value) => {
|
82
|
+
templates.push(value);
|
83
|
+
});
|
84
|
+
this.templatedItemsView.itemTemplates = templates;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
registerTemplate(key, template) {
|
88
|
+
if (Trace.isEnabled()) {
|
89
|
+
PagerLog(`registerTemplate for key: ${key}`);
|
90
|
+
}
|
91
|
+
if (!this._templateMap) {
|
92
|
+
this._templateMap = new Map();
|
93
|
+
}
|
94
|
+
const keyedTemplate = {
|
95
|
+
key,
|
96
|
+
createView: this.getItemTemplateViewFactory(template),
|
97
|
+
};
|
98
|
+
this._templateMap.set(key, keyedTemplate);
|
99
|
+
}
|
100
|
+
onItemLoading(args) {
|
101
|
+
if (!args.view && !this.itemTemplate) {
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
if (!this.items)
|
105
|
+
return;
|
106
|
+
const index = args.index;
|
107
|
+
const items = args.object.items;
|
108
|
+
const currentItem = typeof items.getItem === 'function'
|
109
|
+
? items.getItem(index)
|
110
|
+
: items[index];
|
111
|
+
let viewRef;
|
112
|
+
if (args.view) {
|
113
|
+
if (Trace.isEnabled()) {
|
114
|
+
PagerLog(`onItemLoading: ${index} - Reusing existing view`);
|
115
|
+
}
|
116
|
+
viewRef = args.view[NG_VIEW];
|
117
|
+
if (!viewRef &&
|
118
|
+
args.view instanceof LayoutBase &&
|
119
|
+
args.view.getChildrenCount() > 0) {
|
120
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
121
|
+
}
|
122
|
+
if (!viewRef && Trace.isEnabled()) {
|
123
|
+
PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
|
124
|
+
}
|
125
|
+
}
|
126
|
+
if (!viewRef) {
|
127
|
+
if (Trace.isEnabled()) {
|
128
|
+
PagerLog(`onItemLoading: ${index} - Creating view from template`);
|
129
|
+
}
|
130
|
+
viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
|
131
|
+
args.view = getItemViewRoot(viewRef);
|
132
|
+
args.view[NG_VIEW] = viewRef;
|
133
|
+
}
|
134
|
+
this.setupViewRef(viewRef, currentItem, index);
|
135
|
+
this.detectChangesOnChild(viewRef, index);
|
136
|
+
}
|
137
|
+
onItemDisposing(args) {
|
138
|
+
if (!args.view) {
|
139
|
+
return;
|
140
|
+
}
|
141
|
+
let viewRef;
|
142
|
+
if (args.view) {
|
143
|
+
if (Trace.isEnabled()) {
|
144
|
+
PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
|
145
|
+
}
|
146
|
+
viewRef = args.view[NG_VIEW];
|
147
|
+
if (!viewRef &&
|
148
|
+
args.view instanceof LayoutBase &&
|
149
|
+
args.view.getChildrenCount() > 0) {
|
150
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
151
|
+
}
|
152
|
+
if (!viewRef && Trace.isEnabled()) {
|
153
|
+
PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
if (viewRef) {
|
157
|
+
if (Trace.isEnabled()) {
|
158
|
+
PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
|
159
|
+
}
|
160
|
+
viewRef.destroy();
|
161
|
+
}
|
162
|
+
}
|
163
|
+
setupViewRef(viewRef, data, index) {
|
164
|
+
const context = viewRef.context;
|
165
|
+
context.$implicit = data;
|
166
|
+
context.item = data;
|
167
|
+
context.index = index;
|
168
|
+
context.even = index % 2 === 0;
|
169
|
+
context.odd = !context.even;
|
170
|
+
this.setupItemView.next({
|
171
|
+
view: viewRef,
|
172
|
+
data,
|
173
|
+
index,
|
174
|
+
context,
|
175
|
+
});
|
176
|
+
}
|
177
|
+
getItemTemplateViewFactory(template) {
|
178
|
+
return () => {
|
179
|
+
const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
|
180
|
+
const resultView = getItemViewRoot(viewRef);
|
181
|
+
resultView[NG_VIEW] = viewRef;
|
182
|
+
return resultView;
|
183
|
+
};
|
184
|
+
}
|
185
|
+
detectChangesOnChild(viewRef, index) {
|
186
|
+
if (Trace.isEnabled()) {
|
187
|
+
PagerLog(`Manually detect changes in child: ${index}`);
|
188
|
+
}
|
189
|
+
viewRef.markForCheck();
|
190
|
+
viewRef.detectChanges();
|
191
|
+
}
|
192
|
+
ngDoCheck() {
|
193
|
+
if (this._differ) {
|
194
|
+
if (Trace.isEnabled()) {
|
195
|
+
PagerLog('ngDoCheck() - execute differ');
|
196
|
+
}
|
197
|
+
const changes = this._differ.diff(this._items);
|
198
|
+
if (changes) {
|
199
|
+
if (Trace.isEnabled()) {
|
200
|
+
PagerLog('ngDoCheck() - refresh');
|
201
|
+
}
|
202
|
+
this.templatedItemsView.refresh();
|
203
|
+
}
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}
|
207
|
+
TemplatedItemsComponent.ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
208
|
+
TemplatedItemsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
209
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
210
|
+
} if (rf & 2) {
|
211
|
+
let _t;
|
212
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
213
|
+
} }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
214
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
215
|
+
} if (rf & 2) {
|
216
|
+
let _t;
|
217
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
218
|
+
} }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
219
|
+
__decorate([
|
220
|
+
profile
|
221
|
+
], TemplatedItemsComponent.prototype, "onItemLoading", null);
|
222
|
+
__decorate([
|
223
|
+
profile
|
224
|
+
], TemplatedItemsComponent.prototype, "onItemDisposing", null);
|
225
|
+
__decorate([
|
226
|
+
profile
|
227
|
+
], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
|
228
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
|
229
|
+
type: Component,
|
230
|
+
args: [{
|
231
|
+
template: '',
|
232
|
+
}]
|
233
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
|
234
|
+
type: ViewChild,
|
235
|
+
args: ['loader', { read: ViewContainerRef, static: false }]
|
236
|
+
}], setupItemView: [{
|
237
|
+
type: Output
|
238
|
+
}], itemTemplateQuery: [{
|
239
|
+
type: ContentChild,
|
240
|
+
args: [TemplateRef, { static: false }]
|
241
|
+
}], items: [{
|
242
|
+
type: Input
|
243
|
+
}], selectedIndex: [{
|
244
|
+
type: Input
|
245
|
+
}], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
|
246
|
+
export function getItemViewRoot(viewRef, rootLocator = getSingleViewRecursive) {
|
247
|
+
return rootLocator(viewRef.rootNodes, 0);
|
248
|
+
}
|
249
|
+
export const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
250
|
+
export class PagerItemDirective {
|
251
|
+
constructor(templateRef, owner, viewContainer) {
|
252
|
+
this.templateRef = templateRef;
|
253
|
+
this.owner = owner;
|
254
|
+
this.viewContainer = viewContainer;
|
255
|
+
}
|
256
|
+
ensureItem() {
|
257
|
+
if (!this.item) {
|
258
|
+
this.item = new PagerItem();
|
259
|
+
}
|
260
|
+
}
|
261
|
+
applyConfig() {
|
262
|
+
this.ensureItem();
|
263
|
+
}
|
264
|
+
ngOnInit() {
|
265
|
+
this.applyConfig();
|
266
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
267
|
+
const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
|
268
|
+
if (realViews.length > 0) {
|
269
|
+
const view = realViews[0];
|
270
|
+
this.item.addChild(view);
|
271
|
+
this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
|
272
|
+
}
|
273
|
+
}
|
274
|
+
}
|
275
|
+
PagerItemDirective.ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
276
|
+
PagerItemDirective.ɵdir = i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
277
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
278
|
+
type: Directive,
|
279
|
+
args: [{
|
280
|
+
selector: '[pagerItem]',
|
281
|
+
}]
|
282
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
283
|
+
type: Inject,
|
284
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
285
|
+
}, {
|
286
|
+
type: Host
|
287
|
+
}] }, { type: i0.ViewContainerRef }]; }, null); })();
|
288
|
+
export class TemplateKeyDirective {
|
289
|
+
constructor(templateRef, comp) {
|
290
|
+
this.templateRef = templateRef;
|
291
|
+
this.comp = comp;
|
292
|
+
}
|
293
|
+
set pagerTemplateKey(value) {
|
294
|
+
if (this.comp && this.templateRef) {
|
295
|
+
this.comp.registerTemplate(value, this.templateRef);
|
296
|
+
}
|
297
|
+
}
|
298
|
+
}
|
299
|
+
TemplateKeyDirective.ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
300
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
301
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
|
302
|
+
type: Directive,
|
303
|
+
args: [{ selector: '[pagerTemplateKey]' }]
|
304
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
305
|
+
type: Inject,
|
306
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
307
|
+
}, {
|
308
|
+
type: Host
|
309
|
+
}] }]; }, { pagerTemplateKey: [{
|
310
|
+
type: Input
|
311
|
+
}] }); })();
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItaXRlbXMtY29tcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hbmd1bGFyL3BhZ2VyLWl0ZW1zLWNvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUlULFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBS0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLG1CQUFtQixJQUFJLGtCQUFrQixFQUM1QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsS0FBSyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNYLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2YsZUFBZSxFQUNsQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBYSxLQUFLLEVBQWlCLFVBQVUsRUFBWSxLQUFLLEVBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFJdkQsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxlQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQXVCN0IsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFDVyxTQUFlLEVBQ2YsSUFBVSxFQUNWLEtBQWMsRUFDZCxJQUFjLEVBQ2QsR0FBYTtRQUpiLGNBQVMsR0FBVCxTQUFTLENBQU07UUFDZixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FB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eUI7dURBTDVCLGtCQUFrQjt1RkFBbEIsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTthQUMxQjtnRUFRc0IsdUJBQXVCO3NCQUZyQyxNQUFNO3VCQUFDLHlCQUF5Qjs7c0JBQ2hDLElBQUk7O0FBb0NiLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDWSxXQUE2QixFQUc3QixJQUE2QjtRQUg3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFHN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFDdEMsQ0FBQztJQUVKLElBQ0ksZ0JBQWdCLENBQUMsS0FBVTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDOzt3RkFiUSxvQkFBb0IsNkRBR2pCLHlCQUF5Qjt5REFINUIsb0JBQW9CO3VGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO2dFQU12Qix1QkFBdUI7c0JBRnBDLE1BQU07dUJBQUMseUJBQXlCOztzQkFDaEMsSUFBSTt3QkFLTCxnQkFBZ0I7a0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIMm1aXNMaXN0TGlrZUl0ZXJhYmxlIGFzIGlzTGlzdExpa2VJdGVyYWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGFnZXIsXG4gICAgUGFnZXJFcnJvcixcbiAgICBQYWdlckl0ZW0sXG4gICAgUGFnZXJMb2dcbn0gZnJvbSAnQG5hdGl2ZXNjcmlwdC1jb21tdW5pdHkvdWktcGFnZXInO1xuaW1wb3J0IHtcbiAgICBnZXRTaW5nbGVWaWV3UmVjdXJzaXZlLFxuICAgIGlzSW52aXNpYmxlTm9kZSxcbiAgICByZWdpc3RlckVsZW1lbnRcbn0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcbmltcG9ydCB7IEV2ZW50RGF0YSwgaXNJT1MsIEtleWVkVGVtcGxhdGUsIExheW91dEJhc2UsIFRlbXBsYXRlLCBUcmFjZSwgVmlldyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlQXJyYXkgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvZGF0YS9vYnNlcnZhYmxlLWFycmF5JztcbmltcG9ydCB7IHByb2ZpbGUgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvcHJvZmlsaW5nJztcbmltcG9ydCB7IEl0ZW1FdmVudERhdGEsIEl0ZW1zU291cmNlIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlL3VpL2xpc3Qtdmlldyc7XG5cblxucmVnaXN0ZXJFbGVtZW50KCdQYWdlcicsICgpID0+IFBhZ2VyKTtcbnJlZ2lzdGVyRWxlbWVudCgnUGFnZXJJdGVtJywgKCkgPT4gUGFnZXJJdGVtKTtcblxuY29uc3QgTkdfVklFVyA9ICdfbmdWaWV3UmVmJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlclRlbXBsYXRlZEl0ZW1zVmlldyB7XG4gICAgaXRlbXM6IGFueVtdIHwgSXRlbXNTb3VyY2U7XG4gICAgaXRlbVRlbXBsYXRlOiBzdHJpbmcgfCBUZW1wbGF0ZTtcbiAgICBpdGVtVGVtcGxhdGVzPzogc3RyaW5nIHwgS2V5ZWRUZW1wbGF0ZVtdO1xuXG4gICAgcmVmcmVzaCgpOiB2b2lkO1xuXG4gICAgb24oXG4gICAgICAgIGV2ZW50OiAnaXRlbURpc3Bvc2luZycgfCAnaXRlbUxvYWRpbmcnLFxuICAgICAgICBjYWxsYmFjazogKGFyZ3M6IEl0ZW1FdmVudERhdGEpID0+IHZvaWQsXG4gICAgICAgIHRoaXNBcmc/OiBhbnlcbiAgICApO1xuXG4gICAgb2ZmKFxuICAgICAgICBldmVudDogJ2l0ZW1Mb2FkaW5nJyB8ICdpdGVtRGlzcG9zaW5nJyxcbiAgICAgICAgY2FsbGJhY2s6IChhcmdzOiBFdmVudERhdGEpID0+IHZvaWQsXG4gICAgICAgIHRoaXNBcmc/OiBhbnlcbiAgICApO1xuXG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtQ29udGV4dCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyAkaW1wbGljaXQ/OiBhbnksXG4gICAgICAgIHB1YmxpYyBpdGVtPzogYW55LFxuICAgICAgICBwdWJsaWMgaW5kZXg/OiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBldmVuPzogYm9vbGVhbixcbiAgICAgICAgcHVibGljIG9kZD86IGJvb2xlYW5cbiAgICApIHt9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBJdGVtVmlld0FyZ3Mge1xuICAgIHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuICAgIGRhdGE6IGFueTtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGNvbnRleHQ6IEl0ZW1Db250ZXh0O1xufVxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudFxuaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgbmF0aXZlRWxlbWVudCgpOiBQYWdlcjtcblxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuICAgIHByb3RlY3RlZCBfaXRlbXM6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2RpZmZlcjogSXRlcmFibGVEaWZmZXI8S2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJvdGVjdGVkIF90ZW1wbGF0ZU1hcDogTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIEBWaWV3Q2hpbGQoJ2xvYWRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICAgIGxvYWRlcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZXR1cEl0ZW1WaWV3ID0gbmV3IEV2ZW50RW1pdHRlcjxTZXR1cEl0ZW1WaWV3QXJncz4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGl0ZW1UZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxJdGVtQ29udGV4dD47XG5cbiAgICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0PjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcbiAgICAgICAgbGV0IG5lZWREaWZmZXIgPSB0cnVlO1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlQXJyYXkpIHtcbiAgICAgICAgICAgIG5lZWREaWZmZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZERpZmZlciAmJiAhdGhpcy5fZGlmZmVyICYmIGlzTGlzdExpa2VJdGVyYWJsZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpZmZlciA9IHRoaXMuX2l0ZXJhYmxlRGlmZmVyc1xuICAgICAgICAgICAgICAgIC5maW5kKHRoaXMuX2l0ZW1zKVxuICAgICAgICAgICAgICAgIC5jcmVhdGUoKF9pbmRleCwgaXRlbSkgPT4gaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5pdGVtcyA9IHRoaXMuX2l0ZW1zO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghISh0aGlzLl9zZWxlY3RlZEluZGV4KSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzSU9TKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNjcm9sbFRvSW5kZXhBbmltYXRlZChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVyc1xuICAgICkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldyA9IF9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcub24oJ2l0ZW1Mb2FkaW5nJywgdGhpcy5vbkl0ZW1Mb2FkaW5nLCB0aGlzKTtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcub24oJ2l0ZW1EaXNwb3NpbmcnLCB0aGlzLm9uSXRlbURpc3Bvc2luZywgdGhpcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKCdUZW1wbGF0ZWRJdGVtc1ZpZXcubmdBZnRlckNvbnRlbnRJbml0KCknKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldEl0ZW1UZW1wbGF0ZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcub2ZmKCdpdGVtTG9hZGluZycsIHRoaXMub25JdGVtTG9hZGluZywgdGhpcyk7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9mZihcbiAgICAgICAgICAgICdpdGVtRGlzcG9zaW5nJyxcbiAgICAgICAgICAgIHRoaXMub25JdGVtRGlzcG9zaW5nLFxuICAgICAgICAgICAgdGhpc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbVRlbXBsYXRlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLml0ZW1zKSByZXR1cm47XG4gICAgICAgIC8vIFRoZSBpdGVtVGVtcGxhdGVRdWVyeSBtYXkgYmUgY2hhbmdlZCBhZnRlciBsaXN0IGl0ZW1zIGFyZSBhZGRlZCB0aGF0IGNvbnRhaW4gPHRlbXBsYXRlPiBpbnNpZGUsXG4gICAgICAgIC8vIHNvIGNhY2hlIGFuZCB1c2Ugb25seSB0aGUgb3JpZ2luYWwgdGVtcGxhdGUgdG8gYXZvaWQgZXJyb3JzLlxuICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IHRoaXMuaXRlbVRlbXBsYXRlUXVlcnk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3RlbXBsYXRlTWFwKSB7XG4gICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckxvZygnU2V0dGluZyB0ZW1wbGF0ZXMnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGVzOiBLZXllZFRlbXBsYXRlW10gPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlTWFwLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGVtcGxhdGVzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5pdGVtVGVtcGxhdGVzID0gdGVtcGxhdGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyVGVtcGxhdGUoa2V5OiBzdHJpbmcsIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJdGVtQ29udGV4dD4pIHtcbiAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICBQYWdlckxvZyhgcmVnaXN0ZXJUZW1wbGF0ZSBmb3Iga2V5OiAke2tleX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5fdGVtcGxhdGVNYXApIHtcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlTWFwID0gbmV3IE1hcDxzdHJpbmcsIEtleWVkVGVtcGxhdGU+KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrZXllZFRlbXBsYXRlID0ge1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgY3JlYXRlVmlldzogdGhpcy5nZXRJdGVtVGVtcGxhdGVWaWV3RmFjdG9yeSh0ZW1wbGF0ZSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuc2V0KGtleSwga2V5ZWRUZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgQHByb2ZpbGVcbiAgICBwdWJsaWMgb25JdGVtTG9hZGluZyhhcmdzOiBJdGVtRXZlbnREYXRhKSB7XG4gICAgICAgIGlmICghYXJncy52aWV3ICYmICF0aGlzLml0ZW1UZW1wbGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLml0ZW1zKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSBhcmdzLmluZGV4O1xuICAgICAgICBjb25zdCBpdGVtcyA9ICg8YW55PmFyZ3Mub2JqZWN0KS5pdGVtcztcbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPVxuICAgICAgICAgICAgdHlwZW9mIGl0ZW1zLmdldEl0ZW0gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGl0ZW1zLmdldEl0ZW0oaW5kZXgpXG4gICAgICAgICAgICAgICAgOiBpdGVtc1tpbmRleF07XG4gICAgICAgIGxldCB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8SXRlbUNvbnRleHQ+O1xuXG4gICAgICAgIGlmIChhcmdzLnZpZXcpIHtcbiAgICAgICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyTG9nKGBvbkl0ZW1Mb2FkaW5nOiAke2luZGV4fSAtIFJldXNpbmcgZXhpc3Rpbmcgdmlld2ApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3W05HX1ZJRVddO1xuICAgICAgICAgICAgLy8gR2V0dGluZyBhbmd1bGFyIHZpZXcgZnJvbSBvcmlnaW5hbCBlbGVtZW50IChpbiBjYXNlcyB3aGVuIFByb3h5Vmlld0NvbnRhaW5lclxuICAgICAgICAgICAgLy8gaXMgdXNlZCBOYXRpdmVTY3JpcHQgaW50ZXJuYWxseSB3cmFwcyBpdCBpbiBhIFN0YWNrTGF5b3V0KVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF2aWV3UmVmICYmXG4gICAgICAgICAgICAgICAgYXJncy52aWV3IGluc3RhbmNlb2YgTGF5b3V0QmFzZSAmJlxuICAgICAgICAgICAgICAgIGFyZ3Mudmlldy5nZXRDaGlsZHJlbkNvdW50KCkgPiAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3LmdldENoaWxkQXQoMClbTkdfVklFV107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBWaWV3UmVmZXJlbmNlIG5vdCBmb3VuZCBmb3IgaXRlbSAke2luZGV4fS4gVmlldyByZWN5Y2xpbmcgaXMgbm90IHdvcmtpbmdgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coXG4gICAgICAgICAgICAgICAgICAgIGBvbkl0ZW1Mb2FkaW5nOiAke2luZGV4fSAtIENyZWF0aW5nIHZpZXcgZnJvbSB0ZW1wbGF0ZWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmID0gdGhpcy5sb2FkZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIG5ldyBJdGVtQ29udGV4dCgpLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhcmdzLnZpZXcgPSBnZXRJdGVtVmlld1Jvb3Qodmlld1JlZik7XG4gICAgICAgICAgICBhcmdzLnZpZXdbTkdfVklFV10gPSB2aWV3UmVmO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXR1cFZpZXdSZWYodmlld1JlZiwgY3VycmVudEl0ZW0sIGluZGV4KTtcblxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXNPbkNoaWxkKHZpZXdSZWYsIGluZGV4KTtcbiAgICB9XG5cbiAgICBAcHJvZmlsZVxuICAgIHB1YmxpYyBvbkl0ZW1EaXNwb3NpbmcoYXJnczogSXRlbUV2ZW50RGF0YSkge1xuICAgICAgICBpZiAoIWFyZ3Mudmlldykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8SXRlbUNvbnRleHQ+O1xuXG4gICAgICAgIGlmIChhcmdzLnZpZXcpIHtcbiAgICAgICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyTG9nKFxuICAgICAgICAgICAgICAgICAgICBgb25JdGVtRGlzcG9zaW5nOiAke2FyZ3MuaW5kZXh9IC0gUmVtb3ZpbmcgYW5ndWxhciB2aWV3YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZpZXdSZWYgPSBhcmdzLnZpZXdbTkdfVklFV107XG4gICAgICAgICAgICAvLyBHZXR0aW5nIGFuZ3VsYXIgdmlldyBmcm9tIG9yaWdpbmFsIGVsZW1lbnQgKGluIGNhc2VzIHdoZW4gUHJveHlWaWV3Q29udGFpbmVyXG4gICAgICAgICAgICAvLyBpcyB1c2VkIE5hdGl2ZVNjcmlwdCBpbnRlcm5hbGx5IHdyYXBzIGl0IGluIGEgU3RhY2tMYXlvdXQpXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXZpZXdSZWYgJiZcbiAgICAgICAgICAgICAgICBhcmdzLnZpZXcgaW5zdGFuY2VvZiBMYXlvdXRCYXNlICYmXG4gICAgICAgICAgICAgICAgYXJncy52aWV3LmdldENoaWxkcmVuQ291bnQoKSA+IDBcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZpZXdSZWYgPSBhcmdzLnZpZXcuZ2V0Q2hpbGRBdCgwKVtOR19WSUVXXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF2aWV3UmVmICYmIFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFZpZXdSZWZlcmVuY2Ugbm90IGZvdW5kIGZvciBpdGVtICR7YXJncy5pbmRleH0uIFZpZXcgZGlzcG9zaW5nIGlzIG5vdCB3b3JraW5nYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coXG4gICAgICAgICAgICAgICAgICAgIGBvbkl0ZW1EaXNwb3Npbmc6ICR7YXJncy5pbmRleH0gLSBEaXNwb3NpbmcgdmlldyByZWZlcmVuY2VgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmlld1JlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0dXBWaWV3UmVmKFxuICAgICAgICB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8SXRlbUNvbnRleHQ+LFxuICAgICAgICBkYXRhOiBhbnksXG4gICAgICAgIGluZGV4OiBudW1iZXJcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHZpZXdSZWYuY29udGV4dDtcbiAgICAgICAgY29udGV4dC4kaW1wbGljaXQgPSBkYXRhO1xuICAgICAgICBjb250ZXh0Lml0ZW0gPSBkYXRhO1xuICAgICAgICBjb250ZXh0LmluZGV4ID0gaW5kZXg7XG4gICAgICAgIGNvbnRleHQuZXZlbiA9IGluZGV4ICUgMiA9PT0gMDtcbiAgICAgICAgY29udGV4dC5vZGQgPSAhY29udGV4dC5ldmVuO1xuXG4gICAgICAgIHRoaXMuc2V0dXBJdGVtVmlldy5uZXh0KHtcbiAgICAgICAgICAgIHZpZXc6IHZpZXdSZWYsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SXRlbVRlbXBsYXRlVmlld0ZhY3RvcnkoXG4gICAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJdGVtQ29udGV4dD5cbiAgICApOiAoKSA9PiBWaWV3IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLmxvYWRlci5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgbmV3IEl0ZW1Db250ZXh0KCksXG4gICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdFZpZXcgPSBnZXRJdGVtVmlld1Jvb3Qodmlld1JlZik7XG4gICAgICAgICAgICByZXN1bHRWaWV3W05HX1ZJRVddID0gdmlld1JlZjtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFZpZXc7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQHByb2ZpbGVcbiAgICBwcml2YXRlIGRldGVjdENoYW5nZXNPbkNoaWxkKFxuICAgICAgICB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8SXRlbUNvbnRleHQ+LFxuICAgICAgICBpbmRleDogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgUGFnZXJMb2coYE1hbnVhbGx5IGRldGVjdCBjaGFuZ2VzIGluIGNoaWxkOiAke2luZGV4fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdmlld1JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAodGhpcy5fZGlmZmVyKSB7XG4gICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckxvZygnbmdEb0NoZWNrKCkgLSBleGVjdXRlIGRpZmZlcicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZmVyLmRpZmYodGhpcy5faXRlbXMpO1xuICAgICAgICAgICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgUGFnZXJMb2coJ25nRG9DaGVjaygpIC0gcmVmcmVzaCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnJlZnJlc2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRWaWV3IHtcbiAgICByb290Tm9kZXM6IGFueVtdO1xuXG4gICAgZGVzdHJveSgpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBSb290TG9jYXRvciA9IChub2RlczogYW55W10sIG5lc3RMZXZlbDogbnVtYmVyKSA9PiBWaWV3O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXRlbVZpZXdSb290KFxuICAgIHZpZXdSZWY6IENvbXBvbmVudFZpZXcsXG4gICAgcm9vdExvY2F0b3I6IFJvb3RMb2NhdG9yID0gZ2V0U2luZ2xlVmlld1JlY3Vyc2l2ZSBhcyBhbnlcbik6IFZpZXcge1xuICAgIHJldHVybiByb290TG9jYXRvcih2aWV3UmVmLnJvb3ROb2RlcywgMCk7XG59XG5cbmV4cG9ydCBjb25zdCBURU1QTEFURURfSVRFTVNfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPFxuVGVtcGxhdGVkSXRlbXNDb21wb25lbnRcbj4oJ1RlbXBsYXRlZEl0ZW1zQ29tcG9uZW50Jyk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BhZ2VySXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlckl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgaXRlbTogUGFnZXJJdGVtO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIEBJbmplY3QoVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVClcbiAgICAgICAgQEhvc3QoKVxuICAgICAgICBwcml2YXRlIG93bmVyOiBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBlbnN1cmVJdGVtKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtID0gbmV3IFBhZ2VySXRlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNvbmZpZygpIHtcbiAgICAgICAgdGhpcy5lbnN1cmVJdGVtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYXBwbHlDb25maWcoKTtcblxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgLy8gRmlsdGVyIG91dCB0ZXh0IG5vZGVzIGFuZCBjb21tZW50c1xuICAgICAgICBjb25zdCByZWFsVmlld3MgPSB2aWV3UmVmLnJvb3ROb2Rlcy5maWx0ZXIoXG4gICAgICAgICAgICAobm9kZSkgPT4gIWlzSW52aXNpYmxlTm9kZShub2RlKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZWFsVmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IHJlYWxWaWV3c1swXTtcbiAgICAgICAgICAgIHRoaXMuaXRlbS5hZGRDaGlsZCh2aWV3KTtcbiAgICAgICAgICAgIHRoaXMub3duZXIubmF0aXZlRWxlbWVudC5fYWRkQ2hpbGRGcm9tQnVpbGRlcihcbiAgICAgICAgICAgICAgICAnUGFnZXJJdGVtJyxcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1twYWdlclRlbXBsYXRlS2V5XScgfSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUtleURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIEBJbmplY3QoVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVClcbiAgICAgICAgQEhvc3QoKVxuICAgICAgICBwcml2YXRlIGNvbXA6IFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50XG4gICAgKSB7fVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgcGFnZXJUZW1wbGF0ZUtleSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXAgJiYgdGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wLnJlZ2lzdGVyVGVtcGxhdGUodmFsdWUsIHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,366 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { EventEmitter, ɵisListLikeIterable, TemplateRef, ViewContainerRef, Component, ViewChild, Output, ContentChild, Input, InjectionToken, Directive, Inject, Host, forwardRef, ChangeDetectionStrategy, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
3
|
+
import { Pager, PagerItem, PagerLog, PagerError } from '@nativescript-community/ui-pager';
|
4
|
+
import { registerElement, getSingleViewRecursive, isInvisibleNode } from '@nativescript/angular';
|
5
|
+
import { isIOS, Trace, LayoutBase } from '@nativescript/core';
|
6
|
+
import { ObservableArray } from '@nativescript/core/data/observable-array';
|
7
|
+
import { profile } from '@nativescript/core/profiling';
|
8
|
+
|
9
|
+
const _c0 = ["loader"];
|
10
|
+
registerElement('Pager', () => Pager);
|
11
|
+
registerElement('PagerItem', () => PagerItem);
|
12
|
+
const NG_VIEW = '_ngViewRef';
|
13
|
+
class ItemContext {
|
14
|
+
constructor($implicit, item, index, even, odd) {
|
15
|
+
this.$implicit = $implicit;
|
16
|
+
this.item = item;
|
17
|
+
this.index = index;
|
18
|
+
this.even = even;
|
19
|
+
this.odd = odd;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
class TemplatedItemsComponent {
|
23
|
+
constructor(_elementRef, _iterableDiffers) {
|
24
|
+
this._iterableDiffers = _iterableDiffers;
|
25
|
+
this.setupItemView = new EventEmitter();
|
26
|
+
this.templatedItemsView = _elementRef.nativeElement;
|
27
|
+
this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
|
28
|
+
this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
|
29
|
+
}
|
30
|
+
get items() {
|
31
|
+
return this._items;
|
32
|
+
}
|
33
|
+
set items(value) {
|
34
|
+
this._items = value;
|
35
|
+
let needDiffer = true;
|
36
|
+
if (value instanceof ObservableArray) {
|
37
|
+
needDiffer = false;
|
38
|
+
}
|
39
|
+
if (needDiffer && !this._differ && ɵisListLikeIterable(value)) {
|
40
|
+
this._differ = this._iterableDiffers
|
41
|
+
.find(this._items)
|
42
|
+
.create((_index, item) => item);
|
43
|
+
}
|
44
|
+
this.templatedItemsView.items = this._items;
|
45
|
+
}
|
46
|
+
get selectedIndex() {
|
47
|
+
return this._selectedIndex;
|
48
|
+
}
|
49
|
+
set selectedIndex(value) {
|
50
|
+
this._selectedIndex = value;
|
51
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
52
|
+
}
|
53
|
+
ngAfterViewInit() {
|
54
|
+
if (!!(this._selectedIndex)) {
|
55
|
+
setTimeout(() => {
|
56
|
+
if (isIOS) {
|
57
|
+
this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
|
58
|
+
}
|
59
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
ngAfterContentInit() {
|
64
|
+
if (Trace.isEnabled()) {
|
65
|
+
PagerLog('TemplatedItemsView.ngAfterContentInit()');
|
66
|
+
}
|
67
|
+
this.setItemTemplates();
|
68
|
+
}
|
69
|
+
ngOnDestroy() {
|
70
|
+
this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
|
71
|
+
this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
|
72
|
+
}
|
73
|
+
setItemTemplates() {
|
74
|
+
if (!this.items)
|
75
|
+
return;
|
76
|
+
this.itemTemplate = this.itemTemplateQuery;
|
77
|
+
if (this._templateMap) {
|
78
|
+
if (Trace.isEnabled()) {
|
79
|
+
PagerLog('Setting templates');
|
80
|
+
}
|
81
|
+
const templates = [];
|
82
|
+
this._templateMap.forEach((value) => {
|
83
|
+
templates.push(value);
|
84
|
+
});
|
85
|
+
this.templatedItemsView.itemTemplates = templates;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
registerTemplate(key, template) {
|
89
|
+
if (Trace.isEnabled()) {
|
90
|
+
PagerLog(`registerTemplate for key: ${key}`);
|
91
|
+
}
|
92
|
+
if (!this._templateMap) {
|
93
|
+
this._templateMap = new Map();
|
94
|
+
}
|
95
|
+
const keyedTemplate = {
|
96
|
+
key,
|
97
|
+
createView: this.getItemTemplateViewFactory(template),
|
98
|
+
};
|
99
|
+
this._templateMap.set(key, keyedTemplate);
|
100
|
+
}
|
101
|
+
onItemLoading(args) {
|
102
|
+
if (!args.view && !this.itemTemplate) {
|
103
|
+
return;
|
104
|
+
}
|
105
|
+
if (!this.items)
|
106
|
+
return;
|
107
|
+
const index = args.index;
|
108
|
+
const items = args.object.items;
|
109
|
+
const currentItem = typeof items.getItem === 'function'
|
110
|
+
? items.getItem(index)
|
111
|
+
: items[index];
|
112
|
+
let viewRef;
|
113
|
+
if (args.view) {
|
114
|
+
if (Trace.isEnabled()) {
|
115
|
+
PagerLog(`onItemLoading: ${index} - Reusing existing view`);
|
116
|
+
}
|
117
|
+
viewRef = args.view[NG_VIEW];
|
118
|
+
if (!viewRef &&
|
119
|
+
args.view instanceof LayoutBase &&
|
120
|
+
args.view.getChildrenCount() > 0) {
|
121
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
122
|
+
}
|
123
|
+
if (!viewRef && Trace.isEnabled()) {
|
124
|
+
PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
|
125
|
+
}
|
126
|
+
}
|
127
|
+
if (!viewRef) {
|
128
|
+
if (Trace.isEnabled()) {
|
129
|
+
PagerLog(`onItemLoading: ${index} - Creating view from template`);
|
130
|
+
}
|
131
|
+
viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
|
132
|
+
args.view = getItemViewRoot(viewRef);
|
133
|
+
args.view[NG_VIEW] = viewRef;
|
134
|
+
}
|
135
|
+
this.setupViewRef(viewRef, currentItem, index);
|
136
|
+
this.detectChangesOnChild(viewRef, index);
|
137
|
+
}
|
138
|
+
onItemDisposing(args) {
|
139
|
+
if (!args.view) {
|
140
|
+
return;
|
141
|
+
}
|
142
|
+
let viewRef;
|
143
|
+
if (args.view) {
|
144
|
+
if (Trace.isEnabled()) {
|
145
|
+
PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
|
146
|
+
}
|
147
|
+
viewRef = args.view[NG_VIEW];
|
148
|
+
if (!viewRef &&
|
149
|
+
args.view instanceof LayoutBase &&
|
150
|
+
args.view.getChildrenCount() > 0) {
|
151
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
152
|
+
}
|
153
|
+
if (!viewRef && Trace.isEnabled()) {
|
154
|
+
PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
|
155
|
+
}
|
156
|
+
}
|
157
|
+
if (viewRef) {
|
158
|
+
if (Trace.isEnabled()) {
|
159
|
+
PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
|
160
|
+
}
|
161
|
+
viewRef.destroy();
|
162
|
+
}
|
163
|
+
}
|
164
|
+
setupViewRef(viewRef, data, index) {
|
165
|
+
const context = viewRef.context;
|
166
|
+
context.$implicit = data;
|
167
|
+
context.item = data;
|
168
|
+
context.index = index;
|
169
|
+
context.even = index % 2 === 0;
|
170
|
+
context.odd = !context.even;
|
171
|
+
this.setupItemView.next({
|
172
|
+
view: viewRef,
|
173
|
+
data,
|
174
|
+
index,
|
175
|
+
context,
|
176
|
+
});
|
177
|
+
}
|
178
|
+
getItemTemplateViewFactory(template) {
|
179
|
+
return () => {
|
180
|
+
const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
|
181
|
+
const resultView = getItemViewRoot(viewRef);
|
182
|
+
resultView[NG_VIEW] = viewRef;
|
183
|
+
return resultView;
|
184
|
+
};
|
185
|
+
}
|
186
|
+
detectChangesOnChild(viewRef, index) {
|
187
|
+
if (Trace.isEnabled()) {
|
188
|
+
PagerLog(`Manually detect changes in child: ${index}`);
|
189
|
+
}
|
190
|
+
viewRef.markForCheck();
|
191
|
+
viewRef.detectChanges();
|
192
|
+
}
|
193
|
+
ngDoCheck() {
|
194
|
+
if (this._differ) {
|
195
|
+
if (Trace.isEnabled()) {
|
196
|
+
PagerLog('ngDoCheck() - execute differ');
|
197
|
+
}
|
198
|
+
const changes = this._differ.diff(this._items);
|
199
|
+
if (changes) {
|
200
|
+
if (Trace.isEnabled()) {
|
201
|
+
PagerLog('ngDoCheck() - refresh');
|
202
|
+
}
|
203
|
+
this.templatedItemsView.refresh();
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}
|
207
|
+
}
|
208
|
+
TemplatedItemsComponent.ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
209
|
+
TemplatedItemsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
210
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
211
|
+
} if (rf & 2) {
|
212
|
+
let _t;
|
213
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
214
|
+
} }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
215
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
216
|
+
} if (rf & 2) {
|
217
|
+
let _t;
|
218
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
219
|
+
} }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
220
|
+
__decorate([
|
221
|
+
profile
|
222
|
+
], TemplatedItemsComponent.prototype, "onItemLoading", null);
|
223
|
+
__decorate([
|
224
|
+
profile
|
225
|
+
], TemplatedItemsComponent.prototype, "onItemDisposing", null);
|
226
|
+
__decorate([
|
227
|
+
profile
|
228
|
+
], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
|
229
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
|
230
|
+
type: Component,
|
231
|
+
args: [{
|
232
|
+
template: '',
|
233
|
+
}]
|
234
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
|
235
|
+
type: ViewChild,
|
236
|
+
args: ['loader', { read: ViewContainerRef, static: false }]
|
237
|
+
}], setupItemView: [{
|
238
|
+
type: Output
|
239
|
+
}], itemTemplateQuery: [{
|
240
|
+
type: ContentChild,
|
241
|
+
args: [TemplateRef, { static: false }]
|
242
|
+
}], items: [{
|
243
|
+
type: Input
|
244
|
+
}], selectedIndex: [{
|
245
|
+
type: Input
|
246
|
+
}], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
|
247
|
+
function getItemViewRoot(viewRef, rootLocator = getSingleViewRecursive) {
|
248
|
+
return rootLocator(viewRef.rootNodes, 0);
|
249
|
+
}
|
250
|
+
const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
251
|
+
class PagerItemDirective {
|
252
|
+
constructor(templateRef, owner, viewContainer) {
|
253
|
+
this.templateRef = templateRef;
|
254
|
+
this.owner = owner;
|
255
|
+
this.viewContainer = viewContainer;
|
256
|
+
}
|
257
|
+
ensureItem() {
|
258
|
+
if (!this.item) {
|
259
|
+
this.item = new PagerItem();
|
260
|
+
}
|
261
|
+
}
|
262
|
+
applyConfig() {
|
263
|
+
this.ensureItem();
|
264
|
+
}
|
265
|
+
ngOnInit() {
|
266
|
+
this.applyConfig();
|
267
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
268
|
+
const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
|
269
|
+
if (realViews.length > 0) {
|
270
|
+
const view = realViews[0];
|
271
|
+
this.item.addChild(view);
|
272
|
+
this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
|
273
|
+
}
|
274
|
+
}
|
275
|
+
}
|
276
|
+
PagerItemDirective.ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
277
|
+
PagerItemDirective.ɵdir = i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
278
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
279
|
+
type: Directive,
|
280
|
+
args: [{
|
281
|
+
selector: '[pagerItem]',
|
282
|
+
}]
|
283
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
284
|
+
type: Inject,
|
285
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
286
|
+
}, {
|
287
|
+
type: Host
|
288
|
+
}] }, { type: i0.ViewContainerRef }]; }, null); })();
|
289
|
+
class TemplateKeyDirective {
|
290
|
+
constructor(templateRef, comp) {
|
291
|
+
this.templateRef = templateRef;
|
292
|
+
this.comp = comp;
|
293
|
+
}
|
294
|
+
set pagerTemplateKey(value) {
|
295
|
+
if (this.comp && this.templateRef) {
|
296
|
+
this.comp.registerTemplate(value, this.templateRef);
|
297
|
+
}
|
298
|
+
}
|
299
|
+
}
|
300
|
+
TemplateKeyDirective.ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
301
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
302
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
|
303
|
+
type: Directive,
|
304
|
+
args: [{ selector: '[pagerTemplateKey]' }]
|
305
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
306
|
+
type: Inject,
|
307
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
308
|
+
}, {
|
309
|
+
type: Host
|
310
|
+
}] }]; }, { pagerTemplateKey: [{
|
311
|
+
type: Input
|
312
|
+
}] }); })();
|
313
|
+
|
314
|
+
class PagerComponent extends TemplatedItemsComponent {
|
315
|
+
constructor(_elementRef, _iterableDiffers) {
|
316
|
+
super(_elementRef, _iterableDiffers);
|
317
|
+
}
|
318
|
+
get nativeElement() {
|
319
|
+
return this.templatedItemsView;
|
320
|
+
}
|
321
|
+
}
|
322
|
+
PagerComponent.ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
323
|
+
PagerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
324
|
+
{
|
325
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
326
|
+
useExisting: forwardRef(() => PagerComponent)
|
327
|
+
}
|
328
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
|
329
|
+
i0.ɵɵelementStart(0, "DetachedContainer");
|
330
|
+
i0.ɵɵelement(1, "Placeholder", null, 0);
|
331
|
+
i0.ɵɵelementEnd();
|
332
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
333
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
|
334
|
+
type: Component,
|
335
|
+
args: [{
|
336
|
+
selector: 'Pager',
|
337
|
+
template: `
|
338
|
+
<DetachedContainer>
|
339
|
+
<Placeholder #loader></Placeholder>
|
340
|
+
</DetachedContainer>`,
|
341
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
342
|
+
providers: [
|
343
|
+
{
|
344
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
345
|
+
useExisting: forwardRef(() => PagerComponent)
|
346
|
+
}
|
347
|
+
]
|
348
|
+
}]
|
349
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
|
350
|
+
class PagerModule {
|
351
|
+
}
|
352
|
+
PagerModule.ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
353
|
+
PagerModule.ɵmod = i0.ɵɵdefineNgModule({ type: PagerModule });
|
354
|
+
PagerModule.ɵinj = i0.ɵɵdefineInjector({});
|
355
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
|
356
|
+
type: NgModule,
|
357
|
+
args: [{
|
358
|
+
declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
359
|
+
exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
360
|
+
schemas: [NO_ERRORS_SCHEMA]
|
361
|
+
}]
|
362
|
+
}], null, null); })();
|
363
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
|
364
|
+
|
365
|
+
export { PagerComponent, PagerItemDirective, PagerModule, TemplateKeyDirective, TemplatedItemsComponent };
|
366
|
+
//# sourceMappingURL=nativescript-community-ui-pager-angular.js.map
|