UNPKG

1.48 kBPlain TextView Raw
1import { FrameGrid, FrameGridOptions } from "@egjs/grid";
2import InfiniteGrid from "../InfiniteGrid";
3import { InfiniteGridOptions } from "../types";
4import { InfiniteGridGetterSetter } from "../utils";
5
6/**
7 * @typedef
8 * @extends InfiniteGridOptions
9 * @extends Grid.FrameGrid.FrameGridOptions
10 */
11export interface FrameInfiniteGridOptions extends FrameGridOptions, InfiniteGridOptions {
12}
13
14/**
15 * 'Frame' is a printing term with the meaning that 'it fits in one row wide'. FrameInfiniteGrid is a grid that the item is filled up on the basis of a line given a size.
16 * @ko 'Frame'는 '1행의 너비에 맞게 꼭 들어찬'이라는 의미를 가진 인쇄 용어다. FrameInfiniteGrid는 용어의 의미대로 너비가 주어진 사이즈를 기준으로 아이템이 가득 차도록 배치하는 Grid다.
17 * @param {HTMLElement | string} container - A base element for a module <ko>모듈을 적용할 기준 엘리먼트</ko>
18 * @param {FrameInfiniteGridOptions} options - The option object of the FrameInfiniteGrid module <ko>FrameGrid 모듈의 옵션 객체</ko>
19 */
20@InfiniteGridGetterSetter
21export class FrameInfiniteGrid extends InfiniteGrid<FrameInfiniteGridOptions> {
22 public static propertyTypes = {
23 ...InfiniteGrid.propertyTypes,
24 ...FrameGrid.propertyTypes,
25 };
26 public static defaultOptions: Required<FrameInfiniteGridOptions> = {
27 ...InfiniteGrid.defaultOptions,
28 ...FrameGrid.defaultOptions,
29 gridConstructor: FrameGrid,
30 } as const;
31}