com.sweaxizone.metro
    Preparing search index...

    Class Core

    Live tiles core implementation.

    Hierarchy

    • SAEventTarget
      • Core
    Index

    Constructors

    • Constructs a Core instance.

      Parameters

      • params: {
            checkEnabled?: boolean;
            classNames: CoreClassNames;
            container: HTMLDivElement;
            direction: CoreDirection;
            dragEnabled?: boolean;
            groupGap: number;
            groupHeight?: number;
            groupWidth?: number;
            inlineGroups?: number;
            labelHeight: number;
            renamingGroupsEnabled?: boolean;
            rtl?: boolean;
            size1x1: number;
            tileGap: number;
        }
        • OptionalcheckEnabled?: boolean

          Whether checking tiles is enabled.

          true
          
        • classNames: CoreClassNames

          Specific class names to target for.

        • container: HTMLDivElement

          Container.

        • direction: CoreDirection

          The direction of the live tile layout.

        • OptionaldragEnabled?: boolean

          Whether drag-n-drop is enabled.

          true
          
        • groupGap: number

          Gap between groups in logical pixels.

        • OptionalgroupHeight?: number

          Height in 1x1 tiles, effective only in a horizontal layout (must be >= 4).

          6
          
        • OptionalgroupWidth?: number

          Group width in 1x1 tiles, effective only in a vertical layout (must be >= 4).

          6
          
        • OptionalinlineGroups?: number

          Number of inline groups, effective only in a vertical layout (must be >= 1).

          1
          
        • labelHeight: number

          Group label height in logical pixels.

        • OptionalrenamingGroupsEnabled?: boolean

          Whether renaming groups is enabled.

          true
          
        • Optionalrtl?: boolean

          Whether to use right-to-left group label inputs.

          false
          
        • size1x1: number

          The size of a 1x1 tile in logical pixels.

        • tileGap: number

          Gap between tiles in logical pixels.

      Returns Core

    Properties

    "[EventRecord]": {
        bulkChange: CustomEvent<BulkChange>;
        checkedChange: CustomEvent<{ tiles: string[] }>;
        click: CustomEvent<{ tile: string }>;
        contextMenu: CustomEvent<
            { clientX: number; clientY: number; tile: string },
        >;
        dragEnd: CustomEvent<{ dnd: HTMLElement; id: string }>;
        dragMove: CustomEvent<{ dnd: HTMLElement; id: string }>;
        dragStart: CustomEvent<{ dnd: HTMLElement; id: string }>;
        groupContextMenu: CustomEvent<
            { clientX: number; clientY: number; group: string; original: Event },
        >;
        groupDragEnd: CustomEvent<{ element: HTMLDivElement; id: string }>;
        groupDragMove: CustomEvent<{ element: HTMLDivElement; id: string }>;
        groupDragStart: CustomEvent<{ element: HTMLDivElement; id: string }>;
        renameGroup: CustomEvent<{ id: string; label: string }>;
        reorderGroups: CustomEvent<Map<number, string>>;
    }

    Type Declaration

    • bulkChange: CustomEvent<BulkChange>

      Bulk change event.

    • checkedChange: CustomEvent<{ tiles: string[] }>

      Event indicating which tiles are currently checked.

    • click: CustomEvent<{ tile: string }>

      Event that dispatches when a tile is clicked.

    • contextMenu: CustomEvent<{ clientX: number; clientY: number; tile: string }>

      Event that dispatches when right click occurs in a tile. Default behavior is prevented beforehand.

    • dragEnd: CustomEvent<{ dnd: HTMLElement; id: string }>

      Tile's drag start event.

    • dragMove: CustomEvent<{ dnd: HTMLElement; id: string }>

      Tile's drag move event.

    • dragStart: CustomEvent<{ dnd: HTMLElement; id: string }>

      Tile's drag start event.

    • groupContextMenu: CustomEvent<
          { clientX: number; clientY: number; group: string; original: Event },
      >

      Event that dispatches when right click occurs in a group's label. Default behavior is not prevented beforehand.

    • groupDragEnd: CustomEvent<{ element: HTMLDivElement; id: string }>

      Group's drag start event.

    • groupDragMove: CustomEvent<{ element: HTMLDivElement; id: string }>

      Group's drag move event.

    • groupDragStart: CustomEvent<{ element: HTMLDivElement; id: string }>

      Group's drag start event.

    • renameGroup: CustomEvent<{ id: string; label: string }>

      Rename group event.

    • reorderGroups: CustomEvent<Map<number, string>>

      Reorder groups event. (index => groupId)

    Accessors

    • get groupHeight(): number

      Group height in 1x1 tiles, effective only in a horizontal layout (must be >= 4).

      Returns number

    • set groupHeight(val: number): void

      Parameters

      • val: number

      Returns void

    • get groupWidth(): number

      Group width in 1x1 tiles, effective only in a vertical layout (must be >= 4).

      Returns number

    • set groupWidth(val: number): void

      Parameters

      • val: number

      Returns void

    • get inlineGroups(): number

      Number of inline groups, effective only in a vertical layout. (Must be >= 1.)

      Returns number

    • set inlineGroups(val: number): void

      Parameters

      • val: number

      Returns void

    Methods

    • Sets whether a tile is checked or not.

      Parameters

      • tileId: string
      • value: boolean

      Returns void

    • Destroys the Core instance, disposing of any observers and handlers.

      Parameters

      • removeFromDOM: boolean = true

      Returns void

    • Detects a node (tile or group) and checks if it has changed, re-positioning and rearranging things up, transferring group or removing item.

      Parameters

      • node: HTMLElement

      Returns void

    • Type Parameters

      • K extends
            | "contextMenu"
            | "click"
            | "bulkChange"
            | "dragStart"
            | "dragMove"
            | "dragEnd"
            | "groupDragStart"
            | "groupDragMove"
            | "groupDragEnd"
            | "reorderGroups"
            | "checkedChange"
            | "groupContextMenu"
            | "renameGroup"
      • C extends new (type: K) => EventResult
      • EventResult extends
            | CustomEvent<BulkChange>
            | CustomEvent<Map<number, string>>
            | CustomEvent<{ tile: string }>
            | CustomEvent<{ clientX: number; clientY: number; tile: string }>
            | CustomEvent<
                { clientX: number; clientY: number; group: string; original: Event },
            >
            | CustomEvent<{ id: string; label: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ tiles: string[] }>

      Parameters

      • type: K
      • constructor: C

      Returns boolean

    • Type Parameters

      • K extends
            | "contextMenu"
            | "click"
            | "bulkChange"
            | "dragStart"
            | "dragMove"
            | "dragEnd"
            | "groupDragStart"
            | "groupDragMove"
            | "groupDragEnd"
            | "reorderGroups"
            | "checkedChange"
            | "groupContextMenu"
            | "renameGroup"
      • C extends new (type: K, options: O) => EventResult
      • O
      • EventResult extends
            | CustomEvent<BulkChange>
            | CustomEvent<Map<number, string>>
            | CustomEvent<{ tile: string }>
            | CustomEvent<{ clientX: number; clientY: number; tile: string }>
            | CustomEvent<
                { clientX: number; clientY: number; group: string; original: Event },
            >
            | CustomEvent<{ id: string; label: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ dnd: HTMLElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ element: HTMLDivElement; id: string }>
            | CustomEvent<{ tiles: string[] }>

      Parameters

      • type: K
      • constructor: C
      • options: O

      Returns boolean

    • Parameters

      • event: Event

      Returns boolean

    • Returns the number of inline groups available for the given width (either in px or rem). Applies to a vertical layout only.

      Parameters

      • width: string

      Returns number

      If not in a vertical layout.

    • Type Parameters

      • K extends
            | "contextMenu"
            | "click"
            | "bulkChange"
            | "dragStart"
            | "dragMove"
            | "dragEnd"
            | "groupDragStart"
            | "groupDragMove"
            | "groupDragEnd"
            | "reorderGroups"
            | "checkedChange"
            | "groupContextMenu"
            | "renameGroup"

      Parameters

      • type: K
      • listener: (
            e: {
                bulkChange: CustomEvent<BulkChange>;
                checkedChange: CustomEvent<{ tiles: string[] }>;
                click: CustomEvent<{ tile: string }>;
                contextMenu: CustomEvent<
                    { clientX: number; clientY: number; tile: string },
                >;
                dragEnd: CustomEvent<{ dnd: HTMLElement; id: string }>;
                dragMove: CustomEvent<{ dnd: HTMLElement; id: string }>;
                dragStart: CustomEvent<{ dnd: HTMLElement; id: string }>;
                groupContextMenu: CustomEvent<
                    { clientX: number; clientY: number; group: string; original: Event },
                >;
                groupDragEnd: CustomEvent<{ element: HTMLDivElement; id: string }>;
                groupDragMove: CustomEvent<{ element: HTMLDivElement; id: string }>;
                groupDragStart: CustomEvent<{ element: HTMLDivElement; id: string }>;
                renameGroup: CustomEvent<{ id: string; label: string }>;
                reorderGroups: CustomEvent<Map<number, string>>;
            }[K] extends Event
                ? any[any]
                : never,
        ) => void
        | undefined
      • Optionaloptions: boolean | SAOffEventOptions

      Returns void

    • Parameters

      • type: string
      • listener: (e: Event) => void | undefined
      • Optionaloptions: boolean | SAOffEventOptions

      Returns void

    • Type Parameters

      • K extends
            | "contextMenu"
            | "click"
            | "bulkChange"
            | "dragStart"
            | "dragMove"
            | "dragEnd"
            | "groupDragStart"
            | "groupDragMove"
            | "groupDragEnd"
            | "reorderGroups"
            | "checkedChange"
            | "groupContextMenu"
            | "renameGroup"

      Parameters

      • type: K
      • listener: (
            e: {
                bulkChange: CustomEvent<BulkChange>;
                checkedChange: CustomEvent<{ tiles: string[] }>;
                click: CustomEvent<{ tile: string }>;
                contextMenu: CustomEvent<
                    { clientX: number; clientY: number; tile: string },
                >;
                dragEnd: CustomEvent<{ dnd: HTMLElement; id: string }>;
                dragMove: CustomEvent<{ dnd: HTMLElement; id: string }>;
                dragStart: CustomEvent<{ dnd: HTMLElement; id: string }>;
                groupContextMenu: CustomEvent<
                    { clientX: number; clientY: number; group: string; original: Event },
                >;
                groupDragEnd: CustomEvent<{ element: HTMLDivElement; id: string }>;
                groupDragMove: CustomEvent<{ element: HTMLDivElement; id: string }>;
                groupDragStart: CustomEvent<{ element: HTMLDivElement; id: string }>;
                renameGroup: CustomEvent<{ id: string; label: string }>;
                reorderGroups: CustomEvent<Map<number, string>>;
            }[K] extends Event
                ? any[any]
                : never,
        ) => void
        | undefined
      • Optionaloptions: boolean | SAOnEventOptions

      Returns void

    • Parameters

      • type: string
      • listener: (e: Event) => void | undefined
      • Optionaloptions: boolean | SAOnEventOptions

      Returns void

    • Rearranges the layout when the minimum scale to make it work is reached.

      Calling this method may be necessary if the container is initially scaled to zero.

      Returns AbortController