Ignite UI for Angular Action Strip 구성 요소는 하나 이상의 작업을 포함하는 오버레이 영역을 제공하여 사용자 상호 작용(예: 호버링) 시 특정 대상 컨테이너 위에 추가 UI 및 기능을 표시할 수 있습니다. 컨테이너는 Action Strip이 오버레이를 시도할 때 상대적으로 배치되어야 하며 그 자체로 절대적으로 배치됩니다. Action Strip에 의해 겹쳐지더라도 대상 컨테이너에 대한 기본 상호 작용 및 사용자 액세스는 계속 사용할 수 있습니다.
<divclass="parent" (mouseenter)="actionStrip.show()" (mouseleave)="actionStrip.hide()"><p #myParagraph>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi non nibh eu libero commodo posuere at id augue.
Morbi nec justo enim. Sed placerat fringilla quam in pharetra. Pellentesque imperdiet lorem quis sem bibendum
molestie. Aliquam fringilla tellus nec convallis sodales. Suspendisse a eros accumsan, mattis mauris id,
malesuada nibh. Maecenas eget augue faucibus, euismod arcu sit amet, tempus nisi. Sed tellus nisl, luctus vitae
vestibulum ac, vehicula non ex. Donec condimentum rhoncus enim, et efficitur tortor faucibus sed. Integer at
mauris facilisis mauris condimentum bibendum. Maecenas eget lacus dolor. Etiam pulvinar, sapien vitae fermentum
interdum, nunc justo facilisis est, eu ullamcorper dolor lectus sit amet nisl. Quisque aliquam urna ut leo
mollis luctus. Morbi lacinia orci augue, sed blandit est ornare placerat. Cras a ante nec mauris euismod aliquam
vel pulvinar urna. Morbi tincidunt fringilla tortor, at ultricies neque rhoncus ac.
</p><igx-action-strip #actionStripclass="my-action-strip" [hidden]="true"><igx-buttongroup [selectionMode]="'multi'"class="buttons"><buttonigxButton (click)="makeTextBold()"><igx-icon>format_bold</igx-icon></button><buttonigxButton (click)="makeTextItalic()"><igx-icon>format_italic</igx-icon></button><buttonigxButton (click)="makeTextUnderlined()"><igx-icon>format_underlined</igx-icon></button></igx-buttongroup></igx-action-strip></div>html
기본적으로 액션 스트립은 표시되지만 hidden @Input 속성을 통해 구성할 수 있습니다.
메뉴 모양과 느낌
3개 이상의 작업 항목이 표시되는 시나리오의 경우 IgxActionStripMenuItem 지시어를 사용하는 것이 가장 좋습니다. *igxActionStripMenuItem 구조 지시문으로 표시된 액션 스트립 내의 모든 항목은 드롭다운에 표시되며, 더보기 버튼을 전환하면 표시됩니다. 즉, 마지막 액션을 나타내는 세 개의 점입니다.
<divclass="parent" (mouseenter)="actionStrip.show()" (mouseleave)="onMouseLeave($event)"><p #myParagraph>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi non nibh eu libero commodo posuere at id augue.
Morbi nec justo enim. Sed placerat fringilla quam in pharetra. Pellentesque imperdiet lorem quis sem bibendum
molestie. Aliquam fringilla tellus nec convallis sodales. Suspendisse a eros accumsan, mattis mauris id,
malesuada nibh. Maecenas eget augue faucibus, euismod arcu sit amet, tempus nisi. Sed tellus nisl, luctus vitae
vestibulum ac, vehicula non ex. Donec condimentum rhoncus enim, et efficitur tortor faucibus sed. Integer at
mauris facilisis mauris condimentum bibendum. Maecenas eget lacus dolor. Etiam pulvinar, sapien vitae fermentum
interdum, nunc justo facilisis est, eu ullamcorper dolor lectus sit amet nisl. Quisque aliquam urna ut leo
mollis luctus. Morbi lacinia orci augue, sed blandit est ornare placerat. Cras a ante nec mauris euismod aliquam
vel pulvinar urna. Morbi tincidunt fringilla tortor, at ultricies neque rhoncus ac.
</p><igx-action-stripclass="my-action-strip" #actionStrip [hidden]="true"><div *igxActionStripMenuItemclass="menu-button" (click)="alignTextLeft()"igxRipple><igx-icon>format_align_left</igx-icon><span>Left</span></div><div *igxActionStripMenuItemclass="menu-button" (click)="alignTextCenter()"igxRipple><igx-icon>format_align_center</igx-icon><span>Center</span></div><div *igxActionStripMenuItemclass="menu-button" (click)="alignTextRight()"igxRipple><igx-icon>format_align_right</igx-icon><span>Right</span></div></igx-action-strip></div>html
작업이 동시에 표시될 필요가 없는 한 동일한 작업 스트립 인스턴스를 문서의 여러 위치에서 사용할 수 있습니다. 액션 스트립은 상위 컨테이너를 변경할 수 있으며 이는 context 변경하여 가능합니다. 이를 수행하는 가장 좋은 방법은 show API 메소드를 통해 context를 인수로 전달하는 것입니다. context 구성 요소의 인스턴스여야 하며 ElementRef 유형의 액세스 가능한 element 속성을 가지고 있어야 합니다.
<igx-grid [data]="data" [rowEditable]="true" [primaryKey]="'ID'"><igx-column *ngFor="let c of columns" [field]="c.field"></igx-column><igx-action-strip #actionStrip><igx-grid-pinning-actions></igx-grid-pinning-actions><igx-grid-editing-actions></igx-grid-editing-actions></igx-action-strip></igx-grid>html
이러한 구성 요소는 IgxGridActionsBaseDirective 상속하며 사용자 정의 그리드 작업 구성 요소를 생성할 때 IgxGridActionsBaseDirective도 상속해야 합니다.
IgxActionStripComponent 그리드의 하위 구성요소인 경우 행에 마우스를 올리면 자동으로 UI가 표시됩니다.
그리드 구성 요소에서 ActionStrip을 사용하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
스타일링
액션 스트립을 사용자 정의하려면 먼저 모든 스타일링 기능과 믹스인이 있는 index 파일을 가져와야 합니다.
@use"igniteui-angular/theming" as *;
// IMPORTANT: Prior to Ignite UI for Angular version 13 use:// @import '~igniteui-angular/lib/core/styles/themes/index';scss
다음으로 action-strip-theme 확장하고 변경하려는 매개변수를 전달하는 새 테마를 만들어야 합니다.
<divclass="parent" (mouseenter)="actionStrip.show()" (mouseleave)="actionStrip.hide()"><p #myParagraph>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi non nibh eu libero commodo posuere at id augue.
Morbi nec justo enim. Sed placerat fringilla quam in pharetra. Pellentesque imperdiet lorem quis sem bibendum
molestie. Aliquam fringilla tellus nec convallis sodales. Suspendisse a eros accumsan, mattis mauris id,
malesuada nibh. Maecenas eget augue faucibus, euismod arcu sit amet, tempus nisi. Sed tellus nisl, luctus vitae
vestibulum ac, vehicula non ex. Donec condimentum rhoncus enim, et efficitur tortor faucibus sed. Integer at
mauris facilisis mauris condimentum bibendum. Maecenas eget lacus dolor. Etiam pulvinar, sapien vitae fermentum
interdum, nunc justo facilisis est, eu ullamcorper dolor lectus sit amet nisl. Quisque aliquam urna ut leo
mollis luctus. Morbi lacinia orci augue, sed blandit est ornare placerat. Cras a ante nec mauris euismod aliquam
vel pulvinar urna. Morbi tincidunt fringilla tortor, at ultricies neque rhoncus ac.
</p><igx-action-stripclass="my-action-strip" #actionStrip [hidden]="true"><buttonigxButton (click)="textRestore()"><igx-icon>restore</igx-icon></button><buttonigxButton (click)="textDelete()"><igx-icon>delete</igx-icon></button></igx-action-strip></div>html