mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-10-25 02:34:51 +00:00
* wip * bump misskey-dev/eslint-plugin * lint fixes (backend) * lint fixes (frontend) * lint fixes (frontend-embed) * rollback nsfwjs to 4.2.0 ref: infinitered/nsfwjs#904 * rollback openapi-typescript to v6 v7でOpenAPIのバリデーションが入るようになった関係でスコープ外での変更が避けられないため一時的に戻した * lint fixes (misskey-js) * temporarily disable errored lint rule (frontend-shared) * fix lint * temporarily ignore errored file for lint (frontend-shared) * rollback simplewebauthn/server to 12.0.0 v13 contains breaking changes that require some decision making * lint fixes (frontend-shared) * build misskey-js with types * fix(backend): migrate simplewebauthn/server to v12 * fix(misskey-js/autogen): ignore indent rules to generate consistent output * attempt to fix test changes due to capricorn86/happy-dom#1617 (XMLSerializer now produces valid XML) * attempt to fix test changes due to capricorn86/happy-dom#1617 (XMLSerializer now produces valid XML) * fix test * fix test * fix test * Apply suggestions from code review Co-authored-by: anatawa12 <anatawa12@icloud.com> * bump summaly to v5.2.0 * update tabler-icons to v3.30.0-based --------- Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> Co-authored-by: anatawa12 <anatawa12@icloud.com>
68 lines
1.6 KiB
TypeScript
68 lines
1.6 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import type { AdditionalStyle } from '@/components/grid/grid.js';
|
|
import type { GridCell } from '@/components/grid/cell.js';
|
|
import type { GridColumn } from '@/components/grid/column.js';
|
|
import type { MenuItem } from '@/types/menu.js';
|
|
import type { GridContext } from '@/components/grid/grid-event.js';
|
|
|
|
export const defaultGridRowSetting: Required<GridRowSetting> = {
|
|
showNumber: true,
|
|
selectable: true,
|
|
minimumDefinitionCount: 100,
|
|
styleRules: [],
|
|
contextMenuFactory: () => [],
|
|
events: {},
|
|
};
|
|
|
|
export type GridRowStyleRuleConditionParams = {
|
|
row: GridRow,
|
|
targetCols: GridColumn[],
|
|
cells: GridCell[]
|
|
};
|
|
|
|
export type GridRowStyleRule = {
|
|
condition: (params: GridRowStyleRuleConditionParams) => boolean;
|
|
applyStyle: AdditionalStyle;
|
|
};
|
|
|
|
export type GridRowContextMenuFactory = (row: GridRow, context: GridContext) => MenuItem[];
|
|
|
|
export type GridRowSetting = {
|
|
showNumber?: boolean;
|
|
selectable?: boolean;
|
|
minimumDefinitionCount?: number;
|
|
styleRules?: GridRowStyleRule[];
|
|
contextMenuFactory?: GridRowContextMenuFactory;
|
|
events?: {
|
|
delete?: (rows: GridRow[]) => void;
|
|
}
|
|
};
|
|
|
|
export type GridRow = {
|
|
index: number;
|
|
ranged: boolean;
|
|
using: boolean;
|
|
setting: GridRowSetting;
|
|
additionalStyles: AdditionalStyle[];
|
|
};
|
|
|
|
export function createRow(index: number, using: boolean, setting: GridRowSetting): GridRow {
|
|
return {
|
|
index,
|
|
ranged: false,
|
|
using: using,
|
|
setting,
|
|
additionalStyles: [],
|
|
};
|
|
}
|
|
|
|
export function resetRow(row: GridRow): void {
|
|
row.ranged = false;
|
|
row.using = false;
|
|
row.additionalStyles = [];
|
|
}
|
|
|