UNPKG

dockview-core

Version:

Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript

31 lines (30 loc) 1.55 kB
/** Where a drop position lands, phrased for the *edge prompt*. */ function edgeWhere(position, target) { return position === 'center' ? `Tab into ${target}` : `Split ${position} of ${target}`; } /** Where a drop position landed, phrased for the *commit* sentence. */ function committedWhere(position, target) { return position === 'center' ? `docked into ${target}` : `split ${position} of ${target}`; } export const DEFAULT_MESSAGES = { panelOpened: (title) => `${title} opened`, panelClosed: (title) => `${title} closed`, groupMaximized: (title) => `${title} maximized`, groupRestored: (title) => `${title} restored`, groupFloated: (title) => `${title} floated`, groupDocked: (title) => `${title} docked`, groupPoppedOut: (title) => `${title} opened in a new window`, movePickTarget: (source, target, current, total) => `Moving ${source}. Target ${target}, ${current} of ${total}. Enter to choose where, Escape to cancel.`, movePickEdge: (position, target) => `${edgeWhere(position, target)}. Arrows to change, Enter to confirm, Escape to go back.`, moveCommitted: (source, target, position) => `${source} ${committedWhere(position, target)}.`, moveCancelled: () => `Move cancelled.`, moveNotAllowed: () => `That move is not allowed.`, }; /** Merge an app's partial overrides over the English defaults. */ export function resolveMessages(overrides) { return overrides ? Object.assign(Object.assign({}, DEFAULT_MESSAGES), overrides) : DEFAULT_MESSAGES; }