refactor(navigation): update framework delegate

This commit is contained in:
Dan Bucholtz
2017-12-07 15:47:00 -06:00
parent a067d167d3
commit f8af356bca
5 changed files with 7 additions and 5 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "0.0.2-27",
"version": "0.0.2-28",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "0.0.2-27",
"version": "0.0.2-28",
"description": "Base components for Ionic",
"main": "dist/collection/index.js",
"types": "dist/collection/index.d.ts",

View File

@ -2,10 +2,12 @@ import { FrameworkDelegate, FrameworkMountingData, } from '../../index';
import { isString } from '../../utils/helpers';
export class DomFrameworkDelegate implements FrameworkDelegate {
attachViewToDom(parentElement: HTMLElement, tagOrElement: string | HTMLElement, classesToAdd: string[] = []): Promise<FrameworkMountingData> {
attachViewToDom(parentElement: HTMLElement, tagOrElement: string | HTMLElement, propsOrDataObj: any = {}, classesToAdd: string[] = []): Promise<FrameworkMountingData> {
return new Promise((resolve) => {
const usersElement = (isString(tagOrElement) ? document.createElement(tagOrElement) : tagOrElement) as HTMLElement;
Object.assign(usersElement, propsOrDataObj);
if (classesToAdd.length) {
for (const clazz of classesToAdd) {
usersElement.classList.add(clazz);

View File

@ -446,7 +446,7 @@ export function fireViewWillLifecycles(enteringView: ViewController, leavingView
export function attachViewToDom(nav: Nav, enteringView: ViewController, delegate: FrameworkDelegate) {
if (enteringView && enteringView.state === STATE_NEW) {
return delegate.attachViewToDom(nav.element, enteringView.component, ['ion-page']).then((mountingData) => {
return delegate.attachViewToDom(nav.element, enteringView.component, enteringView.data, ['ion-page']).then((mountingData) => {
Object.assign(enteringView, mountingData);
enteringView.state = STATE_ATTACHED;
});

View File

@ -7,7 +7,7 @@ import {
export interface FrameworkDelegate {
attachViewToDom(elementOrContainerToMountTo: any, elementOrComponentToMount: any, classesToAdd?: string[]): Promise<FrameworkMountingData>;
attachViewToDom(elementOrContainerToMountTo: any, elementOrComponentToMount: any, propsOrDataObj?: any, classesToAdd?: string[]): Promise<FrameworkMountingData>;
removeViewFromDom(elementOrContainerToUnmountFrom: any, elementOrComponentToUnmount: any): Promise<FrameworkMountingData>;
}