primeng 16.4.0 → 16.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contextmenu/contextmenu.d.ts +2 -1
- package/dock/dock.d.ts +2 -2
- package/esm2022/breadcrumb/breadcrumb.mjs +31 -21
- package/esm2022/confirmpopup/confirmpopup.mjs +4 -1
- package/esm2022/contextmenu/contextmenu.mjs +21 -14
- package/esm2022/dock/dock.mjs +11 -15
- package/esm2022/megamenu/megamenu.mjs +28 -21
- package/esm2022/menubar/menubar.mjs +24 -17
- package/esm2022/panelmenu/panelmenu.mjs +21 -23
- package/esm2022/slidemenu/slidemenu.mjs +29 -15
- package/esm2022/steps/steps.mjs +3 -5
- package/esm2022/table/table.mjs +11 -6
- package/esm2022/tieredmenu/tieredmenu.mjs +16 -14
- package/esm2022/tree/tree.mjs +2 -2
- package/fesm2022/primeng-breadcrumb.mjs +30 -20
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +3 -0
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +20 -13
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +10 -14
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +27 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +23 -16
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +20 -22
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-slidemenu.mjs +28 -14
- package/fesm2022/primeng-slidemenu.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +2 -4
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +10 -5
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +15 -13
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +1 -1
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/megamenu/megamenu.d.ts +1 -1
- package/menubar/menubar.d.ts +2 -1
- package/package.json +150 -150
- package/panelmenu/panelmenu.d.ts +6 -7
- package/slidemenu/slidemenu.d.ts +2 -1
- package/table/table.d.ts +3 -1
- package/tieredmenu/tieredmenu.d.ts +1 -1
@@ -92,9 +92,18 @@ class Breadcrumb {
|
|
92
92
|
}
|
93
93
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
94
94
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Breadcrumb, selector: "p-breadcrumb", inputs: { model: "model", style: "style", styleClass: "styleClass", home: "home", homeAriaLabel: "homeAriaLabel" }, outputs: { onItemClick: "onItemClick" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
|
95
|
-
<
|
96
|
-
<
|
97
|
-
<li
|
95
|
+
<nav [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
|
96
|
+
<ol [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
|
97
|
+
<li
|
98
|
+
[class]="home.styleClass"
|
99
|
+
[attr.id]="home.id"
|
100
|
+
[ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }"
|
101
|
+
[ngStyle]="home.style"
|
102
|
+
*ngIf="home"
|
103
|
+
pTooltip
|
104
|
+
[tooltipOptions]="home.tooltipOptions"
|
105
|
+
[attr.data-pc-section]="'home'"
|
106
|
+
>
|
98
107
|
<a
|
99
108
|
[href]="home.url ? home.url : null"
|
100
109
|
*ngIf="!home.routerLink"
|
@@ -103,7 +112,6 @@ class Breadcrumb {
|
|
103
112
|
(click)="onClick($event, home)"
|
104
113
|
[target]="home.target"
|
105
114
|
[attr.title]="home.title"
|
106
|
-
[attr.id]="home.id"
|
107
115
|
[attr.tabindex]="home.disabled ? null : '0'"
|
108
116
|
[ariaCurrentWhenActive]="isCurrentUrl(home)"
|
109
117
|
>
|
@@ -125,7 +133,6 @@ class Breadcrumb {
|
|
125
133
|
(click)="onClick($event, home)"
|
126
134
|
[target]="home.target"
|
127
135
|
[attr.title]="home.title"
|
128
|
-
[attr.id]="home.id"
|
129
136
|
[attr.tabindex]="home.disabled ? null : '0'"
|
130
137
|
[ariaCurrentWhenActive]="isCurrentUrl(home)"
|
131
138
|
[fragment]="home.fragment"
|
@@ -148,7 +155,7 @@ class Breadcrumb {
|
|
148
155
|
<ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
|
149
156
|
</li>
|
150
157
|
<ng-template ngFor let-item let-end="last" [ngForOf]="model">
|
151
|
-
<li [class]="item.styleClass" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
|
158
|
+
<li [class]="item.styleClass" [attr.id]="item.id" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
|
152
159
|
<a
|
153
160
|
*ngIf="!item.routerLink"
|
154
161
|
[attr.href]="item.url ? item.url : null"
|
@@ -156,7 +163,6 @@ class Breadcrumb {
|
|
156
163
|
(click)="onClick($event, item)"
|
157
164
|
[target]="item.target"
|
158
165
|
[attr.title]="item.title"
|
159
|
-
[attr.id]="item.id"
|
160
166
|
[attr.tabindex]="item.disabled ? null : '0'"
|
161
167
|
[ariaCurrentWhenActive]="isCurrentUrl(item)"
|
162
168
|
>
|
@@ -176,7 +182,6 @@ class Breadcrumb {
|
|
176
182
|
(click)="onClick($event, item)"
|
177
183
|
[target]="item.target"
|
178
184
|
[attr.title]="item.title"
|
179
|
-
[attr.id]="item.id"
|
180
185
|
[attr.tabindex]="item.disabled ? null : '0'"
|
181
186
|
[fragment]="item.fragment"
|
182
187
|
[queryParamsHandling]="item.queryParamsHandling"
|
@@ -198,16 +203,25 @@ class Breadcrumb {
|
|
198
203
|
<ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
|
199
204
|
</li>
|
200
205
|
</ng-template>
|
201
|
-
</
|
202
|
-
</
|
206
|
+
</ol>
|
207
|
+
</nav>
|
203
208
|
`, isInline: true, styles: ["@layer primeng{.p-breadcrumb{overflow-x:auto}.p-breadcrumb .p-breadcrumb-list{margin:0;padding:0;list-style-type:none;display:flex;align-items:center;flex-wrap:nowrap}.p-breadcrumb .p-menuitem-text{line-height:1}.p-breadcrumb .p-menuitem-link{text-decoration:none;display:flex;align-items:center}.p-breadcrumb .p-menuitem-separator{display:flex;align-items:center}.p-breadcrumb::-webkit-scrollbar{display:none}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return HomeIcon; }), selector: "HomeIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
204
209
|
}
|
205
210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Breadcrumb, decorators: [{
|
206
211
|
type: Component,
|
207
212
|
args: [{ selector: 'p-breadcrumb', template: `
|
208
|
-
<
|
209
|
-
<
|
210
|
-
<li
|
213
|
+
<nav [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
|
214
|
+
<ol [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
|
215
|
+
<li
|
216
|
+
[class]="home.styleClass"
|
217
|
+
[attr.id]="home.id"
|
218
|
+
[ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }"
|
219
|
+
[ngStyle]="home.style"
|
220
|
+
*ngIf="home"
|
221
|
+
pTooltip
|
222
|
+
[tooltipOptions]="home.tooltipOptions"
|
223
|
+
[attr.data-pc-section]="'home'"
|
224
|
+
>
|
211
225
|
<a
|
212
226
|
[href]="home.url ? home.url : null"
|
213
227
|
*ngIf="!home.routerLink"
|
@@ -216,7 +230,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
216
230
|
(click)="onClick($event, home)"
|
217
231
|
[target]="home.target"
|
218
232
|
[attr.title]="home.title"
|
219
|
-
[attr.id]="home.id"
|
220
233
|
[attr.tabindex]="home.disabled ? null : '0'"
|
221
234
|
[ariaCurrentWhenActive]="isCurrentUrl(home)"
|
222
235
|
>
|
@@ -238,7 +251,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
238
251
|
(click)="onClick($event, home)"
|
239
252
|
[target]="home.target"
|
240
253
|
[attr.title]="home.title"
|
241
|
-
[attr.id]="home.id"
|
242
254
|
[attr.tabindex]="home.disabled ? null : '0'"
|
243
255
|
[ariaCurrentWhenActive]="isCurrentUrl(home)"
|
244
256
|
[fragment]="home.fragment"
|
@@ -261,7 +273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
261
273
|
<ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
|
262
274
|
</li>
|
263
275
|
<ng-template ngFor let-item let-end="last" [ngForOf]="model">
|
264
|
-
<li [class]="item.styleClass" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
|
276
|
+
<li [class]="item.styleClass" [attr.id]="item.id" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
|
265
277
|
<a
|
266
278
|
*ngIf="!item.routerLink"
|
267
279
|
[attr.href]="item.url ? item.url : null"
|
@@ -269,7 +281,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
269
281
|
(click)="onClick($event, item)"
|
270
282
|
[target]="item.target"
|
271
283
|
[attr.title]="item.title"
|
272
|
-
[attr.id]="item.id"
|
273
284
|
[attr.tabindex]="item.disabled ? null : '0'"
|
274
285
|
[ariaCurrentWhenActive]="isCurrentUrl(item)"
|
275
286
|
>
|
@@ -289,7 +300,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
289
300
|
(click)="onClick($event, item)"
|
290
301
|
[target]="item.target"
|
291
302
|
[attr.title]="item.title"
|
292
|
-
[attr.id]="item.id"
|
293
303
|
[attr.tabindex]="item.disabled ? null : '0'"
|
294
304
|
[fragment]="item.fragment"
|
295
305
|
[queryParamsHandling]="item.queryParamsHandling"
|
@@ -311,8 +321,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
311
321
|
<ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
|
312
322
|
</li>
|
313
323
|
</ng-template>
|
314
|
-
</
|
315
|
-
</
|
324
|
+
</ol>
|
325
|
+
</nav>
|
316
326
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
317
327
|
class: 'p-element'
|
318
328
|
}, styles: ["@layer primeng{.p-breadcrumb{overflow-x:auto}.p-breadcrumb .p-breadcrumb-list{margin:0;padding:0;list-style-type:none;display:flex;align-items:center;flex-wrap:nowrap}.p-breadcrumb .p-menuitem-text{line-height:1}.p-breadcrumb .p-menuitem-link{text-decoration:none;display:flex;align-items:center}.p-breadcrumb .p-menuitem-separator{display:flex;align-items:center}.p-breadcrumb::-webkit-scrollbar{display:none}}\n"] }]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-breadcrumb.mjs","sources":["../../src/app/components/breadcrumb/breadcrumb.ts","../../src/app/components/breadcrumb/primeng-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { HomeIcon } from 'primeng/icons/home';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent } from './breadcrumb.interface';\n/**\n * Breadcrumb provides contextual information about page hierarchy.\n * @group Components\n */\n@Component({\n selector: 'p-breadcrumb',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-breadcrumb p-component'\" [attr.data-pc-name]=\"'breadcrumb'\" [attr.data-pc-section]=\"'root'\">\n <ul [attr.data-pc-section]=\"'menu'\" class=\"p-breadcrumb-list\">\n <li [class]=\"home.styleClass\" [ngClass]=\"{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }\" [ngStyle]=\"home.style\" *ngIf=\"home\" pTooltip [tooltipOptions]=\"home.tooltipOptions\" [attr.data-pc-section]=\"'home'\">\n <a\n [href]=\"home.url ? home.url : null\"\n *ngIf=\"!home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.id]=\"home.id\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iprivateyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"home.routerLink\"\n [routerLink]=\"home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n [queryParams]=\"home.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.id]=\"home.id\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n [fragment]=\"home.fragment\"\n [queryParamsHandling]=\"home.queryParamsHandling\"\n [preserveFragment]=\"home.preserveFragment\"\n [skipLocationChange]=\"home.skipLocationChange\"\n [replaceUrl]=\"home.replaceUrl\"\n [state]=\"home.state\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iconStyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"model && home\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li [class]=\"item.styleClass\" [ngStyle]=\"item.style\" [ngClass]=\"{ 'p-disabled': item.disabled }\" pTooltip [tooltipOptions]=\"item.tooltipOptions\" [attr.data-pc-section]=\"'menuitem'\">\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url ? item.url : null\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"item.routerLink\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlRouteLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"!end\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n </ng-template>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./breadcrumb.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Breadcrumb implements AfterContentInit {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * MenuItem configuration for the home icon.\n * @group Props\n */\n @Input() home: MenuItem | undefined;\n /**\n * Defines a string that labels the home icon for accessibility.\n * @group Props\n */\n @Input() homeAriaLabel: string | undefined;\n /**\n * Fired when an item is selected.\n * @param {BreadcrumbItemClickEvent} event - custom click event.\n * @group Emits\n */\n @Output() onItemClick: EventEmitter<BreadcrumbItemClickEvent> = new EventEmitter<BreadcrumbItemClickEvent>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n separatorTemplate: TemplateRef<any> | undefined;\n\n constructor(private router: Router) {}\n\n onClick(event: MouseEvent, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.onItemClick.emit({\n originalEvent: event,\n item: item\n });\n }\n\n onHomeClick(event: MouseEvent | any) {\n if (this.home) {\n this.onClick(event, this.home);\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'separator':\n this.separatorTemplate = item.template;\n break;\n }\n });\n }\n\n isCurrentUrl(item) {\n const { routerLink } = item;\n const lastPath = this.router ? this.router.url : '';\n\n return routerLink === lastPath ? 'page' : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule],\n exports: [Breadcrumb, RouterModule, TooltipModule, SharedModule],\n declarations: [Breadcrumb]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-breadcrumb.mjs","sources":["../../src/app/components/breadcrumb/breadcrumb.ts","../../src/app/components/breadcrumb/primeng-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { HomeIcon } from 'primeng/icons/home';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent } from './breadcrumb.interface';\n/**\n * Breadcrumb provides contextual information about page hierarchy.\n * @group Components\n */\n@Component({\n selector: 'p-breadcrumb',\n template: `\n <nav [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-breadcrumb p-component'\" [attr.data-pc-name]=\"'breadcrumb'\" [attr.data-pc-section]=\"'root'\">\n <ol [attr.data-pc-section]=\"'menu'\" class=\"p-breadcrumb-list\">\n <li\n [class]=\"home.styleClass\"\n [attr.id]=\"home.id\"\n [ngClass]=\"{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }\"\n [ngStyle]=\"home.style\"\n *ngIf=\"home\"\n pTooltip\n [tooltipOptions]=\"home.tooltipOptions\"\n [attr.data-pc-section]=\"'home'\"\n >\n <a\n [href]=\"home.url ? home.url : null\"\n *ngIf=\"!home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iprivateyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"home.routerLink\"\n [routerLink]=\"home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n [queryParams]=\"home.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n [fragment]=\"home.fragment\"\n [queryParamsHandling]=\"home.queryParamsHandling\"\n [preserveFragment]=\"home.preserveFragment\"\n [skipLocationChange]=\"home.skipLocationChange\"\n [replaceUrl]=\"home.replaceUrl\"\n [state]=\"home.state\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iconStyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"model && home\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li [class]=\"item.styleClass\" [attr.id]=\"item.id\" [ngStyle]=\"item.style\" [ngClass]=\"{ 'p-disabled': item.disabled }\" pTooltip [tooltipOptions]=\"item.tooltipOptions\" [attr.data-pc-section]=\"'menuitem'\">\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url ? item.url : null\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"item.routerLink\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlRouteLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"!end\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n </ng-template>\n </ol>\n </nav>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./breadcrumb.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Breadcrumb implements AfterContentInit {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * MenuItem configuration for the home icon.\n * @group Props\n */\n @Input() home: MenuItem | undefined;\n /**\n * Defines a string that labels the home icon for accessibility.\n * @group Props\n */\n @Input() homeAriaLabel: string | undefined;\n /**\n * Fired when an item is selected.\n * @param {BreadcrumbItemClickEvent} event - custom click event.\n * @group Emits\n */\n @Output() onItemClick: EventEmitter<BreadcrumbItemClickEvent> = new EventEmitter<BreadcrumbItemClickEvent>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n separatorTemplate: TemplateRef<any> | undefined;\n\n constructor(private router: Router) {}\n\n onClick(event: MouseEvent, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.onItemClick.emit({\n originalEvent: event,\n item: item\n });\n }\n\n onHomeClick(event: MouseEvent | any) {\n if (this.home) {\n this.onClick(event, this.home);\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'separator':\n this.separatorTemplate = item.template;\n break;\n }\n });\n }\n\n isCurrentUrl(item) {\n const { routerLink } = item;\n const lastPath = this.router ? this.router.url : '';\n\n return routerLink === lastPath ? 'page' : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule],\n exports: [Breadcrumb, RouterModule, TooltipModule, SharedModule],\n declarations: [Breadcrumb]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -162,6 +162,9 @@ class ConfirmPopup {
|
|
162
162
|
if (this.autoZIndex) {
|
163
163
|
ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);
|
164
164
|
}
|
165
|
+
if (!this.confirmation) {
|
166
|
+
return;
|
167
|
+
}
|
165
168
|
DomHandler.absolutePosition(this.container, this.confirmation?.target);
|
166
169
|
const containerOffset = DomHandler.getOffset(this.container);
|
167
170
|
const targetOffset = DomHandler.getOffset(this.confirmation?.target);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/app/components/confirmpopup/confirmpopup.ts","../../src/app/components/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup',\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirm-popup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{ value: 'open', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <div #content class=\"p-confirm-popup-content\">\n <i [ngClass]=\"'p-confirm-popup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirm-popup-message\">{{ confirmation?.message }}</span>\n </div>\n <div class=\"p-confirm-popup-footer\">\n <button\n type=\"button\"\n pButton\n [label]=\"rejectButtonLabel\"\n (click)=\"reject()\"\n [ngClass]=\"'p-confirm-popup-reject p-button-sm'\"\n [class]=\"confirmation?.rejectButtonStyleClass || 'p-button-text'\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n pButton\n [label]=\"acceptButtonLabel\"\n (click)=\"accept()\"\n [ngClass]=\"'p-confirm-popup-accept p-button-sm'\"\n [class]=\"confirmation?.acceptButtonStyleClass\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticon\"></i>\n <ng-template #accepticon *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./confirmpopup.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ConfirmPopup implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n acceptIconTemplate: Nullable<TemplateRef<any>>;\n\n rejectIconTemplate: Nullable<TemplateRef<any>>;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n private cd: ChangeDetectorRef,\n public config: PrimeNGConfig,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'rejecticon':\n this.rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this.acceptIconTemplate = item.template;\n break;\n }\n });\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.reject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n DomHandler.absolutePosition(this.container, this.confirmation?.target);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.confirmation?.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n accept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n reject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule],\n exports: [ConfirmPopup, SharedModule],\n declarations: [ConfirmPopup]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/app/components/confirmpopup/confirmpopup.ts","../../src/app/components/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup',\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirm-popup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{ value: 'open', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <div #content class=\"p-confirm-popup-content\">\n <i [ngClass]=\"'p-confirm-popup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirm-popup-message\">{{ confirmation?.message }}</span>\n </div>\n <div class=\"p-confirm-popup-footer\">\n <button\n type=\"button\"\n pButton\n [label]=\"rejectButtonLabel\"\n (click)=\"reject()\"\n [ngClass]=\"'p-confirm-popup-reject p-button-sm'\"\n [class]=\"confirmation?.rejectButtonStyleClass || 'p-button-text'\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n pButton\n [label]=\"acceptButtonLabel\"\n (click)=\"accept()\"\n [ngClass]=\"'p-confirm-popup-accept p-button-sm'\"\n [class]=\"confirmation?.acceptButtonStyleClass\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticon\"></i>\n <ng-template #accepticon *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./confirmpopup.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ConfirmPopup implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n acceptIconTemplate: Nullable<TemplateRef<any>>;\n\n rejectIconTemplate: Nullable<TemplateRef<any>>;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n private cd: ChangeDetectorRef,\n public config: PrimeNGConfig,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'rejecticon':\n this.rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this.acceptIconTemplate = item.template;\n break;\n }\n });\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.reject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n if (!this.confirmation) {\n return;\n }\n DomHandler.absolutePosition(this.container, this.confirmation?.target);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.confirmation?.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n accept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n reject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule],\n exports: [ConfirmPopup, SharedModule],\n declarations: [ConfirmPopup]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -53,7 +53,7 @@ class ContextMenuSub {
|
|
53
53
|
return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
|
54
54
|
}
|
55
55
|
getItemId(processedItem) {
|
56
|
-
return `${this.menuId}_${processedItem.key}`;
|
56
|
+
return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId}_${processedItem.key}`;
|
57
57
|
}
|
58
58
|
getItemKey(processedItem) {
|
59
59
|
return this.getItemId(processedItem);
|
@@ -581,7 +581,7 @@ class ContextMenu {
|
|
581
581
|
window;
|
582
582
|
focused = false;
|
583
583
|
activeItemPath = signal([]);
|
584
|
-
focusedItemInfo = signal({ index: -1, level: 0, parentKey: '' });
|
584
|
+
focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null });
|
585
585
|
submenuVisible = signal(false);
|
586
586
|
searchValue = '';
|
587
587
|
searchTimeout;
|
@@ -598,8 +598,8 @@ class ContextMenu {
|
|
598
598
|
return this._processedItems;
|
599
599
|
}
|
600
600
|
get focusedItemId() {
|
601
|
-
const
|
602
|
-
return
|
601
|
+
const focusedItem = this.focusedItemInfo();
|
602
|
+
return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this.id}${ObjectUtils.isNotEmpty(focusedItem.parentKey) ? '_' + focusedItem.parentKey : ''}_${focusedItem.index}` : null;
|
603
603
|
}
|
604
604
|
constructor(document, platformId, el, renderer, cd, config, overlayService) {
|
605
605
|
this.document = document;
|
@@ -727,9 +727,9 @@ class ContextMenu {
|
|
727
727
|
const grouped = this.isProcessedItemGroup(processedItem);
|
728
728
|
const selected = this.isSelected(processedItem);
|
729
729
|
if (selected) {
|
730
|
-
const { index, key, level, parentKey } = processedItem;
|
730
|
+
const { index, key, level, parentKey, item } = processedItem;
|
731
731
|
this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
|
732
|
-
this.focusedItemInfo.set({ index, level, parentKey });
|
732
|
+
this.focusedItemInfo.set({ index, level, parentKey, item });
|
733
733
|
DomHandler.focus(this.rootmenu.sublistViewChild.nativeElement);
|
734
734
|
}
|
735
735
|
else {
|
@@ -796,7 +796,7 @@ class ContextMenu {
|
|
796
796
|
const grouped = this.isProccessedItemGroup(processedItem);
|
797
797
|
if (grouped) {
|
798
798
|
this.onItemChange({ originalEvent: event, processedItem });
|
799
|
-
this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key });
|
799
|
+
this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
|
800
800
|
this.searchValue = '';
|
801
801
|
this.onArrowDownKey(event);
|
802
802
|
}
|
@@ -823,7 +823,7 @@ class ContextMenu {
|
|
823
823
|
const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
|
824
824
|
const root = ObjectUtils.isEmpty(processedItem.parent);
|
825
825
|
if (!root) {
|
826
|
-
this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '' });
|
826
|
+
this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });
|
827
827
|
this.searchValue = '';
|
828
828
|
this.onArrowDownKey(event);
|
829
829
|
}
|
@@ -844,8 +844,10 @@ class ContextMenu {
|
|
844
844
|
}
|
845
845
|
onEscapeKey(event) {
|
846
846
|
this.hide();
|
847
|
+
const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
|
847
848
|
this.focusedItemInfo.mutate((value) => {
|
848
849
|
value.index = this.findFirstFocusedItemIndex();
|
850
|
+
value.item = processedItem.item;
|
849
851
|
});
|
850
852
|
event.preventDefault();
|
851
853
|
}
|
@@ -883,18 +885,18 @@ class ContextMenu {
|
|
883
885
|
activeItemPath.push(processedItem);
|
884
886
|
this.submenuVisible.set(true);
|
885
887
|
}
|
886
|
-
this.focusedItemInfo.set({ index, level, parentKey });
|
888
|
+
this.focusedItemInfo.set({ index, level, parentKey, item: processedItem.item });
|
887
889
|
this.activeItemPath.set(activeItemPath);
|
888
890
|
isFocus && DomHandler.focus(this.rootmenu.sublistViewChild.nativeElement);
|
889
891
|
}
|
890
892
|
onMenuFocus(event) {
|
891
893
|
this.focused = true;
|
892
|
-
const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '' };
|
894
|
+
const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '', item: null };
|
893
895
|
this.focusedItemInfo.set(focusedItemInfo);
|
894
896
|
}
|
895
897
|
onMenuBlur(event) {
|
896
898
|
this.focused = false;
|
897
|
-
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
|
899
|
+
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
|
898
900
|
this.searchValue = '';
|
899
901
|
}
|
900
902
|
onOverlayAnimationStart(event) {
|
@@ -944,14 +946,14 @@ class ContextMenu {
|
|
944
946
|
hide() {
|
945
947
|
this.visible.set(false);
|
946
948
|
this.activeItemPath.set([]);
|
947
|
-
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
|
949
|
+
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
|
948
950
|
}
|
949
951
|
toggle(event) {
|
950
952
|
this.visible() ? this.hide() : this.show(event);
|
951
953
|
}
|
952
954
|
show(event) {
|
953
955
|
this.activeItemPath.set([]);
|
954
|
-
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
|
956
|
+
this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
|
955
957
|
this.pageX = event.pageX;
|
956
958
|
this.pageY = event.pageY;
|
957
959
|
this.visible() ? this.position() : this.visible.set(true);
|
@@ -1012,6 +1014,9 @@ class ContextMenu {
|
|
1012
1014
|
}, 500);
|
1013
1015
|
return matched;
|
1014
1016
|
}
|
1017
|
+
findVisibleItem(index) {
|
1018
|
+
return ObjectUtils.isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
|
1019
|
+
}
|
1015
1020
|
findLastFocusedItemIndex() {
|
1016
1021
|
const selectedIndex = this.findSelectedItemIndex();
|
1017
1022
|
return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
|
@@ -1038,9 +1043,11 @@ class ContextMenu {
|
|
1038
1043
|
return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
|
1039
1044
|
}
|
1040
1045
|
changeFocusedItemIndex(event, index) {
|
1046
|
+
const processedItem = this.findVisibleItem(index);
|
1041
1047
|
if (this.focusedItemInfo().index !== index) {
|
1042
1048
|
this.focusedItemInfo.mutate((value) => {
|
1043
1049
|
value.index = index;
|
1050
|
+
value.item = processedItem.item;
|
1044
1051
|
});
|
1045
1052
|
this.scrollInView();
|
1046
1053
|
}
|