From 06cfe873e5564fe70db8fea047432bcc80aa2e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20M=C3=BCller?= Date: Tue, 13 Aug 2019 09:46:13 +0200 Subject: [PATCH 1/2] feat(modal): remove deprecations --- .../modal/helpers/bv-modal-event.class.js | 13 ------ .../helpers/bv-modal-event.class.spec.js | 44 ------------------- src/components/modal/index.d.ts | 23 +++------- 3 files changed, 6 insertions(+), 74 deletions(-) diff --git a/src/components/modal/helpers/bv-modal-event.class.js b/src/components/modal/helpers/bv-modal-event.class.js index 10543efd5ef..ff1dda4d7aa 100644 --- a/src/components/modal/helpers/bv-modal-event.class.js +++ b/src/components/modal/helpers/bv-modal-event.class.js @@ -1,5 +1,4 @@ import BvEvent from '../../../utils/bv-event.class' -import warn from '../../../utils/warn' import { defineProperties, readonlyDescriptor } from '../../../utils/object' class BvModalEvent extends BvEvent { @@ -11,18 +10,6 @@ class BvModalEvent extends BvEvent { }) } - get modalId() /* istanbul ignore next */ { - // Backwards compatability <= 2.0.0-rc.19 - warn('b-modal: evt.modalId is deprecated. Please use evt.componentId.') - return this.componentId - } - - cancel() /* istanbul ignore next */ { - // Backwards compatibility for BootstrapVue 1.x - warn('b-modal: evt.cancel() is deprecated. Please use evt.preventDefault().') - this.preventDefault() - } - static get Defaults() { return { ...super.Defaults, diff --git a/src/components/modal/helpers/bv-modal-event.class.spec.js b/src/components/modal/helpers/bv-modal-event.class.spec.js index 1fd2e4bac1e..1a180fca928 100644 --- a/src/components/modal/helpers/bv-modal-event.class.spec.js +++ b/src/components/modal/helpers/bv-modal-event.class.spec.js @@ -88,48 +88,4 @@ describe('modal > BvModalEvent', () => { expect(evt.cancelable).toBe(true) expect(evt.custom).toBe(123) }) - - describe('Deprecated features', () => { - it('supports cancelable events via deprecated evt.cancel()', async () => { - // Mock `console.warn()` to prevent a console warning and - // check wether a warning about the `evt.cancel()` call - // was made - const warn = console.warn - console.warn = jest.fn() - - const evt = new BvModalEvent('foobar', { - cancelable: true - }) - - expect(evt).toBeInstanceOf(BvModalEvent) - expect(evt.type).toBe('foobar') - expect(evt.cancelable).toBe(true) - expect(evt.defaultPrevented).toBe(false) - evt.cancel() - expect(evt.defaultPrevented).toBe(true) - - expect(console.warn).toHaveBeenCalled() - console.warn = warn - }) - - it('supports deprecated evt.modalId', async () => { - // Mock `console.warn()` to prevent a console warning and - // check wether a warning about the `evt.cancel()` call - // was made - const warn = console.warn - console.warn = jest.fn() - - const evt = new BvModalEvent('foobar', { - componentId: 'foo' - }) - - expect(evt).toBeInstanceOf(BvModalEvent) - expect(evt.type).toBe('foobar') - expect(evt.componentId).toBe('foo') - expect(evt.modalId).toBe('foo') - - expect(console.warn).toHaveBeenCalled() - console.warn = warn - }) - }) }) diff --git a/src/components/modal/index.d.ts b/src/components/modal/index.d.ts index ad457ff3eee..e91625d66ef 100644 --- a/src/components/modal/index.d.ts +++ b/src/components/modal/index.d.ts @@ -1,34 +1,25 @@ -// -// Modals -// +// --- Modals --- import Vue, { VNode } from 'vue' import { BvPlugin, BvComponent, BvEvent } from '../../' -// Modal Plugin +// Modal plugin export declare const ModalPlugin: BvPlugin -// Component: b-modal +// Component: export declare class BModal extends BvComponent { // Public methods show: () => void hide: (trigger?: string) => void } -// -// Types -// +// --- Types --- export type BvMsgBoxData = boolean | null | BvModalEvent | any -// -// Interfaces -// +// --- Interfaces --- export interface BvModalEvent extends BvEvent { readonly trigger: string | null // Future // details: any | null - // Deprecated - readonly modalId: string | null - cancel: () => void } export interface BvMsgBoxOptions { @@ -95,9 +86,7 @@ export interface BvModal { hide: (id: string) => void } -// -// Vue Prototype Injections -// +// --- Vue prototype injections --- declare module 'vue/types/vue' { interface Vue { // Modal injection From 30095be1ba9e3438bc15461033c33bc32c29880e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20M=C3=BCller?= Date: Tue, 13 Aug 2019 09:51:34 +0200 Subject: [PATCH 2/2] Update bv-modal-event.class.spec.js --- .../modal/helpers/bv-modal-event.class.spec.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/components/modal/helpers/bv-modal-event.class.spec.js b/src/components/modal/helpers/bv-modal-event.class.spec.js index 1a180fca928..7c4e27d42af 100644 --- a/src/components/modal/helpers/bv-modal-event.class.spec.js +++ b/src/components/modal/helpers/bv-modal-event.class.spec.js @@ -68,15 +68,6 @@ describe('modal > BvModalEvent', () => { } expect(failed).toBe(true) expect(evt.trigger).toBe('ok') - - failed = false - try { - evt.modalId = 'fail' - } catch (e) { - failed = true - } - expect(failed).toBe(true) - expect(evt.componentId).toBe('foo') }) it('supports custom properties', async () => {