@skyux/lists 7.0.0-beta.6 → 7.0.0-beta.8
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 +430 -211
- package/esm2020/index.mjs +2 -1
- 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 +167 -144
- package/esm2020/lib/modules/repeater/repeater.component.mjs +170 -173
- package/esm2020/lib/modules/repeater/repeater.service.mjs +15 -4
- package/esm2020/testing/repeater/repeater-item-harness.mjs +10 -7
- package/fesm2015/skyux-lists-testing.mjs +9 -6
- package/fesm2015/skyux-lists-testing.mjs.map +1 -1
- package/fesm2015/skyux-lists.mjs +387 -348
- package/fesm2015/skyux-lists.mjs.map +1 -1
- package/fesm2020/skyux-lists-testing.mjs +9 -6
- package/fesm2020/skyux-lists-testing.mjs.map +1 -1
- package/fesm2020/skyux-lists.mjs +380 -348
- package/fesm2020/skyux-lists.mjs.map +1 -1
- package/index.d.ts +1 -0
- 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/package.json +10 -10
package/fesm2015/skyux-lists.mjs
CHANGED
|
@@ -681,6 +681,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
681
681
|
args: [{ selector: 'sky-repeater-item-title', template: "<ng-content></ng-content>\n" }]
|
|
682
682
|
}] });
|
|
683
683
|
|
|
684
|
+
var _SkyRepeaterService__expandMode;
|
|
685
|
+
let uniqueId = 0;
|
|
686
|
+
const DEFAULT_EXPAND_MODE = 'none';
|
|
684
687
|
/**
|
|
685
688
|
* @internal
|
|
686
689
|
*/
|
|
@@ -697,6 +700,15 @@ class SkyRepeaterService {
|
|
|
697
700
|
title: undefined,
|
|
698
701
|
});
|
|
699
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");
|
|
700
712
|
}
|
|
701
713
|
ngOnDestroy() {
|
|
702
714
|
this.activeItemChange.complete();
|
|
@@ -739,9 +751,6 @@ class SkyRepeaterService {
|
|
|
739
751
|
onItemCollapseStateChange(item) {
|
|
740
752
|
this.itemCollapseStateChange.emit(item);
|
|
741
753
|
}
|
|
742
|
-
getItemIndex(item) {
|
|
743
|
-
return this.items.indexOf(item);
|
|
744
|
-
}
|
|
745
754
|
registerOrderChange() {
|
|
746
755
|
this.orderChange.next();
|
|
747
756
|
}
|
|
@@ -749,35 +758,39 @@ class SkyRepeaterService {
|
|
|
749
758
|
this.items.splice(newIndex, 0, this.items.splice(oldIndex, 1)[0]);
|
|
750
759
|
}
|
|
751
760
|
}
|
|
761
|
+
_SkyRepeaterService__expandMode = new WeakMap();
|
|
752
762
|
SkyRepeaterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
753
763
|
SkyRepeaterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService });
|
|
754
764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, decorators: [{
|
|
755
765
|
type: Injectable
|
|
756
766
|
}] });
|
|
757
767
|
|
|
768
|
+
var _SkyRepeaterAdapterService_instances, _SkyRepeaterAdapterService_repeaterItemGroupSelector_get, _SkyRepeaterAdapterService_host, _SkyRepeaterAdapterService_repeaterService, _SkyRepeaterAdapterService_moveItem, _SkyRepeaterAdapterService_getRepeaterItemArray;
|
|
758
769
|
/**
|
|
759
770
|
* @internal
|
|
760
771
|
*/
|
|
761
772
|
class SkyRepeaterAdapterService {
|
|
762
773
|
constructor(repeaterService) {
|
|
763
|
-
this
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
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");
|
|
767
778
|
}
|
|
768
779
|
focusElement(element) {
|
|
769
|
-
if (element
|
|
770
|
-
element
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
780
|
+
if (element) {
|
|
781
|
+
if (element instanceof ElementRef) {
|
|
782
|
+
element.nativeElement.focus();
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
element.focus();
|
|
786
|
+
}
|
|
774
787
|
}
|
|
775
788
|
}
|
|
776
789
|
setRepeaterHost(hostRef) {
|
|
777
|
-
this
|
|
790
|
+
__classPrivateFieldSet(this, _SkyRepeaterAdapterService_host, hostRef, "f");
|
|
778
791
|
}
|
|
779
792
|
getRepeaterItemIndex(element) {
|
|
780
|
-
return this.
|
|
793
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this).indexOf(element);
|
|
781
794
|
}
|
|
782
795
|
moveItemUp(element, top = false, steps = 1) {
|
|
783
796
|
const index = this.getRepeaterItemIndex(element);
|
|
@@ -788,49 +801,48 @@ class SkyRepeaterAdapterService {
|
|
|
788
801
|
if (top || newIndex < 0) {
|
|
789
802
|
newIndex = 0;
|
|
790
803
|
}
|
|
791
|
-
return this.
|
|
804
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
|
|
792
805
|
}
|
|
793
806
|
moveItemDown(element, steps = 1) {
|
|
794
|
-
const itemArray = this.
|
|
807
|
+
const itemArray = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this);
|
|
795
808
|
const index = this.getRepeaterItemIndex(element);
|
|
796
809
|
if (index === itemArray.length - steps) {
|
|
797
810
|
return;
|
|
798
811
|
}
|
|
799
812
|
const newIndex = index + steps;
|
|
800
|
-
return this.
|
|
813
|
+
return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
|
|
801
814
|
}
|
|
802
|
-
|
|
803
|
-
|
|
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');
|
|
804
822
|
repeaterDiv.removeChild(element);
|
|
805
|
-
const nextSibling = repeaterDiv.querySelectorAll(this
|
|
823
|
+
const nextSibling = repeaterDiv.querySelectorAll(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "a", _SkyRepeaterAdapterService_repeaterItemGroupSelector_get))[newIndex];
|
|
806
824
|
repeaterDiv.insertBefore(element, nextSibling);
|
|
807
|
-
this.
|
|
808
|
-
return newIndex;
|
|
825
|
+
__classPrivateFieldGet(this, _SkyRepeaterAdapterService_repeaterService, "f").reorderItem(oldIndex, newIndex);
|
|
809
826
|
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
}
|
|
816
|
-
}
|
|
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
|
+
};
|
|
817
832
|
SkyRepeaterAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, deps: [{ token: SkyRepeaterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
818
833
|
SkyRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService });
|
|
819
834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, decorators: [{
|
|
820
835
|
type: Injectable
|
|
821
836
|
}], ctorParameters: function () { return [{ type: SkyRepeaterService }]; } });
|
|
822
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;
|
|
823
839
|
let nextContentId = 0;
|
|
824
840
|
/**
|
|
825
841
|
* Creates an individual repeater item.
|
|
826
842
|
*/
|
|
827
843
|
class SkyRepeaterItemComponent {
|
|
828
844
|
constructor(repeaterService, changeDetector, adapterService, elementRef, resourceService) {
|
|
829
|
-
this
|
|
830
|
-
this.changeDetector = changeDetector;
|
|
831
|
-
this.adapterService = adapterService;
|
|
832
|
-
this.elementRef = elementRef;
|
|
833
|
-
this.resourceService = resourceService;
|
|
845
|
+
_SkyRepeaterItemComponent_instances.add(this);
|
|
834
846
|
/**
|
|
835
847
|
* Indicates whether users can change the order of the repeater item.
|
|
836
848
|
* The repeater component's `reorderable` property must also be set to `true`.
|
|
@@ -862,31 +874,51 @@ class SkyRepeaterItemComponent {
|
|
|
862
874
|
* Fires when users select or clear the checkbox for the repeater item.
|
|
863
875
|
*/
|
|
864
876
|
this.isSelectedChange = new EventEmitter();
|
|
865
|
-
this.contentId = `sky-repeater-item-content-${++nextContentId}`;
|
|
866
877
|
this.hasItemContent = false;
|
|
867
878
|
this.isActive = false;
|
|
868
|
-
this.
|
|
869
|
-
this
|
|
870
|
-
this
|
|
871
|
-
this
|
|
872
|
-
this
|
|
873
|
-
this
|
|
874
|
-
|
|
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);
|
|
875
904
|
forkJoin([
|
|
876
|
-
this.
|
|
877
|
-
this.
|
|
878
|
-
this.
|
|
879
|
-
this.
|
|
880
|
-
this.
|
|
881
|
-
])
|
|
882
|
-
this
|
|
883
|
-
|
|
884
|
-
this
|
|
885
|
-
this
|
|
886
|
-
this
|
|
887
|
-
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");
|
|
888
919
|
});
|
|
889
|
-
this.
|
|
920
|
+
this.contentId = `sky-repeater-item-content-${++nextContentId}`;
|
|
921
|
+
this.itemRole$ = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").itemRole.asObservable();
|
|
890
922
|
}
|
|
891
923
|
/**
|
|
892
924
|
* Make the first, non-disabled item tab-focusable.
|
|
@@ -894,7 +926,7 @@ class SkyRepeaterItemComponent {
|
|
|
894
926
|
* - One item per list/grid/listbox should be tab focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#grid).
|
|
895
927
|
*/
|
|
896
928
|
get tabindex() {
|
|
897
|
-
return this.
|
|
929
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled)[0] ===
|
|
898
930
|
this
|
|
899
931
|
? 0
|
|
900
932
|
: -1;
|
|
@@ -903,35 +935,35 @@ class SkyRepeaterItemComponent {
|
|
|
903
935
|
* Whether to exclude an item when cycling through.
|
|
904
936
|
*/
|
|
905
937
|
set disabled(value) {
|
|
906
|
-
if (this
|
|
938
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f") !== value) {
|
|
907
939
|
if (value) {
|
|
908
940
|
this.isSelected = false;
|
|
909
|
-
this
|
|
941
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, true, "f");
|
|
910
942
|
}
|
|
911
943
|
else {
|
|
912
|
-
this
|
|
944
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, false, "f");
|
|
913
945
|
}
|
|
914
946
|
if (this.isActive) {
|
|
915
|
-
this.
|
|
947
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItemByIndex(undefined);
|
|
916
948
|
}
|
|
917
|
-
if (this.
|
|
918
|
-
this.
|
|
949
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
|
|
950
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.ownerDocument.activeElement.blur();
|
|
919
951
|
}
|
|
920
|
-
this.
|
|
952
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
921
953
|
}
|
|
922
954
|
}
|
|
923
955
|
get disabled() {
|
|
924
|
-
return this
|
|
956
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f");
|
|
925
957
|
}
|
|
926
958
|
/**
|
|
927
959
|
* Indicates whether the repeater item is expanded.
|
|
928
960
|
* @default true
|
|
929
961
|
*/
|
|
930
962
|
set isExpanded(value) {
|
|
931
|
-
this.updateForExpanded(value
|
|
963
|
+
this.updateForExpanded(value !== false);
|
|
932
964
|
}
|
|
933
965
|
get isExpanded() {
|
|
934
|
-
return this
|
|
966
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f");
|
|
935
967
|
}
|
|
936
968
|
/**
|
|
937
969
|
* Indicates whether the repeater item's checkbox is selected.
|
|
@@ -939,54 +971,55 @@ class SkyRepeaterItemComponent {
|
|
|
939
971
|
* @default false
|
|
940
972
|
*/
|
|
941
973
|
set isSelected(value) {
|
|
942
|
-
if (!this.disabled && value !== this
|
|
943
|
-
this
|
|
944
|
-
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"));
|
|
945
977
|
}
|
|
946
978
|
}
|
|
947
979
|
get isSelected() {
|
|
948
|
-
return this
|
|
980
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f");
|
|
949
981
|
}
|
|
950
982
|
set isCollapsible(value) {
|
|
951
983
|
if (this.isCollapsible !== value) {
|
|
952
|
-
this
|
|
984
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent__isCollapsible, value !== false, "f");
|
|
953
985
|
/*istanbul ignore else */
|
|
954
|
-
if (!
|
|
955
|
-
this.updateForExpanded(true
|
|
986
|
+
if (!__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f")) {
|
|
987
|
+
this.updateForExpanded(true);
|
|
956
988
|
}
|
|
957
989
|
}
|
|
958
|
-
this.
|
|
990
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
959
991
|
}
|
|
960
992
|
get isCollapsible() {
|
|
961
|
-
return this
|
|
993
|
+
return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f");
|
|
962
994
|
}
|
|
963
995
|
get repeaterGroupClass() {
|
|
964
|
-
return 'sky-repeater-item-group-' + this.
|
|
996
|
+
return 'sky-repeater-item-group-' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").repeaterGroupId;
|
|
965
997
|
}
|
|
966
998
|
ngOnInit() {
|
|
967
|
-
this.
|
|
968
|
-
this.
|
|
969
|
-
.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")))
|
|
970
1002
|
.subscribe((item) => {
|
|
971
1003
|
const newIsActiveValue = this === item;
|
|
972
1004
|
if (newIsActiveValue !== this.isActive) {
|
|
973
1005
|
this.isActive = newIsActiveValue;
|
|
974
|
-
this.
|
|
1006
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
975
1007
|
}
|
|
976
1008
|
});
|
|
977
1009
|
}
|
|
978
1010
|
ngAfterViewInit() {
|
|
979
|
-
|
|
980
|
-
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);
|
|
981
1014
|
}
|
|
982
1015
|
ngOnDestroy() {
|
|
983
1016
|
this.collapse.complete();
|
|
984
1017
|
this.expand.complete();
|
|
985
1018
|
this.inlineFormClose.complete();
|
|
986
1019
|
this.isSelectedChange.complete();
|
|
987
|
-
this.
|
|
988
|
-
this.
|
|
989
|
-
this.
|
|
1020
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").next();
|
|
1021
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").complete();
|
|
1022
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").unregisterItem(this);
|
|
990
1023
|
}
|
|
991
1024
|
onKeydown($event) {
|
|
992
1025
|
if ([' ', 'Enter', 'Home', 'End', 'ArrowUp', 'ArrowDown'].includes($event.key)) {
|
|
@@ -1006,7 +1039,7 @@ class SkyRepeaterItemComponent {
|
|
|
1006
1039
|
}
|
|
1007
1040
|
/* istanbul ignore else */
|
|
1008
1041
|
if (['Home', 'End'].includes($event.key)) {
|
|
1009
|
-
const items = this.
|
|
1042
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled);
|
|
1010
1043
|
if ($event.key === 'Home') {
|
|
1011
1044
|
activateItem = items.shift();
|
|
1012
1045
|
}
|
|
@@ -1016,7 +1049,7 @@ class SkyRepeaterItemComponent {
|
|
|
1016
1049
|
}
|
|
1017
1050
|
/* istanbul ignore else */
|
|
1018
1051
|
if (['ArrowUp', 'ArrowDown'].includes($event.key)) {
|
|
1019
|
-
const currentIndex = this.
|
|
1052
|
+
const currentIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.findIndex((item) => item === this);
|
|
1020
1053
|
let sliceFrom;
|
|
1021
1054
|
let sliceTo;
|
|
1022
1055
|
if ($event.key === 'ArrowUp') {
|
|
@@ -1027,7 +1060,7 @@ class SkyRepeaterItemComponent {
|
|
|
1027
1060
|
sliceFrom = currentIndex + 1;
|
|
1028
1061
|
sliceTo = undefined;
|
|
1029
1062
|
}
|
|
1030
|
-
const items = this.
|
|
1063
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
|
|
1031
1064
|
.slice(sliceFrom, sliceTo)
|
|
1032
1065
|
.filter((item) => !item.disabled);
|
|
1033
1066
|
activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
|
|
@@ -1041,7 +1074,7 @@ class SkyRepeaterItemComponent {
|
|
|
1041
1074
|
sliceFrom = currentIndex + 1;
|
|
1042
1075
|
sliceTo = undefined;
|
|
1043
1076
|
}
|
|
1044
|
-
const items = this.
|
|
1077
|
+
const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
|
|
1045
1078
|
.slice(sliceFrom, sliceTo)
|
|
1046
1079
|
.filter((item) => !item.disabled);
|
|
1047
1080
|
activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
|
|
@@ -1049,47 +1082,48 @@ class SkyRepeaterItemComponent {
|
|
|
1049
1082
|
}
|
|
1050
1083
|
/* istanbul ignore else */
|
|
1051
1084
|
if (activateItem && !activateItem.isActive) {
|
|
1052
|
-
this.
|
|
1053
|
-
if (!activateItem.
|
|
1054
|
-
activateItem.
|
|
1085
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(activateItem);
|
|
1086
|
+
if (!__classPrivateFieldGet(activateItem, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
|
|
1087
|
+
__classPrivateFieldGet(activateItem, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.focus();
|
|
1055
1088
|
}
|
|
1056
1089
|
}
|
|
1057
1090
|
}
|
|
1058
1091
|
}
|
|
1059
1092
|
headerClick() {
|
|
1060
1093
|
if (this.isCollapsible) {
|
|
1061
|
-
this.updateForExpanded(!this.isExpanded
|
|
1094
|
+
this.updateForExpanded(!this.isExpanded);
|
|
1062
1095
|
}
|
|
1063
1096
|
}
|
|
1064
1097
|
chevronDirectionChange(direction) {
|
|
1065
|
-
this.updateForExpanded(direction === 'up'
|
|
1098
|
+
this.updateForExpanded(direction === 'up');
|
|
1066
1099
|
}
|
|
1067
1100
|
onRepeaterItemClick(event) {
|
|
1101
|
+
var _b, _c, _d;
|
|
1068
1102
|
// Only activate item if clicking on the title, content, or parent item div.
|
|
1069
1103
|
// This will avoid accidental activations when clicking inside interactive elements like
|
|
1070
1104
|
// the expand/collapse chevron, dropdown, inline-delete, etc...
|
|
1071
|
-
if (event.target === this.itemRef.nativeElement ||
|
|
1072
|
-
this.itemContentRef.nativeElement.contains(event.target) ||
|
|
1073
|
-
this.itemHeaderRef.nativeElement.contains(event.target)) {
|
|
1074
|
-
this.
|
|
1105
|
+
if (event.target === ((_b = this.itemRef) === null || _b === void 0 ? void 0 : _b.nativeElement) ||
|
|
1106
|
+
((_c = this.itemContentRef) === null || _c === void 0 ? void 0 : _c.nativeElement.contains(event.target)) ||
|
|
1107
|
+
((_d = this.itemHeaderRef) === null || _d === void 0 ? void 0 : _d.nativeElement.contains(event.target))) {
|
|
1108
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(this);
|
|
1075
1109
|
}
|
|
1076
1110
|
}
|
|
1077
|
-
updateForExpanded(value
|
|
1111
|
+
updateForExpanded(value) {
|
|
1078
1112
|
if (this.isCollapsible === false && value === false) {
|
|
1079
1113
|
console.warn(`Setting isExpanded to false when the repeater item is not collapsible
|
|
1080
1114
|
will have no effect.`);
|
|
1081
1115
|
}
|
|
1082
|
-
else if (this
|
|
1083
|
-
this
|
|
1084
|
-
if (this
|
|
1116
|
+
else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f") !== value) {
|
|
1117
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_isExpanded, value, "f");
|
|
1118
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f")) {
|
|
1085
1119
|
this.expand.emit();
|
|
1086
1120
|
}
|
|
1087
1121
|
else {
|
|
1088
1122
|
this.collapse.emit();
|
|
1089
1123
|
}
|
|
1090
|
-
this.
|
|
1091
|
-
this.
|
|
1092
|
-
this.
|
|
1124
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
|
|
1125
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
|
|
1126
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
|
|
1093
1127
|
}
|
|
1094
1128
|
}
|
|
1095
1129
|
onCheckboxChange(value) {
|
|
@@ -1100,9 +1134,9 @@ class SkyRepeaterItemComponent {
|
|
|
1100
1134
|
}
|
|
1101
1135
|
moveToTop(event) {
|
|
1102
1136
|
event.stopPropagation();
|
|
1103
|
-
this.
|
|
1104
|
-
this.
|
|
1105
|
-
this.
|
|
1137
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, true);
|
|
1138
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
|
|
1139
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1106
1140
|
}
|
|
1107
1141
|
onReorderHandleKeyDown(event) {
|
|
1108
1142
|
/*istanbul ignore else */
|
|
@@ -1110,43 +1144,43 @@ class SkyRepeaterItemComponent {
|
|
|
1110
1144
|
switch (event.key.toLowerCase()) {
|
|
1111
1145
|
case ' ':
|
|
1112
1146
|
case 'enter':
|
|
1113
|
-
this.
|
|
1147
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardToggleReorder).call(this);
|
|
1114
1148
|
event.preventDefault();
|
|
1115
1149
|
event.stopPropagation();
|
|
1116
1150
|
break;
|
|
1117
1151
|
case 'escape':
|
|
1118
1152
|
/* istanbul ignore else */
|
|
1119
|
-
if (this
|
|
1120
|
-
this
|
|
1121
|
-
this.
|
|
1153
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1154
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
|
|
1155
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
|
|
1122
1156
|
this.reorderButtonLabel =
|
|
1123
|
-
this
|
|
1124
|
-
this.
|
|
1157
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCancelText, "f") + ' ' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
|
|
1158
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
|
|
1125
1159
|
event.preventDefault();
|
|
1126
1160
|
event.stopPropagation();
|
|
1127
1161
|
}
|
|
1128
1162
|
break;
|
|
1129
1163
|
case 'arrowup':
|
|
1130
|
-
if (this
|
|
1131
|
-
this.
|
|
1164
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1165
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderUp).call(this);
|
|
1132
1166
|
event.preventDefault();
|
|
1133
1167
|
event.stopPropagation();
|
|
1134
|
-
this.
|
|
1168
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1135
1169
|
}
|
|
1136
1170
|
break;
|
|
1137
1171
|
case 'arrowdown':
|
|
1138
1172
|
/* istanbul ignore else */
|
|
1139
|
-
if (this
|
|
1140
|
-
this.
|
|
1173
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1174
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderDown).call(this);
|
|
1141
1175
|
event.preventDefault();
|
|
1142
1176
|
event.stopPropagation();
|
|
1143
|
-
this.
|
|
1177
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1144
1178
|
}
|
|
1145
1179
|
break;
|
|
1146
1180
|
case 'arrowleft':
|
|
1147
1181
|
case 'arrowright':
|
|
1148
1182
|
/* istanbul ignore else */
|
|
1149
|
-
if (this
|
|
1183
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1150
1184
|
event.preventDefault();
|
|
1151
1185
|
event.stopPropagation();
|
|
1152
1186
|
}
|
|
@@ -1158,67 +1192,72 @@ class SkyRepeaterItemComponent {
|
|
|
1158
1192
|
}
|
|
1159
1193
|
}
|
|
1160
1194
|
onReorderHandleBlur(event) {
|
|
1161
|
-
this
|
|
1162
|
-
this.
|
|
1163
|
-
this.reorderButtonLabel = this
|
|
1195
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
|
|
1196
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
|
|
1197
|
+
this.reorderButtonLabel = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
|
|
1164
1198
|
this.reorderState = undefined;
|
|
1165
1199
|
}
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
this
|
|
1174
|
-
this
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
this.
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
this
|
|
1185
|
-
this
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1200
|
+
}
|
|
1201
|
+
_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() {
|
|
1202
|
+
this.slideDirection = this.isExpanded ? 'down' : 'up';
|
|
1203
|
+
}, _SkyRepeaterItemComponent_keyboardReorderUp = function _SkyRepeaterItemComponent_keyboardReorderUp() {
|
|
1204
|
+
var _a;
|
|
1205
|
+
const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
|
|
1206
|
+
if (newIndex !== undefined) {
|
|
1207
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
|
|
1208
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a--, _a), "f");
|
|
1209
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
|
|
1210
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
|
|
1211
|
+
this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
|
|
1212
|
+
}
|
|
1213
|
+
}, _SkyRepeaterItemComponent_keyboardReorderDown = function _SkyRepeaterItemComponent_keyboardReorderDown() {
|
|
1214
|
+
var _a;
|
|
1215
|
+
const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
|
|
1216
|
+
if (newIndex) {
|
|
1217
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
|
|
1218
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a++, _a), "f");
|
|
1219
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
|
|
1220
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
|
|
1221
|
+
this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
|
|
1222
|
+
}
|
|
1223
|
+
}, _SkyRepeaterItemComponent_keyboardToggleReorder = function _SkyRepeaterItemComponent_keyboardToggleReorder() {
|
|
1224
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, !__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f"), "f");
|
|
1225
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, 0, "f");
|
|
1226
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
|
|
1227
|
+
this.reorderState = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderStateDescription, "f");
|
|
1192
1228
|
}
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1229
|
+
else {
|
|
1230
|
+
// TODO: Needs improvement to be localizable
|
|
1231
|
+
this.reorderState = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderFinishText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f")}`;
|
|
1232
|
+
__classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, -1, "f");
|
|
1233
|
+
}
|
|
1234
|
+
}, _SkyRepeaterItemComponent_revertReorderSteps = function _SkyRepeaterItemComponent_revertReorderSteps() {
|
|
1235
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") < 0) {
|
|
1236
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, Math.abs(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f")));
|
|
1237
|
+
}
|
|
1238
|
+
else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") > 0) {
|
|
1239
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, false, __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"));
|
|
1240
|
+
}
|
|
1241
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
|
|
1242
|
+
}, _SkyRepeaterItemComponent_updateExpandOnContentChange = function _SkyRepeaterItemComponent_updateExpandOnContentChange() {
|
|
1243
|
+
var _b;
|
|
1244
|
+
(_b = this.repeaterItemContentComponents) === null || _b === void 0 ? void 0 : _b.changes.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f"))).subscribe(() => {
|
|
1245
|
+
var _b;
|
|
1246
|
+
this.hasItemContent = !!((_b = this.repeaterItemContentComponents) === null || _b === void 0 ? void 0 : _b.length);
|
|
1247
|
+
/* istanbul ignore next */
|
|
1248
|
+
this.isCollapsible =
|
|
1249
|
+
this.hasItemContent && __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode !== 'none';
|
|
1250
|
+
/* istanbul ignore else */
|
|
1251
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode === 'single') {
|
|
1252
|
+
__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
|
|
1199
1253
|
}
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
updateExpandOnContentChange() {
|
|
1203
|
-
this.repeaterItemContentComponents.changes
|
|
1204
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1205
|
-
.subscribe(() => {
|
|
1206
|
-
this.hasItemContent = this.repeaterItemContentComponents.length > 0;
|
|
1207
|
-
/* istanbul ignore next */
|
|
1208
|
-
this.isCollapsible =
|
|
1209
|
-
this.hasItemContent && this.repeaterService.expandMode !== 'none';
|
|
1210
|
-
/* istanbul ignore else */
|
|
1211
|
-
if (this.repeaterService.expandMode === 'single') {
|
|
1212
|
-
this.repeaterService.onItemCollapseStateChange(this);
|
|
1213
|
-
}
|
|
1214
|
-
});
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1254
|
+
});
|
|
1255
|
+
};
|
|
1217
1256
|
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 });
|
|
1218
|
-
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 });
|
|
1257
|
+
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 });
|
|
1219
1258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
|
|
1220
1259
|
type: Component,
|
|
1221
|
-
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]=\"showInlineForm ? 'form' : (itemRole$ | async)
|
|
1260
|
+
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]=\"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"] }]
|
|
1222
1261
|
}], ctorParameters: function () { return [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i4.SkyLibResourcesService }]; }, propDecorators: { tabindex: [{
|
|
1223
1262
|
type: HostBinding
|
|
1224
1263
|
}], disabled: [{
|
|
@@ -1275,18 +1314,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
1275
1314
|
args: ['keydown', ['$event']]
|
|
1276
1315
|
}] } });
|
|
1277
1316
|
|
|
1278
|
-
|
|
1317
|
+
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;
|
|
1279
1318
|
/**
|
|
1280
1319
|
* Creates a container to display repeater items.
|
|
1281
1320
|
*/
|
|
1282
1321
|
class SkyRepeaterComponent {
|
|
1283
1322
|
constructor(changeDetector, repeaterService, adapterService, dragulaService, elementRef, renderer) {
|
|
1284
|
-
this
|
|
1285
|
-
this.repeaterService = repeaterService;
|
|
1286
|
-
this.adapterService = adapterService;
|
|
1287
|
-
this.dragulaService = dragulaService;
|
|
1288
|
-
this.elementRef = elementRef;
|
|
1289
|
-
this.renderer = renderer;
|
|
1323
|
+
_SkyRepeaterComponent_instances.add(this);
|
|
1290
1324
|
/**
|
|
1291
1325
|
* Indicates whether users can change the order of items in the repeater list.
|
|
1292
1326
|
* Each repeater item also has `reorderable` property to indicate whether
|
|
@@ -1302,15 +1336,26 @@ class SkyRepeaterComponent {
|
|
|
1302
1336
|
* This event emits an ordered array of the `tag` properties that the consumer provides for each repeater item.
|
|
1303
1337
|
*/
|
|
1304
1338
|
this.orderChange = new EventEmitter();
|
|
1305
|
-
this
|
|
1306
|
-
this
|
|
1307
|
-
this
|
|
1308
|
-
this
|
|
1309
|
-
this
|
|
1310
|
-
|
|
1339
|
+
_SkyRepeaterComponent_adapterService.set(this, void 0);
|
|
1340
|
+
_SkyRepeaterComponent_changeDetector.set(this, void 0);
|
|
1341
|
+
_SkyRepeaterComponent_dragulaService.set(this, void 0);
|
|
1342
|
+
_SkyRepeaterComponent_elementRef.set(this, void 0);
|
|
1343
|
+
_SkyRepeaterComponent_renderer.set(this, void 0);
|
|
1344
|
+
_SkyRepeaterComponent_repeaterService.set(this, void 0);
|
|
1345
|
+
_SkyRepeaterComponent_ngUnsubscribe.set(this, new Subject());
|
|
1346
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_changeDetector, changeDetector, "f");
|
|
1347
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_repeaterService, repeaterService, "f");
|
|
1348
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_adapterService, adapterService, "f");
|
|
1349
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_dragulaService, dragulaService, "f");
|
|
1350
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_elementRef, elementRef, "f");
|
|
1351
|
+
__classPrivateFieldSet(this, _SkyRepeaterComponent_renderer, renderer, "f");
|
|
1352
|
+
this.dragulaGroupName = `sky-repeater-dragula-${__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").repeaterGroupId}`;
|
|
1353
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemCollapseStateChange
|
|
1354
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1311
1355
|
.subscribe((item) => {
|
|
1356
|
+
var _a;
|
|
1312
1357
|
if (this.expandMode === 'single' && item.isExpanded) {
|
|
1313
|
-
this.items.forEach((otherItem) => {
|
|
1358
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((otherItem) => {
|
|
1314
1359
|
if (otherItem !== item &&
|
|
1315
1360
|
otherItem.isExpanded &&
|
|
1316
1361
|
otherItem.isCollapsible) {
|
|
@@ -1319,23 +1364,22 @@ class SkyRepeaterComponent {
|
|
|
1319
1364
|
});
|
|
1320
1365
|
}
|
|
1321
1366
|
});
|
|
1322
|
-
this.
|
|
1323
|
-
.pipe(takeUntil(this
|
|
1367
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activeItemIndexChange
|
|
1368
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1324
1369
|
.subscribe((index) => {
|
|
1325
1370
|
if (index !== this.activeIndex) {
|
|
1326
1371
|
this.activeIndex = index;
|
|
1327
1372
|
this.activeIndexChange.emit(index);
|
|
1328
1373
|
}
|
|
1329
1374
|
});
|
|
1330
|
-
this.
|
|
1331
|
-
.pipe(takeUntil(this
|
|
1375
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").orderChange
|
|
1376
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1332
1377
|
.subscribe(() => {
|
|
1333
|
-
this.
|
|
1378
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
|
|
1334
1379
|
});
|
|
1335
|
-
this
|
|
1336
|
-
this.
|
|
1337
|
-
this.
|
|
1338
|
-
this.initializeDragAndDrop();
|
|
1380
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1381
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").setRepeaterHost(__classPrivateFieldGet(this, _SkyRepeaterComponent_elementRef, "f"));
|
|
1382
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_initializeDragAndDrop).call(this);
|
|
1339
1383
|
}
|
|
1340
1384
|
/**
|
|
1341
1385
|
* Specifies a layout to determine which repeater items are expanded by default and whether
|
|
@@ -1356,209 +1400,204 @@ class SkyRepeaterComponent {
|
|
|
1356
1400
|
* and users only occasionally need to view the body content.
|
|
1357
1401
|
* @default "none"
|
|
1358
1402
|
*/
|
|
1403
|
+
// TODO: Remove 'string' as a valid type in a breaking change.
|
|
1359
1404
|
set expandMode(value) {
|
|
1360
|
-
this.
|
|
1361
|
-
this
|
|
1362
|
-
this.updateForExpandMode();
|
|
1405
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode = value;
|
|
1406
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1363
1407
|
}
|
|
1364
1408
|
get expandMode() {
|
|
1365
|
-
return this
|
|
1409
|
+
return __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode;
|
|
1366
1410
|
}
|
|
1367
1411
|
ngAfterContentInit() {
|
|
1412
|
+
var _a;
|
|
1368
1413
|
// If activeIndex has been set on init, call service to activate the appropriate item.
|
|
1369
1414
|
setTimeout(() => {
|
|
1370
1415
|
if (this.activeIndex || this.activeIndex === 0) {
|
|
1371
|
-
this.
|
|
1416
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1372
1417
|
}
|
|
1373
|
-
if (this.reorderable && !this.
|
|
1418
|
+
if (this.reorderable && !__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_everyItemHasTag).call(this)) {
|
|
1374
1419
|
console.warn('Please supply tag properties for each repeater item when reordering functionality is enabled.');
|
|
1375
1420
|
}
|
|
1376
1421
|
});
|
|
1377
1422
|
// HACK: Not updating for expand mode in a timeout causes an error.
|
|
1378
1423
|
// https://github.com/angular/angular/issues/6005
|
|
1379
|
-
this.items.changes.pipe(takeUntil(this
|
|
1424
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.changes.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f"))).subscribe(() => {
|
|
1380
1425
|
setTimeout(() => {
|
|
1381
|
-
|
|
1382
|
-
|
|
1426
|
+
var _a;
|
|
1427
|
+
if ((_a = this.items) === null || _a === void 0 ? void 0 : _a.last) {
|
|
1428
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this, this.items.last);
|
|
1383
1429
|
this.items.last.reorderable = this.reorderable;
|
|
1384
1430
|
}
|
|
1385
1431
|
if (this.activeIndex !== undefined) {
|
|
1386
|
-
this.
|
|
1432
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1387
1433
|
}
|
|
1388
|
-
this.
|
|
1434
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1389
1435
|
});
|
|
1390
1436
|
});
|
|
1391
1437
|
setTimeout(() => {
|
|
1392
|
-
|
|
1393
|
-
this.
|
|
1438
|
+
var _a;
|
|
1439
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
|
|
1440
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
1394
1441
|
item.reorderable = this.reorderable;
|
|
1395
1442
|
});
|
|
1396
|
-
this.
|
|
1443
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1397
1444
|
}, 0);
|
|
1398
1445
|
}
|
|
1399
1446
|
ngOnChanges(changes) {
|
|
1400
1447
|
if (changes['activeIndex']) {
|
|
1401
|
-
this.
|
|
1448
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").enableActiveState = true;
|
|
1402
1449
|
if (changes['activeIndex'].currentValue !==
|
|
1403
1450
|
changes['activeIndex'].previousValue) {
|
|
1404
|
-
this.
|
|
1451
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
|
|
1405
1452
|
}
|
|
1406
1453
|
}
|
|
1407
1454
|
if (changes.reorderable) {
|
|
1408
1455
|
if (this.items) {
|
|
1409
1456
|
this.items.forEach((item) => (item.reorderable = this.reorderable));
|
|
1410
1457
|
}
|
|
1411
|
-
this.
|
|
1412
|
-
this.
|
|
1458
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1459
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
|
|
1413
1460
|
}
|
|
1414
1461
|
}
|
|
1415
1462
|
ngOnDestroy() {
|
|
1416
|
-
this.
|
|
1417
|
-
this.
|
|
1418
|
-
this.
|
|
1463
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").next();
|
|
1464
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").complete();
|
|
1465
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_destroyDragAndDrop).call(this);
|
|
1419
1466
|
}
|
|
1420
1467
|
ngOnInit() {
|
|
1421
|
-
this.
|
|
1468
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1422
1469
|
}
|
|
1423
1470
|
onCdkObserveContent() {
|
|
1424
|
-
this.
|
|
1425
|
-
}
|
|
1426
|
-
updateForExpandMode(itemAdded) {
|
|
1427
|
-
if (this.items) {
|
|
1428
|
-
let foundExpanded = false;
|
|
1429
|
-
const isCollapsible = this.expandMode !== 'none';
|
|
1430
|
-
const isSingle = this.expandMode === 'single';
|
|
1431
|
-
// Keep any newly-added expanded item expanded and collapse the rest.
|
|
1432
|
-
if (itemAdded && itemAdded.isExpanded) {
|
|
1433
|
-
foundExpanded = true;
|
|
1434
|
-
}
|
|
1435
|
-
this.items.forEach((item) => {
|
|
1436
|
-
item.isCollapsible = isCollapsible && !!item.hasItemContent;
|
|
1437
|
-
if (item !== itemAdded && isSingle && item.isExpanded) {
|
|
1438
|
-
if (foundExpanded) {
|
|
1439
|
-
item.updateForExpanded(false, false);
|
|
1440
|
-
}
|
|
1441
|
-
foundExpanded = true;
|
|
1442
|
-
}
|
|
1443
|
-
});
|
|
1444
|
-
this.updateRole();
|
|
1445
|
-
}
|
|
1471
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1446
1472
|
}
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
});
|
|
1473
|
+
}
|
|
1474
|
+
_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) {
|
|
1475
|
+
if (this.items) {
|
|
1476
|
+
let foundExpanded = false;
|
|
1477
|
+
const isCollapsible = this.expandMode !== 'none';
|
|
1478
|
+
const isSingle = this.expandMode === 'single';
|
|
1479
|
+
// Keep any newly-added expanded item expanded and collapse the rest.
|
|
1480
|
+
if (itemAdded && itemAdded.isExpanded) {
|
|
1481
|
+
foundExpanded = true;
|
|
1457
1482
|
}
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
/* istanbul ignore else */
|
|
1464
|
-
if (args.name === this.dragulaGroupName) {
|
|
1465
|
-
this.renderer.addClass(args.el, 'sky-repeater-item-dragging');
|
|
1466
|
-
draggedItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
|
|
1467
|
-
}
|
|
1468
|
-
});
|
|
1469
|
-
this.dragulaService
|
|
1470
|
-
.dragend(this.dragulaGroupName)
|
|
1471
|
-
.pipe(takeUntil(this.dragulaUnsubscribe))
|
|
1472
|
-
.subscribe((args) => {
|
|
1473
|
-
/* istanbul ignore else */
|
|
1474
|
-
if (args.name === this.dragulaGroupName) {
|
|
1475
|
-
this.renderer.removeClass(args.el, 'sky-repeater-item-dragging');
|
|
1476
|
-
const newItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
|
|
1477
|
-
/* sanity check */
|
|
1478
|
-
/* istanbul ignore else */
|
|
1479
|
-
if (draggedItemIndex >= 0) {
|
|
1480
|
-
this.repeaterService.reorderItem(draggedItemIndex, newItemIndex);
|
|
1481
|
-
draggedItemIndex = undefined;
|
|
1483
|
+
this.items.forEach((item) => {
|
|
1484
|
+
item.isCollapsible = isCollapsible && !!item.hasItemContent;
|
|
1485
|
+
if (item !== itemAdded && isSingle && item.isExpanded) {
|
|
1486
|
+
if (foundExpanded) {
|
|
1487
|
+
item.updateForExpanded(false);
|
|
1482
1488
|
}
|
|
1483
|
-
|
|
1489
|
+
foundExpanded = true;
|
|
1484
1490
|
}
|
|
1485
1491
|
});
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
emitTags() {
|
|
1498
|
-
const tags = this.repeaterService.items.map((item) => item.tag);
|
|
1499
|
-
this.orderChange.emit(tags);
|
|
1500
|
-
}
|
|
1501
|
-
everyItemHasTag() {
|
|
1502
|
-
/* sanity check */
|
|
1503
|
-
/* istanbul ignore if */
|
|
1504
|
-
if (!this.items || this.items.length === 0) {
|
|
1505
|
-
return false;
|
|
1506
|
-
}
|
|
1507
|
-
return this.items.toArray().every((item) => {
|
|
1508
|
-
return item.tag !== undefined;
|
|
1492
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
|
|
1493
|
+
}
|
|
1494
|
+
}, _SkyRepeaterComponent_initializeDragAndDrop = function _SkyRepeaterComponent_initializeDragAndDrop() {
|
|
1495
|
+
/* Sanity check that we haven't already set up dragging abilities */
|
|
1496
|
+
/* istanbul ignore else */
|
|
1497
|
+
if (!__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
|
|
1498
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").createGroup(this.dragulaGroupName, {
|
|
1499
|
+
moves: (el, container, handle) => {
|
|
1500
|
+
const target = el === null || el === void 0 ? void 0 : el.querySelector('.sky-repeater-item-grab-handle');
|
|
1501
|
+
return !!this.reorderable && !!target && target.contains(handle);
|
|
1502
|
+
},
|
|
1509
1503
|
});
|
|
1510
1504
|
}
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
list: { item: 'listitem', title: undefined, content: undefined },
|
|
1521
|
-
listbox: { item: 'option', title: undefined, content: undefined },
|
|
1522
|
-
grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
|
|
1523
|
-
};
|
|
1524
|
-
// Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
|
|
1525
|
-
const interactionSelector = [
|
|
1526
|
-
'a[href]',
|
|
1527
|
-
'audio[controls]',
|
|
1528
|
-
'button',
|
|
1529
|
-
'details',
|
|
1530
|
-
'embed',
|
|
1531
|
-
'iframe',
|
|
1532
|
-
'img[usemap]',
|
|
1533
|
-
'input:not([type="hidden"])',
|
|
1534
|
-
'label',
|
|
1535
|
-
'select',
|
|
1536
|
-
'textarea',
|
|
1537
|
-
'video[controls]',
|
|
1538
|
-
'[contenteditable]',
|
|
1539
|
-
'.sky-repeater[role="grid"]',
|
|
1540
|
-
]
|
|
1541
|
-
.map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
|
|
1542
|
-
.concat([`skyux-dropdown`])
|
|
1543
|
-
.join(', ');
|
|
1544
|
-
const hasInteraction = this.reorderable ||
|
|
1545
|
-
((_a = this.items) === null || _a === void 0 ? void 0 : _a.some((item) => item.isCollapsible)) ||
|
|
1546
|
-
!!this.elementRef.nativeElement.querySelector(interactionSelector);
|
|
1547
|
-
if (hasInteraction) {
|
|
1548
|
-
// If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid
|
|
1549
|
-
autoRole = 'grid';
|
|
1550
|
-
}
|
|
1551
|
-
else if ((_b = this.items) === null || _b === void 0 ? void 0 : _b.some((item) => item.selectable)) {
|
|
1552
|
-
// If the only interaction is select https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox
|
|
1553
|
-
autoRole = 'listbox';
|
|
1505
|
+
let draggedItemIndex = -1;
|
|
1506
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
|
|
1507
|
+
.drag(this.dragulaGroupName)
|
|
1508
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1509
|
+
.subscribe((args) => {
|
|
1510
|
+
/* istanbul ignore else */
|
|
1511
|
+
if (args.name === this.dragulaGroupName) {
|
|
1512
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").addClass(args.el, 'sky-repeater-item-dragging');
|
|
1513
|
+
draggedItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
|
|
1554
1514
|
}
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1515
|
+
});
|
|
1516
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
|
|
1517
|
+
.dragend(this.dragulaGroupName)
|
|
1518
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
|
|
1519
|
+
.subscribe((args) => {
|
|
1520
|
+
/* istanbul ignore else */
|
|
1521
|
+
if (args.name === this.dragulaGroupName) {
|
|
1522
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").removeClass(args.el, 'sky-repeater-item-dragging');
|
|
1523
|
+
const newItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
|
|
1524
|
+
/* sanity check */
|
|
1525
|
+
/* istanbul ignore else */
|
|
1526
|
+
if (draggedItemIndex >= 0) {
|
|
1527
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").reorderItem(draggedItemIndex, newItemIndex);
|
|
1528
|
+
draggedItemIndex = -1;
|
|
1529
|
+
}
|
|
1530
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
|
|
1559
1531
|
}
|
|
1532
|
+
});
|
|
1533
|
+
}, _SkyRepeaterComponent_destroyDragAndDrop = function _SkyRepeaterComponent_destroyDragAndDrop() {
|
|
1534
|
+
/* Sanity check that we have set up dragging abilities */
|
|
1535
|
+
/* istanbul ignore else */
|
|
1536
|
+
if (__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
|
|
1537
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").destroy(this.dragulaGroupName);
|
|
1538
|
+
}
|
|
1539
|
+
}, _SkyRepeaterComponent_emitTags = function _SkyRepeaterComponent_emitTags() {
|
|
1540
|
+
const tags = __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").items.map((item) => item.tag);
|
|
1541
|
+
this.orderChange.emit(tags);
|
|
1542
|
+
}, _SkyRepeaterComponent_everyItemHasTag = function _SkyRepeaterComponent_everyItemHasTag() {
|
|
1543
|
+
/* sanity check */
|
|
1544
|
+
/* istanbul ignore if */
|
|
1545
|
+
if (!this.items || this.items.length === 0) {
|
|
1546
|
+
return false;
|
|
1547
|
+
}
|
|
1548
|
+
return this.items.toArray().every((item) => {
|
|
1549
|
+
return item.tag !== undefined;
|
|
1550
|
+
});
|
|
1551
|
+
}, _SkyRepeaterComponent_updateRole = function _SkyRepeaterComponent_updateRole() {
|
|
1552
|
+
var _a, _b;
|
|
1553
|
+
// Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/
|
|
1554
|
+
// 1. If there are one or more interactions in the repeater item projected content, use grid.
|
|
1555
|
+
// 2. If there are selectable repeater items and no other interactions, use listbox.
|
|
1556
|
+
// 3. If there are no interactions, use list.
|
|
1557
|
+
// Default to list role.
|
|
1558
|
+
let autoRole = 'list';
|
|
1559
|
+
const roleMap = {
|
|
1560
|
+
list: { item: 'listitem', title: undefined, content: undefined },
|
|
1561
|
+
listbox: { item: 'option', title: undefined, content: undefined },
|
|
1562
|
+
grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
|
|
1563
|
+
};
|
|
1564
|
+
// Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
|
|
1565
|
+
const interactionSelector = [
|
|
1566
|
+
'a[href]',
|
|
1567
|
+
'audio[controls]',
|
|
1568
|
+
'button',
|
|
1569
|
+
'details',
|
|
1570
|
+
'embed',
|
|
1571
|
+
'iframe',
|
|
1572
|
+
'img[usemap]',
|
|
1573
|
+
'input:not([type="hidden"])',
|
|
1574
|
+
'label',
|
|
1575
|
+
'select',
|
|
1576
|
+
'textarea',
|
|
1577
|
+
'video[controls]',
|
|
1578
|
+
'[contenteditable]',
|
|
1579
|
+
'.sky-repeater[role="grid"]',
|
|
1580
|
+
]
|
|
1581
|
+
.map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
|
|
1582
|
+
.concat([`skyux-dropdown`])
|
|
1583
|
+
.join(', ');
|
|
1584
|
+
const hasInteraction = this.reorderable ||
|
|
1585
|
+
((_a = this.items) === null || _a === void 0 ? void 0 : _a.some((item) => item.isCollapsible)) ||
|
|
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
|
+
else if ((_b = this.items) === null || _b === void 0 ? void 0 : _b.some((item) => !!item.selectable)) {
|
|
1592
|
+
// If the only interaction is select https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox
|
|
1593
|
+
autoRole = 'listbox';
|
|
1594
|
+
}
|
|
1595
|
+
if (this.role !== autoRole) {
|
|
1596
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemRole.next(Object.assign({}, roleMap[autoRole]));
|
|
1597
|
+
this.role = `${autoRole}`;
|
|
1598
|
+
__classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
|
|
1560
1599
|
}
|
|
1561
|
-
}
|
|
1600
|
+
};
|
|
1562
1601
|
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 });
|
|
1563
1602
|
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 });
|
|
1564
1603
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterComponent, decorators: [{
|