chore(angular): have demo use

This commit is contained in:
Dan Bucholtz
2017-11-22 16:09:19 -06:00
parent 45cbe4a650
commit d13c964832
4 changed files with 77 additions and 136 deletions

View File

@ -38,9 +38,9 @@
} }
}, },
"@angular/animations": { "@angular/animations": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.3.tgz",
"integrity": "sha1-bTpzWk+Fw4jaa6P3ddu+YUBKwC0=", "integrity": "sha1-8IsHAHsUn6EmecNG+lWCD1RLGeA=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
@ -102,7 +102,7 @@
"url-loader": "0.6.2", "url-loader": "0.6.2",
"webpack": "3.8.1", "webpack": "3.8.1",
"webpack-concat-plugin": "1.4.0", "webpack-concat-plugin": "1.4.0",
"webpack-dev-middleware": "1.12.0", "webpack-dev-middleware": "1.12.1",
"webpack-dev-server": "2.9.4", "webpack-dev-server": "2.9.4",
"webpack-merge": "4.1.1", "webpack-merge": "4.1.1",
"webpack-sources": "1.0.2", "webpack-sources": "1.0.2",
@ -111,25 +111,25 @@
} }
}, },
"@angular/common": { "@angular/common": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.3.tgz",
"integrity": "sha1-2AMiFT+qqazKkVUmOKPkfcI3umo=", "integrity": "sha1-mwuHTgyMsIjXx94q9ywsPz69ALs=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/compiler": { "@angular/compiler": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.3.tgz",
"integrity": "sha1-2GXUNyJ83RYYP4eQCjiJPY9fsTk=", "integrity": "sha1-RYF8mjKxsQPAMHsPVWYPUw9KBqo=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/compiler-cli": { "@angular/compiler-cli": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.3.tgz",
"integrity": "sha1-WbFnQTKF0ZX5ndHZvnP3D+2zNCk=", "integrity": "sha1-gg/pX1ZTwUGK2aycqegZqHnM5K4=",
"dev": true, "dev": true,
"requires": { "requires": {
"chokidar": "1.7.0", "chokidar": "1.7.0",
@ -139,63 +139,63 @@
} }
}, },
"@angular/core": { "@angular/core": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.3.tgz",
"integrity": "sha1-+7VpHRr37GKSSAHIlDlVaTVihUo=", "integrity": "sha1-JWZAD2cTvxw59+ALwDpjKAqH5ms=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/forms": { "@angular/forms": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.3.tgz",
"integrity": "sha1-9Mb/JdUXkPYydi6xxQd00XyM9GU=", "integrity": "sha1-IH+Swr2JZg3aWFjvWNHqwfLK8ac=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/http": { "@angular/http": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.3.tgz",
"integrity": "sha1-yzrxUh4U8ECqjKFVTij435tW/eg=", "integrity": "sha1-o7mkJHxLd0VuSVSWVdTB0YWeB10=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/language-service": { "@angular/language-service": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.0.3.tgz",
"integrity": "sha1-q4ZjZx+WJ4NT+18eY3agdQYZjwc=", "integrity": "sha1-6MIVgeBGTqUDY+jw1J17an5rPL8=",
"dev": true "dev": true
}, },
"@angular/platform-browser": { "@angular/platform-browser": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.3.tgz",
"integrity": "sha1-0Quv8DwkN/MIhHnBc9MK/fCxJKk=", "integrity": "sha1-SshyQEoqgWLdKKWxZCOLdr9eEmE=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/platform-browser-dynamic": { "@angular/platform-browser-dynamic": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.3.tgz",
"integrity": "sha1-iYSn4vxPimdg+aBdlaK7n2sLf5o=", "integrity": "sha1-vm3PA6BPpRxqBIS0Dl8afX5UzIc=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@angular/router": { "@angular/router": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.2.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.3.tgz",
"integrity": "sha1-vhBPsJG87EGN09hU+K9koD5cZ50=", "integrity": "sha1-YWzGp64zV1tU5hO3CvXH8pHIzR4=",
"requires": { "requires": {
"tslib": "1.8.0" "tslib": "1.8.0"
} }
}, },
"@ionic/angular": { "@ionic/angular": {
"version": "0.0.2-4", "version": "0.0.2-6",
"resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-0.0.2-4.tgz", "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-0.0.2-6.tgz",
"integrity": "sha512-XF1MuyjKEwWjLyl0VBeAbMkXsPgqbRxRhtzHLgG7DPm7XdvtaZEOiMlTLOt8BTrd+/oOyB/XYF/9ltE6ZxdwEg==" "integrity": "sha512-gHl5ZvnRWs7vIaY/qCpFN/3L8OqLNUyRkuSP9mjqYB1CWR7ApwLjVXIYzgCXIQMC/p//bz0OQiudXbxEIsjFIw=="
}, },
"@ionic/core": { "@ionic/core": {
"version": "0.0.2-26", "version": "0.0.2-26",
@ -5798,7 +5798,7 @@
"isbinaryfile": "3.0.2", "isbinaryfile": "3.0.2",
"lodash": "3.10.1", "lodash": "3.10.1",
"log4js": "0.6.38", "log4js": "0.6.38",
"mime": "1.4.1", "mime": "1.5.0",
"minimatch": "3.0.4", "minimatch": "3.0.4",
"optimist": "0.6.1", "optimist": "0.6.1",
"qjobs": "1.1.5", "qjobs": "1.1.5",
@ -5927,7 +5927,7 @@
"errno": "0.1.4", "errno": "0.1.4",
"graceful-fs": "4.1.11", "graceful-fs": "4.1.11",
"image-size": "0.5.5", "image-size": "0.5.5",
"mime": "1.4.1", "mime": "1.5.0",
"mkdirp": "0.5.1", "mkdirp": "0.5.1",
"promise": "7.3.1", "promise": "7.3.1",
"request": "2.81.0", "request": "2.81.0",
@ -6375,9 +6375,9 @@
} }
}, },
"mime": { "mime": {
"version": "1.4.1", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz",
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "integrity": "sha512-v/jMDoK/qKptnTuC3YUNbIj8uUYvTCIHzVu9BHldKSWja48wusAtfjlcBlqnFrqClu3yf69ScDxBPrIyFnF51g==",
"dev": true "dev": true
}, },
"mime-db": { "mime-db": {
@ -7904,7 +7904,7 @@
"requires": { "requires": {
"directory-encoder": "0.7.2", "directory-encoder": "0.7.2",
"js-base64": "2.3.2", "js-base64": "2.3.2",
"mime": "1.4.1", "mime": "1.5.0",
"minimatch": "3.0.4", "minimatch": "3.0.4",
"mkdirp": "0.5.1", "mkdirp": "0.5.1",
"path-is-absolute": "1.0.1", "path-is-absolute": "1.0.1",
@ -8853,6 +8853,14 @@
"on-finished": "2.3.0", "on-finished": "2.3.0",
"range-parser": "1.2.0", "range-parser": "1.2.0",
"statuses": "1.3.1" "statuses": "1.3.1"
},
"dependencies": {
"mime": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
"dev": true
}
} }
}, },
"serve-index": { "serve-index": {
@ -9982,7 +9990,7 @@
"dev": true, "dev": true,
"requires": { "requires": {
"loader-utils": "1.1.0", "loader-utils": "1.1.0",
"mime": "1.4.1", "mime": "1.5.0",
"schema-utils": "0.3.0" "schema-utils": "0.3.0"
} }
}, },
@ -10567,13 +10575,13 @@
} }
}, },
"webpack-dev-middleware": { "webpack-dev-middleware": {
"version": "1.12.0", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.1.tgz",
"integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", "integrity": "sha512-UzyVg/CKBKkymDpqOoQ4mWTs9zQp0DPCY8zbol9K0tPhqoM+JU5knKGXyMQ/Cdrmzb9Cw3eetm67fIsJ7u7ryg==",
"dev": true, "dev": true,
"requires": { "requires": {
"memory-fs": "0.4.1", "memory-fs": "0.4.1",
"mime": "1.4.1", "mime": "1.5.0",
"path-is-absolute": "1.0.1", "path-is-absolute": "1.0.1",
"range-parser": "1.2.0", "range-parser": "1.2.0",
"time-stamp": "2.0.0" "time-stamp": "2.0.0"
@ -10610,7 +10618,7 @@
"spdy": "3.4.7", "spdy": "3.4.7",
"strip-ansi": "3.0.1", "strip-ansi": "3.0.1",
"supports-color": "4.5.0", "supports-color": "4.5.0",
"webpack-dev-middleware": "1.12.0", "webpack-dev-middleware": "1.12.1",
"yargs": "6.6.0" "yargs": "6.6.0"
}, },
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
// import { AlertController } from '@ionic/angular'; import { AlertController } from '@ionic/angular';
@Component({ @Component({
selector: 'app-alert-page', selector: 'app-alert-page',
@ -21,19 +21,33 @@ import { Component } from '@angular/core';
}) })
export class AlertPageComponent { export class AlertPageComponent {
constructor(/*private alertController: AlertController*/) { constructor(private alertController: AlertController) {
} }
clickMe() { clickMe() {
/*const alert = this.alertController.create({ const alert = this.alertController.create({
title: 'ohhhh snap', title: 'ohhhh snap',
message: 'Gretting from an ng cli app', message: 'Ive been injected via Angular keeping the old api',
buttons: [
{
text: 'Cancel',
role: 'Cancel',
handler: () => {
console.log('cancel');
}
},
{
text: 'Okay',
role: 'Okay',
handler: () => {
console.log('okay');
}
}
]
}); });
alert.present(); alert.present();
*/
alert('kaboom');
} }
} }

View File

@ -1,64 +0,0 @@
import { Injectable } from '@angular/core';
import { AlertOptions } from '@ionic/core';
import { ensureElementInBody, hydrateElement } from '../util/util';
let alertId = 0;
@Injectable()
export class AlertController {
create(opts?: AlertOptions): any {
return getAlertProxy(opts);
}
}
export function getAlertProxy(opts: AlertOptions) {
return {
id: alertId++,
state: PRESENTING,
opts: opts,
present: function() {
return present(this);
},
dismiss: function() {
return dismiss(this);
}
};
}
export function present(alertProxy: AlertProxyInternal): Promise<void> {
return loadOverlay(alertProxy.opts).then((alertElement: HTMLIonAlertElement) => {
if (alertProxy.state === PRESENTING) {
return alertElement.present();
}
});
}
export function dismiss(alertProxy: AlertProxyInternal): Promise<void> {
return loadOverlay(alertProxy.opts).then((alertElement: HTMLIonAlertElement) => {
if (alertProxy.state === DISMISSING) {
return alertElement.dismiss();
}
});
}
export function loadOverlay(opts: AlertOptions) {
const element = ensureElementInBody('ion-alert-controller') as HTMLIonAlertControllerElement;
return hydrateElement(element).then(() => {
return element.create(opts);
});
}
export interface AlertProxy {
present(): Promise<void>;
dismiss(): Promise<void>;
}
export interface AlertProxyInternal extends AlertProxy {
id: number;
opts: AlertOptions;
state: number;
}
export const PRESENTING = 1;
export const DISMISSING = 2;

View File

@ -1,17 +0,0 @@
export function hydrateElement(element: any) {
return element.componentOnReady();
}
export function getElement(elementName: string) {
return document.querySelector(elementName);
}
export function ensureElementInBody(elementName: string) {
let element = getElement(elementName);
if (!element) {
element = document.createElement(elementName);
document.body.appendChild(element);
}
return element;
}