Skip to content

Commit 3a576e5

Browse files
Treeshakable controllers (#96)
* Allow for treeshakable controllers * Cleanup * Cleanup * Address comments
1 parent 2abc8d7 commit 3a576e5

24 files changed

+118
-310
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
"vue": "^2.5.16",
7777
"vue-template-compiler": "^2.5.16",
7878
"vue-router": "^3.0.1",
79-
"@ionic/core": "^4.6.0"
79+
"@ionic/core": "^4.10.0"
8080
},
8181
"jestSonar": {
8282
"reportPath": "reports",

src/controllers/action-sheet-controller.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/controllers/alert-controller.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/controllers/index.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1-
export { ActionSheetController } from './action-sheet-controller';
2-
export { AlertController } from './alert-controller';
3-
export { LoadingController } from './loading-controller';
4-
export { MenuController } from './menu-controller';
5-
export { ModalController } from './modal-controller';
6-
export { PopoverController } from './popover-controller';
7-
export { ToastController } from './toast-controller';
1+
export {
2+
actionSheetController,
3+
alertController,
4+
loadingController,
5+
menuController,
6+
toastController,
7+
pickerController,
8+
} from '@ionic/core';
9+
import { modalController as _modalController } from './modal-controller';
10+
import { popoverController as _popoverController } from './popover-controller';
11+
12+
export const modalController = _modalController();
13+
export const popoverController = _popoverController();

src/controllers/loading-controller.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/controllers/menu-controller.ts

Lines changed: 0 additions & 101 deletions
This file was deleted.

src/controllers/modal-controller.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
import { ModalOptions } from '@ionic/core';
2-
import { OverlayBaseController } from '../util';
1+
import Vue from 'vue';
2+
import { ModalOptions, modalController as _modalController } from '@ionic/core';
33
import { VueDelegate } from './vue-delegate';
44

5-
export const CTRL = 'ion-modal-controller';
6-
export class ModalController extends OverlayBaseController<ModalOptions, HTMLIonModalElement> {
7-
8-
constructor(
9-
private delegate: VueDelegate
10-
) {
11-
super(CTRL);
12-
}
13-
14-
create(opts: ModalOptions): Promise<HTMLIonModalElement> {
15-
return super.create({
16-
...opts,
17-
delegate: this.delegate
18-
});
19-
}
20-
}
5+
export const modalController = (delegate?: VueDelegate) => {
6+
delegate = delegate || new VueDelegate(Vue);
7+
return {
8+
..._modalController,
9+
create(options: ModalOptions) {
10+
return _modalController.create({
11+
...options,
12+
delegate,
13+
});
14+
}
15+
};
16+
};

src/controllers/picker-controller.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/controllers/popover-controller.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
import { PopoverOptions } from '@ionic/core';
2-
import { OverlayBaseController } from '../util';
1+
import Vue from 'vue';
2+
import { PopoverOptions, popoverController as _popoverController } from '@ionic/core';
33
import { VueDelegate } from './vue-delegate';
44

5-
export const CTRL = 'ion-popover-controller';
6-
export class PopoverController extends OverlayBaseController<PopoverOptions, HTMLIonPopoverElement> {
7-
8-
constructor(
9-
private delegate: VueDelegate
10-
) {
11-
super(CTRL);
12-
}
13-
14-
create(opts: PopoverOptions): Promise<HTMLIonPopoverElement> {
15-
return super.create({
16-
...opts,
17-
delegate: this.delegate
18-
});
19-
}
20-
}
5+
export const popoverController = (delegate?: VueDelegate) => {
6+
delegate = delegate || new VueDelegate(Vue);
7+
return {
8+
..._popoverController,
9+
create(options: PopoverOptions) {
10+
return _popoverController.create({
11+
...options,
12+
delegate,
13+
});
14+
}
15+
};
16+
};

src/controllers/toast-controller.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)