Enable @typescript-eslint/explicit-function-return-type in /src (#9788)

* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
This commit is contained in:
Michael Telatynski 2023-01-12 13:25:14 +00:00 committed by GitHub
parent 7a36ba0fde
commit 030b7e90bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
683 changed files with 3459 additions and 3013 deletions

View file

@ -26,14 +26,14 @@ export interface ICollapseConfig extends IConfig {
}
class CollapseItem extends ResizeItem<ICollapseConfig> {
public notifyCollapsed(collapsed: boolean) {
public notifyCollapsed(collapsed: boolean): void {
const callback = this.resizer.config.onCollapsed;
if (callback) {
callback(collapsed, this.id, this.domNode);
}
}
public get isCollapsed() {
public get isCollapsed(): boolean {
const isItemCollapsed = this.resizer.config.isItemCollapsed;
return isItemCollapsed(this.domNode);
}
@ -58,7 +58,7 @@ export default class CollapseDistributor extends FixedDistributor<ICollapseConfi
this.isCollapsed = item.isCollapsed;
}
public resize(newSize: number) {
public resize(newSize: number): void {
const isCollapsedSize = newSize < this.toggleSize;
if (isCollapsedSize !== this.isCollapsed) {
this.isCollapsed = isCollapsedSize;

View file

@ -43,7 +43,7 @@ export default class FixedDistributor<C extends IConfig, I extends ResizeItem<an
this.beforeOffset = item.offset();
}
public get size() {
public get size(): string {
return this.item.getSize();
}
@ -51,19 +51,19 @@ export default class FixedDistributor<C extends IConfig, I extends ResizeItem<an
this.item.setRawSize(size);
}
public resize(size: number) {
public resize(size: number): void {
this.item.setSize(size);
}
public resizeFromContainerOffset(offset: number) {
public resizeFromContainerOffset(offset: number): void {
this.resize(offset - this.beforeOffset);
}
public start() {
public start(): void {
this.item.start();
}
public finish() {
public finish(): void {
this.item.finish();
}
}

View file

@ -19,7 +19,7 @@ import FixedDistributor from "./fixed";
import { IConfig } from "../resizer";
class PercentageSizer extends Sizer {
public start(item: HTMLElement) {
public start(item: HTMLElement): void {
if (this.vertical) {
item.style.minHeight = null;
} else {
@ -27,7 +27,7 @@ class PercentageSizer extends Sizer {
}
}
public finish(item: HTMLElement) {
public finish(item: HTMLElement): void {
const parent = item.offsetParent as HTMLElement;
if (!parent) return;
if (this.vertical) {
@ -43,7 +43,7 @@ class PercentageSizer extends Sizer {
}
export default class PercentageDistributor extends FixedDistributor<IConfig> {
public static createSizer(containerElement: HTMLElement, vertical: boolean, reverse: boolean) {
public static createSizer(containerElement: HTMLElement, vertical: boolean, reverse: boolean): PercentageSizer {
return new PercentageSizer(containerElement, vertical, reverse);
}
}

View file

@ -37,12 +37,12 @@ export default class ResizeItem<C extends IConfig = IConfig> {
this.id = handle.getAttribute("data-id");
}
private copyWith(handle: HTMLElement, resizer: Resizer, sizer: Sizer, container?: HTMLElement) {
private copyWith(handle: HTMLElement, resizer: Resizer, sizer: Sizer, container?: HTMLElement): ResizeItem {
const Ctor = this.constructor as typeof ResizeItem;
return new Ctor(handle, resizer, sizer, container);
}
private advance(forwards: boolean) {
private advance(forwards: boolean): ResizeItem {
// opposite direction from fromResizeHandle to get back to handle
let handle = this.reverse ? this.domNode.previousElementSibling : this.domNode.nextElementSibling;
const moveNext = forwards !== this.reverse; // xor
@ -62,39 +62,39 @@ export default class ResizeItem<C extends IConfig = IConfig> {
}
}
public next() {
public next(): ResizeItem {
return this.advance(true);
}
public previous() {
public previous(): ResizeItem {
return this.advance(false);
}
public size() {
public size(): number {
return this.sizer.getItemSize(this.domNode);
}
public offset() {
public offset(): number {
return this.sizer.getItemOffset(this.domNode);
}
public start() {
public start(): void {
this.sizer.start(this.domNode);
}
public finish() {
public finish(): void {
this.sizer.finish(this.domNode);
}
public getSize() {
public getSize(): string {
return this.sizer.getDesiredItemSize(this.domNode);
}
public setRawSize(size: string) {
public setRawSize(size: string): void {
this.sizer.setItemSize(this.domNode, size);
}
public setSize(size: number) {
public setSize(size: number): void {
this.setRawSize(`${Math.round(size)}px`);
const callback = this.resizer.config.onResized;
if (callback) {
@ -102,7 +102,7 @@ export default class ResizeItem<C extends IConfig = IConfig> {
}
}
public clearSize() {
public clearSize(): void {
this.sizer.clearItemSize(this.domNode);
const callback = this.resizer.config.onResized;
if (callback) {
@ -110,7 +110,7 @@ export default class ResizeItem<C extends IConfig = IConfig> {
}
}
public first() {
public first(): ResizeItem {
const firstHandle = Array.from(this.domNode.parentElement.children).find((el) => {
return this.resizer.isResizeHandle(<HTMLElement>el);
});
@ -119,7 +119,7 @@ export default class ResizeItem<C extends IConfig = IConfig> {
}
}
public last() {
public last(): ResizeItem {
const lastHandle = Array.from(this.domNode.parentElement.children)
.reverse()
.find((el) => {

View file

@ -65,17 +65,17 @@ export default class Resizer<C extends IConfig = IConfig> {
};
}
public setClassNames(classNames: IClassNames) {
public setClassNames(classNames: IClassNames): void {
this.classNames = classNames;
}
public attach() {
public attach(): void {
const attachment = this?.config?.handler?.parentElement ?? this.container;
attachment.addEventListener("mousedown", this.onMouseDown, false);
window.addEventListener("resize", this.onResize);
}
public detach() {
public detach(): void {
const attachment = this?.config?.handler?.parentElement ?? this.container;
attachment.removeEventListener("mousedown", this.onMouseDown, false);
window.removeEventListener("resize", this.onResize);
@ -113,7 +113,7 @@ export default class Resizer<C extends IConfig = IConfig> {
return el && el.classList.contains(this.classNames.handle);
}
private onMouseDown = (event: MouseEvent) => {
private onMouseDown = (event: MouseEvent): void => {
// use closest in case the resize handle contains
// child dom nodes that can be the target
const resizeHandle = event.target && (<HTMLDivElement>event.target).closest(`.${this.classNames.handle}`);
@ -143,13 +143,13 @@ export default class Resizer<C extends IConfig = IConfig> {
const { sizer, distributor } = this.createSizerAndDistributor(<HTMLDivElement>resizeHandle);
distributor.start();
const onMouseMove = (event) => {
const onMouseMove = (event: MouseEvent): void => {
const offset = sizer.offsetFromEvent(event);
distributor.resizeFromContainerOffset(offset);
};
const body = document.body;
const finishResize = () => {
const finishResize = (): void => {
if (this.classNames.resizing) {
this.container?.classList?.remove(this.classNames.resizing);
}
@ -178,7 +178,7 @@ export default class Resizer<C extends IConfig = IConfig> {
{ trailing: true, leading: true },
);
public getDistributors = () => {
public getDistributors = (): FixedDistributor<any, ResizeItem<any>>[] => {
return this.getResizeHandles().map((handle) => {
const { distributor } = this.createSizerAndDistributor(<HTMLDivElement>handle);
return distributor;

View file

@ -68,7 +68,7 @@ export default class Sizer {
return offset;
}
public getDesiredItemSize(item: HTMLElement) {
public getDesiredItemSize(item: HTMLElement): string {
if (this.vertical) {
return item.style.height;
} else {
@ -76,7 +76,7 @@ export default class Sizer {
}
}
public setItemSize(item: HTMLElement, size: string) {
public setItemSize(item: HTMLElement, size: string): void {
if (this.vertical) {
item.style.height = size;
} else {
@ -84,7 +84,7 @@ export default class Sizer {
}
}
public clearItemSize(item: HTMLElement) {
public clearItemSize(item: HTMLElement): void {
if (this.vertical) {
item.style.height = null;
} else {
@ -92,16 +92,16 @@ export default class Sizer {
}
}
public start(item: HTMLElement) {}
public start(item: HTMLElement): void {}
public finish(item: HTMLElement) {}
public finish(item: HTMLElement): void {}
/**
@param {MouseEvent} event the mouse event
@return {number} the distance between the cursor and the edge of the container,
along the applicable axis (vertical or horizontal)
*/
public offsetFromEvent(event: MouseEvent) {
public offsetFromEvent(event: MouseEvent): number {
const pos = this.vertical ? event.pageY : event.pageX;
if (this.reverse) {
return this.getPageOffset() + this.getTotalSize() - pos;