@skyux/lists 7.0.0-beta.0 → 7.0.0-beta.10
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/documentation.json +727 -448
- package/esm2020/index.mjs +2 -1
- package/esm2020/lib/modules/filter/filter-button.component.mjs +17 -5
- package/esm2020/lib/modules/filter/filter-summary-item.component.mjs +15 -6
- package/esm2020/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.mjs +52 -60
- package/esm2020/lib/modules/infinite-scroll/infinite-scroll.component.mjs +51 -44
- package/esm2020/lib/modules/paging/paging.component.mjs +41 -40
- package/esm2020/lib/modules/repeater/repeater-adapter.service.mjs +32 -27
- package/esm2020/lib/modules/repeater/repeater-expand-mode-type.mjs +2 -0
- package/esm2020/lib/modules/repeater/repeater-item.component.mjs +168 -147
- package/esm2020/lib/modules/repeater/repeater.component.mjs +167 -173
- package/esm2020/lib/modules/repeater/repeater.service.mjs +15 -4
- package/esm2020/lib/modules/sort/sort-item.component.mjs +26 -16
- package/esm2020/lib/modules/sort/sort.component.mjs +1 -1
- package/esm2020/lib/modules/sort/sort.service.mjs +1 -1
- package/esm2020/testing/filter/filter-fixture-button.mjs +21 -15
- package/esm2020/testing/filter/filter-fixture-summary.mjs +11 -6
- package/esm2020/testing/filter/lists-filter-fixture-button.mjs +1 -1
- package/esm2020/testing/paging/paging-fixture.mjs +2 -2
- package/esm2020/testing/repeater/repeater-item-harness.mjs +17 -8
- package/esm2020/testing/sort/sort-fixture-menu-item.mjs +1 -1
- package/esm2020/testing/sort/sort-fixture.mjs +53 -47
- package/fesm2015/skyux-lists-testing.mjs +85 -58
- package/fesm2015/skyux-lists-testing.mjs.map +1 -1
- package/fesm2015/skyux-lists.mjs +581 -520
- package/fesm2015/skyux-lists.mjs.map +1 -1
- package/fesm2020/skyux-lists-testing.mjs +96 -73
- package/fesm2020/skyux-lists-testing.mjs.map +1 -1
- package/fesm2020/skyux-lists.mjs +573 -520
- package/fesm2020/skyux-lists.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/filter/filter-button.component.d.ts +9 -8
- package/lib/modules/filter/filter-summary-item.component.d.ts +3 -1
- package/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.d.ts +3 -9
- package/lib/modules/infinite-scroll/infinite-scroll.component.d.ts +3 -10
- package/lib/modules/paging/paging.component.d.ts +2 -4
- package/lib/modules/repeater/repeater-adapter.service.d.ts +4 -11
- package/lib/modules/repeater/repeater-expand-mode-type.d.ts +1 -0
- package/lib/modules/repeater/repeater-item.component.d.ts +24 -46
- package/lib/modules/repeater/repeater.component.d.ts +8 -21
- package/lib/modules/repeater/repeater.service.d.ts +7 -5
- package/lib/modules/sort/sort-item.component.d.ts +2 -5
- package/lib/modules/sort/sort.component.d.ts +1 -1
- package/package.json +10 -10
- package/testing/filter/filter-fixture-button.d.ts +1 -2
- package/testing/filter/filter-fixture-summary.d.ts +1 -2
- package/testing/filter/lists-filter-fixture-button.d.ts +2 -2
- package/testing/repeater/repeater-item-harness.d.ts +5 -1
- package/testing/sort/sort-fixture-menu-item.d.ts +1 -1
- package/testing/sort/sort-fixture.d.ts +4 -14
package/fesm2015/skyux-lists.mjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgModule, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, Injectable, ElementRef, ViewEncapsulation,
|
|
4
|
+
import { NgModule, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, Injectable, ElementRef, ViewEncapsulation, ContentChild, HostBinding, ViewChild, ContentChildren, HostListener } from '@angular/core';
|
|
5
5
|
import * as i2 from '@skyux/indicators';
|
|
6
6
|
import { SkyIconModule, SkyTokensModule, SkyWaitModule, SkyChevronModule } from '@skyux/indicators';
|
|
7
7
|
import * as i3 from '@skyux/theme';
|
|
8
8
|
import { SkyThemeModule } from '@skyux/theme';
|
|
9
9
|
import * as i4 from '@skyux/i18n';
|
|
10
10
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
11
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
11
12
|
import { Subject, fromEvent, BehaviorSubject, forkJoin } from 'rxjs';
|
|
12
13
|
import { takeUntil, filter, map } from 'rxjs/operators';
|
|
13
14
|
import * as i1$1 from '@skyux/core';
|
|
@@ -102,9 +103,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
102
103
|
}]
|
|
103
104
|
}] });
|
|
104
105
|
|
|
106
|
+
var _SkyFilterButtonComponent_defaultButtonId, _SkyFilterButtonComponent_filterButtonIdOrDefault;
|
|
105
107
|
let nextId = 0;
|
|
106
108
|
class SkyFilterButtonComponent {
|
|
107
109
|
constructor() {
|
|
110
|
+
/**
|
|
111
|
+
* Indicates whether the filtering options are exposed.
|
|
112
|
+
* To support [accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure),
|
|
113
|
+
* this property is necessary when using inline filters.
|
|
114
|
+
*/
|
|
115
|
+
this.ariaExpanded = false;
|
|
108
116
|
/**
|
|
109
117
|
* Indicates whether to highlight the filter button to indicate that filters were applied.
|
|
110
118
|
* We recommend setting this property to `true` when no indication of filtering is visible
|
|
@@ -123,26 +131,30 @@ class SkyFilterButtonComponent {
|
|
|
123
131
|
* Fires when the filter button is selected.
|
|
124
132
|
*/
|
|
125
133
|
this.filterButtonClick = new EventEmitter();
|
|
134
|
+
_SkyFilterButtonComponent_defaultButtonId.set(this, void 0);
|
|
135
|
+
_SkyFilterButtonComponent_filterButtonIdOrDefault.set(this, void 0);
|
|
136
|
+
__classPrivateFieldSet(this, _SkyFilterButtonComponent_filterButtonIdOrDefault, __classPrivateFieldSet(this, _SkyFilterButtonComponent_defaultButtonId, `sky-filter-button-${++nextId}`, "f"), "f");
|
|
126
137
|
}
|
|
127
138
|
/**
|
|
128
139
|
* Specifies an ID for the filter button.
|
|
129
140
|
*/
|
|
130
141
|
get filterButtonId() {
|
|
131
|
-
return this
|
|
142
|
+
return __classPrivateFieldGet(this, _SkyFilterButtonComponent_filterButtonIdOrDefault, "f");
|
|
132
143
|
}
|
|
133
144
|
set filterButtonId(value) {
|
|
134
|
-
this
|
|
145
|
+
__classPrivateFieldSet(this, _SkyFilterButtonComponent_filterButtonIdOrDefault, value || __classPrivateFieldGet(this, _SkyFilterButtonComponent_defaultButtonId, "f"), "f");
|
|
135
146
|
}
|
|
136
147
|
filterButtonOnClick() {
|
|
137
|
-
this.filterButtonClick.emit(
|
|
148
|
+
this.filterButtonClick.emit();
|
|
138
149
|
}
|
|
139
150
|
}
|
|
151
|
+
_SkyFilterButtonComponent_defaultButtonId = new WeakMap(), _SkyFilterButtonComponent_filterButtonIdOrDefault = new WeakMap();
|
|
140
152
|
SkyFilterButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFilterButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
141
153
|
SkyFilterButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFilterButtonComponent, selector: "sky-filter-button", inputs: { filterButtonId: "filterButtonId", ariaControls: "ariaControls", ariaExpanded: "ariaExpanded", active: "active", disabled: "disabled", showButtonText: "showButtonText" }, outputs: { filterButtonClick: "filterButtonClick" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-default sky-filter-btn\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"'skyux_filter_button_title' | skyLibResources\"\n [attr.title]=\"'skyux_filter_button_title' | skyLibResources\"\n [disabled]=\"disabled\"\n [id]=\"filterButtonId\"\n [ngClass]=\"{\n 'sky-filter-btn-active': active\n }\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners': 'default',\n 'sky-theme-modern': 'modern'\n }\"\n (click)=\"filterButtonOnClick()\"\n>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"filter\" size=\"lg\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"filter\" iconType=\"skyux\"></sky-icon>\n <span *ngIf=\"showButtonText\" class=\"sky-filter-btn-text\">\n {{ 'skyux_filter_button_title' | skyLibResources }}\n </span>\n</button>\n", styles: [".sky-filter-btn-active,.sky-filter-btn-active:hover,.sky-filter-btn-active:focus{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}.sky-filter-btn-active:hover,.sky-filter-btn-active:focus{color:#212327}.sky-theme-modern.sky-filter-btn-active,.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:focus{color:initial;border:none;box-shadow:inset 0 0 0 1px #0974a1;background-color:#c1e8fb;color:#212327;padding:9px 21px}.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:hover:hover,.sky-theme-modern.sky-filter-btn-active:focus:hover{border:none;box-shadow:inset 0 0 0 1px #0974a1;text-decoration:none}.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover:hover,.sky-theme-modern.sky-filter-btn-active:hover:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus:hover,.sky-theme-modern.sky-filter-btn-active:focus:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{color:#212327}.sky-theme-modern.sky-filter-btn-active:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{border:none;box-shadow:inset 0 0 0 2px #0974a1;background-image:none}.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active[disabled],.sky-theme-modern.sky-filter-btn-active[disabled]:hover,.sky-theme-modern.sky-filter-btn-active[disabled]:focus,.sky-theme-modern.sky-filter-btn-active[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active[disabled]:active,.sky-theme-modern.sky-filter-btn-active[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover[disabled],.sky-theme-modern.sky-filter-btn-active:hover[disabled]:hover,.sky-theme-modern.sky-filter-btn-active:hover[disabled]:focus,.sky-theme-modern.sky-filter-btn-active:hover[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:hover[disabled]:active,.sky-theme-modern.sky-filter-btn-active:hover[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus[disabled],.sky-theme-modern.sky-filter-btn-active:focus[disabled]:hover,.sky-theme-modern.sky-filter-btn-active:focus[disabled]:focus,.sky-theme-modern.sky-filter-btn-active:focus[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:focus[disabled]:active,.sky-theme-modern.sky-filter-btn-active:focus[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{border:none;box-shadow:inset 0 0 0 1px #d2d2d2;background-color:#ededee;color:#686c73;opacity:1}.sky-theme-modern.sky-filter-btn-active:focus,.sky-theme-modern.sky-filter-btn-active:hover:focus,.sky-theme-modern.sky-filter-btn-active:focus:focus{outline:none}.sky-theme-modern.sky-filter-btn-active:focus:not(:active),.sky-theme-modern.sky-filter-btn-active:hover:focus:not(:active),.sky-theme-modern.sky-filter-btn-active:focus:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #0974a1,0 1px 8px #0000004d}:host .sky-filter-btn-text{display:none}:host .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-filter-btn-text,:host-context(.sky-responsive-container-sm) .sky-filter-btn-text,:host-context(.sky-responsive-container-md) .sky-filter-btn-text,:host-context(.sky-responsive-container-lg) .sky-filter-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-filter-btn-text{display:inline}:host .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-filter-btn-text,:host-context(.sky-responsive-container-md) .sky-filter-btn-text,:host-context(.sky-responsive-container-lg) .sky-filter-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
142
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFilterButtonComponent, decorators: [{
|
|
143
155
|
type: Component,
|
|
144
156
|
args: [{ selector: 'sky-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"sky-btn sky-btn-default sky-filter-btn\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"'skyux_filter_button_title' | skyLibResources\"\n [attr.title]=\"'skyux_filter_button_title' | skyLibResources\"\n [disabled]=\"disabled\"\n [id]=\"filterButtonId\"\n [ngClass]=\"{\n 'sky-filter-btn-active': active\n }\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners': 'default',\n 'sky-theme-modern': 'modern'\n }\"\n (click)=\"filterButtonOnClick()\"\n>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"filter\" size=\"lg\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"filter\" iconType=\"skyux\"></sky-icon>\n <span *ngIf=\"showButtonText\" class=\"sky-filter-btn-text\">\n {{ 'skyux_filter_button_title' | skyLibResources }}\n </span>\n</button>\n", styles: [".sky-filter-btn-active,.sky-filter-btn-active:hover,.sky-filter-btn-active:focus{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}.sky-filter-btn-active:hover,.sky-filter-btn-active:focus{color:#212327}.sky-theme-modern.sky-filter-btn-active,.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:focus{color:initial;border:none;box-shadow:inset 0 0 0 1px #0974a1;background-color:#c1e8fb;color:#212327;padding:9px 21px}.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:hover:hover,.sky-theme-modern.sky-filter-btn-active:focus:hover{border:none;box-shadow:inset 0 0 0 1px #0974a1;text-decoration:none}.sky-theme-modern.sky-filter-btn-active:hover,.sky-theme-modern.sky-filter-btn-active:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover:hover,.sky-theme-modern.sky-filter-btn-active:hover:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus:hover,.sky-theme-modern.sky-filter-btn-active:focus:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{color:#212327}.sky-theme-modern.sky-filter-btn-active:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{border:none;box-shadow:inset 0 0 0 2px #0974a1;background-image:none}.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active[disabled],.sky-theme-modern.sky-filter-btn-active[disabled]:hover,.sky-theme-modern.sky-filter-btn-active[disabled]:focus,.sky-theme-modern.sky-filter-btn-active[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active[disabled]:active,.sky-theme-modern.sky-filter-btn-active[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active:hover.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:hover[disabled],.sky-theme-modern.sky-filter-btn-active:hover[disabled]:hover,.sky-theme-modern.sky-filter-btn-active:hover[disabled]:focus,.sky-theme-modern.sky-filter-btn-active:hover[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:hover[disabled]:active,.sky-theme-modern.sky-filter-btn-active:hover[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:hover.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:hover,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:focus,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled.sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled:active,.sky-theme-modern.sky-filter-btn-active:focus.sky-btn-disabled.sky-btn-active,.sky-theme-modern.sky-filter-btn-active:focus[disabled],.sky-theme-modern.sky-filter-btn-active:focus[disabled]:hover,.sky-theme-modern.sky-filter-btn-active:focus[disabled]:focus,.sky-theme-modern.sky-filter-btn-active:focus[disabled].sky-btn-focus,.sky-theme-modern.sky-filter-btn-active:focus[disabled]:active,.sky-theme-modern.sky-filter-btn-active:focus[disabled].sky-btn-active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:hover,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus.sky-btn-focus,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus:active,fieldset[disabled] .sky-theme-modern.sky-filter-btn-active:focus.sky-btn-active{border:none;box-shadow:inset 0 0 0 1px #d2d2d2;background-color:#ededee;color:#686c73;opacity:1}.sky-theme-modern.sky-filter-btn-active:focus,.sky-theme-modern.sky-filter-btn-active:hover:focus,.sky-theme-modern.sky-filter-btn-active:focus:focus{outline:none}.sky-theme-modern.sky-filter-btn-active:focus:not(:active),.sky-theme-modern.sky-filter-btn-active:hover:focus:not(:active),.sky-theme-modern.sky-filter-btn-active:focus:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #0974a1,0 1px 8px #0000004d}:host .sky-filter-btn-text{display:none}:host .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-filter-btn-text,:host-context(.sky-responsive-container-sm) .sky-filter-btn-text,:host-context(.sky-responsive-container-md) .sky-filter-btn-text,:host-context(.sky-responsive-container-lg) .sky-filter-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-filter-btn-text{display:inline}:host .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-filter-btn-text,:host-context(.sky-responsive-container-md) .sky-filter-btn-text,:host-context(.sky-responsive-container-lg) .sky-filter-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-filter-btn ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-filter-btn ::ng-deep .sky-dropdown-caret{display:inline-block}\n"] }]
|
|
145
|
-
}], propDecorators: { filterButtonId: [{
|
|
157
|
+
}], ctorParameters: function () { return []; }, propDecorators: { filterButtonId: [{
|
|
146
158
|
type: Input
|
|
147
159
|
}], ariaControls: [{
|
|
148
160
|
type: Input
|
|
@@ -182,15 +194,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
182
194
|
args: [{ selector: 'sky-filter-inline', template: "<div class=\"sky-filter-inline sky-padding-even-default\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-filter-inline{background-color:#eeeeef;display:flex;align-items:center}\n"] }]
|
|
183
195
|
}] });
|
|
184
196
|
|
|
197
|
+
var _SkyFilterSummaryItemComponent__dismissible;
|
|
185
198
|
/**
|
|
186
199
|
* Specifies a filter that was applied.
|
|
187
200
|
*/
|
|
188
201
|
class SkyFilterSummaryItemComponent {
|
|
189
202
|
constructor() {
|
|
190
|
-
/**
|
|
191
|
-
* Indicates whether the filter summary item has a close button.
|
|
192
|
-
*/
|
|
193
|
-
this.dismissible = true;
|
|
194
203
|
/**
|
|
195
204
|
* Fires when the summary item close button is selected.
|
|
196
205
|
*/
|
|
@@ -199,6 +208,16 @@ class SkyFilterSummaryItemComponent {
|
|
|
199
208
|
* Fires when the summary item is selected.
|
|
200
209
|
*/
|
|
201
210
|
this.itemClick = new EventEmitter();
|
|
211
|
+
_SkyFilterSummaryItemComponent__dismissible.set(this, true);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Indicates whether the filter summary item has a close button.
|
|
215
|
+
*/
|
|
216
|
+
get dismissible() {
|
|
217
|
+
return __classPrivateFieldGet(this, _SkyFilterSummaryItemComponent__dismissible, "f");
|
|
218
|
+
}
|
|
219
|
+
set dismissible(value) {
|
|
220
|
+
__classPrivateFieldSet(this, _SkyFilterSummaryItemComponent__dismissible, value !== false, "f");
|
|
202
221
|
}
|
|
203
222
|
onItemDismiss() {
|
|
204
223
|
this.dismiss.emit();
|
|
@@ -210,8 +229,9 @@ class SkyFilterSummaryItemComponent {
|
|
|
210
229
|
this.itemClick.emit();
|
|
211
230
|
}
|
|
212
231
|
}
|
|
232
|
+
_SkyFilterSummaryItemComponent__dismissible = new WeakMap();
|
|
213
233
|
SkyFilterSummaryItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFilterSummaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
214
|
-
SkyFilterSummaryItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFilterSummaryItemComponent, selector: "sky-filter-summary-item", inputs: { dismissible: "dismissible" }, outputs: { dismiss: "dismiss", itemClick: "itemClick" }, ngImport: i0, template: "<div\n class=\"sky-filter-summary-item\"\n (click)=\"onItemClick()\"\n (keypress.enter)=\"onItemKeypress()\"\n>\n <sky-token\n [ariaLabel]=\"'skyux_filter_summary_close' | skyLibResources\"\n [dismissible]=\"dismissible\"\n (dismiss)=\"onItemDismiss()\"\n >\n <ng-content> </ng-content>\n </sky-token>\n</div>\n", styles: [".sky-filter-summary-item{display:inline-block}:host:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-filter-summary-item{padding:0 0 5px}.sky-theme-modern .sky-filter-summary-item{padding:0 0 5px}\n"], dependencies: [{ kind: "component", type: i2.λ12, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable"], outputs: ["dismiss", "tokenFocus"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
234
|
+
SkyFilterSummaryItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFilterSummaryItemComponent, selector: "sky-filter-summary-item", inputs: { dismissible: "dismissible" }, outputs: { dismiss: "dismiss", itemClick: "itemClick" }, ngImport: i0, template: "<div\n class=\"sky-filter-summary-item\"\n (click)=\"onItemClick()\"\n (keypress.enter)=\"onItemKeypress()\"\n>\n <sky-token\n [ariaLabel]=\"'skyux_filter_summary_close' | skyLibResources\"\n [dismissible]=\"dismissible\"\n (dismiss)=\"onItemDismiss()\"\n >\n <ng-content> </ng-content>\n </sky-token>\n</div>\n", styles: [".sky-filter-summary-item{display:inline-block}:host:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-filter-summary-item{padding:0 0 5px}.sky-theme-modern .sky-filter-summary-item{padding:0 0 5px}\n"], dependencies: [{ kind: "component", type: i2.λ12, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
215
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFilterSummaryItemComponent, decorators: [{
|
|
216
236
|
type: Component,
|
|
217
237
|
args: [{ selector: 'sky-filter-summary-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-filter-summary-item\"\n (click)=\"onItemClick()\"\n (keypress.enter)=\"onItemKeypress()\"\n>\n <sky-token\n [ariaLabel]=\"'skyux_filter_summary_close' | skyLibResources\"\n [dismissible]=\"dismissible\"\n (dismiss)=\"onItemDismiss()\"\n >\n <ng-content> </ng-content>\n </sky-token>\n</div>\n", styles: [".sky-filter-summary-item{display:inline-block}:host:not(:last-child){margin-right:5px}:host-context(.sky-theme-modern) .sky-filter-summary-item{padding:0 0 5px}.sky-theme-modern .sky-filter-summary-item{padding:0 0 5px}\n"] }]
|
|
@@ -283,19 +303,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
283
303
|
}]
|
|
284
304
|
}] });
|
|
285
305
|
|
|
306
|
+
var _SkyInfiniteScrollDomAdapterService_instances, _SkyInfiniteScrollDomAdapterService_ngUnsubscribe, _SkyInfiniteScrollDomAdapterService_observer, _SkyInfiniteScrollDomAdapterService_parentChanges, _SkyInfiniteScrollDomAdapterService_parentChangesObs, _SkyInfiniteScrollDomAdapterService_scrollableHostSvc, _SkyInfiniteScrollDomAdapterService_windowRef, _SkyInfiniteScrollDomAdapterService_createObserver, _SkyInfiniteScrollDomAdapterService_isElementScrolledInView;
|
|
286
307
|
/**
|
|
287
308
|
* @internal
|
|
288
309
|
*/
|
|
289
310
|
class SkyInfiniteScrollDomAdapterService {
|
|
290
|
-
constructor(windowRef) {
|
|
291
|
-
this
|
|
292
|
-
this
|
|
293
|
-
this
|
|
311
|
+
constructor(scrollableHostSvc, windowRef) {
|
|
312
|
+
_SkyInfiniteScrollDomAdapterService_instances.add(this);
|
|
313
|
+
_SkyInfiniteScrollDomAdapterService_ngUnsubscribe.set(this, new Subject());
|
|
314
|
+
_SkyInfiniteScrollDomAdapterService_observer.set(this, void 0);
|
|
315
|
+
_SkyInfiniteScrollDomAdapterService_parentChanges.set(this, void 0);
|
|
316
|
+
_SkyInfiniteScrollDomAdapterService_parentChangesObs.set(this, void 0);
|
|
317
|
+
_SkyInfiniteScrollDomAdapterService_scrollableHostSvc.set(this, void 0);
|
|
318
|
+
_SkyInfiniteScrollDomAdapterService_windowRef.set(this, void 0);
|
|
319
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollDomAdapterService_scrollableHostSvc, scrollableHostSvc, "f");
|
|
320
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollDomAdapterService_windowRef, windowRef, "f");
|
|
321
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollDomAdapterService_parentChanges, new Subject(), "f");
|
|
322
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollDomAdapterService_parentChangesObs, __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_parentChanges, "f").asObservable(), "f");
|
|
294
323
|
}
|
|
295
324
|
ngOnDestroy() {
|
|
296
|
-
this.
|
|
297
|
-
this.
|
|
298
|
-
this.
|
|
325
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_parentChanges, "f").complete();
|
|
326
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_ngUnsubscribe, "f").next();
|
|
327
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_ngUnsubscribe, "f").complete();
|
|
299
328
|
}
|
|
300
329
|
/**
|
|
301
330
|
* This event is triggered when child nodes are added to the infinite
|
|
@@ -303,8 +332,8 @@ class SkyInfiniteScrollDomAdapterService {
|
|
|
303
332
|
* @param elementRef The infinite scroll element reference.
|
|
304
333
|
*/
|
|
305
334
|
parentChanges(elementRef) {
|
|
306
|
-
this.
|
|
307
|
-
return this
|
|
335
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_instances, "m", _SkyInfiniteScrollDomAdapterService_createObserver).call(this, elementRef);
|
|
336
|
+
return __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_parentChangesObs, "f");
|
|
308
337
|
}
|
|
309
338
|
/**
|
|
310
339
|
* This event is triggered when the provided element reference
|
|
@@ -312,69 +341,50 @@ class SkyInfiniteScrollDomAdapterService {
|
|
|
312
341
|
* @param elementRef The infinite scroll element reference.
|
|
313
342
|
*/
|
|
314
343
|
scrollTo(elementRef) {
|
|
315
|
-
const parent = this.
|
|
316
|
-
return fromEvent(parent, 'scroll').pipe(takeUntil(this
|
|
317
|
-
return this.
|
|
344
|
+
const parent = __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_scrollableHostSvc, "f").getScrollableHost(elementRef);
|
|
345
|
+
return fromEvent(parent, 'scroll').pipe(takeUntil(__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_ngUnsubscribe, "f")), filter(() => {
|
|
346
|
+
return __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_instances, "m", _SkyInfiniteScrollDomAdapterService_isElementScrolledInView).call(this, elementRef.nativeElement, parent);
|
|
318
347
|
}), map(() => undefined) // Change to void return type
|
|
319
348
|
);
|
|
320
349
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
this._parentChanges.emit();
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
const windowObj = this.windowRef.nativeWindow;
|
|
331
|
-
const parent = this.findScrollableParent(element);
|
|
332
|
-
const observedParent = parent === windowObj ? windowObj.document.body : parent;
|
|
333
|
-
this.observer.observe(observedParent, {
|
|
334
|
-
childList: true,
|
|
335
|
-
subtree: true,
|
|
350
|
+
}
|
|
351
|
+
_SkyInfiniteScrollDomAdapterService_ngUnsubscribe = new WeakMap(), _SkyInfiniteScrollDomAdapterService_observer = new WeakMap(), _SkyInfiniteScrollDomAdapterService_parentChanges = new WeakMap(), _SkyInfiniteScrollDomAdapterService_parentChangesObs = new WeakMap(), _SkyInfiniteScrollDomAdapterService_scrollableHostSvc = new WeakMap(), _SkyInfiniteScrollDomAdapterService_windowRef = new WeakMap(), _SkyInfiniteScrollDomAdapterService_instances = new WeakSet(), _SkyInfiniteScrollDomAdapterService_createObserver = function _SkyInfiniteScrollDomAdapterService_createObserver(elementRef) {
|
|
352
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollDomAdapterService_observer, new MutationObserver((mutations) => {
|
|
353
|
+
const hasUpdates = !!mutations.find((mutation) => {
|
|
354
|
+
return (!elementRef.nativeElement.contains(mutation.target) &&
|
|
355
|
+
mutation.addedNodes.length > 0);
|
|
336
356
|
});
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
const regex = /(auto|scroll)/;
|
|
340
|
-
const windowObj = this.windowRef.nativeWindow;
|
|
341
|
-
const bodyObj = windowObj.document.body;
|
|
342
|
-
let style = windowObj.getComputedStyle(element);
|
|
343
|
-
let parent = element;
|
|
344
|
-
do {
|
|
345
|
-
parent = parent.parentNode;
|
|
346
|
-
style = windowObj.getComputedStyle(parent);
|
|
347
|
-
} while (!regex.test(style.overflow) &&
|
|
348
|
-
!regex.test(style.overflowY) &&
|
|
349
|
-
parent.parentNode &&
|
|
350
|
-
parent !== bodyObj);
|
|
351
|
-
if (parent === bodyObj) {
|
|
352
|
-
return windowObj;
|
|
353
|
-
}
|
|
354
|
-
return parent;
|
|
355
|
-
}
|
|
356
|
-
isElementScrolledInView(element, parentElement) {
|
|
357
|
-
const windowObj = this.windowRef.nativeWindow;
|
|
358
|
-
if (parentElement === windowObj) {
|
|
359
|
-
return (parentElement.pageYOffset + parentElement.innerHeight >
|
|
360
|
-
element.offsetTop);
|
|
357
|
+
if (hasUpdates) {
|
|
358
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_parentChanges, "f").next();
|
|
361
359
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
360
|
+
}), "f");
|
|
361
|
+
const windowObj = __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_windowRef, "f").nativeWindow;
|
|
362
|
+
const parent = __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_scrollableHostSvc, "f").getScrollableHost(elementRef);
|
|
363
|
+
const observedParent = parent === windowObj ? windowObj.document.body : parent;
|
|
364
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_observer, "f").observe(observedParent, {
|
|
365
|
+
childList: true,
|
|
366
|
+
subtree: true,
|
|
367
|
+
});
|
|
368
|
+
}, _SkyInfiniteScrollDomAdapterService_isElementScrolledInView = function _SkyInfiniteScrollDomAdapterService_isElementScrolledInView(element, parentElement) {
|
|
369
|
+
const windowObj = __classPrivateFieldGet(this, _SkyInfiniteScrollDomAdapterService_windowRef, "f").nativeWindow;
|
|
370
|
+
if (parentElement === windowObj) {
|
|
371
|
+
return (parentElement.pageYOffset + parentElement.innerHeight >
|
|
372
|
+
element.offsetTop);
|
|
373
|
+
}
|
|
374
|
+
const elementRect = element.getBoundingClientRect();
|
|
375
|
+
const parentRect = parentElement.getBoundingClientRect();
|
|
376
|
+
return elementRect.top < parentRect.top + parentRect.height;
|
|
377
|
+
};
|
|
378
|
+
SkyInfiniteScrollDomAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInfiniteScrollDomAdapterService, deps: [{ token: i1$1.SkyScrollableHostService }, { token: i1$1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
368
379
|
SkyInfiniteScrollDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInfiniteScrollDomAdapterService });
|
|
369
380
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInfiniteScrollDomAdapterService, decorators: [{
|
|
370
381
|
type: Injectable
|
|
371
|
-
}], ctorParameters: function () { return [{ type: i1$1.SkyAppWindowRef }]; } });
|
|
382
|
+
}], ctorParameters: function () { return [{ type: i1$1.SkyScrollableHostService }, { type: i1$1.SkyAppWindowRef }]; } });
|
|
372
383
|
|
|
384
|
+
var _SkyInfiniteScrollComponent_instances, _SkyInfiniteScrollComponent_changeDetector, _SkyInfiniteScrollComponent_domAdapter, _SkyInfiniteScrollComponent_elementRef, _SkyInfiniteScrollComponent_ngUnsubscribe, _SkyInfiniteScrollComponent__enabled, _SkyInfiniteScrollComponent__loading, _SkyInfiniteScrollComponent_notifyScrollEnd, _SkyInfiniteScrollComponent_setListeners;
|
|
373
385
|
class SkyInfiniteScrollComponent {
|
|
374
386
|
constructor(changeDetector, elementRef, domAdapter) {
|
|
375
|
-
this
|
|
376
|
-
this.elementRef = elementRef;
|
|
377
|
-
this.domAdapter = domAdapter;
|
|
387
|
+
_SkyInfiniteScrollComponent_instances.add(this);
|
|
378
388
|
/**
|
|
379
389
|
* Fires when scrolling triggers the need to load more data or when users select the button
|
|
380
390
|
* to load more data. This event only fires when the `enabled` property is set to `true`
|
|
@@ -382,7 +392,15 @@ class SkyInfiniteScrollComponent {
|
|
|
382
392
|
*/
|
|
383
393
|
this.scrollEnd = new EventEmitter();
|
|
384
394
|
this.isWaiting = false;
|
|
385
|
-
this
|
|
395
|
+
_SkyInfiniteScrollComponent_changeDetector.set(this, void 0);
|
|
396
|
+
_SkyInfiniteScrollComponent_domAdapter.set(this, void 0);
|
|
397
|
+
_SkyInfiniteScrollComponent_elementRef.set(this, void 0);
|
|
398
|
+
_SkyInfiniteScrollComponent_ngUnsubscribe.set(this, new Subject());
|
|
399
|
+
_SkyInfiniteScrollComponent__enabled.set(this, false);
|
|
400
|
+
_SkyInfiniteScrollComponent__loading.set(this, void 0);
|
|
401
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollComponent_changeDetector, changeDetector, "f");
|
|
402
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollComponent_elementRef, elementRef, "f");
|
|
403
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollComponent_domAdapter, domAdapter, "f");
|
|
386
404
|
}
|
|
387
405
|
/**
|
|
388
406
|
* Indicates whether to make the infinite scroll component active when more data is available
|
|
@@ -390,12 +408,12 @@ class SkyInfiniteScrollComponent {
|
|
|
390
408
|
* @default false
|
|
391
409
|
*/
|
|
392
410
|
get enabled() {
|
|
393
|
-
return this
|
|
411
|
+
return __classPrivateFieldGet(this, _SkyInfiniteScrollComponent__enabled, "f");
|
|
394
412
|
}
|
|
395
413
|
set enabled(value) {
|
|
396
|
-
if (this
|
|
397
|
-
this
|
|
398
|
-
this.
|
|
414
|
+
if (__classPrivateFieldGet(this, _SkyInfiniteScrollComponent__enabled, "f") !== value) {
|
|
415
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollComponent__enabled, value, "f");
|
|
416
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_instances, "m", _SkyInfiniteScrollComponent_setListeners).call(this);
|
|
399
417
|
}
|
|
400
418
|
}
|
|
401
419
|
/**
|
|
@@ -409,54 +427,53 @@ class SkyInfiniteScrollComponent {
|
|
|
409
427
|
* @required
|
|
410
428
|
*/
|
|
411
429
|
get loading() {
|
|
412
|
-
return this
|
|
430
|
+
return __classPrivateFieldGet(this, _SkyInfiniteScrollComponent__loading, "f");
|
|
413
431
|
}
|
|
414
432
|
set loading(value) {
|
|
415
|
-
this
|
|
433
|
+
__classPrivateFieldSet(this, _SkyInfiniteScrollComponent__loading, value, "f");
|
|
416
434
|
if (value !== undefined) {
|
|
417
435
|
this.isWaiting = value;
|
|
418
436
|
}
|
|
419
437
|
}
|
|
420
438
|
ngOnDestroy() {
|
|
421
439
|
this.enabled = false;
|
|
422
|
-
this.
|
|
423
|
-
this.
|
|
440
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_ngUnsubscribe, "f").next();
|
|
441
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_ngUnsubscribe, "f").complete();
|
|
424
442
|
}
|
|
425
443
|
startInfiniteScrollLoad() {
|
|
426
|
-
this.
|
|
427
|
-
}
|
|
428
|
-
notifyScrollEnd() {
|
|
429
|
-
this.isWaiting = true;
|
|
430
|
-
this.scrollEnd.emit();
|
|
431
|
-
this.changeDetector.markForCheck();
|
|
432
|
-
}
|
|
433
|
-
setListeners() {
|
|
434
|
-
if (this.enabled) {
|
|
435
|
-
// The user has scrolled to the infinite scroll element.
|
|
436
|
-
this.domAdapter
|
|
437
|
-
.scrollTo(this.elementRef)
|
|
438
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
439
|
-
.subscribe(() => {
|
|
440
|
-
if (!this.isWaiting && this.enabled) {
|
|
441
|
-
this.notifyScrollEnd();
|
|
442
|
-
}
|
|
443
|
-
});
|
|
444
|
-
// New items have been loaded into the parent element.
|
|
445
|
-
this.domAdapter
|
|
446
|
-
.parentChanges(this.elementRef)
|
|
447
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
448
|
-
.subscribe(() => {
|
|
449
|
-
if (!this.loading) {
|
|
450
|
-
this.isWaiting = false;
|
|
451
|
-
this.changeDetector.markForCheck();
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
else {
|
|
456
|
-
this.ngUnsubscribe.next();
|
|
457
|
-
}
|
|
444
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_instances, "m", _SkyInfiniteScrollComponent_notifyScrollEnd).call(this);
|
|
458
445
|
}
|
|
459
446
|
}
|
|
447
|
+
_SkyInfiniteScrollComponent_changeDetector = new WeakMap(), _SkyInfiniteScrollComponent_domAdapter = new WeakMap(), _SkyInfiniteScrollComponent_elementRef = new WeakMap(), _SkyInfiniteScrollComponent_ngUnsubscribe = new WeakMap(), _SkyInfiniteScrollComponent__enabled = new WeakMap(), _SkyInfiniteScrollComponent__loading = new WeakMap(), _SkyInfiniteScrollComponent_instances = new WeakSet(), _SkyInfiniteScrollComponent_notifyScrollEnd = function _SkyInfiniteScrollComponent_notifyScrollEnd() {
|
|
448
|
+
this.isWaiting = true;
|
|
449
|
+
this.scrollEnd.emit();
|
|
450
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_changeDetector, "f").markForCheck();
|
|
451
|
+
}, _SkyInfiniteScrollComponent_setListeners = function _SkyInfiniteScrollComponent_setListeners() {
|
|
452
|
+
if (this.enabled) {
|
|
453
|
+
// The user has scrolled to the infinite scroll element.
|
|
454
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_domAdapter, "f")
|
|
455
|
+
.scrollTo(__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_elementRef, "f"))
|
|
456
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_ngUnsubscribe, "f")))
|
|
457
|
+
.subscribe(() => {
|
|
458
|
+
if (!this.isWaiting && this.enabled) {
|
|
459
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_instances, "m", _SkyInfiniteScrollComponent_notifyScrollEnd).call(this);
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
// New items have been loaded into the parent element.
|
|
463
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_domAdapter, "f")
|
|
464
|
+
.parentChanges(__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_elementRef, "f"))
|
|
465
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_ngUnsubscribe, "f")))
|
|
466
|
+
.subscribe(() => {
|
|
467
|
+
if (!this.loading) {
|
|
468
|
+
this.isWaiting = false;
|
|
469
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_changeDetector, "f").markForCheck();
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
__classPrivateFieldGet(this, _SkyInfiniteScrollComponent_ngUnsubscribe, "f").next();
|
|
475
|
+
}
|
|
476
|
+
};
|
|
460
477
|
SkyInfiniteScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInfiniteScrollComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: SkyInfiniteScrollDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
461
478
|
SkyInfiniteScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyInfiniteScrollComponent, selector: "sky-infinite-scroll", inputs: { enabled: "enabled", loading: "loading" }, outputs: { scrollEnd: "scrollEnd" }, providers: [SkyInfiniteScrollDomAdapterService], ngImport: i0, template: "<div *ngIf=\"enabled\" class=\"sky-infinite-scroll\">\n <button\n *ngIf=\"!isWaiting && enabled\"\n class=\"sky-btn sky-btn-default sky-infinite-scroll-load-more-button\"\n type=\"button\"\n (click)=\"startInfiniteScrollLoad()\"\n >\n {{ 'skyux_infinite_scroll_load_more_button' | skyLibResources }}\n </button>\n <sky-wait [isWaiting]=\"isWaiting\"> </sky-wait>\n</div>\n", styles: [".sky-infinite-scroll{margin-top:20px;text-align:center;min-height:75px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
462
479
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInfiniteScrollComponent, decorators: [{
|
|
@@ -484,8 +501,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
484
501
|
}]
|
|
485
502
|
}] });
|
|
486
503
|
|
|
504
|
+
var _SkyPagingComponent_instances, _SkyPagingComponent_getDisplayedPageNumbers, _SkyPagingComponent_setPageCount, _SkyPagingComponent_setDisplayedPages;
|
|
487
505
|
class SkyPagingComponent {
|
|
488
506
|
constructor() {
|
|
507
|
+
_SkyPagingComponent_instances.add(this);
|
|
489
508
|
/**
|
|
490
509
|
* Specifies the page number of the current page. Page numbers start at 1 and increment.
|
|
491
510
|
*/
|
|
@@ -514,7 +533,7 @@ class SkyPagingComponent {
|
|
|
514
533
|
}
|
|
515
534
|
setPage(pageNumber) {
|
|
516
535
|
const previousPage = this.currentPage;
|
|
517
|
-
this.
|
|
536
|
+
__classPrivateFieldGet(this, _SkyPagingComponent_instances, "m", _SkyPagingComponent_setPageCount).call(this);
|
|
518
537
|
if (pageNumber < 1 || this.pageCount < 1) {
|
|
519
538
|
this.currentPage = 1;
|
|
520
539
|
}
|
|
@@ -524,7 +543,7 @@ class SkyPagingComponent {
|
|
|
524
543
|
else {
|
|
525
544
|
this.currentPage = pageNumber;
|
|
526
545
|
}
|
|
527
|
-
this.
|
|
546
|
+
__classPrivateFieldGet(this, _SkyPagingComponent_instances, "m", _SkyPagingComponent_setDisplayedPages).call(this);
|
|
528
547
|
if (previousPage !== this.currentPage) {
|
|
529
548
|
this.currentPageChange.emit(this.currentPage);
|
|
530
549
|
}
|
|
@@ -541,46 +560,44 @@ class SkyPagingComponent {
|
|
|
541
560
|
get isNextButtonDisabled() {
|
|
542
561
|
return this.currentPage === this.pageCount;
|
|
543
562
|
}
|
|
544
|
-
getDisplayedPageNumbers(pageCount, maxDisplayedPages, pageNumber) {
|
|
545
|
-
const pageIndex = pageNumber - 1;
|
|
546
|
-
const pageBounds = Math.floor(maxDisplayedPages / 2);
|
|
547
|
-
let upperBound = pageIndex + pageBounds;
|
|
548
|
-
let lowerBound = pageIndex - pageBounds;
|
|
549
|
-
if (maxDisplayedPages % 2 !== 0) {
|
|
550
|
-
upperBound += 1;
|
|
551
|
-
}
|
|
552
|
-
// Wrap negative values to increase the upperbound
|
|
553
|
-
if (lowerBound < 0) {
|
|
554
|
-
upperBound -= lowerBound;
|
|
555
|
-
lowerBound = 0;
|
|
556
|
-
}
|
|
557
|
-
// Wrap overflow to decrease the lowerbound
|
|
558
|
-
if (upperBound > pageCount) {
|
|
559
|
-
lowerBound -= upperBound - pageCount;
|
|
560
|
-
upperBound = pageCount;
|
|
561
|
-
}
|
|
562
|
-
// If both are the same ignore everything else and just display it all
|
|
563
|
-
if (pageCount < maxDisplayedPages) {
|
|
564
|
-
lowerBound = 0;
|
|
565
|
-
upperBound = pageCount;
|
|
566
|
-
}
|
|
567
|
-
const displayedPageNumbers = [];
|
|
568
|
-
for (let i = lowerBound; i < upperBound; i++) {
|
|
569
|
-
displayedPageNumbers.push(i + 1);
|
|
570
|
-
}
|
|
571
|
-
return displayedPageNumbers;
|
|
572
|
-
}
|
|
573
|
-
setPageCount() {
|
|
574
|
-
if (this.itemCount === 0 || this.pageSize === 0) {
|
|
575
|
-
this.pageCount = 0;
|
|
576
|
-
return;
|
|
577
|
-
}
|
|
578
|
-
this.pageCount = Math.ceil(this.itemCount / this.pageSize);
|
|
579
|
-
}
|
|
580
|
-
setDisplayedPages() {
|
|
581
|
-
this.displayedPages = this.getDisplayedPageNumbers(this.pageCount, this.maxPages, this.currentPage);
|
|
582
|
-
}
|
|
583
563
|
}
|
|
564
|
+
_SkyPagingComponent_instances = new WeakSet(), _SkyPagingComponent_getDisplayedPageNumbers = function _SkyPagingComponent_getDisplayedPageNumbers(pageCount, maxDisplayedPages, pageNumber) {
|
|
565
|
+
const pageIndex = pageNumber - 1;
|
|
566
|
+
const pageBounds = Math.floor(maxDisplayedPages / 2);
|
|
567
|
+
let upperBound = pageIndex + pageBounds;
|
|
568
|
+
let lowerBound = pageIndex - pageBounds;
|
|
569
|
+
if (maxDisplayedPages % 2 !== 0) {
|
|
570
|
+
upperBound += 1;
|
|
571
|
+
}
|
|
572
|
+
// Wrap negative values to increase the upperbound
|
|
573
|
+
if (lowerBound < 0) {
|
|
574
|
+
upperBound -= lowerBound;
|
|
575
|
+
lowerBound = 0;
|
|
576
|
+
}
|
|
577
|
+
// Wrap overflow to decrease the lowerbound
|
|
578
|
+
if (upperBound > pageCount) {
|
|
579
|
+
lowerBound -= upperBound - pageCount;
|
|
580
|
+
upperBound = pageCount;
|
|
581
|
+
}
|
|
582
|
+
// If both are the same ignore everything else and just display it all
|
|
583
|
+
if (pageCount < maxDisplayedPages) {
|
|
584
|
+
lowerBound = 0;
|
|
585
|
+
upperBound = pageCount;
|
|
586
|
+
}
|
|
587
|
+
const displayedPageNumbers = [];
|
|
588
|
+
for (let i = lowerBound; i < upperBound; i++) {
|
|
589
|
+
displayedPageNumbers.push(i + 1);
|
|
590
|
+
}
|
|
591
|
+
return displayedPageNumbers;
|
|
592
|
+
}, _SkyPagingComponent_setPageCount = function _SkyPagingComponent_setPageCount() {
|
|
593
|
+
if (this.itemCount === 0 || this.pageSize === 0) {
|
|
594
|
+
this.pageCount = 0;
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
this.pageCount = Math.ceil(this.itemCount / this.pageSize);
|
|
598
|
+
}, _SkyPagingComponent_setDisplayedPages = function _SkyPagingComponent_setDisplayedPages() {
|
|
599
|
+
this.displayedPages = __classPrivateFieldGet(this, _SkyPagingComponent_instances, "m", _SkyPagingComponent_getDisplayedPageNumbers).call(this, this.pageCount, this.maxPages, this.currentPage);
|
|
600
|
+
};
|
|
584
601
|
SkyPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPagingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
585
602
|
SkyPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyPagingComponent, selector: "sky-paging", inputs: { currentPage: "currentPage", itemCount: "itemCount", maxPages: "maxPages", pageSize: "pageSize", pagingLabel: "pagingLabel" }, outputs: { currentPageChange: "currentPageChange" }, usesOnChanges: true, ngImport: i0, template: "<nav\n *ngIf=\"pageCount > 1\"\n class=\"sky-paging\"\n [attr.aria-label]=\"pagingLabel || ('skyux_paging_label' | skyLibResources)\"\n>\n <ul>\n <li>\n <button\n class=\"sky-btn sky-btn-default sky-paging-btn sky-paging-btn-previous sky-box\"\n sky-cmp-id=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_previous' | skyLibResources\"\n [disabled]=\"isPreviousButtonDisabled\"\n (click)=\"previousPage()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"caret-left\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </li>\n <li *ngFor=\"let pageNumber of displayedPages\" class=\"sky-list-paging-link\">\n <button\n class=\"sky-btn sky-btn-default sky-paging-btn sky-box\"\n type=\"button\"\n [attr.aria-current]=\"currentPage === pageNumber ? 'page' : null\"\n [attr.sky-cmp-id]=\"pageNumber\"\n [attr.aria-label]=\"\n 'skyux_paging_page_link_aria_label' | skyLibResources: pageNumber\n \"\n [disabled]=\"currentPage === pageNumber\"\n [ngClass]=\"{ 'sky-paging-current': currentPage === pageNumber }\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n <li>\n <button\n class=\"sky-btn sky-btn-default sky-paging-btn sky-paging-btn-next sky-box\"\n sky-cmp-id=\"next\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_next' | skyLibResources\"\n [disabled]=\"isNextButtonDisabled\"\n (click)=\"nextPage()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"caret-right\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [":host{display:block}ul{margin:15px 0 0;display:inline-block;padding-left:0;border-radius:4px}li{display:inline}.sky-paging-btn{border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-radius:0;background-color:#fff;color:inherit;float:left;margin-left:-1px;padding:4px 10px;text-decoration:none;line-height:1.428571429;font-size:15px;cursor:pointer}.sky-paging-btn.sky-paging-caret{transform:none}.sky-paging-btn.sky-paging-current,.sky-paging-btn.sky-paging-current:disabled,.sky-paging-btn.sky-paging-current[disabled]{background-color:#eeeeef;cursor:default;color:inherit;opacity:1}.sky-paging-btn:hover{background-color:#d4d4d6}.sky-paging-btn:disabled{color:#686c73;cursor:not-allowed;pointer-events:none}.sky-paging-btn.sky-paging-btn-previous,.sky-paging-btn.sky-paging-btn-next{padding-left:8.5px;padding-right:8.5px}:host-context(.sky-theme-modern) .sky-paging-btn{background-color:transparent;border:none;box-shadow:none;border-radius:6px;margin-right:10px;padding:3px 10px}:host-context(.sky-theme-modern) .sky-paging-btn:hover{background-color:transparent;border:solid 1px #1870B8;padding:2px 9px;z-index:1}:host-context(.sky-theme-modern) .sky-paging-btn:active,:host-context(.sky-theme-modern) .sky-paging-btn:focus{border:solid 2px #1870B8;color:#212327;padding:1px 8px}:host-context(.sky-theme-modern) .sky-paging-btn:focus:not(:active){outline:none;box-shadow:0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-paging-current{background-color:#c1e8fb;border:solid 1px #1870B8;padding:2px 9px}.sky-theme-modern .sky-paging-btn{background-color:transparent;border:none;box-shadow:none;border-radius:6px;margin-right:10px;padding:3px 10px}.sky-theme-modern .sky-paging-btn:hover{background-color:transparent;border:solid 1px #1870B8;padding:2px 9px;z-index:1}.sky-theme-modern .sky-paging-btn:active,.sky-theme-modern .sky-paging-btn:focus{border:solid 2px #1870B8;color:#212327;padding:1px 8px}.sky-theme-modern .sky-paging-btn:focus:not(:active){outline:none;box-shadow:0 1px 3px #0000004d}.sky-theme-modern .sky-paging-current{background-color:#c1e8fb;border:solid 1px #1870B8;padding:2px 9px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-btn:active,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-btn:focus{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-paging-current{background-color:#1870b8}.sky-theme-modern.sky-theme-mode-dark .sky-paging-btn:active,.sky-theme-modern.sky-theme-mode-dark .sky-paging-btn:focus{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-paging-current{background-color:#1870b8}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
586
603
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPagingComponent, decorators: [{
|
|
@@ -664,6 +681,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
664
681
|
args: [{ selector: 'sky-repeater-item-title', template: "<ng-content></ng-content>\n" }]
|
|
665
682
|
}] });
|
|
666
683
|
|
|
684
|
+
var _SkyRepeaterService__expandMode;
|
|
685
|
+
let uniqueId = 0;
|
|
686
|
+
const DEFAULT_EXPAND_MODE = 'none';
|
|
667
687
|
/**
|
|
668
688
|
* @internal
|
|
669
689
|
*/
|
|
@@ -680,6 +700,15 @@ class SkyRepeaterService {
|
|
|
680
700
|
title: undefined,
|
|
681
701
|
});
|
|
682
702
|
this.orderChange = new BehaviorSubject(undefined);
|
|
703
|
+
this.repeaterGroupId = ++uniqueId;
|
|
704
|
+
_SkyRepeaterService__expandMode.set(this, DEFAULT_EXPAND_MODE);
|
|
705
|
+
}
|
|
706
|
+
// TODO: Remove 'string' as a valid type in a breaking change.
|
|
707
|
+
get expandMode() {
|
|
708
|
+
return __classPrivateFieldGet(this, _SkyRepeaterService__expandMode, "f");
|
|
709
|
+
}
|
|
710
|
+
set expandMode(value) {
|
|
711
|
+
__classPrivateFieldSet(this, _SkyRepeaterService__expandMode, value !== null && value !== void 0 ? value : DEFAULT_EXPAND_MODE, "f");
|
|
683
712
|
}
|
|
684
713
|
ngOnDestroy() {
|
|
685
714
|
this.activeItemChange.complete();
|
|
@@ -722,9 +751,6 @@ class SkyRepeaterService {
|
|
|
722
751
|
onItemCollapseStateChange(item) {
|
|
723
752
|
this.itemCollapseStateChange.emit(item);
|
|
724
753
|
}
|
|
725
|
-
getItemIndex(item) {
|
|
726
|
-
return this.items.indexOf(item);
|
|
727
|
-
}
|
|
728
754
|
registerOrderChange() {
|
|
729
755
|
this.orderChange.next();
|
|
730
756
|
}
|
|
@@ -732,35 +758,39 @@ class SkyRepeaterService {
|
|
|
732
758
|
this.items.splice(newIndex, 0, this.items.splice(oldIndex, 1)[0]);
|
|
733
759
|
}
|
|
734
760
|
}
|
|
761
|
+
_SkyRepeaterService__expandMode = new WeakMap();
|
|
735
762
|
SkyRepeaterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
736
763
|
SkyRepeaterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService });
|
|
737
764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, decorators: [{
|
|
738
765
|
type: Injectable
|
|
739
766
|
}] });
|
|
740
767
|
|
|
768
|
+
var _SkyRepeaterAdapterService_instances, _SkyRepeaterAdapterService_repeaterItemGroupSelector_get, _SkyRepeaterAdapterService_host, _SkyRepeaterAdapterService_repeaterService, _SkyRepeaterAdapterService_moveItem, _SkyRepeaterAdapterService_getRepeaterItemArray;
|
|
741
769
|
/**
|
|
742
770
|
* @internal
|
|
743
771
|
*/
|
|
744
772
|
class SkyRepeaterAdapterService {
|
|
745
773
|
constructor(repeaterService) {
|
|
746
|
-
this
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
774
|
+
_SkyRepeaterAdapterService_instances.add(this);
|
|
775
|
+
_SkyRepeaterAdapterService_host.set(this, void 0);
|
|
776
|
+
_SkyRepeaterAdapterService_repeaterService.set(this, void 0);
|
|
777
|
+
__classPrivateFieldSet(this, _SkyRepeaterAdapterService_repeaterService, repeaterService, "f");
|
|
750
778
|
}
|
|
751
779
|
focusElement(element) {
|
|
752
|
-
if (element
|
|
753
|
-
element
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
780
|
+
if (element) {
|
|
781
|
+
if (element instanceof ElementRef) {
|
|
782
|
+
element.nativeElement.focus();
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
element.focus();
|
|
786
|
+
}
|
|
757
787
|
}
|
|
758
788
|
}
|
|
759
789
|
setRepeaterHost(hostRef) {
|
|
760
|
-
this
|
|
790
|
+
__classPrivateFieldSet(this, _SkyRepeaterAdapterService_host, hostRef, "f");
|
|
761
791
|
}
|
|
762
792
|
getRepeaterItemIndex(element) {
|
|
763
|
-
return this.
|
|
793
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this).indexOf(element);
|
|
764
794
|
}
|
|
765
795
|
moveItemUp(element, top = false, steps = 1) {
|
|
766
796
|
const index = this.getRepeaterItemIndex(element);
|
|
@@ -771,49 +801,48 @@ class SkyRepeaterAdapterService {
|
|
|
771
801
|
if (top || newIndex < 0) {
|
|
772
802
|
newIndex = 0;
|
|
773
803
|
}
|
|
774
|
-
return this.
|
|
804
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
|
|
775
805
|
}
|
|
776
806
|
moveItemDown(element, steps = 1) {
|
|
777
|
-
const itemArray = this.
|
|
807
|
+
const itemArray = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this);
|
|
778
808
|
const index = this.getRepeaterItemIndex(element);
|
|
779
809
|
if (index === itemArray.length - steps) {
|
|
780
810
|
return;
|
|
781
811
|
}
|
|
782
812
|
const newIndex = index + steps;
|
|
783
|
-
return this.
|
|
813
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
|
|
784
814
|
}
|
|
785
|
-
|
|
786
|
-
|
|
815
|
+
}
|
|
816
|
+
_SkyRepeaterAdapterService_host = new WeakMap(), _SkyRepeaterAdapterService_repeaterService = new WeakMap(), _SkyRepeaterAdapterService_instances = new WeakSet(), _SkyRepeaterAdapterService_repeaterItemGroupSelector_get = function _SkyRepeaterAdapterService_repeaterItemGroupSelector_get() {
|
|
817
|
+
return '.sky-repeater-item-group-' + __classPrivateFieldGet(this, _SkyRepeaterAdapterService_repeaterService, "f").repeaterGroupId;
|
|
818
|
+
}, _SkyRepeaterAdapterService_moveItem = function _SkyRepeaterAdapterService_moveItem(element, oldIndex, newIndex) {
|
|
819
|
+
/* istanbul ignore else */
|
|
820
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f")) {
|
|
821
|
+
const repeaterDiv = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f").nativeElement.querySelector('.sky-repeater');
|
|
787
822
|
repeaterDiv.removeChild(element);
|
|
788
|
-
const nextSibling = repeaterDiv.querySelectorAll(this
|
|
823
|
+
const nextSibling = repeaterDiv.querySelectorAll(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "a", _SkyRepeaterAdapterService_repeaterItemGroupSelector_get))[newIndex];
|
|
789
824
|
repeaterDiv.insertBefore(element, nextSibling);
|
|
790
|
-
this.
|
|
791
|
-
return newIndex;
|
|
792
|
-
}
|
|
793
|
-
/**
|
|
794
|
-
* Returns an array of the immediate repeater item descendants. Excludes nested repeater items.
|
|
795
|
-
*/
|
|
796
|
-
getRepeaterItemArray() {
|
|
797
|
-
return Array.from(this.host.nativeElement.querySelectorAll(this.repeaterItemGroupSelector));
|
|
825
|
+
__classPrivateFieldGet(this, _SkyRepeaterAdapterService_repeaterService, "f").reorderItem(oldIndex, newIndex);
|
|
798
826
|
}
|
|
799
|
-
|
|
827
|
+
return newIndex;
|
|
828
|
+
}, _SkyRepeaterAdapterService_getRepeaterItemArray = function _SkyRepeaterAdapterService_getRepeaterItemArray() {
|
|
829
|
+
var _a;
|
|
830
|
+
return Array.from((_a = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f")) === null || _a === void 0 ? void 0 : _a.nativeElement.querySelectorAll(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "a", _SkyRepeaterAdapterService_repeaterItemGroupSelector_get)));
|
|
831
|
+
};
|
|
800
832
|
SkyRepeaterAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, deps: [{ token: SkyRepeaterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
801
833
|
SkyRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService });
|
|
802
834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, decorators: [{
|
|
803
835
|
type: Injectable
|
|
804
836
|
}], ctorParameters: function () { return [{ type: SkyRepeaterService }]; } });
|
|
805
837
|
|
|
838
|
+
var _SkyRepeaterItemComponent_instances, _SkyRepeaterItemComponent_adapterService, _SkyRepeaterItemComponent_changeDetector, _SkyRepeaterItemComponent_elementRef, _SkyRepeaterItemComponent_isExpanded, _SkyRepeaterItemComponent_keyboardReorderingEnabled, _SkyRepeaterItemComponent_ngUnsubscribe, _SkyRepeaterItemComponent_reorderCancelText, _SkyRepeaterItemComponent_reorderCurrentIndex, _SkyRepeaterItemComponent_reorderFinishText, _SkyRepeaterItemComponent_reorderInstructions, _SkyRepeaterItemComponent_reorderMovedText, _SkyRepeaterItemComponent_reorderStateDescription, _SkyRepeaterItemComponent_reorderSteps, _SkyRepeaterItemComponent_repeaterService, _SkyRepeaterItemComponent_resourceService, _SkyRepeaterItemComponent__isCollapsible, _SkyRepeaterItemComponent__isDisabled, _SkyRepeaterItemComponent__isSelected, _SkyRepeaterItemComponent_slideForExpanded, _SkyRepeaterItemComponent_keyboardReorderUp, _SkyRepeaterItemComponent_keyboardReorderDown, _SkyRepeaterItemComponent_keyboardToggleReorder, _SkyRepeaterItemComponent_revertReorderSteps, _SkyRepeaterItemComponent_updateExpandOnContentChange;
|
|
806
839
|
let nextContentId = 0;
|
|
807
840
|
/**
|
|
808
841
|
* Creates an individual repeater item.
|
|
809
842
|
*/
|
|
810
843
|
class SkyRepeaterItemComponent {
|
|
811
844
|
constructor(repeaterService, changeDetector, adapterService, elementRef, resourceService) {
|
|
812
|
-
this
|
|
813
|
-
this.changeDetector = changeDetector;
|
|
814
|
-
this.adapterService = adapterService;
|
|
815
|
-
this.elementRef = elementRef;
|
|
816
|
-
this.resourceService = resourceService;
|
|
845
|
+
_SkyRepeaterItemComponent_instances.add(this);
|
|
817
846
|
/**
|
|
818
847
|
* Indicates whether users can change the order of the repeater item.
|
|
819
848
|
* The repeater component's `reorderable` property must also be set to `true`.
|
|
@@ -845,31 +874,51 @@ class SkyRepeaterItemComponent {
|
|
|
845
874
|
* Fires when users select or clear the checkbox for the repeater item.
|
|
846
875
|
*/
|
|
847
876
|
this.isSelectedChange = new EventEmitter();
|
|
848
|
-
this.contentId = `sky-repeater-item-content-${++nextContentId}`;
|
|
849
877
|
this.hasItemContent = false;
|
|
850
878
|
this.isActive = false;
|
|
851
|
-
this.
|
|
852
|
-
this
|
|
853
|
-
this
|
|
854
|
-
this
|
|
855
|
-
this
|
|
856
|
-
this
|
|
857
|
-
|
|
879
|
+
this.reorderButtonLabel = '';
|
|
880
|
+
_SkyRepeaterItemComponent_adapterService.set(this, void 0);
|
|
881
|
+
_SkyRepeaterItemComponent_changeDetector.set(this, void 0);
|
|
882
|
+
_SkyRepeaterItemComponent_elementRef.set(this, void 0);
|
|
883
|
+
_SkyRepeaterItemComponent_isExpanded.set(this, true);
|
|
884
|
+
_SkyRepeaterItemComponent_keyboardReorderingEnabled.set(this, false);
|
|
885
|
+
_SkyRepeaterItemComponent_ngUnsubscribe.set(this, new Subject());
|
|
886
|
+
_SkyRepeaterItemComponent_reorderCancelText.set(this, '');
|
|
887
|
+
_SkyRepeaterItemComponent_reorderCurrentIndex.set(this, -1);
|
|
888
|
+
_SkyRepeaterItemComponent_reorderFinishText.set(this, '');
|
|
889
|
+
_SkyRepeaterItemComponent_reorderInstructions.set(this, '');
|
|
890
|
+
_SkyRepeaterItemComponent_reorderMovedText.set(this, '');
|
|
891
|
+
_SkyRepeaterItemComponent_reorderStateDescription.set(this, '');
|
|
892
|
+
_SkyRepeaterItemComponent_reorderSteps.set(this, 0);
|
|
893
|
+
_SkyRepeaterItemComponent_repeaterService.set(this, void 0);
|
|
894
|
+
_SkyRepeaterItemComponent_resourceService.set(this, void 0);
|
|
895
|
+
_SkyRepeaterItemComponent__isCollapsible.set(this, true);
|
|
896
|
+
_SkyRepeaterItemComponent__isDisabled.set(this, false);
|
|
897
|
+
_SkyRepeaterItemComponent__isSelected.set(this, void 0);
|
|
898
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_repeaterService, repeaterService, "f");
|
|
899
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_changeDetector, changeDetector, "f");
|
|
900
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_adapterService, adapterService, "f");
|
|
901
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_elementRef, elementRef, "f");
|
|
902
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_resourceService, resourceService, "f");
|
|
903
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
|
|
858
904
|
forkJoin([
|
|
859
|
-
this.
|
|
860
|
-
this.
|
|
861
|
-
this.
|
|
862
|
-
this.
|
|
863
|
-
this.
|
|
864
|
-
])
|
|
865
|
-
this
|
|
866
|
-
|
|
867
|
-
this
|
|
868
|
-
this
|
|
869
|
-
this
|
|
870
|
-
this
|
|
905
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_cancel'),
|
|
906
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_finish'),
|
|
907
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_instructions'),
|
|
908
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_operation'),
|
|
909
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_moved'),
|
|
910
|
+
])
|
|
911
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f")))
|
|
912
|
+
.subscribe(([reorderCancelText, reorderFinishText, reorderInstructionsText, reorderOperationText, reorderMovedText,]) => {
|
|
913
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCancelText, reorderCancelText, "f");
|
|
914
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderFinishText, reorderFinishText, "f");
|
|
915
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderStateDescription, reorderInstructionsText, "f");
|
|
916
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderInstructions, reorderOperationText, "f");
|
|
917
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderMovedText, reorderMovedText, "f");
|
|
918
|
+
this.reorderButtonLabel = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
|
|
871
919
|
});
|
|
872
|
-
this.
|
|
920
|
+
this.contentId = `sky-repeater-item-content-${++nextContentId}`;
|
|
921
|
+
this.itemRole$ = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").itemRole.asObservable();
|
|
873
922
|
}
|
|
874
923
|
/**
|
|
875
924
|
* Make the first, non-disabled item tab-focusable.
|
|
@@ -877,7 +926,7 @@ class SkyRepeaterItemComponent {
|
|
|
877
926
|
* - One item per list/grid/listbox should be tab focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#grid).
|
|
878
927
|
*/
|
|
879
928
|
get tabindex() {
|
|
880
|
-
return this.
|
|
929
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled)[0] ===
|
|
881
930
|
this
|
|
882
931
|
? 0
|
|
883
932
|
: -1;
|
|
@@ -886,35 +935,35 @@ class SkyRepeaterItemComponent {
|
|
|
886
935
|
* Whether to exclude an item when cycling through.
|
|
887
936
|
*/
|
|
888
937
|
set disabled(value) {
|
|
889
|
-
if (this
|
|
938
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f") !== value) {
|
|
890
939
|
if (value) {
|
|
891
940
|
this.isSelected = false;
|
|
892
|
-
this
|
|
941
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, true, "f");
|
|
893
942
|
}
|
|
894
943
|
else {
|
|
895
|
-
this
|
|
944
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, false, "f");
|
|
896
945
|
}
|
|
897
946
|
if (this.isActive) {
|
|
898
|
-
this.
|
|
947
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItemByIndex(undefined);
|
|
899
948
|
}
|
|
900
|
-
if (this.
|
|
901
|
-
this.
|
|
949
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
|
|
950
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.ownerDocument.activeElement.blur();
|
|
902
951
|
}
|
|
903
|
-
this.
|
|
952
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
904
953
|
}
|
|
905
954
|
}
|
|
906
955
|
get disabled() {
|
|
907
|
-
return this
|
|
956
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f");
|
|
908
957
|
}
|
|
909
958
|
/**
|
|
910
959
|
* Indicates whether the repeater item is expanded.
|
|
911
960
|
* @default true
|
|
912
961
|
*/
|
|
913
962
|
set isExpanded(value) {
|
|
914
|
-
this.updateForExpanded(value
|
|
963
|
+
this.updateForExpanded(value !== false);
|
|
915
964
|
}
|
|
916
965
|
get isExpanded() {
|
|
917
|
-
return this
|
|
966
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f");
|
|
918
967
|
}
|
|
919
968
|
/**
|
|
920
969
|
* Indicates whether the repeater item's checkbox is selected.
|
|
@@ -922,56 +971,58 @@ class SkyRepeaterItemComponent {
|
|
|
922
971
|
* @default false
|
|
923
972
|
*/
|
|
924
973
|
set isSelected(value) {
|
|
925
|
-
if (!this.disabled && value !== this
|
|
926
|
-
this
|
|
927
|
-
this.isSelectedChange.emit(this
|
|
974
|
+
if (!this.disabled && value !== __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f")) {
|
|
975
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isSelected, value, "f");
|
|
976
|
+
this.isSelectedChange.emit(__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f"));
|
|
928
977
|
}
|
|
929
978
|
}
|
|
930
979
|
get isSelected() {
|
|
931
|
-
return this
|
|
980
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f");
|
|
932
981
|
}
|
|
933
982
|
set isCollapsible(value) {
|
|
934
983
|
if (this.isCollapsible !== value) {
|
|
935
|
-
this
|
|
984
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isCollapsible, value !== false, "f");
|
|
936
985
|
/*istanbul ignore else */
|
|
937
|
-
if (!
|
|
938
|
-
this.updateForExpanded(true
|
|
986
|
+
if (!__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f")) {
|
|
987
|
+
this.updateForExpanded(true);
|
|
939
988
|
}
|
|
940
989
|
}
|
|
941
|
-
this.
|
|
990
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
942
991
|
}
|
|
943
992
|
get isCollapsible() {
|
|
944
|
-
return this
|
|
993
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f");
|
|
945
994
|
}
|
|
946
995
|
get repeaterGroupClass() {
|
|
947
|
-
return 'sky-repeater-item-group-' + this.
|
|
996
|
+
return 'sky-repeater-item-group-' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").repeaterGroupId;
|
|
948
997
|
}
|
|
949
998
|
ngOnInit() {
|
|
950
|
-
this.
|
|
951
|
-
this.
|
|
952
|
-
.pipe(takeUntil(this
|
|
999
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerItem(this);
|
|
1000
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activeItemChange
|
|
1001
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f")))
|
|
953
1002
|
.subscribe((item) => {
|
|
954
1003
|
const newIsActiveValue = this === item;
|
|
955
1004
|
if (newIsActiveValue !== this.isActive) {
|
|
956
1005
|
this.isActive = newIsActiveValue;
|
|
957
|
-
this.
|
|
1006
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
958
1007
|
}
|
|
959
1008
|
});
|
|
960
1009
|
}
|
|
961
1010
|
ngAfterViewInit() {
|
|
962
|
-
|
|
963
|
-
this.
|
|
1011
|
+
var _b;
|
|
1012
|
+
this.hasItemContent = !!((_b = this.repeaterItemContentComponents) === null || _b === void 0 ? void 0 : _b.length);
|
|
1013
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_updateExpandOnContentChange).call(this);
|
|
964
1014
|
}
|
|
965
1015
|
ngOnDestroy() {
|
|
966
1016
|
this.collapse.complete();
|
|
967
1017
|
this.expand.complete();
|
|
968
1018
|
this.inlineFormClose.complete();
|
|
969
1019
|
this.isSelectedChange.complete();
|
|
970
|
-
this.
|
|
971
|
-
this.
|
|
972
|
-
this.
|
|
1020
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").next();
|
|
1021
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").complete();
|
|
1022
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").unregisterItem(this);
|
|
973
1023
|
}
|
|
974
1024
|
onKeydown($event) {
|
|
1025
|
+
var _b;
|
|
975
1026
|
if ([' ', 'Enter', 'Home', 'End', 'ArrowUp', 'ArrowDown'].includes($event.key)) {
|
|
976
1027
|
if ($event.target.matches('input, textarea, select, option, [contenteditable], [contenteditable] *')) {
|
|
977
1028
|
return;
|
|
@@ -989,7 +1040,7 @@ class SkyRepeaterItemComponent {
|
|
|
989
1040
|
}
|
|
990
1041
|
/* istanbul ignore else */
|
|
991
1042
|
if (['Home', 'End'].includes($event.key)) {
|
|
992
|
-
const items = this.
|
|
1043
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled);
|
|
993
1044
|
if ($event.key === 'Home') {
|
|
994
1045
|
activateItem = items.shift();
|
|
995
1046
|
}
|
|
@@ -999,7 +1050,7 @@ class SkyRepeaterItemComponent {
|
|
|
999
1050
|
}
|
|
1000
1051
|
/* istanbul ignore else */
|
|
1001
1052
|
if (['ArrowUp', 'ArrowDown'].includes($event.key)) {
|
|
1002
|
-
const currentIndex = this.
|
|
1053
|
+
const currentIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.findIndex((item) => item === this);
|
|
1003
1054
|
let sliceFrom;
|
|
1004
1055
|
let sliceTo;
|
|
1005
1056
|
if ($event.key === 'ArrowUp') {
|
|
@@ -1010,7 +1061,7 @@ class SkyRepeaterItemComponent {
|
|
|
1010
1061
|
sliceFrom = currentIndex + 1;
|
|
1011
1062
|
sliceTo = undefined;
|
|
1012
1063
|
}
|
|
1013
|
-
const items = this.
|
|
1064
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
|
|
1014
1065
|
.slice(sliceFrom, sliceTo)
|
|
1015
1066
|
.filter((item) => !item.disabled);
|
|
1016
1067
|
activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
|
|
@@ -1024,7 +1075,7 @@ class SkyRepeaterItemComponent {
|
|
|
1024
1075
|
sliceFrom = currentIndex + 1;
|
|
1025
1076
|
sliceTo = undefined;
|
|
1026
1077
|
}
|
|
1027
|
-
const items = this.
|
|
1078
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
|
|
1028
1079
|
.slice(sliceFrom, sliceTo)
|
|
1029
1080
|
.filter((item) => !item.disabled);
|
|
1030
1081
|
activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
|
|
@@ -1032,47 +1083,48 @@ class SkyRepeaterItemComponent {
|
|
|
1032
1083
|
}
|
|
1033
1084
|
/* istanbul ignore else */
|
|
1034
1085
|
if (activateItem && !activateItem.isActive) {
|
|
1035
|
-
this.
|
|
1036
|
-
if (!activateItem.
|
|
1037
|
-
activateItem.
|
|
1086
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(activateItem);
|
|
1087
|
+
if (!__classPrivateFieldGet(activateItem, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
|
|
1088
|
+
(_b = activateItem.itemRef) === null || _b === void 0 ? void 0 : _b.nativeElement.focus();
|
|
1038
1089
|
}
|
|
1039
1090
|
}
|
|
1040
1091
|
}
|
|
1041
1092
|
}
|
|
1042
1093
|
headerClick() {
|
|
1043
1094
|
if (this.isCollapsible) {
|
|
1044
|
-
this.updateForExpanded(!this.isExpanded
|
|
1095
|
+
this.updateForExpanded(!this.isExpanded);
|
|
1045
1096
|
}
|
|
1046
1097
|
}
|
|
1047
1098
|
chevronDirectionChange(direction) {
|
|
1048
|
-
this.updateForExpanded(direction === 'up'
|
|
1099
|
+
this.updateForExpanded(direction === 'up');
|
|
1049
1100
|
}
|
|
1050
1101
|
onRepeaterItemClick(event) {
|
|
1102
|
+
var _b, _c, _d;
|
|
1051
1103
|
// Only activate item if clicking on the title, content, or parent item div.
|
|
1052
1104
|
// This will avoid accidental activations when clicking inside interactive elements like
|
|
1053
1105
|
// the expand/collapse chevron, dropdown, inline-delete, etc...
|
|
1054
|
-
if (event.target === this.itemRef.nativeElement ||
|
|
1055
|
-
this.itemContentRef.nativeElement.contains(event.target) ||
|
|
1056
|
-
this.itemHeaderRef.nativeElement.contains(event.target)) {
|
|
1057
|
-
this.
|
|
1106
|
+
if (event.target === ((_b = this.itemRef) === null || _b === void 0 ? void 0 : _b.nativeElement) ||
|
|
1107
|
+
((_c = this.itemContentRef) === null || _c === void 0 ? void 0 : _c.nativeElement.contains(event.target)) ||
|
|
1108
|
+
((_d = this.itemHeaderRef) === null || _d === void 0 ? void 0 : _d.nativeElement.contains(event.target))) {
|
|
1109
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(this);
|
|
1058
1110
|
}
|
|
1059
1111
|
}
|
|
1060
|
-
updateForExpanded(value
|
|
1112
|
+
updateForExpanded(value) {
|
|
1061
1113
|
if (this.isCollapsible === false && value === false) {
|
|
1062
1114
|
console.warn(`Setting isExpanded to false when the repeater item is not collapsible
|
|
1063
1115
|
will have no effect.`);
|
|
1064
1116
|
}
|
|
1065
|
-
else if (this
|
|
1066
|
-
this
|
|
1067
|
-
if (this
|
|
1117
|
+
else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f") !== value) {
|
|
1118
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_isExpanded, value, "f");
|
|
1119
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f")) {
|
|
1068
1120
|
this.expand.emit();
|
|
1069
1121
|
}
|
|
1070
1122
|
else {
|
|
1071
1123
|
this.collapse.emit();
|
|
1072
1124
|
}
|
|
1073
|
-
this.
|
|
1074
|
-
this.
|
|
1075
|
-
this.
|
|
1125
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
|
|
1126
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
|
|
1127
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
1076
1128
|
}
|
|
1077
1129
|
}
|
|
1078
1130
|
onCheckboxChange(value) {
|
|
@@ -1083,9 +1135,9 @@ class SkyRepeaterItemComponent {
|
|
|
1083
1135
|
}
|
|
1084
1136
|
moveToTop(event) {
|
|
1085
1137
|
event.stopPropagation();
|
|
1086
|
-
this.
|
|
1087
|
-
this.
|
|
1088
|
-
this.
|
|
1138
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, true);
|
|
1139
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
|
|
1140
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1089
1141
|
}
|
|
1090
1142
|
onReorderHandleKeyDown(event) {
|
|
1091
1143
|
/*istanbul ignore else */
|
|
@@ -1093,43 +1145,43 @@ class SkyRepeaterItemComponent {
|
|
|
1093
1145
|
switch (event.key.toLowerCase()) {
|
|
1094
1146
|
case ' ':
|
|
1095
1147
|
case 'enter':
|
|
1096
|
-
this.
|
|
1148
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardToggleReorder).call(this);
|
|
1097
1149
|
event.preventDefault();
|
|
1098
1150
|
event.stopPropagation();
|
|
1099
1151
|
break;
|
|
1100
1152
|
case 'escape':
|
|
1101
1153
|
/* istanbul ignore else */
|
|
1102
|
-
if (this
|
|
1103
|
-
this
|
|
1104
|
-
this.
|
|
1154
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1155
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
|
|
1156
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
|
|
1105
1157
|
this.reorderButtonLabel =
|
|
1106
|
-
this
|
|
1107
|
-
this.
|
|
1158
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCancelText, "f") + ' ' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
|
|
1159
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
|
|
1108
1160
|
event.preventDefault();
|
|
1109
1161
|
event.stopPropagation();
|
|
1110
1162
|
}
|
|
1111
1163
|
break;
|
|
1112
1164
|
case 'arrowup':
|
|
1113
|
-
if (this
|
|
1114
|
-
this.
|
|
1165
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1166
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderUp).call(this);
|
|
1115
1167
|
event.preventDefault();
|
|
1116
1168
|
event.stopPropagation();
|
|
1117
|
-
this.
|
|
1169
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1118
1170
|
}
|
|
1119
1171
|
break;
|
|
1120
1172
|
case 'arrowdown':
|
|
1121
1173
|
/* istanbul ignore else */
|
|
1122
|
-
if (this
|
|
1123
|
-
this.
|
|
1174
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1175
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderDown).call(this);
|
|
1124
1176
|
event.preventDefault();
|
|
1125
1177
|
event.stopPropagation();
|
|
1126
|
-
this.
|
|
1178
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1127
1179
|
}
|
|
1128
1180
|
break;
|
|
1129
1181
|
case 'arrowleft':
|
|
1130
1182
|
case 'arrowright':
|
|
1131
1183
|
/* istanbul ignore else */
|
|
1132
|
-
if (this
|
|
1184
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1133
1185
|
event.preventDefault();
|
|
1134
1186
|
event.stopPropagation();
|
|
1135
1187
|
}
|
|
@@ -1141,70 +1193,73 @@ class SkyRepeaterItemComponent {
|
|
|
1141
1193
|
}
|
|
1142
1194
|
}
|
|
1143
1195
|
onReorderHandleBlur(event) {
|
|
1144
|
-
this
|
|
1145
|
-
this.
|
|
1146
|
-
this.reorderButtonLabel = this
|
|
1196
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
|
|
1197
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
|
|
1198
|
+
this.reorderButtonLabel = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
|
|
1147
1199
|
this.reorderState = undefined;
|
|
1148
1200
|
}
|
|
1149
|
-
slideForExpanded(animate) {
|
|
1150
|
-
this.slideDirection = this.isExpanded ? 'down' : 'up';
|
|
1151
|
-
}
|
|
1152
|
-
keyboardReorderUp() {
|
|
1153
|
-
this.reorderCurrentIndex = this.adapterService.moveItemUp(this.elementRef.nativeElement);
|
|
1154
|
-
this.reorderSteps--;
|
|
1155
|
-
this.adapterService.focusElement(this.grabHandle);
|
|
1156
|
-
this.keyboardReorderingEnabled = true;
|
|
1157
|
-
this.reorderButtonLabel = `${this.reorderMovedText} ${this.reorderCurrentIndex + 1}`;
|
|
1158
|
-
}
|
|
1159
|
-
keyboardReorderDown() {
|
|
1160
|
-
this.reorderCurrentIndex = this.adapterService.moveItemDown(this.elementRef.nativeElement);
|
|
1161
|
-
this.reorderSteps++;
|
|
1162
|
-
this.adapterService.focusElement(this.grabHandle);
|
|
1163
|
-
this.keyboardReorderingEnabled = true;
|
|
1164
|
-
this.reorderButtonLabel = `${this.reorderMovedText} ${this.reorderCurrentIndex + 1}`;
|
|
1165
|
-
}
|
|
1166
|
-
keyboardToggleReorder() {
|
|
1167
|
-
this.keyboardReorderingEnabled = !this.keyboardReorderingEnabled;
|
|
1168
|
-
this.reorderSteps = 0;
|
|
1169
|
-
if (this.keyboardReorderingEnabled) {
|
|
1170
|
-
this.reorderState = this.reorderStateDescription;
|
|
1171
|
-
}
|
|
1172
|
-
else {
|
|
1173
|
-
this.reorderState = `${this.reorderFinishText} ${this.reorderCurrentIndex + 1} ${this.reorderInstructions}`;
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1176
|
-
revertReorderSteps() {
|
|
1177
|
-
if (this.reorderSteps < 0) {
|
|
1178
|
-
this.adapterService.moveItemDown(this.elementRef.nativeElement, Math.abs(this.reorderSteps));
|
|
1179
|
-
}
|
|
1180
|
-
else if (this.reorderSteps > 0) {
|
|
1181
|
-
this.adapterService.moveItemUp(this.elementRef.nativeElement, false, this.reorderSteps);
|
|
1182
|
-
}
|
|
1183
|
-
this.repeaterService.registerOrderChange();
|
|
1184
|
-
}
|
|
1185
|
-
updateExpandOnContentChange() {
|
|
1186
|
-
this.repeaterItemContentComponents.changes
|
|
1187
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1188
|
-
.subscribe(() => {
|
|
1189
|
-
this.hasItemContent = this.repeaterItemContentComponents.length > 0;
|
|
1190
|
-
/* istanbul ignore next */
|
|
1191
|
-
this.isCollapsible =
|
|
1192
|
-
this.hasItemContent && this.repeaterService.expandMode !== 'none';
|
|
1193
|
-
/* istanbul ignore else */
|
|
1194
|
-
if (this.repeaterService.expandMode === 'single') {
|
|
1195
|
-
this.repeaterService.onItemCollapseStateChange(this);
|
|
1196
|
-
}
|
|
1197
|
-
});
|
|
1198
|
-
}
|
|
1199
1201
|
}
|
|
1202
|
+
_SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemComponent_changeDetector = new WeakMap(), _SkyRepeaterItemComponent_elementRef = new WeakMap(), _SkyRepeaterItemComponent_isExpanded = new WeakMap(), _SkyRepeaterItemComponent_keyboardReorderingEnabled = new WeakMap(), _SkyRepeaterItemComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterItemComponent_reorderCancelText = new WeakMap(), _SkyRepeaterItemComponent_reorderCurrentIndex = new WeakMap(), _SkyRepeaterItemComponent_reorderFinishText = new WeakMap(), _SkyRepeaterItemComponent_reorderInstructions = new WeakMap(), _SkyRepeaterItemComponent_reorderMovedText = new WeakMap(), _SkyRepeaterItemComponent_reorderStateDescription = new WeakMap(), _SkyRepeaterItemComponent_reorderSteps = new WeakMap(), _SkyRepeaterItemComponent_repeaterService = new WeakMap(), _SkyRepeaterItemComponent_resourceService = new WeakMap(), _SkyRepeaterItemComponent__isCollapsible = new WeakMap(), _SkyRepeaterItemComponent__isDisabled = new WeakMap(), _SkyRepeaterItemComponent__isSelected = new WeakMap(), _SkyRepeaterItemComponent_instances = new WeakSet(), _SkyRepeaterItemComponent_slideForExpanded = function _SkyRepeaterItemComponent_slideForExpanded() {
|
|
1203
|
+
this.slideDirection = this.isExpanded ? 'down' : 'up';
|
|
1204
|
+
}, _SkyRepeaterItemComponent_keyboardReorderUp = function _SkyRepeaterItemComponent_keyboardReorderUp() {
|
|
1205
|
+
var _a;
|
|
1206
|
+
const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
|
|
1207
|
+
if (newIndex !== undefined) {
|
|
1208
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
|
|
1209
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a--, _a), "f");
|
|
1210
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
|
|
1211
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
|
|
1212
|
+
this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
|
|
1213
|
+
}
|
|
1214
|
+
}, _SkyRepeaterItemComponent_keyboardReorderDown = function _SkyRepeaterItemComponent_keyboardReorderDown() {
|
|
1215
|
+
var _a;
|
|
1216
|
+
const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
|
|
1217
|
+
if (newIndex) {
|
|
1218
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
|
|
1219
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a++, _a), "f");
|
|
1220
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
|
|
1221
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
|
|
1222
|
+
this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
|
|
1223
|
+
}
|
|
1224
|
+
}, _SkyRepeaterItemComponent_keyboardToggleReorder = function _SkyRepeaterItemComponent_keyboardToggleReorder() {
|
|
1225
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, !__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f"), "f");
|
|
1226
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, 0, "f");
|
|
1227
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1228
|
+
this.reorderState = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderStateDescription, "f");
|
|
1229
|
+
}
|
|
1230
|
+
else {
|
|
1231
|
+
// TODO: Needs improvement to be localizable
|
|
1232
|
+
this.reorderState = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderFinishText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f")}`;
|
|
1233
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, -1, "f");
|
|
1234
|
+
}
|
|
1235
|
+
}, _SkyRepeaterItemComponent_revertReorderSteps = function _SkyRepeaterItemComponent_revertReorderSteps() {
|
|
1236
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") < 0) {
|
|
1237
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, Math.abs(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f")));
|
|
1238
|
+
}
|
|
1239
|
+
else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") > 0) {
|
|
1240
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, false, __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"));
|
|
1241
|
+
}
|
|
1242
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1243
|
+
}, _SkyRepeaterItemComponent_updateExpandOnContentChange = function _SkyRepeaterItemComponent_updateExpandOnContentChange() {
|
|
1244
|
+
var _b;
|
|
1245
|
+
(_b = this.repeaterItemContentComponents) === null || _b === void 0 ? void 0 : _b.changes.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f"))).subscribe(() => {
|
|
1246
|
+
var _b;
|
|
1247
|
+
this.hasItemContent = !!((_b = this.repeaterItemContentComponents) === null || _b === void 0 ? void 0 : _b.length);
|
|
1248
|
+
/* istanbul ignore next */
|
|
1249
|
+
this.isCollapsible =
|
|
1250
|
+
this.hasItemContent && __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode !== 'none';
|
|
1251
|
+
/* istanbul ignore else */
|
|
1252
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode === 'single') {
|
|
1253
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
|
|
1254
|
+
}
|
|
1255
|
+
});
|
|
1256
|
+
};
|
|
1200
1257
|
SkyRepeaterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i4.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1201
|
-
SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "tabindex": "this.tabindex", "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? isSelected : undefined\"\n [attr.role]=\"showInlineForm ? 'form' : (itemRole$ | async).item\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n [attr.role]=\"(itemRole$ | async).title\"\n >\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async).content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
|
|
1258
|
+
SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
|
|
1202
1259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
|
|
1203
1260
|
type: Component,
|
|
1204
|
-
args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? isSelected : undefined\"\n [attr.role]=\"
|
|
1205
|
-
}], ctorParameters: function () { return [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i4.SkyLibResourcesService }]; }, propDecorators: {
|
|
1206
|
-
type: HostBinding
|
|
1207
|
-
}], disabled: [{
|
|
1261
|
+
args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]
|
|
1262
|
+
}], ctorParameters: function () { return [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i4.SkyLibResourcesService }]; }, propDecorators: { disabled: [{
|
|
1208
1263
|
type: Input
|
|
1209
1264
|
}], itemName: [{
|
|
1210
1265
|
type: Input
|
|
@@ -1258,18 +1313,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1258
1313
|
args: ['keydown', ['$event']]
|
|
1259
1314
|
}] } });
|
|
1260
1315
|
|
|
1261
|
-
|
|
1316
|
+
var _SkyRepeaterComponent_instances, _SkyRepeaterComponent_adapterService, _SkyRepeaterComponent_changeDetector, _SkyRepeaterComponent_dragulaService, _SkyRepeaterComponent_elementRef, _SkyRepeaterComponent_renderer, _SkyRepeaterComponent_repeaterService, _SkyRepeaterComponent_ngUnsubscribe, _SkyRepeaterComponent_updateForExpandMode, _SkyRepeaterComponent_initializeDragAndDrop, _SkyRepeaterComponent_destroyDragAndDrop, _SkyRepeaterComponent_emitTags, _SkyRepeaterComponent_everyItemHasTag, _SkyRepeaterComponent_updateRole;
|
|
1262
1317
|
/**
|
|
1263
1318
|
* Creates a container to display repeater items.
|
|
1264
1319
|
*/
|
|
1265
1320
|
class SkyRepeaterComponent {
|
|
1266
1321
|
constructor(changeDetector, repeaterService, adapterService, dragulaService, elementRef, renderer) {
|
|
1267
|
-
this
|
|
1268
|
-
this.repeaterService = repeaterService;
|
|
1269
|
-
this.adapterService = adapterService;
|
|
1270
|
-
this.dragulaService = dragulaService;
|
|
1271
|
-
this.elementRef = elementRef;
|
|
1272
|
-
this.renderer = renderer;
|
|
1322
|
+
_SkyRepeaterComponent_instances.add(this);
|
|
1273
1323
|
/**
|
|
1274
1324
|
* Indicates whether users can change the order of items in the repeater list.
|
|
1275
1325
|
* Each repeater item also has `reorderable` property to indicate whether
|
|
@@ -1285,15 +1335,26 @@ class SkyRepeaterComponent {
|
|
|
1285
1335
|
* This event emits an ordered array of the `tag` properties that the consumer provides for each repeater item.
|
|
1286
1336
|
*/
|
|
1287
1337
|
this.orderChange = new EventEmitter();
|
|
1288
|
-
this
|
|
1289
|
-
this
|
|
1290
|
-
this
|
|
1291
|
-
this
|
|
1292
|
-
this
|
|
1293
|
-
|
|
1338
|
+
_SkyRepeaterComponent_adapterService.set(this, void 0);
|
|
1339
|
+
_SkyRepeaterComponent_changeDetector.set(this, void 0);
|
|
1340
|
+
_SkyRepeaterComponent_dragulaService.set(this, void 0);
|
|
1341
|
+
_SkyRepeaterComponent_elementRef.set(this, void 0);
|
|
1342
|
+
_SkyRepeaterComponent_renderer.set(this, void 0);
|
|
1343
|
+
_SkyRepeaterComponent_repeaterService.set(this, void 0);
|
|
1344
|
+
_SkyRepeaterComponent_ngUnsubscribe.set(this, new Subject());
|
|
1345
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_changeDetector, changeDetector, "f");
|
|
1346
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_repeaterService, repeaterService, "f");
|
|
1347
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_adapterService, adapterService, "f");
|
|
1348
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_dragulaService, dragulaService, "f");
|
|
1349
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_elementRef, elementRef, "f");
|
|
1350
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_renderer, renderer, "f");
|
|
1351
|
+
this.dragulaGroupName = `sky-repeater-dragula-${__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").repeaterGroupId}`;
|
|
1352
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemCollapseStateChange
|
|
1353
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1294
1354
|
.subscribe((item) => {
|
|
1355
|
+
var _a;
|
|
1295
1356
|
if (this.expandMode === 'single' && item.isExpanded) {
|
|
1296
|
-
this.items.forEach((otherItem) => {
|
|
1357
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((otherItem) => {
|
|
1297
1358
|
if (otherItem !== item &&
|
|
1298
1359
|
otherItem.isExpanded &&
|
|
1299
1360
|
otherItem.isCollapsible) {
|
|
@@ -1302,23 +1363,22 @@ class SkyRepeaterComponent {
|
|
|
1302
1363
|
});
|
|
1303
1364
|
}
|
|
1304
1365
|
});
|
|
1305
|
-
this.
|
|
1306
|
-
.pipe(takeUntil(this
|
|
1366
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activeItemIndexChange
|
|
1367
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1307
1368
|
.subscribe((index) => {
|
|
1308
1369
|
if (index !== this.activeIndex) {
|
|
1309
1370
|
this.activeIndex = index;
|
|
1310
1371
|
this.activeIndexChange.emit(index);
|
|
1311
1372
|
}
|
|
1312
1373
|
});
|
|
1313
|
-
this.
|
|
1314
|
-
.pipe(takeUntil(this
|
|
1374
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").orderChange
|
|
1375
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1315
1376
|
.subscribe(() => {
|
|
1316
|
-
this.
|
|
1377
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
|
|
1317
1378
|
});
|
|
1318
|
-
this
|
|
1319
|
-
this.
|
|
1320
|
-
this.
|
|
1321
|
-
this.initializeDragAndDrop();
|
|
1379
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1380
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").setRepeaterHost(__classPrivateFieldGet(this, _SkyRepeaterComponent_elementRef, "f"));
|
|
1381
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_initializeDragAndDrop).call(this);
|
|
1322
1382
|
}
|
|
1323
1383
|
/**
|
|
1324
1384
|
* Specifies a layout to determine which repeater items are expanded by default and whether
|
|
@@ -1339,209 +1399,201 @@ class SkyRepeaterComponent {
|
|
|
1339
1399
|
* and users only occasionally need to view the body content.
|
|
1340
1400
|
* @default "none"
|
|
1341
1401
|
*/
|
|
1402
|
+
// TODO: Remove 'string' as a valid type in a breaking change.
|
|
1342
1403
|
set expandMode(value) {
|
|
1343
|
-
this.
|
|
1344
|
-
this
|
|
1345
|
-
this.updateForExpandMode();
|
|
1404
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode = value;
|
|
1405
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1346
1406
|
}
|
|
1347
1407
|
get expandMode() {
|
|
1348
|
-
return this
|
|
1408
|
+
return __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode;
|
|
1349
1409
|
}
|
|
1350
1410
|
ngAfterContentInit() {
|
|
1411
|
+
var _a;
|
|
1351
1412
|
// If activeIndex has been set on init, call service to activate the appropriate item.
|
|
1352
1413
|
setTimeout(() => {
|
|
1353
1414
|
if (this.activeIndex || this.activeIndex === 0) {
|
|
1354
|
-
this.
|
|
1415
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1355
1416
|
}
|
|
1356
|
-
if (this.reorderable && !this.
|
|
1417
|
+
if (this.reorderable && !__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_everyItemHasTag).call(this)) {
|
|
1357
1418
|
console.warn('Please supply tag properties for each repeater item when reordering functionality is enabled.');
|
|
1358
1419
|
}
|
|
1359
1420
|
});
|
|
1360
1421
|
// HACK: Not updating for expand mode in a timeout causes an error.
|
|
1361
1422
|
// https://github.com/angular/angular/issues/6005
|
|
1362
|
-
this.items.changes.pipe(takeUntil(this
|
|
1423
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.changes.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f"))).subscribe(() => {
|
|
1363
1424
|
setTimeout(() => {
|
|
1364
|
-
|
|
1365
|
-
|
|
1425
|
+
var _a;
|
|
1426
|
+
if ((_a = this.items) === null || _a === void 0 ? void 0 : _a.last) {
|
|
1427
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this, this.items.last);
|
|
1366
1428
|
this.items.last.reorderable = this.reorderable;
|
|
1367
1429
|
}
|
|
1368
1430
|
if (this.activeIndex !== undefined) {
|
|
1369
|
-
this.
|
|
1431
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1370
1432
|
}
|
|
1371
|
-
this.
|
|
1433
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1372
1434
|
});
|
|
1373
1435
|
});
|
|
1374
1436
|
setTimeout(() => {
|
|
1375
|
-
|
|
1376
|
-
this.
|
|
1437
|
+
var _a;
|
|
1438
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1439
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
1377
1440
|
item.reorderable = this.reorderable;
|
|
1378
1441
|
});
|
|
1379
|
-
this.
|
|
1442
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1380
1443
|
}, 0);
|
|
1381
1444
|
}
|
|
1382
1445
|
ngOnChanges(changes) {
|
|
1383
1446
|
if (changes['activeIndex']) {
|
|
1384
|
-
this.
|
|
1447
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").enableActiveState = true;
|
|
1385
1448
|
if (changes['activeIndex'].currentValue !==
|
|
1386
1449
|
changes['activeIndex'].previousValue) {
|
|
1387
|
-
this.
|
|
1450
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1388
1451
|
}
|
|
1389
1452
|
}
|
|
1390
1453
|
if (changes.reorderable) {
|
|
1391
1454
|
if (this.items) {
|
|
1392
1455
|
this.items.forEach((item) => (item.reorderable = this.reorderable));
|
|
1393
1456
|
}
|
|
1394
|
-
this.
|
|
1395
|
-
this.
|
|
1457
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1458
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
|
|
1396
1459
|
}
|
|
1397
1460
|
}
|
|
1398
1461
|
ngOnDestroy() {
|
|
1399
|
-
this.
|
|
1400
|
-
this.
|
|
1401
|
-
this.
|
|
1462
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").next();
|
|
1463
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").complete();
|
|
1464
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_destroyDragAndDrop).call(this);
|
|
1402
1465
|
}
|
|
1403
1466
|
ngOnInit() {
|
|
1404
|
-
this.
|
|
1467
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1405
1468
|
}
|
|
1406
1469
|
onCdkObserveContent() {
|
|
1407
|
-
this.
|
|
1408
|
-
}
|
|
1409
|
-
updateForExpandMode(itemAdded) {
|
|
1410
|
-
if (this.items) {
|
|
1411
|
-
let foundExpanded = false;
|
|
1412
|
-
const isCollapsible = this.expandMode !== 'none';
|
|
1413
|
-
const isSingle = this.expandMode === 'single';
|
|
1414
|
-
// Keep any newly-added expanded item expanded and collapse the rest.
|
|
1415
|
-
if (itemAdded && itemAdded.isExpanded) {
|
|
1416
|
-
foundExpanded = true;
|
|
1417
|
-
}
|
|
1418
|
-
this.items.forEach((item) => {
|
|
1419
|
-
item.isCollapsible = isCollapsible && !!item.hasItemContent;
|
|
1420
|
-
if (item !== itemAdded && isSingle && item.isExpanded) {
|
|
1421
|
-
if (foundExpanded) {
|
|
1422
|
-
item.updateForExpanded(false, false);
|
|
1423
|
-
}
|
|
1424
|
-
foundExpanded = true;
|
|
1425
|
-
}
|
|
1426
|
-
});
|
|
1427
|
-
this.updateRole();
|
|
1428
|
-
}
|
|
1470
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1429
1471
|
}
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
});
|
|
1472
|
+
}
|
|
1473
|
+
_SkyRepeaterComponent_adapterService = new WeakMap(), _SkyRepeaterComponent_changeDetector = new WeakMap(), _SkyRepeaterComponent_dragulaService = new WeakMap(), _SkyRepeaterComponent_elementRef = new WeakMap(), _SkyRepeaterComponent_renderer = new WeakMap(), _SkyRepeaterComponent_repeaterService = new WeakMap(), _SkyRepeaterComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterComponent_instances = new WeakSet(), _SkyRepeaterComponent_updateForExpandMode = function _SkyRepeaterComponent_updateForExpandMode(itemAdded) {
|
|
1474
|
+
if (this.items) {
|
|
1475
|
+
let foundExpanded = false;
|
|
1476
|
+
const isCollapsible = this.expandMode !== 'none';
|
|
1477
|
+
const isSingle = this.expandMode === 'single';
|
|
1478
|
+
// Keep any newly-added expanded item expanded and collapse the rest.
|
|
1479
|
+
if (itemAdded && itemAdded.isExpanded) {
|
|
1480
|
+
foundExpanded = true;
|
|
1440
1481
|
}
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
/* istanbul ignore else */
|
|
1447
|
-
if (args.name === this.dragulaGroupName) {
|
|
1448
|
-
this.renderer.addClass(args.el, 'sky-repeater-item-dragging');
|
|
1449
|
-
draggedItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
|
|
1450
|
-
}
|
|
1451
|
-
});
|
|
1452
|
-
this.dragulaService
|
|
1453
|
-
.dragend(this.dragulaGroupName)
|
|
1454
|
-
.pipe(takeUntil(this.dragulaUnsubscribe))
|
|
1455
|
-
.subscribe((args) => {
|
|
1456
|
-
/* istanbul ignore else */
|
|
1457
|
-
if (args.name === this.dragulaGroupName) {
|
|
1458
|
-
this.renderer.removeClass(args.el, 'sky-repeater-item-dragging');
|
|
1459
|
-
const newItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
|
|
1460
|
-
/* sanity check */
|
|
1461
|
-
/* istanbul ignore else */
|
|
1462
|
-
if (draggedItemIndex >= 0) {
|
|
1463
|
-
this.repeaterService.reorderItem(draggedItemIndex, newItemIndex);
|
|
1464
|
-
draggedItemIndex = undefined;
|
|
1482
|
+
this.items.forEach((item) => {
|
|
1483
|
+
item.isCollapsible = isCollapsible && !!item.hasItemContent;
|
|
1484
|
+
if (item !== itemAdded && isSingle && item.isExpanded) {
|
|
1485
|
+
if (foundExpanded) {
|
|
1486
|
+
item.updateForExpanded(false);
|
|
1465
1487
|
}
|
|
1466
|
-
|
|
1488
|
+
foundExpanded = true;
|
|
1467
1489
|
}
|
|
1468
1490
|
});
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
emitTags() {
|
|
1481
|
-
const tags = this.repeaterService.items.map((item) => item.tag);
|
|
1482
|
-
this.orderChange.emit(tags);
|
|
1483
|
-
}
|
|
1484
|
-
everyItemHasTag() {
|
|
1485
|
-
/* sanity check */
|
|
1486
|
-
/* istanbul ignore if */
|
|
1487
|
-
if (!this.items || this.items.length === 0) {
|
|
1488
|
-
return false;
|
|
1489
|
-
}
|
|
1490
|
-
return this.items.toArray().every((item) => {
|
|
1491
|
-
return item.tag !== undefined;
|
|
1491
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1492
|
+
}
|
|
1493
|
+
}, _SkyRepeaterComponent_initializeDragAndDrop = function _SkyRepeaterComponent_initializeDragAndDrop() {
|
|
1494
|
+
/* Sanity check that we haven't already set up dragging abilities */
|
|
1495
|
+
/* istanbul ignore else */
|
|
1496
|
+
if (!__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
|
|
1497
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").createGroup(this.dragulaGroupName, {
|
|
1498
|
+
moves: (el, container, handle) => {
|
|
1499
|
+
const target = el === null || el === void 0 ? void 0 : el.querySelector('.sky-repeater-item-grab-handle');
|
|
1500
|
+
return !!this.reorderable && !!target && target.contains(handle);
|
|
1501
|
+
},
|
|
1492
1502
|
});
|
|
1493
1503
|
}
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
list: { item: 'listitem', title: undefined, content: undefined },
|
|
1504
|
-
listbox: { item: 'option', title: undefined, content: undefined },
|
|
1505
|
-
grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
|
|
1506
|
-
};
|
|
1507
|
-
// Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
|
|
1508
|
-
const interactionSelector = [
|
|
1509
|
-
'a[href]',
|
|
1510
|
-
'audio[controls]',
|
|
1511
|
-
'button',
|
|
1512
|
-
'details',
|
|
1513
|
-
'embed',
|
|
1514
|
-
'iframe',
|
|
1515
|
-
'img[usemap]',
|
|
1516
|
-
'input:not([type="hidden"])',
|
|
1517
|
-
'label',
|
|
1518
|
-
'select',
|
|
1519
|
-
'textarea',
|
|
1520
|
-
'video[controls]',
|
|
1521
|
-
'[contenteditable]',
|
|
1522
|
-
'.sky-repeater[role="grid"]',
|
|
1523
|
-
]
|
|
1524
|
-
.map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
|
|
1525
|
-
.concat([`skyux-dropdown`])
|
|
1526
|
-
.join(', ');
|
|
1527
|
-
const hasInteraction = this.reorderable ||
|
|
1528
|
-
((_a = this.items) === null || _a === void 0 ? void 0 : _a.some((item) => item.isCollapsible)) ||
|
|
1529
|
-
!!this.elementRef.nativeElement.querySelector(interactionSelector);
|
|
1530
|
-
if (hasInteraction) {
|
|
1531
|
-
// If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid
|
|
1532
|
-
autoRole = 'grid';
|
|
1533
|
-
}
|
|
1534
|
-
else if ((_b = this.items) === null || _b === void 0 ? void 0 : _b.some((item) => item.selectable)) {
|
|
1535
|
-
// If the only interaction is select https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox
|
|
1536
|
-
autoRole = 'listbox';
|
|
1504
|
+
let draggedItemIndex = -1;
|
|
1505
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
|
|
1506
|
+
.drag(this.dragulaGroupName)
|
|
1507
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1508
|
+
.subscribe((args) => {
|
|
1509
|
+
/* istanbul ignore else */
|
|
1510
|
+
if (args.name === this.dragulaGroupName) {
|
|
1511
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").addClass(args.el, 'sky-repeater-item-dragging');
|
|
1512
|
+
draggedItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
|
|
1537
1513
|
}
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1514
|
+
});
|
|
1515
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
|
|
1516
|
+
.dragend(this.dragulaGroupName)
|
|
1517
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1518
|
+
.subscribe((args) => {
|
|
1519
|
+
/* istanbul ignore else */
|
|
1520
|
+
if (args.name === this.dragulaGroupName) {
|
|
1521
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").removeClass(args.el, 'sky-repeater-item-dragging');
|
|
1522
|
+
const newItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
|
|
1523
|
+
/* sanity check */
|
|
1524
|
+
/* istanbul ignore else */
|
|
1525
|
+
if (draggedItemIndex >= 0) {
|
|
1526
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").reorderItem(draggedItemIndex, newItemIndex);
|
|
1527
|
+
draggedItemIndex = -1;
|
|
1528
|
+
}
|
|
1529
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
|
|
1542
1530
|
}
|
|
1531
|
+
});
|
|
1532
|
+
}, _SkyRepeaterComponent_destroyDragAndDrop = function _SkyRepeaterComponent_destroyDragAndDrop() {
|
|
1533
|
+
/* Sanity check that we have set up dragging abilities */
|
|
1534
|
+
/* istanbul ignore else */
|
|
1535
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
|
|
1536
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").destroy(this.dragulaGroupName);
|
|
1537
|
+
}
|
|
1538
|
+
}, _SkyRepeaterComponent_emitTags = function _SkyRepeaterComponent_emitTags() {
|
|
1539
|
+
const tags = __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").items.map((item) => item.tag);
|
|
1540
|
+
this.orderChange.emit(tags);
|
|
1541
|
+
}, _SkyRepeaterComponent_everyItemHasTag = function _SkyRepeaterComponent_everyItemHasTag() {
|
|
1542
|
+
/* sanity check */
|
|
1543
|
+
/* istanbul ignore if */
|
|
1544
|
+
if (!this.items || this.items.length === 0) {
|
|
1545
|
+
return false;
|
|
1546
|
+
}
|
|
1547
|
+
return this.items.toArray().every((item) => {
|
|
1548
|
+
return item.tag !== undefined;
|
|
1549
|
+
});
|
|
1550
|
+
}, _SkyRepeaterComponent_updateRole = function _SkyRepeaterComponent_updateRole() {
|
|
1551
|
+
var _a, _b;
|
|
1552
|
+
// Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/
|
|
1553
|
+
// 1. If there are one or more interactions in the repeater item projected content, use grid.
|
|
1554
|
+
// 2. If there are selectable repeater items and no other interactions, use listbox.
|
|
1555
|
+
// 3. If there are no interactions, use list.
|
|
1556
|
+
// Default to list role.
|
|
1557
|
+
let autoRole = 'list';
|
|
1558
|
+
const roleMap = {
|
|
1559
|
+
list: { item: 'listitem', title: undefined, content: undefined },
|
|
1560
|
+
listbox: { item: 'option', title: undefined, content: undefined },
|
|
1561
|
+
grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
|
|
1562
|
+
};
|
|
1563
|
+
// Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
|
|
1564
|
+
const interactionSelector = [
|
|
1565
|
+
'a[href]',
|
|
1566
|
+
'audio[controls]',
|
|
1567
|
+
'button',
|
|
1568
|
+
'details',
|
|
1569
|
+
'embed',
|
|
1570
|
+
'iframe',
|
|
1571
|
+
'img[usemap]',
|
|
1572
|
+
'input:not([type="hidden"])',
|
|
1573
|
+
'label',
|
|
1574
|
+
'select',
|
|
1575
|
+
'textarea',
|
|
1576
|
+
'video[controls]',
|
|
1577
|
+
'[contenteditable]',
|
|
1578
|
+
'.sky-repeater[role="grid"]',
|
|
1579
|
+
]
|
|
1580
|
+
.map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
|
|
1581
|
+
.concat([`skyux-dropdown`])
|
|
1582
|
+
.join(', ');
|
|
1583
|
+
const hasInteraction = this.reorderable ||
|
|
1584
|
+
((_a = this.items) === null || _a === void 0 ? void 0 : _a.some((item) => item.isCollapsible)) ||
|
|
1585
|
+
((_b = this.items) === null || _b === void 0 ? void 0 : _b.some((item) => !!item.selectable)) ||
|
|
1586
|
+
!!__classPrivateFieldGet(this, _SkyRepeaterComponent_elementRef, "f").nativeElement.querySelector(interactionSelector);
|
|
1587
|
+
if (hasInteraction) {
|
|
1588
|
+
// If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid
|
|
1589
|
+
autoRole = 'grid';
|
|
1590
|
+
}
|
|
1591
|
+
if (this.role !== autoRole) {
|
|
1592
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemRole.next(Object.assign({}, roleMap[autoRole]));
|
|
1593
|
+
this.role = `${autoRole}`;
|
|
1594
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
|
|
1543
1595
|
}
|
|
1544
|
-
}
|
|
1596
|
+
};
|
|
1545
1597
|
SkyRepeaterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyRepeaterService }, { token: SkyRepeaterAdapterService }, { token: i3$1.DragulaService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1546
1598
|
SkyRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterComponent, selector: "sky-repeater", inputs: { activeIndex: "activeIndex", ariaLabel: "ariaLabel", reorderable: "reorderable", expandMode: "expandMode" }, outputs: { activeIndexChange: "activeIndexChange", orderChange: "orderChange" }, providers: [SkyRepeaterService, SkyRepeaterAdapterService], queries: [{ propertyName: "items", predicate: SkyRepeaterItemComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-container #repeaterHost>\n <div\n class=\"sky-repeater\"\n [attr.role]=\"role\"\n [attr.aria-label]=\"ariaLabel || ('skyux_repeater_label' | skyLibResources)\"\n [dragula]=\"dragulaGroupName\"\n (cdkObserveContent)=\"onCdkObserveContent()\"\n >\n <ng-content></ng-content>\n </div>\n</ng-container>\n", styles: [".sky-repeater{padding:0}\n"], dependencies: [{ kind: "directive", type: i3$1.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }, { kind: "directive", type: i4$1.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1547
1599
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterComponent, decorators: [{
|
|
@@ -1639,49 +1691,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1639
1691
|
type: Injectable
|
|
1640
1692
|
}] });
|
|
1641
1693
|
|
|
1694
|
+
var _SkySortItemComponent_subscription, _SkySortItemComponent_sortItemId, _SkySortItemComponent_sortService, _SkySortItemComponent_detector;
|
|
1642
1695
|
const SORT_ITEM_ID_PREFIX = 'sky-sort-item-';
|
|
1643
1696
|
let sortItemIdNumber = 0;
|
|
1644
1697
|
class SkySortItemComponent {
|
|
1645
1698
|
constructor(sortService, detector) {
|
|
1646
|
-
this.sortService = sortService;
|
|
1647
|
-
this.detector = detector;
|
|
1648
1699
|
/**
|
|
1649
1700
|
* Fires when a sort item is selected.
|
|
1650
1701
|
*/
|
|
1651
|
-
this.itemSelect = new EventEmitter();
|
|
1702
|
+
this.itemSelect = new EventEmitter(); // TODO: Change to `EventEmitter<void>` in a breaking change.
|
|
1652
1703
|
this.isSelected = new BehaviorSubject(false);
|
|
1704
|
+
_SkySortItemComponent_subscription.set(this, void 0);
|
|
1705
|
+
_SkySortItemComponent_sortItemId.set(this, void 0);
|
|
1706
|
+
_SkySortItemComponent_sortService.set(this, void 0);
|
|
1707
|
+
_SkySortItemComponent_detector.set(this, void 0);
|
|
1708
|
+
__classPrivateFieldSet(this, _SkySortItemComponent_sortService, sortService, "f");
|
|
1709
|
+
__classPrivateFieldSet(this, _SkySortItemComponent_detector, detector, "f");
|
|
1653
1710
|
}
|
|
1654
1711
|
ngOnInit() {
|
|
1655
1712
|
sortItemIdNumber++;
|
|
1656
|
-
this
|
|
1657
|
-
this
|
|
1658
|
-
this.isSelected.next(itemId === this
|
|
1659
|
-
this.
|
|
1660
|
-
});
|
|
1713
|
+
__classPrivateFieldSet(this, _SkySortItemComponent_sortItemId, SORT_ITEM_ID_PREFIX + sortItemIdNumber.toString(), "f");
|
|
1714
|
+
__classPrivateFieldSet(this, _SkySortItemComponent_subscription, __classPrivateFieldGet(this, _SkySortItemComponent_sortService, "f").selectedItem.subscribe((itemId) => {
|
|
1715
|
+
this.isSelected.next(itemId === __classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f"));
|
|
1716
|
+
__classPrivateFieldGet(this, _SkySortItemComponent_detector, "f").detectChanges();
|
|
1717
|
+
}), "f");
|
|
1661
1718
|
if (this.active) {
|
|
1662
|
-
this.
|
|
1719
|
+
__classPrivateFieldGet(this, _SkySortItemComponent_sortService, "f").selectItem(__classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f"));
|
|
1663
1720
|
}
|
|
1664
1721
|
}
|
|
1665
1722
|
ngOnChanges(changes) {
|
|
1666
|
-
if (
|
|
1723
|
+
if (__classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f") &&
|
|
1724
|
+
changes &&
|
|
1667
1725
|
changes['active'] &&
|
|
1668
1726
|
changes['active'].currentValue &&
|
|
1669
1727
|
changes['active'].currentValue !== changes['active'].previousValue) {
|
|
1670
|
-
this.
|
|
1728
|
+
__classPrivateFieldGet(this, _SkySortItemComponent_sortService, "f").selectItem(__classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f"));
|
|
1671
1729
|
}
|
|
1672
1730
|
}
|
|
1673
1731
|
itemClicked() {
|
|
1674
|
-
|
|
1675
|
-
|
|
1732
|
+
if (__classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f")) {
|
|
1733
|
+
__classPrivateFieldGet(this, _SkySortItemComponent_sortService, "f").selectItem(__classPrivateFieldGet(this, _SkySortItemComponent_sortItemId, "f"));
|
|
1734
|
+
this.itemSelect.emit();
|
|
1735
|
+
}
|
|
1676
1736
|
}
|
|
1677
1737
|
ngOnDestroy() {
|
|
1678
1738
|
/* istanbul ignore else */
|
|
1679
1739
|
/* sanity check */
|
|
1680
|
-
if (this
|
|
1681
|
-
this.
|
|
1740
|
+
if (__classPrivateFieldGet(this, _SkySortItemComponent_subscription, "f")) {
|
|
1741
|
+
__classPrivateFieldGet(this, _SkySortItemComponent_subscription, "f").unsubscribe();
|
|
1682
1742
|
}
|
|
1683
1743
|
}
|
|
1684
1744
|
}
|
|
1745
|
+
_SkySortItemComponent_subscription = new WeakMap(), _SkySortItemComponent_sortItemId = new WeakMap(), _SkySortItemComponent_sortService = new WeakMap(), _SkySortItemComponent_detector = new WeakMap();
|
|
1685
1746
|
SkySortItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkySortItemComponent, deps: [{ token: SkySortService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1686
1747
|
SkySortItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkySortItemComponent, selector: "sky-sort-item", inputs: { active: "active" }, outputs: { itemSelect: "itemSelect" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n>\n <button\n type=\"button\"\n [ngClass]=\"{ 'sky-emphasized': (isSelected | async) }\"\n (click)=\"itemClicked()\"\n >\n <ng-content></ng-content>\n </button>\n</div>\n", styles: [".sky-sort-item{background-color:transparent;border:none;display:block;margin:4px;min-width:160px;text-align:left;transition:background-color .15s}.sky-sort-item.sky-dropdown-item-active,.sky-sort-item:hover{background-color:#eeeeef}.sky-sort-item.sky-dropdown-item-disabled{cursor:default}.sky-sort-item.sky-dropdown-item-disabled:hover{background-color:transparent}.sky-sort-item ::ng-deep>button{background-color:transparent;border:none;color:#212327;cursor:pointer;display:block;padding:3px 20px;text-align:left;width:100%}.sky-sort-item ::ng-deep>button[disabled]{color:#686c73}.sky-sort-item ::ng-deep>button[disabled]:hover{cursor:default}.sky-sort-item-selected{background-color:#f1eef6;padding:4px;margin:0}:host-context(.sky-theme-modern) .sky-sort-item{margin:0 0 10px;border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;transition:box-shadow .15s;padding:10px 20px}:host-context(.sky-theme-modern) .sky-sort-item:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:solid 1px #00b4f1;color:var(--sky-text-color-default);padding-bottom:9px}:host-context(.sky-theme-modern) .sky-sort-item:focus{background-color:transparent;color:var(--sky-text-color-default);outline:none}:host-context(.sky-theme-modern) .sky-sort-item:focus:not(:active){color:var(--sky-text-color-default);outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-sort-item:active{border-bottom:solid 3px #00b4f1;color:var(--sky-text-color-default);padding-bottom:7px}:host-context(.sky-theme-modern) .sky-sort-item.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:400;font-size:15px;font-style:italic}:host-context(.sky-theme-modern) .sky-sort-item:hover:not(.sky-btn-tab-disabled){background-color:transparent;border-bottom:none;outline:solid 1px #1870B8;outline-offset:-1px}:host-context(.sky-theme-modern) .sky-sort-item:focus:not(:active){background-color:transparent;box-shadow:0 1px 8px #0000004d;outline:solid 2px #1870B8;outline-offset:-2px}:host-context(.sky-theme-modern) .sky-sort-item button{padding:0;color:#686c73}:host-context(.sky-theme-modern) .sky-sort-item-selected{color:#212327;border-bottom:none;border-left:solid 3px #1870B8;padding-bottom:10px;padding-left:17px;background-color:inherit}:host-context(.sky-theme-modern) .sky-sort-item-selected button{font-weight:400;color:#212327}.sky-theme-modern .sky-sort-item{margin:0 0 10px;border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;transition:box-shadow .15s;padding:10px 20px}.sky-theme-modern .sky-sort-item:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:solid 1px #00b4f1;color:var(--sky-text-color-default);padding-bottom:9px}.sky-theme-modern .sky-sort-item:focus{background-color:transparent;color:var(--sky-text-color-default);outline:none}.sky-theme-modern .sky-sort-item:focus:not(:active){color:var(--sky-text-color-default);outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-sort-item:active{border-bottom:solid 3px #00b4f1;color:var(--sky-text-color-default);padding-bottom:7px}.sky-theme-modern .sky-sort-item.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:400;font-size:15px;font-style:italic}.sky-theme-modern .sky-sort-item:hover:not(.sky-btn-tab-disabled){background-color:transparent;border-bottom:none;outline:solid 1px #1870B8;outline-offset:-1px}.sky-theme-modern .sky-sort-item:focus:not(:active){background-color:transparent;box-shadow:0 1px 8px #0000004d;outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern .sky-sort-item button{padding:0;color:#686c73}.sky-theme-modern .sky-sort-item-selected{color:#212327;border-bottom:none;border-left:solid 3px #1870B8;padding-bottom:10px;padding-left:17px;background-color:inherit}.sky-theme-modern .sky-sort-item-selected button{font-weight:400;color:#212327}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-sort-item button{color:#c0c2c5}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-sort-item-selected button{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-sort-item button{color:#c0c2c5}.sky-theme-modern.sky-theme-mode-dark .sky-sort-item-selected button{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1687
1748
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkySortItemComponent, decorators: [{
|