{"version":3,"mappings":"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","names":["g","_c0","_c1","_c2","rf","ctx","ɵngcc0","ctx_r8","i_r4","index","item_r3","$implicit","ctx_r6","itemTemplate","item","_r11","focusHandler","blurHandler","$event","keydownHandler","SortableComponent_div_0_ng_container_2_Template","SortableComponent_div_0_ng_container_3_Template","ctx_r0","hidden","itemEnabled","currentItemClass","currentItemStyle","navigable","tabIndex","dragIndex","ariaDropEffect","id","itemTemplateRef","ctx_r1","emptyText","_c3","a0","ctx_r15","_localData","ctx_r16","SortableComponent_div_2_ng_container_1_Template","SortableComponent_div_2_ng_container_2_Template","ctx_r2","hintStyle","NODE_NAME_PREDICATES","NODE_ATTR_PREDICATES","focusableRegex","matchesNodeAttr","nodeAttr","element","hasAttribute","closest","node","predicate","parentNode","draggableFromPoint","x","y","isDocumentAvailable","el","document","elementFromPoint","isDraggable","isChild","parentDraggable","parseInt","getAttribute","isDraggableChild","rect","getBoundingClientRect","draggableFromEvent","event","sortable","target","changedTouches","touch","clientX","clientY","draggables","toArray","toClassList","classNames","String","trim","split","isSortable","nodeName","toLowerCase","HAS_RELATIVE_STACKING_CONTEXT","hasRelativeStackingContext","parent","createElement","style","transform","innerHTML","body","appendChild","isDifferent","children","top","removeChild","packageMetadata","name","productName","productCodes","publishDate","version","licensingDocsUrl","allowDrag","e","originalEvent","tagName","skipTab","focusable","test","disabled","isFocusable","namesList","Boolean","className","find","indexOf","hasClasses","widgetTarget","SortableService","constructor","ngZone","this","activeDraggable","originDraggable","targetSortable","lastDraggable","onPressSubject","Subject","onDragSubject","onReleaseSubject","source","_target","sortableCounter","sortableRegister","subscriptions","pipe","filter","tap","press","getSortableComponentFromTouch","_","take","subscribe","release","pressArgs","isTouch","preventDefault","switchMap","_drag","drag","onPress","next","onDrag","onRelease","ngOnDestroy","unsubscribe","registerComponent","sortableComponent","toString","unregisterComponent","key","setSource","getSource","component","undefined","realTarget","parentElement","start","startTarget","startDrag","run","dropTarget","endDrag","positionHintFromEvent","markForCheck","leave","draggable","ɵfac","t","ɵprov","token","factory","__decorate","__metadata","NgZone","SortableContainer","DraggableDirective","renderer","_focused","activeIndex","_disabled","display","_display","ngOnInit","nativeElement","setStyle","ɵdir","type","selectors","hostVars","hostBindings","inputs","Input","Number","prototype","HostBinding","ElementRef","Renderer2","ItemTemplateDirective","templateRef","TemplateRef","PlaceholderTemplateDirective","prevented","isDefaultPrevented","PreventableEvent","options","super","Object","assign","DragStartEvent","DragOverEvent","SortableComponent_1","SortableComponent","localization","changeDetector","wrapper","sortableService","animation","disabledIndexes","zone","acceptZones","itemStyle","emptyItemStyle","activeItemStyle","disabledItemStyle","itemClass","activeItemClass","emptyItemClass","disabledItemClass","defaultTemplateRef","itemTemplateDirectiveRef","placeholderTemplateDirectiveRef","itemWrappers","dragStart","EventEmitter","dragEnd","dragOver","dragLeave","dataMove","dataAdd","dataRemove","navigate","animating","dragOverIndex","onDragStartSubject","onDragOverSubject","onDragLeaveSubject","onDragEndSubject","hintLocation","animationDuration","afterKeyPress","_hideActiveItem","validatePackage","direction","rtl","subscribeEvents","data","_data","cacheData","navigatable","value","touchAction","dir","setItemData","i","template","placeholderTemplateRef","Draggable","runOutsideAngular","bindTo","ngOnChanges","changes","isChanged","unsubscribeEvents","destroy","ngAfterContentInit","first","ngAfterViewChecked","elems","length","focus","updateCacheIndices","forEach","push","active","startEvent","DraggableEvent","offsetParent","window","getComputedStyle","relativeContextElement","dragEvent","leaveEvent","endEvent","hintVisible","hideActiveItem","position","left","acceptDragFrom","code","keyCode","limit","targetIndex","Math","min","max","navigateEvent","NavigateEvent","oldIndex","ctrlKey","metaKey","emit","stopPropagation","removeDataItem","splice","hideItem","clearActiveItem","fixFocus","getActiveItem","addDataItem","dataItem","moveItem","onStable","fromIndex","toIndex","d","originalIndexAnimate","toAnimate","tmp","prevIndex","prev","setTimeout","animate","itemArray","prevClientRect","nextClientRect","that","clearTimeout","_animating","targetRect","currentRect","applyAnimationStyle","reflow","animated","offset","parentOffset","scrollLeft","scrollTop","offsetWidth","prop","val","localizationChangeSubscription","dragStartSubscription","originIndex","dragStartEvent","dragOverSubscription","transition","dragOverEvent","placeHolderItemData","dragEndSubscription","dragEndEvent","DragEndEvent","dragLeaveSubscription","pageX","pageY","_e","originalData","endSub","leaveSub","overSub","merge","ɵngcc1","ɵcmp","contentQueries","dirIndex","_t","viewQuery","noDataContainer","hint","outputs","exportAs","features","LocalizationService","provide","L10N_PREFIX","useValue","useExisting","forwardRef","decls","vars","consts","SortableComponent_div_0_Template","SortableComponent_ng_container_1_Template","SortableComponent_div_2_Template","directives","ɵngcc2","encapsulation","Array","ContentChildren","descendants","QueryList","read","ViewChildren","ViewChild","static","Output","ChangeDetectorRef","SortableModule","ɵmod","ɵinj","providers","imports","CommonModule","ApNewsOverviewComponent","newsStore","loginStore","languageStore","Listen","s","loading","map","Convert","n","title","Caption","content","Newshtml","expanded","loadNews","SelectedFarm","Country","_a","Id","SelectedLanguage$","Key","url","i0","ApDashboardOverviewComponent","routerStore","userStore","mapViewStore","statisticStore","_subscriptions","routerStoreData","a","startsWith","queryParams","redirectToNews","resetRedirectToNews","UserId","currentMenu","MapViewCurrentMenu","removeStatisticData","addStatisticData","ApStatsType","getMapViewMode","MapViewMode","showMapView","getMapViewCurrentMenu","goIntoStatisticMenu","routes","path","canActivate","ApPermissionGuard","login","layout","PageMode","ApDashboardRoutes","RouterModule","ApDashboardModule","GaugesModule","ScrollViewModule","ApCoreModule","GridModule","ChartsModule","ApTranslationModule","ReactiveFormsModule","ButtonModule","FormsModule","DropDownsModule","DropDownButtonModule","ApMapModule","DatePickerModule","LayoutModule","PanelBarModule","ApSectionHeaderModule","ApIconModule","ApUtilsModule","ApParameterEntryComponentsModule"],"sources":["webpack:///tslib?a84c","./node_modules/@progress/kendo-angular-sortable/__ivy_ngcc__/dist/fesm2015/index.js","./src/app/dashboard/components/ap-news.component.ts","./src/app/dashboard/components/ap-news.component.html","./src/app/dashboard/components/ap-dashboard.component.ts","./src/app/dashboard/components/ap-dashboard.component.html","./src/app/dashboard/ap-dashboard.routes.ts","./src/app/dashboard/ap-dashboard.module.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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**-----------------------------------------------------------------------------------------\n* Copyright © 2021 Progress Software Corporation. All rights reserved.\n* Licensed under commercial license. See LICENSE.md in the project root for more information\n*-------------------------------------------------------------------------------------------*/\nimport { __decorate, __metadata } from 'tslib';\nimport { Injectable, NgZone, Input, HostBinding, Directive, ElementRef, Renderer2, TemplateRef, EventEmitter, ContentChildren, QueryList, ViewChildren, ViewChild, Output, Component, forwardRef, ChangeDetectorRef, NgModule } from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { isDocumentAvailable, isChanged } from '@progress/kendo-angular-common';\nimport { filter, tap, take, switchMap } from 'rxjs/operators';\nimport { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';\nimport { validatePackage } from '@progress/kendo-licensing';\nimport Draggable from '@telerik/kendo-draggable';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@progress/kendo-angular-l10n';\nimport * as ɵngcc2 from '@angular/common';\n\nconst _c0 = [\"noDataRef\"];\nconst _c1 = [\"hint\"];\nconst _c2 = [\"itemWrapper\"];\nfunction SortableComponent_div_0_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 6);\n} if (rf & 2) {\n const ctx_r8 = ɵngcc0.ɵɵnextContext();\n const i_r4 = ctx_r8.index;\n const item_r3 = ctx_r8.$implicit;\n const ctx_r6 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r6.itemTemplate(i_r4))(\"ngTemplateOutletContext\", item_r3);\n} }\nfunction SortableComponent_div_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const item_r3 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(item_r3.item);\n} }\nfunction SortableComponent_div_0_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 3, 4);\n ɵngcc0.ɵɵlistener(\"focus\", function SortableComponent_div_0_Template_div_focus_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r11); const i_r4 = restoredCtx.index; const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ctx_r10.focusHandler(i_r4); })(\"blur\", function SortableComponent_div_0_Template_div_blur_0_listener() { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ctx_r12.blurHandler(); })(\"keydown\", function SortableComponent_div_0_Template_div_keydown_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ctx_r13.keydownHandler($event); });\n ɵngcc0.ɵɵtemplate(2, SortableComponent_div_0_ng_container_2_Template, 1, 2, \"ng-container\", 5);\n ɵngcc0.ɵɵtemplate(3, SortableComponent_div_0_ng_container_3_Template, 2, 1, \"ng-container\", 1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r3 = ctx.$implicit;\n const i_r4 = ctx.index;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"index\", i_r4)(\"hidden\", item_r3.hidden)(\"disabled\", !ctx_r0.itemEnabled(i_r4))(\"ngClass\", ctx_r0.currentItemClass(i_r4))(\"ngStyle\", ctx_r0.currentItemStyle(i_r4));\n ɵngcc0.ɵɵattribute(\"tabIndex\", ctx_r0.itemEnabled(i_r4) ? ctx_r0.navigable ? ctx_r0.tabIndex || 0 : ctx_r0.tabIndex : null)(\"aria-grabbed\", i_r4 === ctx_r0.dragIndex)(\"aria-dropeffect\", ctx_r0.ariaDropEffect(i_r4))(\"data-sortable-item\", true)(\"data-sortable-index\", i_r4)(\"data-sortable-id\", ctx_r0.id);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.itemTemplateRef);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r0.itemTemplateRef);\n} }\nfunction SortableComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0, null, 7);\n ɵngcc0.ɵɵelementStart(2, \"div\", 8);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"index\", 0)(\"disabled\", true)(\"ngStyle\", ctx_r1.currentItemStyle(-1))(\"ngClass\", ctx_r1.currentItemClass(-1));\n ɵngcc0.ɵɵattribute(\"data-sortable-id\", ctx_r1.id)(\"data-sortable-index\", 0);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r1.emptyText);\n} }\nconst _c3 = function (a0) { return { item: a0 }; };\nfunction SortableComponent_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 6);\n} if (rf & 2) {\n const ctx_r15 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r15.itemTemplateRef)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction1(2, _c3, ctx_r15._localData[ctx_r15.dragIndex].item));\n} }\nfunction SortableComponent_div_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r16 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r16._localData[ctx_r16.dragIndex].item);\n} }\nfunction SortableComponent_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 9);\n ɵngcc0.ɵɵtemplate(1, SortableComponent_div_2_ng_container_1_Template, 1, 4, \"ng-container\", 5);\n ɵngcc0.ɵɵtemplate(2, SortableComponent_div_2_ng_container_2_Template, 2, 1, \"ng-container\", 1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngStyle\", ctx_r2.hintStyle())(\"ngClass\", ctx_r2.currentItemClass(ctx_r2.dragIndex));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r2.itemTemplateRef);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r2.itemTemplateRef);\n} }\nconst NODE_NAME_PREDICATES = {};\nconst NODE_ATTR_PREDICATES = {};\nconst focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;\n/**\n * @hidden\n */\nconst matchesNodeName = (nodeName) => {\n if (!NODE_NAME_PREDICATES[nodeName]) {\n NODE_NAME_PREDICATES[nodeName] = (element) => String(element.nodeName).toLowerCase() === nodeName.toLowerCase();\n }\n return NODE_NAME_PREDICATES[nodeName];\n};\n/**\n * @hidden\n */\nconst matchesNodeAttr = (nodeAttr) => {\n if (!NODE_ATTR_PREDICATES[nodeAttr]) {\n NODE_ATTR_PREDICATES[nodeAttr] = (element) => element.hasAttribute ? element.hasAttribute(nodeAttr) : false;\n }\n return NODE_ATTR_PREDICATES[nodeAttr];\n};\n/**\n * @hidden\n */\nconst closest = (node, predicate) => {\n while (node && !predicate(node)) {\n node = node.parentNode;\n }\n return node;\n};\n/**\n * Returns an object specifiying whether there is a DraggableDirective under the cursor.\n * @hidden\n */\nconst draggableFromPoint = (x, y) => {\n if (!isDocumentAvailable()) {\n return;\n }\n let el = document.elementFromPoint(x, y);\n if (!el) {\n return;\n }\n const isDraggable = el.hasAttribute(\"kendoDraggable\");\n const isChild = closest(el, matchesNodeAttr(\"kendoDraggable\")) !== null;\n const parentDraggable = closest(el, matchesNodeAttr(\"kendoDraggable\"));\n const index = parentDraggable ? parseInt(parentDraggable.getAttribute(\"data-sortable-index\"), 10) : -1;\n return {\n element: el,\n index: index,\n isDraggable: isDraggable,\n isDraggableChild: isChild,\n parentDraggable: parentDraggable,\n rect: el.getBoundingClientRect()\n };\n};\n/**\n * Returns the DraggableDirective under the cursor.\n * @hidden\n */\nconst draggableFromEvent = (event, sortable) => {\n let target;\n if (event.changedTouches) {\n const touch = event.changedTouches[0];\n target = draggableFromPoint(touch.clientX, touch.clientY);\n }\n else {\n target = draggableFromPoint(event.clientX, event.clientY);\n }\n // TODO: refactor sortable. Add draggable getter\n return sortable.draggables.toArray()[target ? target.index : -1];\n};\n/**\n * @hidden\n */\nconst isFocusable = (element) => {\n if (element.tagName) {\n const tagName = element.tagName.toLowerCase();\n const tabIndex = element.getAttribute('tabIndex');\n const skipTab = tabIndex === '-1';\n let focusable = tabIndex !== null && !skipTab;\n if (focusableRegex.test(tagName)) {\n focusable = !element.disabled && !skipTab;\n }\n return focusable;\n }\n return false;\n};\nconst toClassList = (classNames) => String(classNames).trim().split(' ');\n/**\n * @hidden\n */\nconst hasClasses = (element, classNames) => {\n const namesList = toClassList(classNames);\n return Boolean(toClassList(element.className).find((className) => namesList.indexOf(className) >= 0));\n};\nconst isSortable = matchesNodeName('kendo-sortable');\n/**\n * @hidden\n */\nconst widgetTarget = (target) => {\n const element = closest(target, node => hasClasses(node, 'k-widget') || isSortable(node));\n return element && !isSortable(element);\n};\nconst hasRelativeStackingContext = () => {\n if (!isDocumentAvailable()) {\n return false;\n }\n const top = 10;\n const parent = document.createElement(\"div\");\n parent.style.transform = \"matrix(10, 0, 0, 10, 0, 0)\";\n parent.innerHTML = `
child
`;\n document.body.appendChild(parent);\n const isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n document.body.removeChild(parent);\n return isDifferent;\n};\nconst HAS_RELATIVE_STACKING_CONTEXT = hasRelativeStackingContext();\n/**\n * @hidden\n */\nconst relativeContextElement = (element) => {\n if (!element || !HAS_RELATIVE_STACKING_CONTEXT) {\n return null;\n }\n let node = element.parentElement;\n while (node) {\n if (window.getComputedStyle(node).transform !== 'none') {\n return node;\n }\n node = node.parentElement;\n }\n};\n\n/**\n * @hidden\n */\nconst packageMetadata = {\n name: '@progress/kendo-angular-sortable',\n productName: 'Kendo UI for Angular',\n productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],\n publishDate: 1635940632,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'\n};\n\nconst allowDrag = (e) => {\n const target = e.originalEvent.target;\n return target.hasAttribute('data-sortable-item') || !(isFocusable(target) || widgetTarget(target));\n};\n/**\n * The service that provides the drag-and-drop functionality for\n * transferring items between Sortable components within the same page.\n *\n */\nlet SortableService = class SortableService {\n constructor(ngZone) {\n this.ngZone = ngZone;\n /**\n * Specifies the Draggable item that is currently being moved.\n */\n this.activeDraggable = null;\n /**\n * Specifies the Draggable item from which the dragging started.\n */\n this.originDraggable = null;\n /**\n * @hidden\n */\n this.targetSortable = null;\n /**\n * Specifies the Draggable item that last emitted an event.\n */\n this.lastDraggable = null;\n /**\n * @hidden\n */\n this.onPressSubject = new Subject();\n /**\n * @hidden\n */\n this.onDragSubject = new Subject();\n /**\n * @hidden\n */\n this.onReleaseSubject = new Subject();\n this.source = null;\n this._target = null;\n this.sortableCounter = 0;\n this.sortableRegister = {};\n if (!isDocumentAvailable()) {\n return;\n }\n this.subscriptions = this.onPressSubject.pipe(filter(allowDrag), tap(press => {\n this.targetSortable = this.getSortableComponentFromTouch(press);\n }), filter(_ => Boolean(this.targetSortable)), tap(press => {\n this.onReleaseSubject.pipe(take(1)).subscribe(event => this.release(event));\n this.pressArgs = press;\n if (press.isTouch) {\n press.originalEvent.preventDefault();\n }\n }), switchMap(_drag => this.onDragSubject.pipe(filter(_ => Boolean(this.targetSortable)), //stop further events if dragStart is prevented\n tap((e) => this.drag(e))))).subscribe();\n }\n /**\n * Specifies the `SortableComponent` instance under the currently dragged item.\n */\n set target(target) {\n this._target = target;\n }\n get target() {\n return this._target;\n }\n /**\n * @hidden\n */\n onPress(e) {\n this.onPressSubject.next(e);\n }\n /**\n * @hidden\n */\n onDrag(e) {\n this.onDragSubject.next(e);\n }\n /**\n * @hidden\n */\n onRelease(e) {\n this.onReleaseSubject.next(e);\n }\n /**\n * @hidden\n */\n ngOnDestroy() {\n if (this.subscriptions) {\n this.subscriptions.unsubscribe();\n }\n }\n /**\n * Registers a `SortableComponent` with which the service operates.\n *\n * @param sortableComponent - The `SortableComponent`.\n * @return - The unique key that the current `SortableComponent` gets when registered.\n */\n registerComponent(sortableComponent) {\n const id = this.sortableCounter.toString();\n this.sortableRegister[id] = sortableComponent;\n this.sortableCounter++;\n return id;\n }\n /**\n * Removes a `SortableComponent` from the registered `SortableComponents` with which the service operates.\n *\n * @param key - The key of the `SortableComponent` which will be removed from the register.\n * Obtained when `registerComponent` is called.\n */\n unregisterComponent(key) {\n this.sortableRegister[key] = null;\n }\n /**\n * Sets the `SortableComponent` as a source component. When dragging an item from one Sortable to another,\n * the source component is the one from which the item originates.\n *\n * @param sortable - The `SortableComponent`.\n */\n setSource(sortable) {\n this.source = sortable;\n }\n /**\n * Returns the source `SortableComponent` from which\n * an item is dragged to other Sortable components.\n *\n * @return - The `SourceComponent`.\n */\n getSource() {\n return this.source;\n }\n /**\n * The method that finds the `SortableComponent` which is registered to\n * the `SortableService` by using the arguments of the `touch` event.\n *\n * @param touch - A Touch-Object of the `Touch` type interface.\n * Represents a single contact point (finger or stylus)\n * on a touch-sensitive device (touchscreen or trackpad).\n *\n * @return { component: SortableComponent, index: number } - An object\n * where the component is the `SortableComponent` that owns the item\n * and the index is the index of the touched item.\n */\n getSortableComponentFromTouch(touch) {\n if (!isDocumentAvailable()) {\n return { component: undefined, index: undefined };\n }\n let realTarget = document.elementFromPoint(touch.clientX, touch.clientY);\n while (realTarget) {\n const id = realTarget.getAttribute('data-sortable-id');\n const index = realTarget.getAttribute('data-sortable-index');\n if (id) {\n const targetSortable = this.sortableRegister[id];\n if (targetSortable) {\n return { component: targetSortable, index: parseInt(index, 10) };\n }\n }\n realTarget = realTarget.parentElement;\n }\n }\n start() {\n const pressArgs = this.pressArgs;\n if (pressArgs) {\n this.pressArgs = null;\n const startTarget = draggableFromEvent(pressArgs, this.targetSortable.component);\n if (this.targetSortable.component.startDrag({ target: startTarget, originalEvent: pressArgs })) {\n this.targetSortable = null;\n return true;\n }\n }\n }\n release(event) {\n if (this.source) {\n this.ngZone.run(() => {\n if (this.targetSortable) {\n const dropTarget = draggableFromEvent(event, this.targetSortable.component);\n this.source.endDrag({ target: dropTarget, originalEvent: event });\n }\n this.source.positionHintFromEvent(null);\n this.source.markForCheck();\n });\n }\n this.targetSortable = null;\n this.pressArgs = null;\n }\n drag(event) {\n this.ngZone.run(() => {\n if (this.start()) {\n return;\n }\n this.source.positionHintFromEvent(event);\n const sortable = this.getSortableComponentFromTouch(event);\n if (!sortable || sortable && sortable.component !== this.target) {\n if (this.target) {\n this.target.leave({ target: undefined, originalEvent: event });\n }\n else if (this.source !== this.target) {\n this.source.leave({ target: undefined, originalEvent: event });\n }\n }\n if (sortable && sortable.component) {\n const draggable = draggableFromEvent(event, sortable.component);\n sortable.component.drag({ target: draggable, originalEvent: event });\n }\n this.source.markForCheck();\n });\n }\n};\nSortableService.ɵfac = function SortableService_Factory(t) { return new (t || SortableService)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nSortableService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: SortableService, factory: function (t) { return SortableService.ɵfac(t); } });\nSortableService = __decorate([ __metadata(\"design:paramtypes\", [NgZone])\n], SortableService);\n\n/**\n * @hidden\n */\nlet SortableContainer = class SortableContainer {\n};\nSortableContainer.ɵfac = function SortableContainer_Factory(t) { return new (t || SortableContainer)(); };\nSortableContainer.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: SortableContainer, factory: function (t) { return SortableContainer.ɵfac(t); } });\n\n/**\n * @hidden\n */\nlet DraggableDirective = class DraggableDirective {\n constructor(parent, el, renderer) {\n this.parent = parent;\n this.el = el;\n this.renderer = renderer;\n }\n get _focused() {\n return this.disabled ? false : (this.index === this.parent.activeIndex);\n }\n get _disabled() {\n return this.disabled;\n }\n get display() {\n return this.hidden ? \"none\" : this._display;\n }\n set display(display) {\n this._display = display;\n }\n ngOnInit() {\n const nativeElement = this.el.nativeElement;\n this.display = nativeElement.style.display;\n if (nativeElement) { // Remove the inline styles after a few releases of the themes with the style.\n this.renderer.setStyle(nativeElement, 'user-select', 'none');\n this.renderer.setStyle(nativeElement, '-ms-user-select', 'none');\n this.renderer.setStyle(nativeElement, '-moz-user-select', 'none');\n this.renderer.setStyle(nativeElement, '-webkit-user-select', 'none');\n }\n }\n};\nDraggableDirective.ɵfac = function DraggableDirective_Factory(t) { return new (t || DraggableDirective)(ɵngcc0.ɵɵdirectiveInject(SortableContainer), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nDraggableDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DraggableDirective, selectors: [[\"\", \"kendoDraggable\", \"\"]], hostVars: 5, hostBindings: function DraggableDirective_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-disabled\", ctx._disabled);\n ɵngcc0.ɵɵstyleProp(\"display\", ctx.display);\n ɵngcc0.ɵɵclassProp(\"k-state-focused\", ctx._focused);\n } }, inputs: { index: \"index\", hidden: \"hidden\", disabled: \"disabled\" } });\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], DraggableDirective.prototype, \"index\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], DraggableDirective.prototype, \"hidden\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], DraggableDirective.prototype, \"disabled\", void 0);\n__decorate([\n HostBinding('class.k-state-focused'),\n __metadata(\"design:type\", Boolean),\n __metadata(\"design:paramtypes\", [])\n], DraggableDirective.prototype, \"_focused\", null);\n__decorate([\n HostBinding('attr.aria-disabled'),\n __metadata(\"design:type\", Boolean),\n __metadata(\"design:paramtypes\", [])\n], DraggableDirective.prototype, \"_disabled\", null);\n__decorate([\n HostBinding('style.display'),\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [String])\n], DraggableDirective.prototype, \"display\", null);\nDraggableDirective = __decorate([ __metadata(\"design:paramtypes\", [SortableContainer,\n ElementRef,\n Renderer2])\n], DraggableDirective);\n\n//TODO: RENAME FILE AND UPDATE EXPORTS AND MODULES\n/**\n * @hidden\n */\nlet ItemTemplateDirective = class ItemTemplateDirective {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nItemTemplateDirective.ɵfac = function ItemTemplateDirective_Factory(t) { return new (t || ItemTemplateDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nItemTemplateDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ItemTemplateDirective, selectors: [[\"\", \"kendoSortableItemTemplate\", \"\"]] });\nItemTemplateDirective = __decorate([ __metadata(\"design:paramtypes\", [TemplateRef])\n], ItemTemplateDirective);\n/**\n * @hidden\n */\nlet PlaceholderTemplateDirective = class PlaceholderTemplateDirective {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nPlaceholderTemplateDirective.ɵfac = function PlaceholderTemplateDirective_Factory(t) { return new (t || PlaceholderTemplateDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nPlaceholderTemplateDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: PlaceholderTemplateDirective, selectors: [[\"\", \"kendoSortablePlaceholderTemplate\", \"\"]] });\nPlaceholderTemplateDirective = __decorate([ __metadata(\"design:paramtypes\", [TemplateRef])\n], PlaceholderTemplateDirective);\n\n/**\n * Defines an event whose default action can be prevented\n * by calling the `preventDefault` method.\n *\n * @hidden\n */\nclass PreventableEvent {\n constructor() {\n this.prevented = false;\n }\n /**\n * Prevents the default action for a specified event.\n * In this way, the source component suppresses\n * the built-in behavior that follows the event.\n */\n preventDefault() {\n this.prevented = true;\n }\n /**\n * If the event was prevented\n * by any of its subscribers, returns `true`.\n *\n * @returns `true` if the default action was prevented. Otherwise, returns `false`.\n */\n isDefaultPrevented() {\n return this.prevented;\n }\n}\n\n/**\n * The `navigate` event is emitted when using the keyboard arrows.\n */\nclass NavigateEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n\n/**\n * The arguments for the `DraggableDirective` events.\n * @hidden\n */\nclass DraggableEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n\n/**\n * Arguments for the `dragStart` event.\n */\nclass DragStartEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n/**\n * Arguments for the `dragOver` event.\n */\nclass DragOverEvent extends DragStartEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super(options);\n Object.assign(this, options);\n }\n}\n/**\n * Arguments for the `dragEnd` event.\n */\nclass DragEndEvent extends DragOverEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super(options);\n Object.assign(this, options);\n }\n}\n\nvar SortableComponent_1;\n/**\n * Represents the [Kendo UI Sortable component for Angular]({% slug overview_sortable %}).\n *\n * {% embed_file sortable-api/app.component.ts %}\n * {% embed_file shared/app.module.ts preview %}\n * {% embed_file shared/main.ts hidden %}\n */\nlet SortableComponent = SortableComponent_1 = \n/**\n * Represents the Kendo UI Sortable component for Angular.\n */\nclass SortableComponent {\n constructor(ngZone, localization, changeDetector, wrapper, sortableService) {\n this.ngZone = ngZone;\n this.localization = localization;\n this.changeDetector = changeDetector;\n /**\n * Specifies the tab index of the Sortable component.\n */\n this.tabIndex = null;\n /**\n * Enables or disables the [keyboard navigation]({% slug keyboard_navigation_sortable %}).\n * The default value is `false`.\n */\n this.navigable = false;\n /**\n * Enables or disables the built-in animations.\n * The default value is `false`.\n */\n this.animation = false;\n /**\n * Sets an array of integers, which represent the indexes of the disabled items from the data array\n * ([see example]({% slug items_sortable %}#toc-disabled-items)).\n */\n this.disabledIndexes = [];\n /**\n * Sets a string that represents the name of the zone to which the Sortable belongs\n * ([see example]({% slug items_sortable %}#toc-transfer-of-items)). Items can be transferred\n * between Sortables which belong to the same zone.\n */\n this.zone = undefined;\n /**\n * Defines the zones from which items can be transferred onto the current Sortable component\n * ([see example]({% slug items_sortable %}#toc-transfer-of-items)). If the `acceptZones` property\n * of the target Sortable is set, allows you to transfer items between Sortables which belong\n * to different zones.\n */\n this.acceptZones = undefined;\n /**\n * Represents the CSS styles which are applied to each Sortable item.\n *\n * @example\n * ```ts\n * import { Component } from '@angular/core';\n * import { SortableModule } from '@progress/kendo-angular-sortable';\n *\n * _@Component({\n * selector: 'my-app',\n * template: `\n * \n * \n * `\n * })\n * export class AppComponent {\n * }\n * ```\n */\n this.itemStyle = {};\n /**\n * Defines the CSS styles applied to an empty item ([see example]({% slug templates_sortable %})).\n */\n this.emptyItemStyle = undefined;\n /**\n * Defines the CSS styles which are applied to the currently dragged item ([see example]({% slug templates_sortable %})).\n */\n this.activeItemStyle = undefined;\n /**\n * Defines the CSS styles which are applied to all disabled items.\n */\n this.disabledItemStyle = undefined;\n /**\n * Defines the class which is applied to each Sortable item.\n */\n this.itemClass = \"\";\n /**\n * Defines the class which is applied to the active Sortable item.\n */\n this.activeItemClass = null;\n /**\n * Defines the class which is applied to the empty item when the Sortable has empty data.\n */\n this.emptyItemClass = null;\n /**\n * Defines the class which is applied to each disabled Sortable item.\n */\n this.disabledItemClass = null;\n /**\n * Sets the text message that will be displayed when the Sortable has no items.\n *\n * @example\n * ```ts\n * import { Component } from '@angular/core';\n * import { SortableModule } from '@progress/kendo-angular-sortable';\n *\n * _@Component({\n * selector: 'my-app',\n * template: `\n * \n * \n * `\n * })\n * export class AppComponent { }\n * ```\n */\n this.emptyText = \"Empty\";\n /**\n * @hidden\n */\n this.defaultTemplateRef = null;\n /**\n * Defines the template that will be used for rendering the items.\n * @hidden\n */\n this.itemTemplateDirectiveRef = null;\n /**\n * Defines the template that will be used for rendering the placeholder.\n * @hidden\n */\n this.placeholderTemplateDirectiveRef = null;\n this.itemWrappers = null;\n /**\n * Fires when the dragging of an item is started.\n */\n this.dragStart = new EventEmitter();\n /**\n * Fires when the dragging of an item is completed.\n */\n this.dragEnd = new EventEmitter();\n /**\n * Fires while the dragging of an item is in progress.\n */\n this.dragOver = new EventEmitter();\n /**\n * Fires when dragging an item outside of the component.\n */\n this.dragLeave = new EventEmitter();\n /**\n * Fires while the moving an item from one position to another.\n */\n this.dataMove = new EventEmitter();\n /**\n * Fires when a new item is added to the Sortable.\n */\n this.dataAdd = new EventEmitter();\n /**\n * Fires when an item is removed from the Sortable.\n */\n this.dataRemove = new EventEmitter();\n /**\n * Fires when navigating using the keyboard.\n */\n this.navigate = new EventEmitter();\n /**\n * The index of the currently focused item.\n * If no item is focused, set to `-1`.\n */\n this.activeIndex = -1;\n /**\n * Flag indicating if the component is currently playing animations.\n * @hidden\n */\n this.animating = false;\n /**\n * The index of the currently dragged item.\n */\n this.dragIndex = -1;\n /**\n * The index of the item above which the dragged item is.\n */\n this.dragOverIndex = -1;\n this.onDragStartSubject = new Subject();\n this.onDragOverSubject = new Subject();\n this.onDragLeaveSubject = new Subject();\n this.onDragEndSubject = new Subject();\n /**\n * The location of the hint indicator when dragging on mobile devices.\n */\n this.hintLocation = null;\n this._localData = [];\n this.animationDuration = 300;\n this.afterKeyPress = false;\n this.sortableService = null;\n this._hideActiveItem = false;\n validatePackage(packageMetadata);\n this.wrapper = wrapper.nativeElement;\n this.direction = localization.rtl ? 'rtl' : 'ltr';\n this.sortableService = sortableService;\n this.subscribeEvents();\n }\n /**\n * Sets an array of any data that is used as a data source for the Sortable.\n *\n * {% embed_file sortable-palettes/app.component.ts %}\n * {% embed_file shared/app.module.ts %}\n * {% embed_file shared/main.ts hidden %}\n */\n set data(data) {\n this._data = data;\n //Cache each _data item instance locally to avoid repaint due to the ngTemplateOutletContext (generated by itemData)\n //This prevents destroying the kendoDraggable instance, which otherwise leads to losing the dragEnd event\n //due to non-exisitng HTML element\n this.cacheData();\n }\n get data() {\n return this._data;\n }\n /**\n * @hidden\n *\n * A misspelled alias for `navigable`.\n */\n set navigatable(value) {\n this.navigable = value;\n }\n get touchAction() {\n return \"none\";\n }\n get dir() {\n return this.direction;\n }\n setItemData(data, i) {\n this._localData[i].item = data.item;\n this._localData[i].index = data.index;\n this._localData[i].hidden = data.hidden;\n }\n /**\n * @hidden\n */\n itemTemplate(index) {\n let template = this.itemTemplateRef;\n if (index === this.dragOverIndex) {\n template = this.placeholderTemplateRef;\n }\n else if (index === this.dragIndex) {\n template = this.itemTemplateRef;\n }\n return template;\n }\n ngOnInit() {\n if (!this.data) {\n this.data = [];\n }\n this.id = this.sortableService.registerComponent(this);\n this.dragIndex = -1;\n const display = \"display\";\n if (this.activeItemStyle && !this.activeItemStyle[display]) {\n this.activeItemStyle[display] = \"\";\n }\n if (!this.itemStyle[display]) {\n this.itemStyle[display] = \"\";\n }\n if (this.wrapper) {\n this.draggable = new Draggable({\n press: (e) => this.sortableService.onPress(e),\n drag: (e) => this.sortableService.onDrag(e),\n release: (e) => this.sortableService.onRelease(e)\n });\n this.ngZone.runOutsideAngular(() => {\n this.draggable.bindTo(this.wrapper);\n });\n }\n }\n ngOnChanges(changes) {\n if (this.data && isChanged('disabledIndexes', changes, false)) {\n this.cacheData();\n }\n }\n ngOnDestroy() {\n this.unsubscribeEvents();\n this.sortableService.unregisterComponent(this.id);\n if (this.draggable) {\n this.draggable.destroy();\n }\n }\n ngAfterContentInit() {\n this.itemTemplateRef = this.itemTemplateDirectiveRef.first || this.defaultTemplateRef.first;\n this.placeholderTemplateRef = this.placeholderTemplateDirectiveRef.first || this.defaultTemplateRef.first;\n }\n ngAfterViewChecked() {\n if (this.afterKeyPress) {\n if (this.itemWrappers) {\n const elems = this.itemWrappers.toArray();\n if (elems && elems.length > 0 && this.activeIndex > -1) {\n elems[this.activeIndex].nativeElement.focus();\n }\n }\n this.afterKeyPress = false;\n }\n }\n /**\n * @hidden\n */\n updateCacheIndices() {\n this._localData.forEach((item, index) => {\n item.index = index;\n });\n }\n /**\n * @hidden\n */\n cacheData() {\n this._localData = [];\n this._data.forEach((item, index) => {\n this._localData.push({ item: item, active: false, disabled: !this.itemEnabled(index), index: index, hidden: false });\n });\n }\n /**\n * @hidden\n */\n startDrag(event) {\n const startEvent = new DraggableEvent(event);\n this.onDragStartSubject.next(startEvent);\n const prevented = startEvent.isDefaultPrevented();\n if (!prevented) {\n this.offsetParent = relativeContextElement(this.wrapper);\n }\n return prevented;\n }\n /**\n * @hidden\n */\n drag(event) {\n const dragEvent = new DraggableEvent(event);\n this.onDragOverSubject.next(dragEvent);\n return dragEvent.isDefaultPrevented();\n }\n /**\n * @hidden\n */\n leave(event) {\n const leaveEvent = new DraggableEvent(event);\n this.onDragLeaveSubject.next(leaveEvent);\n return leaveEvent.isDefaultPrevented();\n }\n /**\n * @hidden\n */\n endDrag(event) {\n const endEvent = new DraggableEvent(event);\n this.onDragEndSubject.next(endEvent);\n return endEvent.isDefaultPrevented();\n }\n /**\n * @hidden\n */\n hintVisible() {\n return this.dragIndex >= 0 && this.hintLocation && this === this.sortableService.getSource();\n }\n /**\n * @hidden\n */\n currentItemStyle(index) {\n if (index === -1) {\n return this.emptyItemStyle ? this.emptyItemStyle : this.itemStyle;\n }\n if (!this.itemEnabled(index) && this.disabledItemStyle) {\n return this.disabledItemStyle;\n }\n if (index === this.dragIndex || (this.dragIndex === -1 && index === this.activeIndex)) {\n if (this.hideActiveItem) {\n return { \"display\": \"none\" };\n }\n if (this.activeItemStyle) {\n return this.activeItemStyle;\n }\n }\n return this.itemStyle;\n }\n /**\n * @hidden\n */\n currentItemClass(index) {\n if (index === -1) {\n return this.emptyItemClass ? this.emptyItemClass : this.itemClass;\n }\n if (!this.itemEnabled(index) && this.disabledItemClass) {\n return this.disabledItemClass;\n }\n if ((index === this.dragIndex || this.dragIndex === -1 && index === this.activeIndex) && this.activeItemClass) {\n return this.activeItemClass;\n }\n return this.itemClass;\n }\n /**\n * @hidden\n */\n hintStyle() {\n const position = {\n \"left\": this.hintLocation.x + 10 + \"px\",\n \"position\": \"fixed\",\n \"top\": this.hintLocation.y + 10 + \"px\"\n };\n let style = {};\n Object.assign(style, this.currentItemStyle(this.dragIndex), position);\n return style;\n }\n /**\n * @hidden\n */\n itemEnabled(index) {\n return this.disabledIndexes.indexOf(index) === -1;\n }\n /**\n * @hidden\n */\n acceptDragFrom(sortableComponent) {\n if (this.acceptZones === undefined) {\n return (this.zone === sortableComponent.zone);\n }\n else if (sortableComponent.zone !== undefined) {\n return (this.acceptZones.indexOf(sortableComponent.zone) !== -1);\n }\n return false;\n }\n /**\n * @hidden\n */\n ariaDropEffect(index) {\n return this.itemEnabled(index) ? \"move\" : \"none\";\n }\n /**\n * @hidden\n */\n focusHandler(index) {\n if (this.navigable) {\n this.activeIndex = index;\n }\n }\n /**\n * @hidden\n */\n blurHandler() {\n if (this.navigable && !this.afterKeyPress) {\n this.activeIndex = -1;\n }\n }\n /**\n * @hidden\n */\n keydownHandler(event) {\n const code = event.keyCode;\n const navigate = this.navigable && code >= 37 && code <= 40;\n const hasFocus = this.activeIndex !== -1;\n if (!navigate || !hasFocus) {\n return;\n }\n const leftKey = this.direction === 'rtl' ? 39 : 37;\n const dir = code === 38 || code === leftKey ? -1 : 1;\n const limit = this.data.length - 1;\n let targetIndex = this.activeIndex + dir;\n while (!this.itemEnabled(targetIndex) && targetIndex <= limit) {\n targetIndex += dir;\n }\n targetIndex = Math.min(Math.max(targetIndex, 0), limit);\n if (!this.itemEnabled(targetIndex)) {\n return;\n }\n if (navigate) {\n const ctrl = event.ctrlKey || event.metaKey;\n let navigateEvent = new NavigateEvent({ index: targetIndex, oldIndex: this.activeIndex, ctrlKey: ctrl });\n this.navigate.emit(navigateEvent);\n if (!navigateEvent.isDefaultPrevented()) {\n this.activeIndex = targetIndex;\n }\n this.dragIndex = -1;\n this.dragOverIndex = -1;\n }\n event.stopPropagation();\n event.preventDefault();\n this.afterKeyPress = true;\n }\n /**\n * Removes the currently active item from the Data collection that the Sortable uses.\n */\n removeDataItem(index) {\n this.dragIndex = -1;\n this.dragOverIndex = -1;\n this._localData.splice(index, 1);\n this.data.splice(index, 1);\n this.updateCacheIndices();\n }\n /**\n * Sets a Boolean value that indicates whether the item will be hidden or not.\n * @hidden\n */\n hideItem(index, hidden = true) {\n this._localData[index].hidden = hidden;\n }\n /**\n * Sets a Boolean value that indicates whether the currently dragged item will be hidden.\n */\n set hideActiveItem(value) {\n this.activeIndex = -1;\n this._hideActiveItem = value;\n }\n /**\n * If the currently dragged item is hidden, returns `true`.\n * If the currently dragged item is visible, returns `false`.\n */\n get hideActiveItem() {\n return this._hideActiveItem;\n }\n /**\n * Clears the active item.\n * An active item is the item which becomes focused when the user navigates with the keyboard.\n */\n clearActiveItem() {\n if (this.navigable) {\n this.fixFocus();\n }\n else {\n this.activeIndex = -1;\n }\n this.dragIndex = -1;\n }\n /**\n * Returns the currently active item when the user navigates with the keyboard.\n * @return - The data item which is currently active.\n */\n getActiveItem() {\n if (this.data && this.dragIndex >= 0 && this.dragIndex < this.data.length) {\n return this.data[this.dragIndex];\n }\n }\n /**\n * Adds a new data item to a particular index.\n * @param dataItem - The data item.\n * @param index - The index at which the data item is inserted.\n */\n addDataItem(dataItem, index) {\n const originDraggable = this.sortableService.originDraggable;\n if (originDraggable && originDraggable.parent === this) {\n const animation = this.animation;\n this.hideItem(originDraggable.index, false);\n this.animation = false;\n this.moveItem(originDraggable.index, index);\n this.animation = animation;\n }\n else {\n this.data.splice(index, 0, dataItem);\n this._localData.splice(index, 0, { item: dataItem, active: false, disabled: !this.itemEnabled(index), index: index, hidden: false });\n this.updateCacheIndices();\n }\n this.dragIndex = index;\n this.dragOverIndex = index;\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.sortableService.target = this;\n this.sortableService.setSource(this);\n this.sortableService.activeDraggable = this.draggables.toArray()[index];\n this.sortableService.lastDraggable = null;\n });\n }\n /**\n * Moves data item to a particular index.\n * @param fromIndex - The data item's index.\n * @param toIndex - The index which the data item should be moved to. Item currently sitting at that index is pushed back one position.\n */\n moveItem(fromIndex, toIndex) {\n if (toIndex === fromIndex) {\n return;\n }\n let dragIndex = fromIndex;\n const d = toIndex > dragIndex ? 1 : -1;\n const originalIndexAnimate = dragIndex;\n const toAnimate = [];\n let prevIndex = dragIndex;\n let tmp;\n while (dragIndex !== toIndex) {\n dragIndex += d;\n if (this.itemEnabled(dragIndex) || dragIndex === toIndex) {\n if (this.animation) {\n toAnimate.push({ next: dragIndex, prev: prevIndex });\n }\n tmp = this._localData[prevIndex].index;\n this._localData[prevIndex].index = this._localData[dragIndex].index;\n this._localData[dragIndex].index = tmp;\n tmp = this._localData[prevIndex];\n this._localData[prevIndex] = this._localData[dragIndex];\n this._localData[dragIndex] = tmp;\n tmp = this.data[prevIndex];\n this.data[prevIndex] = this.data[dragIndex];\n this.data[dragIndex] = tmp;\n prevIndex = dragIndex;\n }\n }\n this.dragIndex = dragIndex;\n this.dragOverIndex = dragIndex;\n this.activeIndex = dragIndex;\n if (this.animation) {\n setTimeout(() => {\n toAnimate.push({ next: originalIndexAnimate, prev: dragIndex });\n this.animating = true;\n this.animate(toAnimate);\n });\n }\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.sortableService.activeDraggable = this.draggables.toArray()[dragIndex];\n this.sortableService.lastDraggable = null;\n });\n }\n /**\n * @hidden\n */\n animate(draggables) {\n const itemArray = this.itemWrappers.toArray();\n const prevClientRect = [];\n const nextClientRect = [];\n const that = this;\n clearTimeout(this._animating);\n for (let i = 0; i < draggables.length; i++) {\n prevClientRect.push(itemArray[draggables[i].prev].nativeElement.getBoundingClientRect());\n nextClientRect.push(itemArray[draggables[i].next].nativeElement.getBoundingClientRect());\n }\n for (let i = 0; i < draggables.length; i++) {\n const nextIndex = draggables[i].prev;\n const targetRect = nextClientRect[i];\n const currentRect = prevClientRect[i];\n const target = itemArray[nextIndex].nativeElement;\n this.applyAnimationStyle(target, 'transition', 'none');\n this.applyAnimationStyle(target, 'transform', 'translate3d('\n + (targetRect.left - currentRect.left).toString() + 'px,'\n + (targetRect.top - currentRect.top).toString() + 'px,0)');\n this.reflow(target);\n }\n for (let i = 0; i < draggables.length; i++) {\n const nextIndex = draggables[i].prev;\n const target = itemArray[nextIndex].nativeElement;\n this.applyAnimationStyle(target, 'transition', 'all ' + this.animationDuration + 'ms');\n this.applyAnimationStyle(target, 'transform', 'translate3d(0,0,0)');\n clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n that.applyAnimationStyle(target, 'transition', '');\n that.applyAnimationStyle(target, 'transform', '');\n target.animated = false;\n }, this.animationDuration);\n }\n this._animating = setTimeout(() => {\n this.animating = false;\n }, this.animationDuration);\n }\n /**\n * @hidden\n */\n positionHintFromEvent(event) {\n const offset = this.parentOffset();\n this.hintLocation = event ? { x: event.clientX - offset.left, y: event.clientY - offset.top } : null;\n }\n /**\n * @hidden\n */\n parentOffset() {\n const offsetParent = this.offsetParent;\n if (offsetParent) {\n const rect = offsetParent.getBoundingClientRect();\n return {\n left: rect.left - offsetParent.scrollLeft,\n top: rect.top - offsetParent.scrollTop\n };\n }\n return { left: 0, top: 0 };\n }\n /**\n * @hidden\n */\n markForCheck() {\n this.changeDetector.markForCheck();\n }\n /**\n * @hidden\n */\n reflow(element) {\n return element.offsetWidth;\n }\n /**\n * @hidden\n */\n applyAnimationStyle(el, prop, val) {\n const style = el && el.style;\n if (style) {\n if (!(prop in style)) {\n prop = '-webkit-' + prop;\n }\n style[prop] = val;\n }\n }\n subscribeEvents() {\n this.localizationChangeSubscription = this.localization\n .changes\n .subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');\n this.dragStartSubscription = this.onDragStartSubject\n .subscribe((event) => {\n this.sortableService.originDraggable = event.target;\n this.sortableService.originIndex = event.target.index;\n this.sortableService.activeDraggable = event.target;\n this.sortableService.lastDraggable = event.target;\n this.sortableService.target = this;\n this.sortableService.setSource(this);\n let dragStartEvent = new DragStartEvent({ index: event.target.index });\n this.dragStart.emit(dragStartEvent);\n if (dragStartEvent.isDefaultPrevented()) {\n event.preventDefault();\n }\n else {\n if (!event.target.disabled) {\n if (this.sortableService.target) {\n this.sortableService.target.dragOverIndex = -1;\n this.sortableService.target.dragIndex = -1;\n }\n this.dragOverIndex = event.target.index;\n this.dragIndex = event.target.index;\n }\n }\n });\n this.dragOverSubscription = this.onDragOverSubject.pipe(filter(event => event.target && event.target.el.nativeElement.style.transition.length === 0), filter(() => {\n // Drag started from a disabled item\n return this.sortableService.originDraggable && !this.sortableService.originDraggable.disabled;\n }), filter(() => {\n return this.sortableService && this.acceptDragFrom(this.sortableService.getSource());\n }), filter((event) => {\n return event.target !== this.sortableService.lastDraggable;\n }))\n .subscribe((event) => {\n this.sortableService.lastDraggable = event.target;\n const originDraggable = this.sortableService.originDraggable;\n let targetIndex = event.target.index;\n if (originDraggable.hidden && originDraggable.parent === this) {\n if (originDraggable.index < event.target.index) {\n targetIndex = event.target.index - 1;\n }\n }\n this.sortableService.target = this;\n const oldIndex = this.sortableService.activeDraggable ? this.sortableService.activeDraggable.index : 0;\n let dragOverEvent = new DragOverEvent({ index: targetIndex, oldIndex: oldIndex });\n this.dragOver.emit(dragOverEvent);\n if (!dragOverEvent.isDefaultPrevented() && event.target && event.target.index >= 0) {\n this.dragOverIndex = event.target.index;\n this.placeHolderItemData(event.target);\n }\n });\n this.dragEndSubscription = this.onDragEndSubject\n .subscribe((event) => {\n const source = this.sortableService.getSource();\n if (!source) {\n return;\n }\n const target = this.sortableService.target;\n const index = event.target ? event.target.index : -1;\n const oldIndex = this.sortableService.originDraggable ? this.sortableService.originIndex : -1;\n this.hintLocation = null;\n let dragEndEvent = new DragEndEvent({ index: index, oldIndex: oldIndex });\n this.dragEnd.emit(dragEndEvent);\n if (!dragEndEvent.isDefaultPrevented()) {\n source.dragIndex = -1;\n source.dragOverIndex = -1;\n source.activeIndex = -1;\n if (target && target !== source) {\n target.dragIndex = -1;\n target.dragOverIndex = -1;\n }\n setTimeout(() => {\n this.sortableService.activeDraggable = null;\n this.sortableService.lastDraggable = null;\n this.sortableService.originDraggable = null;\n this.sortableService.target = null;\n this.sortableService.setSource(null);\n });\n }\n });\n this.dragLeaveSubscription = this.onDragLeaveSubject.pipe(filter((e) => {\n if (!isDocumentAvailable()) {\n return false;\n }\n return this.wrapper !== document.elementFromPoint(e.originalEvent.pageX, e.originalEvent.pageY);\n }), filter((_e) => {\n return !this.animating;\n }), filter(_ => this.sortableService.target && this.sortableService.target.dragOverIndex > -1))\n .subscribe(() => {\n this.dragLeave.emit({ index: this.sortableService.originDraggable.index });\n this.sortableService.lastDraggable = null;\n this.dragOverIndex = -1;\n this.sortableService.target = null;\n });\n }\n unsubscribeEvents() {\n if (this.localizationChangeSubscription) {\n this.localizationChangeSubscription.unsubscribe();\n }\n this.dragStartSubscription.unsubscribe();\n this.dragOverSubscription.unsubscribe();\n this.dragEndSubscription.unsubscribe();\n this.dragLeaveSubscription.unsubscribe();\n }\n placeHolderItemData(draggable) {\n if (draggable.disabled) {\n return;\n }\n const target = this.sortableService.target;\n const source = this.sortableService.getSource();\n const originalData = Object.assign({}, this._localData[draggable.index]);\n const newData = source._localData[source.dragIndex];\n this.setItemData(newData, draggable.index);\n const endSub = source.onDragEndSubject.pipe(take(1)).subscribe(() => {\n this.setItemData(originalData, draggable.index);\n });\n const leaveSub = target.onDragLeaveSubject.pipe(take(1)).subscribe(() => {\n this.setItemData(originalData, draggable.index);\n });\n const overSub = merge(this.onDragOverSubject.pipe(filter(() => {\n return draggable.index !== this.dragOverIndex;\n })), this.onDragLeaveSubject).subscribe(() => {\n this.setItemData(originalData, draggable.index);\n endSub.unsubscribe();\n overSub.unsubscribe();\n leaveSub.unsubscribe();\n });\n }\n fixFocus() {\n if (this.itemWrappers) {\n const itemArray = this.itemWrappers.toArray();\n if (this.dragIndex > -1 && itemArray && itemArray.length > 0) {\n itemArray[this.dragIndex].nativeElement.focus();\n this.activeIndex = this.dragIndex;\n }\n }\n }\n};\nSortableComponent.ɵfac = function SortableComponent_Factory(t) { return new (t || SortableComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.LocalizationService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(SortableService)); };\nSortableComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: SortableComponent, selectors: [[\"kendo-sortable\"]], contentQueries: function SortableComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, TemplateRef, 4);\n ɵngcc0.ɵɵcontentQuery(dirIndex, ItemTemplateDirective, 4, TemplateRef);\n ɵngcc0.ɵɵcontentQuery(dirIndex, PlaceholderTemplateDirective, 4, TemplateRef);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.defaultTemplateRef = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.itemTemplateDirectiveRef = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.placeholderTemplateDirectiveRef = _t);\n } }, viewQuery: function SortableComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n ɵngcc0.ɵɵviewQuery(_c1, 5);\n ɵngcc0.ɵɵviewQuery(_c2, 5);\n ɵngcc0.ɵɵviewQuery(DraggableDirective, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.noDataContainer = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.hint = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.itemWrappers = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.draggables = _t);\n } }, hostVars: 3, hostBindings: function SortableComponent_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"dir\", ctx.dir);\n ɵngcc0.ɵɵstyleProp(\"touch-action\", ctx.touchAction);\n } }, inputs: { tabIndex: \"tabIndex\", navigable: \"navigable\", animation: \"animation\", disabledIndexes: \"disabledIndexes\", zone: \"zone\", acceptZones: \"acceptZones\", itemStyle: \"itemStyle\", emptyItemStyle: \"emptyItemStyle\", activeItemStyle: \"activeItemStyle\", disabledItemStyle: \"disabledItemStyle\", itemClass: \"itemClass\", activeItemClass: \"activeItemClass\", emptyItemClass: \"emptyItemClass\", disabledItemClass: \"disabledItemClass\", emptyText: \"emptyText\", activeIndex: \"activeIndex\", data: \"data\", navigatable: \"navigatable\" }, outputs: { dragStart: \"dragStart\", dragEnd: \"dragEnd\", dragOver: \"dragOver\", dragLeave: \"dragLeave\", dataMove: \"dataMove\", dataAdd: \"dataAdd\", dataRemove: \"dataRemove\", navigate: \"navigate\" }, exportAs: [\"kendoSortable\"], features: [ɵngcc0.ɵɵProvidersFeature([\n LocalizationService,\n {\n provide: L10N_PREFIX,\n useValue: 'kendo.sortable'\n },\n {\n provide: SortableContainer,\n useExisting: forwardRef(() => SortableComponent_1)\n }\n ]), ɵngcc0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[\"kendoDraggable\", \"\", 3, \"index\", \"hidden\", \"disabled\", \"ngClass\", \"ngStyle\", \"focus\", \"blur\", \"keydown\", 4, \"ngFor\", \"ngForOf\"], [4, \"ngIf\"], [3, \"ngStyle\", \"ngClass\", 4, \"ngIf\"], [\"kendoDraggable\", \"\", 3, \"index\", \"hidden\", \"disabled\", \"ngClass\", \"ngStyle\", \"focus\", \"blur\", \"keydown\"], [\"itemWrapper\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"noDataRef\", \"\"], [\"kendoDraggable\", \"\", 3, \"index\", \"disabled\", \"ngStyle\", \"ngClass\"], [3, \"ngStyle\", \"ngClass\"]], template: function SortableComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, SortableComponent_div_0_Template, 4, 13, \"div\", 0);\n ɵngcc0.ɵɵtemplate(1, SortableComponent_ng_container_1_Template, 4, 7, \"ng-container\", 1);\n ɵngcc0.ɵɵtemplate(2, SortableComponent_div_2_Template, 3, 4, \"div\", 2);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx._localData);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx._data.length || ctx._localData.length === 1 && ctx._localData[0].hidden);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hintVisible());\n } }, directives: [ɵngcc2.NgForOf, DraggableDirective, ɵngcc2.NgClass, ɵngcc2.NgStyle, ɵngcc2.NgIf, ɵngcc2.NgTemplateOutlet], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], SortableComponent.prototype, \"tabIndex\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [Array])\n], SortableComponent.prototype, \"data\", null);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], SortableComponent.prototype, \"navigable\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean),\n __metadata(\"design:paramtypes\", [Boolean])\n], SortableComponent.prototype, \"navigatable\", null);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], SortableComponent.prototype, \"animation\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], SortableComponent.prototype, \"disabledIndexes\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], SortableComponent.prototype, \"zone\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], SortableComponent.prototype, \"acceptZones\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"itemStyle\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"emptyItemStyle\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"activeItemStyle\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"disabledItemStyle\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"itemClass\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"activeItemClass\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"emptyItemClass\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], SortableComponent.prototype, \"disabledItemClass\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], SortableComponent.prototype, \"emptyText\", void 0);\n__decorate([\n ContentChildren(TemplateRef, { descendants: false }),\n __metadata(\"design:type\", QueryList)\n], SortableComponent.prototype, \"defaultTemplateRef\", void 0);\n__decorate([\n ContentChildren(ItemTemplateDirective, { read: TemplateRef, descendants: false }),\n __metadata(\"design:type\", QueryList)\n], SortableComponent.prototype, \"itemTemplateDirectiveRef\", void 0);\n__decorate([\n ContentChildren(PlaceholderTemplateDirective, { read: TemplateRef, descendants: false }),\n __metadata(\"design:type\", QueryList)\n], SortableComponent.prototype, \"placeholderTemplateDirectiveRef\", void 0);\n__decorate([\n ViewChildren('itemWrapper'),\n __metadata(\"design:type\", QueryList)\n], SortableComponent.prototype, \"itemWrappers\", void 0);\n__decorate([\n ViewChildren(DraggableDirective),\n __metadata(\"design:type\", QueryList)\n], SortableComponent.prototype, \"draggables\", void 0);\n__decorate([\n ViewChild('noDataRef', { static: false }),\n __metadata(\"design:type\", ElementRef)\n], SortableComponent.prototype, \"noDataContainer\", void 0);\n__decorate([\n ViewChild('hint', { static: false }),\n __metadata(\"design:type\", ElementRef)\n], SortableComponent.prototype, \"hint\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dragStart\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dragEnd\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dragOver\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dragLeave\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dataMove\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dataAdd\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"dataRemove\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], SortableComponent.prototype, \"navigate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], SortableComponent.prototype, \"activeIndex\", void 0);\n__decorate([\n HostBinding('style.touch-action'),\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], SortableComponent.prototype, \"touchAction\", null);\n__decorate([\n HostBinding('attr.dir'),\n __metadata(\"design:type\", String),\n __metadata(\"design:paramtypes\", [])\n], SortableComponent.prototype, \"dir\", null);\nSortableComponent = SortableComponent_1 = __decorate([ __metadata(\"design:paramtypes\", [NgZone,\n LocalizationService,\n ChangeDetectorRef,\n ElementRef,\n SortableService])\n], SortableComponent);\n\n/**\n * The arguments for the `SortableComponent` `dataAdd` event.\n */\nclass DataAddEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n/**\n * The arguments for the `SortableComponent` `dataRemove` event.\n */\nclass DataRemoveEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n/**\n * The arguments for the `SortableComponent` `dataMove` event.\n */\nclass DataMoveEvent extends PreventableEvent {\n /**\n * @hidden\n */\n constructor(options) {\n super();\n Object.assign(this, options);\n }\n}\n\n/**\n * A Directive which handles the most common scenarios such reordering and moving items between Sortables, thus minimizng boilerplate code.\n * This is achieved by subscribing to the Sortable's events and handling them using the API methods it provides.\n */\nlet SortableBindingDirective = class SortableBindingDirective {\n constructor(sortable, sortableService) {\n this.sortable = sortable;\n this.sortableService = sortableService;\n this.sortableService = sortableService;\n }\n /**\n * Sets a data-bound array that is used as a data source for the Sortable.\n *\n * {% embed_file overview/app.component.ts %}\n * {% embed_file shared/app.module.ts %}\n * {% embed_file shared/main.ts hidden %}\n */\n set data(data) {\n this.sortable.data = data;\n }\n nextEnabledIndex(index, sortable) {\n for (let i = index; i <= sortable.data.length; i++) {\n if (sortable.itemEnabled(i)) {\n return i;\n }\n }\n }\n addItem(event, sortable) {\n let index = event.index;\n const dataItem = this.sortableService.getSource().data[event.oldIndex];\n const addEvent = new DataAddEvent({ index: index, dataItem: dataItem });\n sortable.dataAdd.emit(addEvent);\n if (!addEvent.isDefaultPrevented()) {\n if (index === sortable.itemWrappers.length - 1 && !sortable.noDataContainer) {\n index++;\n }\n sortable.addDataItem(dataItem, index);\n }\n return !addEvent.isDefaultPrevented();\n }\n removeItem(event, sortable) {\n const originDraggable = this.sortableService.originDraggable;\n const removeEvent = new DataRemoveEvent({ index: event.oldIndex, dataItem: sortable.data[event.oldIndex] });\n sortable.dataRemove.emit(removeEvent);\n if (!removeEvent.isDefaultPrevented()) {\n if (originDraggable && originDraggable.parent === sortable) {\n sortable.hideItem(event.oldIndex, true);\n }\n else {\n sortable.removeDataItem(event.oldIndex);\n }\n }\n return !removeEvent.isDefaultPrevented();\n }\n moveItem(event, sortable) {\n if (event.index === event.oldIndex) {\n return false;\n }\n const moveEvent = new DataMoveEvent({\n dataItem: sortable.data[event.oldIndex],\n index: event.index,\n oldIndex: event.oldIndex\n });\n sortable.dataMove.emit(moveEvent);\n if (!moveEvent.isDefaultPrevented()) {\n sortable.moveItem(event.oldIndex, event.index);\n }\n return !moveEvent.isDefaultPrevented();\n }\n /**\n * Removes the Draggable item from which the drag started.\n * @hidden\n */\n removeOriginDraggable() {\n if (this.removeHiddenSubscription) {\n this.removeHiddenSubscription.unsubscribe();\n }\n this.removeHiddenSubscription = this.sortableService.onReleaseSubject.pipe(take(1), filter(_ => this.sortableService.originDraggable !== null && this.sortableService.originDraggable.hidden)).subscribe((e) => {\n const originDraggable = this.sortableService.originDraggable;\n const newSource = this.sortableService.getSource();\n if (originDraggable.parent !== this.sortableService.target) {\n const isTargetDraggable = e.target ? (e.target.isDraggable || e.target.isDraggableChild) : false;\n if (isTargetDraggable || originDraggable.parent !== newSource) {\n if (originDraggable.parent !== this.sortableService.target) {\n originDraggable.parent.removeDataItem(originDraggable.index);\n }\n }\n this.sortableService.originDraggable = null;\n }\n });\n }\n onDragOver(event) {\n const source = this.sortableService.getSource();\n const target = this.sortableService.target;\n const targetDraggables = target.draggables.toArray();\n if (event.isDefaultPrevented()) {\n return;\n }\n event.preventDefault();\n if (target === source) {\n // Skip moveItem if target is the draggable after which item was just added\n // Ensures item added to the end stays there until further user action\n if (targetDraggables[event.index] !== this.lastTarget) {\n this.moveItem(event, target);\n }\n this.lastTarget = undefined;\n }\n else {\n if (!target.itemEnabled(event.index)) {\n event.index = this.nextEnabledIndex(event.index, target);\n }\n //Add to target and remove from source\n if (this.addItem(event, target) && this.removeItem(event, source)) {\n this.lastTarget = target.draggables.toArray()[event.index];\n this.removeOriginDraggable();\n target.activeIndex = event.index;\n source.activeIndex = -1;\n }\n }\n }\n onNavigate(event) {\n if (event.ctrlKey) {\n let moveEvent = new DataMoveEvent({\n dataItem: this.sortable.data[event.oldIndex],\n index: event.index,\n oldIndex: event.oldIndex\n });\n this.sortable.dataMove.emit(moveEvent);\n if (!moveEvent.isDefaultPrevented()) {\n this.sortable.moveItem(event.oldIndex, event.index);\n }\n }\n else {\n this.sortable.activeIndex = event.index;\n }\n }\n ngOnInit() {\n this.dragOverSubscription = this.sortable.dragOver.subscribe(this.onDragOver.bind(this));\n this.navigateSubscription = this.sortable.navigate.subscribe(this.onNavigate.bind(this));\n }\n ngOnDestroy() {\n this.dragOverSubscription.unsubscribe();\n this.navigateSubscription.unsubscribe();\n if (this.removeHiddenSubscription) {\n this.removeHiddenSubscription.unsubscribe();\n }\n }\n};\nSortableBindingDirective.ɵfac = function SortableBindingDirective_Factory(t) { return new (t || SortableBindingDirective)(ɵngcc0.ɵɵdirectiveInject(SortableComponent), ɵngcc0.ɵɵdirectiveInject(SortableService)); };\nSortableBindingDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: SortableBindingDirective, selectors: [[\"\", \"kendoSortableBinding\", \"\"]], inputs: { data: [\"kendoSortableBinding\", \"data\"] } });\n__decorate([\n Input(\"kendoSortableBinding\"),\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [Array])\n], SortableBindingDirective.prototype, \"data\", null);\nSortableBindingDirective = __decorate([ __metadata(\"design:paramtypes\", [SortableComponent,\n SortableService])\n], SortableBindingDirective);\n\nconst COMPONENT_DIRECTIVES = [\n SortableComponent,\n DraggableDirective,\n PlaceholderTemplateDirective,\n ItemTemplateDirective,\n SortableBindingDirective\n];\n/**\n *\n * Represents the [`NgModule`]({{ site.data.urls.angular['ngmoduleapi'] }})\n * definition for the Sortable component.\n *\n * @example\n *\n * ```ts-no-run\n * import { NgModule } from '@angular/core';\n * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n *\n * // Import the Sortable module\n * import { SortableModule } from '@progress/kendo-angular-sortable';\n *\n * // Import the app component\n * import { AppComponent } from './app.component';\n *\n * // Define the app module\n * _@NgModule({\n * declarations: [AppComponent],\n * imports: [BrowserModule, SortableModule],\n * bootstrap: [AppComponent]\n * })\n * export class AppModule {}\n *\n * // Compile and launch the module\n * platformBrowserDynamic().bootstrapModule(AppModule);\n *\n * ```\n */\nlet SortableModule = class SortableModule {\n};\nSortableModule.ɵfac = function SortableModule_Factory(t) { return new (t || SortableModule)(); };\nSortableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: SortableModule });\nSortableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [SortableService], imports: [[CommonModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SortableService, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SortableContainer, [{\n type: Injectable\n }], null, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DraggableDirective, [{\n type: Directive,\n args: [{\n selector: '[kendoDraggable]'\n }]\n }], function () { return [{ type: SortableContainer }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }]; }, { _focused: [{\n type: HostBinding,\n args: ['class.k-state-focused']\n }], _disabled: [{\n type: HostBinding,\n args: ['attr.aria-disabled']\n }], display: [{\n type: HostBinding,\n args: ['style.display']\n }], index: [{\n type: Input\n }], hidden: [{\n type: Input\n }], disabled: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ItemTemplateDirective, [{\n type: Directive,\n args: [{\n selector: '[kendoSortableItemTemplate]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlaceholderTemplateDirective, [{\n type: Directive,\n args: [{\n selector: '[kendoSortablePlaceholderTemplate]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SortableComponent, [{\n type: Component,\n args: [{\n exportAs: 'kendoSortable',\n providers: [\n LocalizationService,\n {\n provide: L10N_PREFIX,\n useValue: 'kendo.sortable'\n },\n {\n provide: SortableContainer,\n useExisting: forwardRef(() => SortableComponent_1)\n }\n ],\n selector: 'kendo-sortable',\n template: `\n
\n \n \n {{item.item}}\n
\n\n \n {{emptyText}}\n \n
\n \n \n {{_localData[dragIndex].item}}\n
\n `\n }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.LocalizationService }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: SortableService }]; }, { tabIndex: [{\n type: Input\n }], navigable: [{\n type: Input\n }], animation: [{\n type: Input\n }], disabledIndexes: [{\n type: Input\n }], zone: [{\n type: Input\n }], acceptZones: [{\n type: Input\n }], itemStyle: [{\n type: Input\n }], emptyItemStyle: [{\n type: Input\n }], activeItemStyle: [{\n type: Input\n }], disabledItemStyle: [{\n type: Input\n }], itemClass: [{\n type: Input\n }], activeItemClass: [{\n type: Input\n }], emptyItemClass: [{\n type: Input\n }], disabledItemClass: [{\n type: Input\n }], emptyText: [{\n type: Input\n }], defaultTemplateRef: [{\n type: ContentChildren,\n args: [TemplateRef, { descendants: false }]\n }], itemTemplateDirectiveRef: [{\n type: ContentChildren,\n args: [ItemTemplateDirective, { read: TemplateRef, descendants: false }]\n }], placeholderTemplateDirectiveRef: [{\n type: ContentChildren,\n args: [PlaceholderTemplateDirective, { read: TemplateRef, descendants: false }]\n }], itemWrappers: [{\n type: ViewChildren,\n args: ['itemWrapper']\n }], dragStart: [{\n type: Output\n }], dragEnd: [{\n type: Output\n }], dragOver: [{\n type: Output\n }], dragLeave: [{\n type: Output\n }], dataMove: [{\n type: Output\n }], dataAdd: [{\n type: Output\n }], dataRemove: [{\n type: Output\n }], navigate: [{\n type: Output\n }], activeIndex: [{\n type: Input\n }], data: [{\n type: Input\n }], navigatable: [{\n type: Input\n }], touchAction: [{\n type: HostBinding,\n args: ['style.touch-action']\n }], dir: [{\n type: HostBinding,\n args: ['attr.dir']\n }], draggables: [{\n type: ViewChildren,\n args: [DraggableDirective]\n }], noDataContainer: [{\n type: ViewChild,\n args: ['noDataRef', { static: false }]\n }], hint: [{\n type: ViewChild,\n args: ['hint', { static: false }]\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SortableBindingDirective, [{\n type: Directive,\n args: [{\n selector: '[kendoSortableBinding]'\n }]\n }], function () { return [{ type: SortableComponent }, { type: SortableService }]; }, { data: [{\n type: Input,\n args: [\"kendoSortableBinding\"]\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SortableModule, [{\n type: NgModule,\n args: [{\n declarations: [COMPONENT_DIRECTIVES],\n exports: [COMPONENT_DIRECTIVES],\n imports: [CommonModule],\n providers: [SortableService]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(SortableModule, { declarations: function () { return [SortableComponent, DraggableDirective, PlaceholderTemplateDirective, ItemTemplateDirective, SortableBindingDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [SortableComponent, DraggableDirective, PlaceholderTemplateDirective, ItemTemplateDirective, SortableBindingDirective]; } }); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SortableComponent, SortableModule, PreventableEvent, DraggableEvent, DragStartEvent, DragEndEvent, DragOverEvent, NavigateEvent, DataMoveEvent, DraggableDirective, SortableBindingDirective, PlaceholderTemplateDirective, ItemTemplateDirective, SortableService, SortableContainer };\n\n","import {Component, OnInit} from '@angular/core';\nimport {FormGroup} from '@angular/forms';\nimport {NewsStore} from '../../stores/dashboard/news.store';\nimport {filter, map} from 'rxjs/operators';\nimport {LoginStore} from '../../stores/login/login.store';\nimport {LanguageStore} from '../../stores/translation/language.store';\n\ninterface INewsData {\n title: string;\n content: any;\n expanded: boolean;\n}\n\n/**\n * Component for the news\n */\n@Component({\n selector: 'ap-news-overview',\n templateUrl: 'ap-news.component.html',\n styleUrls: ['ap-news.component.scss']\n})\n\nexport class ApNewsOverviewComponent implements OnInit {\n public form: FormGroup;\n public newsLoading$ = this.newsStore.Listen(s => s.loading);\n public url = 'https://www.agricon.de/aktuelles/iframe';\n public items$ = this.newsStore.Listen(s => s.data).pipe(\n filter(d => !!d),\n map(d => d.Convert(n => {\n return {\n title: n.Caption,\n content: n.Newshtml,\n expanded: false\n };\n }))\n );\n\n constructor(private newsStore: NewsStore,\n private loginStore: LoginStore,\n private languageStore: LanguageStore) {\n }\n\n ngOnInit(): void {\n this.newsStore.loadNews(this.loginStore.SelectedFarm.Country?.Id);\n this.languageStore.SelectedLanguage$.subscribe(s => {\n switch (s.Key) {\n case 'de':\n this.url = 'https://www.agricon.de/aktuelles/iframe';\n break;\n case 'en':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'pl':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'lt':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'lv':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'et':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'sr':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'uk':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'hu':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'ru':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'cs':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'hr':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'sk':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n case 'ro':\n this.url = 'https://www.agricon.de/en/news/iframe';\n break;\n }\n });\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import {AfterContentInit, Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {MapViewStore} from '../../stores/layout/mapview.store';\nimport {\n StatisticStore\n} from '../../stores/statistic/statistic.store';\nimport {ApStatsType, MapViewCurrentMenu, MapViewMode} from '../../ap-interface';\nimport {Subscription} from 'rxjs';\nimport {RouterStore} from '../../stores/router/router.store';\nimport {UserStore} from '../../stores/base-data/user.store';\nimport {LoginStore} from '../../stores/login/login.store';\n\n/**\n * Component for the dashboard\n */\n@Component({\n selector: 'ap-dashboard-overview',\n templateUrl: 'ap-dashboard.component.html',\n styleUrls: ['ap-dashboard.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class ApDashboardOverviewComponent implements OnInit, AfterContentInit, OnDestroy {\n private _subscriptions: Subscription[] = [];\n\n constructor(private routerStore: RouterStore,\n private userStore: UserStore,\n private loginStore: LoginStore,\n private mapViewStore: MapViewStore,\n private statisticStore: StatisticStore) {\n }\n\n public ngOnInit(): void {\n this._subscriptions.push(\n this.routerStore.Listen(s => s)\n .subscribe((routerStoreData) => {\n if (!routerStoreData.url?.startsWith('/dashboard')) {\n return;\n }\n if (routerStoreData.queryParams['redirectToNews'] === 'true') {\n // space for optional actions when user was redirected\n this.userStore.resetRedirectToNews(this.loginStore.UserId);\n }\n })\n );\n this._subscriptions.push(this.mapViewStore.Listen(x => x.currentMenu).subscribe(currentMenu => {\n if (currentMenu === MapViewCurrentMenu.STATS) {\n this.statisticStore.removeStatisticData();\n this.statisticStore.addStatisticData([], ApStatsType.DashboardStats, '', '');\n }\n }));\n }\n\n public ngAfterContentInit(): void {\n if (this.mapViewStore.getMapViewMode() !== MapViewMode.NORMAL) {\n this.mapViewStore.showMapView();\n }\n if (this.mapViewStore.getMapViewCurrentMenu() !== MapViewCurrentMenu.STATS) {\n this.mapViewStore.goIntoStatisticMenu();\n }\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach(s => s?.unsubscribe());\n this.statisticStore.removeStatisticData();\n }\n}\n","\n \n\n
\n \n
\n","import {Route, RouterModule} from '@angular/router';\nimport {PageMode} from '../ap-interface';\nimport {NgModule} from '@angular/core';\nimport {ApDashboardOverviewComponent} from './components/ap-dashboard.component';\nimport {ApPermissionGuard} from '../guards/ap-permission-guard.service';\n\nconst routes: Route[] = [\n {\n path: '',\n component: ApDashboardOverviewComponent,\n canActivate: [ApPermissionGuard],\n data: {\n login: true,\n layout: PageMode.HALFSCREEN\n }\n }\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [RouterModule]\n})\nexport class ApDashboardRoutes {\n}\n","import {NgModule} from '@angular/core';\nimport {GridModule} from '@progress/kendo-angular-grid';\nimport {CommonModule} from '@angular/common';\nimport {ApTranslationModule} from '../translation/ap-translation.module';\nimport {ApNewsOverviewComponent} from './components/ap-news.component';\nimport {ApDashboardOverviewComponent} from './components/ap-dashboard.component';\nimport {ButtonModule, DropDownButtonModule} from '@progress/kendo-angular-buttons';\nimport {DropDownsModule} from '@progress/kendo-angular-dropdowns';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {ApCoreModule} from '../ap-core/ap-core.module';\nimport {ChartsModule} from '@progress/kendo-angular-charts';\nimport {SortableModule} from '@progress/kendo-angular-sortable';\nimport 'hammerjs';\nimport {ApMapModule} from '../map/ap-map.module';\nimport {ApDashboardRoutes} from './ap-dashboard.routes';\nimport {DatePickerModule} from '@progress/kendo-angular-dateinputs';\nimport {LayoutModule, PanelBarModule} from '@progress/kendo-angular-layout';\nimport {GaugesModule} from '@progress/kendo-angular-gauges';\nimport {ApSectionHeaderModule} from '../ap-section-header/ap-section-header.module';\nimport {ScrollViewModule} from '@progress/kendo-angular-scrollview';\nimport {ApIconModule} from '../icons/ap-icon.module';\nimport {ApWeatherComponent} from './components/ap-weather.component';\nimport {ApUtilsModule} from '../ap-utils';\nimport {ApClockComponent} from './components/ap-clock.component';\nimport {ApParameterEntryComponentsModule} from '../entry-components/ap-parameter-entry-components/ap-parameter-entry-components.module';\n\n\n@NgModule({\n declarations: [\n ApNewsOverviewComponent,\n ApDashboardOverviewComponent,\n ApWeatherComponent,\n ApClockComponent,\n ],\n exports: [\n ApNewsOverviewComponent,\n ApDashboardOverviewComponent,\n ApWeatherComponent,\n ApClockComponent,\n ],\n imports: [\n GaugesModule,\n ScrollViewModule,\n ApCoreModule,\n GridModule,\n ChartsModule,\n ApTranslationModule,\n CommonModule,\n ApTranslationModule,\n ReactiveFormsModule,\n ButtonModule,\n FormsModule,\n DropDownsModule,\n DropDownButtonModule,\n ApMapModule,\n SortableModule,\n ApDashboardRoutes,\n DatePickerModule,\n LayoutModule,\n PanelBarModule,\n ApSectionHeaderModule,\n ApIconModule,\n ApUtilsModule,\n ApParameterEntryComponentsModule,\n ]\n})\nexport class ApDashboardModule {\n}\n"],"sourceRoot":"webpack:///","file":"181.2f69bb40f2d81e02.js"}