Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Slate Container 위젯

Container는 Basic, Dialog, Flex, Repeating, Split horizontally, Split vertically와 Tabbed 구성을 제공합니다. 위젯을 묶고 배치하거나 대화상자와 탭을 만듭니다.

공통 속성

아래 표에서 별도 표시가 없는 속성은 편집자가 구성하는 설정값입니다. 내부 배열 tabContents의 관리 방식은 속성표 뒤의 편집 절차를 따릅니다.

속성자료형필수역할과 변경 방식
flexBoolean예자식 위젯의 자동 정렬과 공간 분배를 사용합니다. 직접 설정합니다.
flexOptionsIFlexOptions아니요자식의 정렬 옵션입니다. 직접 설정합니다.
lazyRenderingEnabledBoolean예보이는 자식 위젯만 렌더링합니다. 직접 설정합니다.
selectedTabIndexNumber예현재 표시하는 탭의 0부터 시작하는 인덱스입니다. 직접 설정합니다.
tabContents{children: IWidgetModel[]}[]예각 탭의 위젯을 담는 내부 배열입니다.
tabTitlesITabTitle[]예각 탭의 제목입니다. 직접 설정합니다.
titlesEnabledBoolean예클릭 가능한 탭 제목을 위에 표시합니다. 직접 설정합니다.
scrollingEnabledBoolean예넘친 내용을 스크롤할 수 있게 합니다. 직접 설정합니다.
splitDirectionNumber예Container를 나누는 방향입니다. 직접 설정합니다.
splitMovableInConsumerModeBoolean예사용 모드에서 분할 크기를 조정할 수 있는지 정합니다.
splitPanelBoolean예분할 Container 안의 패널인지 나타내는 내부 값이며 사용자 상호작용으로 갱신됩니다.
repeatNumber아니요내용을 반복할 횟수입니다. 직접 설정합니다.
repeatingBoolean예반복형 Container인지 정합니다.
previewRepeatingBoolean아니요반복형 Container의 미리보기 여부입니다.

ITabTitle의 필수 title은 String입니다.

IFlexOptions

속성자료형필수역할과 기본값
justifyContentString예주축의 배치입니다. 가로 Flex는 Left, 세로 Flex는 Top이 기본입니다.
flexDirectionString예주축 방향입니다. 기본값은 Horizontally입니다.
flexWrapString예여러 줄로 넘겨 배치할지 정합니다. 기본 UI 상태는 선택하지 않음입니다.

위젯을 Container 안팎으로 끌어 현재 선택한 탭에 넣거나 뺍니다. tabContents는 Raw 탭에서 지원하는 편집 대상이 아니므로 직접 수정하거나 사용자 상호작용 값으로 갱신하지 않습니다.

탭 구성 예

다음은 기본 단일 탭 구성의 구조이며 제목을 숨깁니다. children은 편집기의 드래그 배치로 관리합니다.

{
  "selectedTabIndex":0,
  "tabContents":[{"children":[]}],
  "tabTitles":[{"title":"Title"}],
  "titlesEnabled":false
}

탭 세 개의 제목을 보이고 두 번째 탭을 선택한 구성은 다음과 같습니다.

{
  "selectedTabIndex":1,
  "tabContents":[{"children":[]},{"children":[]},{"children":[]}],
  "tabTitles":[{"title":"Title 1"},{"title":"Title 2"},{"title":"Title 3"}],
  "titlesEnabled":true
}

다른 위젯이 선택값을 정한다면 위의 탭 구성을 유지하고 selectedTabIndex를 "{{w8.selectedValue}}", titlesEnabled를 false로 설정합니다. 이 경우 w8.selectedValue는 0, 1 또는 2의 숫자를 제공해야 합니다.

Dialog

속성자료형필수역할
titleString아니요대화상자 제목입니다.
canEscapeKeyCloseBoolean예Escape 키로 닫을 수 있습니다.
canOutsideClickCloseBoolean예바깥 overlay를 클릭하여 닫을 수 있습니다.

open과 close 액션으로 열고 닫습니다. 완전히 열린 뒤 opened, 완전히 닫힌 뒤 closed 이벤트가 발생합니다. Slate 이벤트에 필요한 동작을 연결합니다.

Container와 canvas 스타일

Container의 배경과 좌우 테두리 설정 예입니다.

sl-app-container {
  background: lightgrey;
  border-left: none;
  border-right: none;
}

앱 canvas 자체의 배경은 Local stylesheet에서 div.canvas-body와 background-color를 사용합니다. Container의 sl-app-container 선택기와 대상이 다릅니다.

탭 스타일

sl-app-container table.container-titles tbody tr td.tab-title {
  color: #2786c1;
  text-transform: uppercase;
  border-left: none;
  border-right: none;
}

sl-app-container table.container-titles tbody tr td.tab-title:hover {
  text-decoration: none;
}

sl-app-container table.container-titles tbody tr td.tab-title.selected {
  color: #394B59;
  border-bottom: 4px solid #2786C1;
}

sl-app-container table.container-titles tbody tr td.tab-title:last-child {
  border-left: none;
  border-right: none;
}

위 규칙은 순서대로 일반 탭, hover, 선택된 탭과 마지막 탭을 다룹니다.

복잡한 중첩, 숨김과 반응형 배치는 레이아웃 구성을 따릅니다.