Skip to content

Commit dbecbe0

Browse files
Widget: remove excess typing file (#28625)
1 parent 851e8d2 commit dbecbe0

File tree

37 files changed

+318
-272
lines changed

37 files changed

+318
-272
lines changed

packages/devextreme/js/__internal/core/widget/component.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Action from '@js/core/action';
22
import Class from '@js/core/class';
33
import type {
4+
Component as PublicComponent,
45
ComponentOptions,
56
} from '@js/core/component';
67
import Config from '@js/core/config';
@@ -45,7 +46,7 @@ export class Component<
4546
TProperties extends Properties<TComponent>,
4647
// @ts-expect-error dxClass inheritance issue
4748
// eslint-disable-next-line @typescript-eslint/ban-types
48-
> extends (Class.inherit({}) as new() => {}) {
49+
> extends (Class.inherit({}) as new() => {}) implements PublicComponent<TProperties> {
4950
_deprecatedOptions!: Partial<TProperties>;
5051

5152
_options!: Options;
@@ -285,8 +286,8 @@ export class Component<
285286
}
286287
}
287288

288-
instance(): TComponent {
289-
return this as unknown as TComponent;
289+
instance(): this {
290+
return this;
290291
}
291292

292293
beginUpdate(): void {
@@ -372,7 +373,7 @@ export class Component<
372373

373374
_createActionByOption(
374375
optionName: string,
375-
config: Record<string, unknown>,
376+
config?: Record<string, unknown>,
376377
): (event?: Record<string, unknown>) => void {
377378
// eslint-disable-next-line @typescript-eslint/init-declarations
378379
let action;
@@ -406,15 +407,16 @@ export class Component<
406407
actionFunc = this.option(optionName);
407408
}
408409

409-
if (!action && !actionFunc && !config.beforeExecute
410-
&& !config.afterExecute && !this._eventsStrategy.hasEvent(eventName)) {
410+
if (!action && !actionFunc && !config?.beforeExecute
411+
&& !config?.afterExecute && !this._eventsStrategy.hasEvent(eventName)) {
411412
return;
412413
}
413414

414415
if (!action) {
416+
// @ts-expect-error
415417
const { beforeExecute } = config;
418+
// @ts-expect-error
416419
config.beforeExecute = (...props): void => {
417-
// @ts-expect-error
418420
// eslint-disable-next-line max-len
419421
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unused-expressions
420422
beforeExecute && beforeExecute.apply(this, props);
@@ -447,16 +449,17 @@ export class Component<
447449
return onActionCreated(this, result, config) || result;
448450
}
449451

450-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
451-
on(eventName: string, eventHandler): TComponent {
452+
// eslint-disable-next-line max-len
453+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/ban-types
454+
on(eventName: string | { [key: string]: Function }, eventHandler?): this {
452455
this._eventsStrategy.on(eventName, eventHandler);
453-
return this as unknown as TComponent;
456+
return this;
454457
}
455458

456459
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
457-
off(eventName: string, eventHandler): TComponent {
460+
off(eventName: string, eventHandler?): this {
458461
this._eventsStrategy.off(eventName, eventHandler);
459-
return this as unknown as TComponent;
462+
return this;
460463
}
461464

462465
hasActionSubscription(actionName: string): boolean {
@@ -490,6 +493,7 @@ export class Component<
490493
return value;
491494
}
492495

496+
// @ts-expect-error
493497
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
494498
option(...args): TProperties {
495499
// eslint-disable-next-line @typescript-eslint/no-unsafe-return

packages/devextreme/js/__internal/core/widget/dom_component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class DOMComponent<
5252
private _requireRefresh?: boolean;
5353

5454
// eslint-disable-next-line @typescript-eslint/no-explicit-any
55-
private _templateManager?: any;
55+
_templateManager!: any;
5656

5757
// eslint-disable-next-line max-len
5858
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types
@@ -493,7 +493,7 @@ class DOMComponent<
493493
return this._$element;
494494
}
495495

496-
element(): Element {
496+
element(): HTMLElement {
497497
const $element = this.$element();
498498

499499
return getPublicElement($element);

packages/devextreme/js/__internal/core/widget/widget.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ class Widget<
548548
this.$element().toggleClass('dx-state-independent', ignoreParentReadOnly);
549549
}
550550

551-
_setWidgetOption(widgetName: 'string', args: Record<string, unknown>): void {
551+
_setWidgetOption(widgetName: string, args: Record<string, unknown>): void {
552552
if (!this[widgetName]) {
553553
return;
554554
}

packages/devextreme/js/__internal/filter_builder/m_filter_builder.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,7 @@ class FilterBuilder extends Widget<any> {
250250
return action && action(options);
251251
}
252252

253-
_initMarkup() {
254-
// @ts-expect-error
253+
_initMarkup(): void {
255254
this.$element().addClass(FILTER_BUILDER_CLASS);
256255
// @ts-expect-error
257256
super._initMarkup();
@@ -391,11 +390,8 @@ class FilterBuilder extends Widget<any> {
391390
_createButtonWithMenu(options) {
392391
const that = this;
393392
const removeMenu = function () {
394-
// @ts-expect-error
395393
that.$element().find(`.${ACTIVE_CLASS}`).removeClass(ACTIVE_CLASS).attr('aria-expanded', 'false');
396-
// @ts-expect-error
397394
that.$element().find('.dx-overlay .dx-treeview').remove();
398-
// @ts-expect-error
399395
that.$element().find('.dx-overlay').remove();
400396
};
401397
const rtlEnabled = this.option('rtlEnabled');

packages/devextreme/js/__internal/grids/grid_core/context_menu/m_context_menu.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ export class ContextMenuView extends modules.View {
113113
},
114114

115115
cssClass: this.getWidgetContainerClass(),
116+
// @ts-expect-error
116117
target: this.component.$element(),
117118
},
118119
);

packages/devextreme/js/__internal/grids/grid_core/editing/m_editing.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2154,7 +2154,6 @@ class EditingControllerImpl extends modules.ViewController {
21542154
setTimeout(() => {
21552155
// NOTE: if the editForm is enabled then we need to search for focused element in the document root
21562156
// otherwise we need to search for element in the shadow dom
2157-
// @ts-expect-error
21582157
const elementContainer = this._editForm?.element() || this.component.$element().get(0);
21592158
const $focusedElement = $(domAdapter.getActiveElement(elementContainer));
21602159
const columnIndex = this._rowsView.getCellIndex($focusedElement, row.rowIndex);

packages/devextreme/js/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,6 @@ export class KeyboardNavigationController extends modules.ViewController {
13941394
activeElementSelector
13951395
+= ', .dx-datagrid-rowsview .dx-row > td[tabindex]';
13961396
}
1397-
// @ts-expect-error
13981397
element = this.component.$element().find(activeElementSelector).first();
13991398
}
14001399

packages/devextreme/js/__internal/grids/grid_core/views/m_grid_view.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ export class ResizingController extends modules.ViewController {
198198
const widgetStatusText = messageLocalization
199199
// @ts-expect-error Badly typed format method
200200
.format(widgetAriaLabel, totalItemsCount, columnCount);
201-
// @ts-expect-error Badly typed dxElementWrapper
202201
const $ariaLabelElement = this.component.$element().children(`.${GRIDBASE_CONTAINER_CLASS}`);
203202
// @ts-expect-error Treelist Variable
204203
const expandableWidgetAriaLabel = messageLocalization.format(this._expandableWidgetAriaId);
@@ -361,7 +360,6 @@ export class ResizingController extends modules.ViewController {
361360

362361
this._toggleContentMinHeight(wordWrapEnabled); // T1047239
363362

364-
// @ts-expect-error
365363
if ($element && $element.get(0) && this._maxWidth) {
366364
delete this._maxWidth;
367365
$element[0].style.maxWidth = '';
@@ -508,7 +506,7 @@ export class ResizingController extends modules.ViewController {
508506
const borderWidth = gridCoreUtils.getComponentBorderWidth(this, $rowsViewElement);
509507

510508
that._maxWidth = totalWidth + scrollbarWidth + borderWidth;
511-
// @ts-expect-error
509+
512510
$element.css('maxWidth', that._maxWidth);
513511
}
514512
}
@@ -603,7 +601,6 @@ export class ResizingController extends modules.ViewController {
603601
}
604602

605603
private _getGroupElement() {
606-
// @ts-expect-error
607604
return this.component.$element().children().get(0);
608605
}
609606

@@ -704,15 +701,15 @@ export class ResizingController extends modules.ViewController {
704701
private _resetGroupElementHeight() {
705702
const groupElement = this._getGroupElement();
706703
const scrollable = this._rowsView.getScrollable();
707-
704+
// @ts-expect-error
708705
if (groupElement && groupElement.style.height && (!scrollable || !scrollable.scrollTop())) {
706+
// @ts-expect-error
709707
groupElement.style.height = '';
710708
}
711709
}
712710

713711
private _checkSize(checkSize?) {
714712
const $rootElement = this.component.$element();
715-
// @ts-expect-error
716713
const isWidgetVisible = $rootElement.is(':visible');
717714
const isGridSizeChanged = this._lastWidth !== getWidth($rootElement)
718715
|| this._lastHeight !== getHeight($rootElement)
@@ -779,6 +776,7 @@ export class ResizingController extends modules.ViewController {
779776
// eslint-disable-next-line radix
780777
const maxHeight = parseInt($rootElement.css('maxHeight'));
781778
const maxHeightHappened = maxHeight && rootElementHeight >= maxHeight;
779+
// @ts-expect-error
782780
const isMaxHeightApplied = groupElement && groupElement.scrollHeight === groupElement.offsetHeight;
783781

784782
that.updateSize($rootElement);

packages/devextreme/js/__internal/scheduler/appointments/m_appointment.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ export class Appointment extends DOMComponent {
188188
return messageLocalization.format('dxScheduler-appointmentAriaLabel-group', groupText);
189189
}
190190

191-
_getDateText() {
191+
_getDateText(): string {
192192
const startDateText = this._localizeDate(this._getStartDate());
193193
const endDateText = this._localizeDate(this._getEndDate());
194194

@@ -203,8 +203,7 @@ export class Appointment extends DOMComponent {
203203
return `${dateText}${partText}`;
204204
}
205205

206-
_renderAriaLabel() {
207-
// @ts-expect-error
206+
_renderAriaLabel(): void {
208207
const $element: dxElementWrapper = this.$element();
209208
const ariaLabel = [
210209
this._getDateText(),
@@ -220,7 +219,7 @@ export class Appointment extends DOMComponent {
220219
$element.find('.dx-item-content').attr('id', id);
221220
}
222221

223-
_renderAppointmentGeometry() {
222+
_renderAppointmentGeometry(): void {
224223
const geometry: any = this.option('geometry');
225224
const $element: any = this.$element();
226225
move($element, {

packages/devextreme/js/__internal/scheduler/header/m_calendar.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,23 @@ export default class SchedulerCalendar extends Widget<dxSchedulerOptions> {
2727
this._overlay.hide();
2828
}
2929

30-
_keyboardHandler(opts) {
30+
_keyboardHandler(opts): void {
3131
this._calendar?._keyboardHandler(opts);
3232
}
3333

34-
_init() {
34+
_init(): void {
3535
// @ts-expect-error
3636
super._init();
3737
this.$element();
3838
}
3939

40-
_render() {
40+
_render(): void {
4141
// @ts-expect-error
4242
super._render();
4343
this._renderOverlay();
4444
}
4545

46-
_renderOverlay() {
47-
// @ts-expect-error
46+
_renderOverlay(): void {
4847
this.$element().addClass(CALENDAR_POPOVER_CLASS);
4948

5049
const isMobileLayout = this._isMobileLayout();

0 commit comments

Comments
 (0)