From 4baf988e06cb72875d851cb8f6d5c9d5819138f9 Mon Sep 17 00:00:00 2001 From: Rene Date: Thu, 1 Aug 2019 22:15:57 +0200 Subject: [PATCH] vue: from jsx to template --- .../src/OverlayScrollbarsComponent.tsx | 73 ------------------- packages/overlayscrollbars-vue/src/jsx.d.ts | 11 --- 2 files changed, 84 deletions(-) delete mode 100644 packages/overlayscrollbars-vue/src/OverlayScrollbarsComponent.tsx delete mode 100644 packages/overlayscrollbars-vue/src/jsx.d.ts diff --git a/packages/overlayscrollbars-vue/src/OverlayScrollbarsComponent.tsx b/packages/overlayscrollbars-vue/src/OverlayScrollbarsComponent.tsx deleted file mode 100644 index dde858f..0000000 --- a/packages/overlayscrollbars-vue/src/OverlayScrollbarsComponent.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import Vue, { VueConstructor, VNode, CreateElement, PropType } from 'vue'; -import OverlayScrollbars from 'overlayscrollbars'; - -export interface OverlayScrollbarsComponentData { -} - -export interface OverlayScrollbarsComponentMethods { - osInstance(): OverlayScrollbars | null; - osTarget(): HTMLDivElement | null; -} - -export interface OverlayScrollbarsComponentComputed { -} - -export interface OverlayScrollbarsComponentProps { - options: OverlayScrollbars.Options; - extensions: OverlayScrollbars.Extensions; -} - -// https://github.com/vuejs/vue/issues/7060 -export class OverlayScrollbarsComponent extends Vue.extend({ - name: 'overlay-scrollbars', // https://vuejs.org/v2/guide/components-registration.html#Component-Names - props: { - options: { - type: Object as PropType - }, - extensions: { - type: [String, Array, Object] as PropType - } - }, - methods: { - osInstance(): OverlayScrollbars | null { - return (this as OverlayScrollbarsComponent)._osInstace; - }, - osTarget(): HTMLDivElement | null { - return this.$el as HTMLDivElement || null; - } - }, - watch: { - options(currOptions: OverlayScrollbars.Options, oldOptions: OverlayScrollbars.Options) { - let osInstance = (this as OverlayScrollbarsComponent)._osInstace; - if (OverlayScrollbars.valid(osInstance)) { - osInstance.options(currOptions); - } - } - }, - - data() { - return {}; - }, - - mounted() { - (this as OverlayScrollbarsComponent)._osInstace = OverlayScrollbars(this.osTarget(), this.options || {}, this.extensions); - }, - - beforeDestroy() { - let osInstance = (this as OverlayScrollbarsComponent)._osInstace; - if (OverlayScrollbars.valid(osInstance)) { - osInstance.destroy(); - (this as OverlayScrollbarsComponent)._osInstace = null; - } - }, - - render(createElement: CreateElement): VNode { - return ( -
- {this.$slots.default} -
- ); - } -}) { - private _osInstace: OverlayScrollbars | null = null; -} \ No newline at end of file diff --git a/packages/overlayscrollbars-vue/src/jsx.d.ts b/packages/overlayscrollbars-vue/src/jsx.d.ts deleted file mode 100644 index 3f4b305..0000000 --- a/packages/overlayscrollbars-vue/src/jsx.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Vue, { VNode } from 'vue'; - -declare global { - namespace JSX { - interface Element extends VNode { } - interface ElementClass extends Vue { } - interface IntrinsicElements { - [elem: string]: any; - } - } -} \ No newline at end of file