mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-23 14:01:20 +08:00
refactor(modal): simplify modal-controller, add ability to dismiss modal from itself
* modal progress * conf app progress * refactor(modal): don't append the .ion-page class anymore to since we are wrapping in <ion-page> instead
This commit is contained in:
2
packages/core/src/components.d.ts
vendored
2
packages/core/src/components.d.ts
vendored
@ -1662,7 +1662,7 @@ declare global {
|
|||||||
enableBackdropDismiss?: boolean;
|
enableBackdropDismiss?: boolean;
|
||||||
enterAnimation?: AnimationBuilder;
|
enterAnimation?: AnimationBuilder;
|
||||||
leaveAnimation?: AnimationBuilder;
|
leaveAnimation?: AnimationBuilder;
|
||||||
modalId?: string;
|
modalId?: number;
|
||||||
mode?: string;
|
mode?: string;
|
||||||
showBackdrop?: boolean;
|
showBackdrop?: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,73 +1,72 @@
|
|||||||
import { Component, Listen, Method } from '@stencil/core';
|
import { Component, Listen, Method } from '@stencil/core';
|
||||||
import { Modal, ModalEvent, ModalOptions } from '../../index';
|
import { Modal, ModalEvent, ModalOptions } from '../../index';
|
||||||
|
|
||||||
|
let ids: 0;
|
||||||
|
const modals = new Map<number, Modal>();
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
tag: 'ion-modal-controller'
|
tag: 'ion-modal-controller'
|
||||||
})
|
})
|
||||||
export class ModalController {
|
export class ModalController {
|
||||||
private ids = 0;
|
|
||||||
private modalResolves: {[modalId: string]: Function} = {};
|
|
||||||
private modals: HTMLIonModalElement[] = [];
|
|
||||||
|
|
||||||
|
|
||||||
@Method()
|
@Method()
|
||||||
create(opts?: ModalOptions): Promise<HTMLIonModalElement> {
|
create(opts?: ModalOptions): Promise<HTMLIonModalElement> {
|
||||||
// create ionic's wrapping ion-modal component
|
// create ionic's wrapping ion-modal component
|
||||||
const modal = document.createElement('ion-modal');
|
const modalElement = document.createElement('ion-modal');
|
||||||
|
|
||||||
const id = this.ids++;
|
|
||||||
|
|
||||||
// give this modal a unique id
|
// give this modal a unique id
|
||||||
modal.modalId = `modal-${id}`;
|
modalElement.modalId = ids++;
|
||||||
|
|
||||||
// convert the passed in modal options into props
|
// convert the passed in modal options into props
|
||||||
// that get passed down into the new modal
|
// that get passed down into the new modal
|
||||||
Object.assign(modal, opts);
|
Object.assign(modalElement, opts);
|
||||||
|
|
||||||
// append the modal element to the document body
|
// append the modal element to the document body
|
||||||
const appRoot = document.querySelector('ion-app') || document.body;
|
const appRoot = document.querySelector('ion-app') || document.body;
|
||||||
appRoot.appendChild(modal as any);
|
appRoot.appendChild(modalElement);
|
||||||
|
|
||||||
// store the resolve function to be called later up when the modal loads
|
return (modalElement as any).componentOnReady();
|
||||||
return new Promise<HTMLIonModalElement>(resolve => {
|
|
||||||
this.modalResolves[modal.modalId] = resolve;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Method()
|
||||||
@Listen('body:ionModalDidLoad')
|
dismiss(data?: any, role?: any, modalId: number = -1) {
|
||||||
protected modalDidLoad(ev: ModalEvent) {
|
modalId = modalId >= 0 ? modalId : getHighestId();
|
||||||
const modal = ev.target as HTMLIonModalElement;
|
const modal = modals.get(modalId);
|
||||||
const modalResolve = this.modalResolves[modal.modalId];
|
return modal.dismiss(data, role);
|
||||||
if (modalResolve) {
|
|
||||||
modalResolve(modal);
|
|
||||||
delete this.modalResolves[modal.modalId];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Listen('body:ionModalWillPresent')
|
@Listen('body:ionModalWillPresent')
|
||||||
protected modalWillPresent(ev: ModalEvent) {
|
protected modalWillPresent(ev: ModalEvent) {
|
||||||
this.modals.push(ev.target as HTMLIonModalElement);
|
console.log('modalWillPresent');
|
||||||
|
modals.set(ev.target.modalId, ev.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Listen('body:ionModalWillDismiss, body:ionModalDidUnload')
|
@Listen('body:ionModalWillDismiss, body:ionModalDidUnload')
|
||||||
protected modalWillDismiss(ev: ModalEvent) {
|
protected modalWillDismiss(ev: ModalEvent) {
|
||||||
const index = this.modals.indexOf(ev.target as HTMLIonModalElement);
|
console.log('modalWillDismiss');
|
||||||
if (index > -1) {
|
modals.delete(ev.target.modalId);
|
||||||
this.modals.splice(index, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Listen('body:keyup.escape')
|
@Listen('body:keyup.escape')
|
||||||
protected escapeKeyUp() {
|
protected escapeKeyUp() {
|
||||||
const lastModal = this.modals[this.modals.length - 1];
|
removeLastModal();
|
||||||
if (lastModal) {
|
|
||||||
lastModal.dismiss();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getHighestId() {
|
||||||
|
let minimum = -1;
|
||||||
|
modals.forEach((_modal: Modal, id: number) => {
|
||||||
|
if (id > minimum) {
|
||||||
|
minimum = id;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return minimum;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeLastModal() {
|
||||||
|
const toRemove = modals.get(getHighestId());
|
||||||
|
return toRemove ? toRemove.dismiss() : Promise.resolve();
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
#### create()
|
#### create()
|
||||||
|
|
||||||
|
|
||||||
|
#### dismiss()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ export class Modal {
|
|||||||
@Prop() cssClass: string;
|
@Prop() cssClass: string;
|
||||||
@Prop() enableBackdropDismiss: boolean = true;
|
@Prop() enableBackdropDismiss: boolean = true;
|
||||||
|
|
||||||
@Prop() modalId: string;
|
@Prop() modalId: number;
|
||||||
@Prop() showBackdrop: boolean = true;
|
@Prop() showBackdrop: boolean = true;
|
||||||
|
|
||||||
@Prop() enterAnimation: AnimationBuilder;
|
@Prop() enterAnimation: AnimationBuilder;
|
||||||
@ -103,7 +103,7 @@ export class Modal {
|
|||||||
this.delegate = new DomFrameworkDelegate();
|
this.delegate = new DomFrameworkDelegate();
|
||||||
}
|
}
|
||||||
|
|
||||||
const cssClasses = ['ion-page'];
|
const cssClasses = [];
|
||||||
if (this.cssClass && this.cssClass.length) {
|
if (this.cssClass && this.cssClass.length) {
|
||||||
cssClasses.push(this.cssClass);
|
cssClasses.push(this.cssClass);
|
||||||
}
|
}
|
||||||
@ -228,6 +228,7 @@ export interface ModalOptions {
|
|||||||
|
|
||||||
|
|
||||||
export interface ModalEvent extends CustomEvent {
|
export interface ModalEvent extends CustomEvent {
|
||||||
|
target: HTMLIonModalElement;
|
||||||
detail: ModalEventDetail;
|
detail: ModalEventDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ any
|
|||||||
|
|
||||||
#### modalId
|
#### modalId
|
||||||
|
|
||||||
string
|
number
|
||||||
|
|
||||||
|
|
||||||
#### mode
|
#### mode
|
||||||
@ -116,7 +116,7 @@ any
|
|||||||
|
|
||||||
#### modalId
|
#### modalId
|
||||||
|
|
||||||
string
|
number
|
||||||
|
|
||||||
|
|
||||||
#### mode
|
#### mode
|
||||||
|
@ -30,6 +30,12 @@
|
|||||||
window.addEventListener("ionModalDidDismiss", function(e){console.log('DidDismiss', e)})
|
window.addEventListener("ionModalDidDismiss", function(e){console.log('DidDismiss', e)})
|
||||||
window.addEventListener("ionModalWillDismiss", function(e){console.log('WillDismiss', e)})
|
window.addEventListener("ionModalWillDismiss", function(e){console.log('WillDismiss', e)})
|
||||||
async function presentModal() {
|
async function presentModal() {
|
||||||
|
|
||||||
|
// initialize controller
|
||||||
|
const modalController = document.querySelector('ion-modal-controller');
|
||||||
|
await modalController.componentOnReady();
|
||||||
|
|
||||||
|
// create component to open
|
||||||
const element = document.createElement('div');
|
const element = document.createElement('div');
|
||||||
element.innerHTML = `
|
element.innerHTML = `
|
||||||
<ion-header>
|
<ion-header>
|
||||||
@ -38,11 +44,19 @@
|
|||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-content padding>
|
<ion-content padding>
|
||||||
<div>Sure, I like dogs. I like caravans moar.</div>
|
<h1>Super content</h1>
|
||||||
|
<div>Additional content</div>
|
||||||
|
<ion-button>Close the modal</ion-button>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
`;
|
`;
|
||||||
const modalController = document.querySelector('ion-modal-controller');
|
|
||||||
await modalController.componentOnReady();
|
// listen for close event
|
||||||
|
const button = element.querySelector('ion-button');
|
||||||
|
button.addEventListener('click', () => {
|
||||||
|
modalController.dismiss();
|
||||||
|
});
|
||||||
|
|
||||||
|
// present the modal
|
||||||
const modalElement = await modalController.create({
|
const modalElement = await modalController.create({
|
||||||
component: element
|
component: element
|
||||||
});
|
});
|
||||||
|
269
packages/demos/conference-app/angular/package-lock.json
generated
269
packages/demos/conference-app/angular/package-lock.json
generated
@ -47,9 +47,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/animations": {
|
"@angular/animations": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.1.3.tgz",
|
||||||
"integrity": "sha512-so2i0He4Fh5YuvujC68k2/Hzyy56/vZAUmLTXHE+9f4RatjqV68LISseFXqcS8bhVuT7AD2ZEbHnM7nWhgDaTg==",
|
"integrity": "sha512-DlcANlrQ2aaspCZZ6yHdEx1PaLKT1q3/xkdTgoKNTJfj9eautcrEuar8NoH0dkzXuQT0i9GewK6+zsF581rpdQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
@ -71,7 +71,7 @@
|
|||||||
"common-tags": "1.6.0",
|
"common-tags": "1.6.0",
|
||||||
"copy-webpack-plugin": "4.3.1",
|
"copy-webpack-plugin": "4.3.1",
|
||||||
"core-object": "3.1.5",
|
"core-object": "3.1.5",
|
||||||
"css-loader": "0.28.7",
|
"css-loader": "0.28.8",
|
||||||
"cssnano": "3.10.0",
|
"cssnano": "3.10.0",
|
||||||
"denodeify": "1.2.1",
|
"denodeify": "1.2.1",
|
||||||
"ember-cli-string-utils": "1.1.0",
|
"ember-cli-string-utils": "1.1.0",
|
||||||
@ -96,7 +96,7 @@
|
|||||||
"opn": "5.1.0",
|
"opn": "5.1.0",
|
||||||
"portfinder": "1.0.13",
|
"portfinder": "1.0.13",
|
||||||
"postcss-custom-properties": "6.2.0",
|
"postcss-custom-properties": "6.2.0",
|
||||||
"postcss-loader": "2.0.9",
|
"postcss-loader": "2.0.10",
|
||||||
"postcss-url": "7.3.0",
|
"postcss-url": "7.3.0",
|
||||||
"raw-loader": "0.5.1",
|
"raw-loader": "0.5.1",
|
||||||
"resolve": "1.5.0",
|
"resolve": "1.5.0",
|
||||||
@ -109,7 +109,7 @@
|
|||||||
"style-loader": "0.13.2",
|
"style-loader": "0.13.2",
|
||||||
"stylus": "0.54.5",
|
"stylus": "0.54.5",
|
||||||
"stylus-loader": "3.0.1",
|
"stylus-loader": "3.0.1",
|
||||||
"uglifyjs-webpack-plugin": "1.1.5",
|
"uglifyjs-webpack-plugin": "1.1.6",
|
||||||
"url-loader": "0.6.2",
|
"url-loader": "0.6.2",
|
||||||
"webpack": "3.10.0",
|
"webpack": "3.10.0",
|
||||||
"webpack-dev-middleware": "1.12.2",
|
"webpack-dev-middleware": "1.12.2",
|
||||||
@ -182,25 +182,25 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/common": {
|
"@angular/common": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/common/-/common-5.1.3.tgz",
|
||||||
"integrity": "sha512-MqgMwsHXxxx8vmQrUFwhNcAg29eqClJdnMJ81DlD7XvEexyXxxoFrxnNea+aB3BUC1AzU0fEy24ngygmhjRmfw==",
|
"integrity": "sha512-n0bzjfOVZH7+FPHQ3nnE3aAgMWebz4afO/Wh01LZNfVgcjdBxHblAYcMaoJeR7zW7f1zm51P6aDa4XlVtsVupQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/compiler": {
|
"@angular/compiler": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.1.3.tgz",
|
||||||
"integrity": "sha512-asTrlMWRe24EzejBwBFVSfq3ZbYI9Xr9NbNtkHK4DRHutDA1wn5PQE5lHuUTNW2B/dmm9pm+5JTVtcbue0nEug==",
|
"integrity": "sha512-YQyL52+CtduFqyodv3m+s8qNDRbmEyEv/ZZHEWNKxKFr7RQ5n7+pbjdincwGf2c2mBw4EqWLgyCdd9SFmjJd0w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/compiler-cli": {
|
"@angular/compiler-cli": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.1.3.tgz",
|
||||||
"integrity": "sha512-dtSVF8RnxYCDSCDbWNv3xg379xAN/1s6odpF5lFyemUi/p2U9mkeXtHo5Y74PX/kdoVnXrTY8bCNnQPm3sHVZA==",
|
"integrity": "sha512-5pmVgFch67qYxl04PitagfUgiw0k7Ak1Cvj5LY2gs0961SHo8qLRA2/4xUKAxv4rFy+fx2Qr9KD99YB+wbsb3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chokidar": "1.7.0",
|
"chokidar": "1.7.0",
|
||||||
@ -210,55 +210,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/core": {
|
"@angular/core": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/core/-/core-5.1.3.tgz",
|
||||||
"integrity": "sha512-nHQWvhdxg7RbhRcfV5EhWURUZBqtcBFajXTBYA2rVHPhm0lGqEUi38VW0ddO8MpPGz0pK2PNpgR3GwXp/egaNw==",
|
"integrity": "sha512-lGlILYCumA5s8Pf+egDW6kjlrEQwnpUG2fBQ4SNRChzzRoTWeJ1XPCrEI9YyFvC8qUsYcDIZwHWBXQQqhdEvmQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/forms": {
|
"@angular/forms": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.1.3.tgz",
|
||||||
"integrity": "sha512-IQRZ2KF4303ga9nTzjU223steFLcaRrFyakM/+x8Hu1otzLeIoFiyDaFPBHtUvoRN14JlKusIi9m407mM2oNJQ==",
|
"integrity": "sha512-DTUg7agXPjvacWHojl0vXuvyJ0Ik9I0D23KKWyzHZHlxXb4vfN7KYP9qIOMwadLLIog8MEu4a6EGgKAoPsZ/Ng==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/http": {
|
"@angular/http": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/http/-/http-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/http/-/http-5.1.3.tgz",
|
||||||
"integrity": "sha512-LvOgVPCxOii2TH8r8UrXQJjqrbgrt/HTNOtqqT1/CmemsnbGcBiYAnt5yiZ2aYQuop4RZLhQ/UpuSMLur9XPtg==",
|
"integrity": "sha512-Ptnu15yjYnvKucLBRKrJqneFMkQYjfwDFgVASLb+YJhRzNFBnqcK8JdfilhP7f0WESANDcwtC/YoaShpiyugNA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/language-service": {
|
"@angular/language-service": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.1.3.tgz",
|
||||||
"integrity": "sha512-oFov/UQyvW3CJESJvC1nI0xSsWOc4Mx5N0Tbah9g2cryShT5PoFGDUE8+Pu5Yjl3uu+iNMnQ4F+J2DDRmyJTWQ==",
|
"integrity": "sha512-qj5K02LdG637YzqgtQVHVwZbzLHWm2WZOHPthu0M04RjS6bZxD4Ng828IXxFydrxoyTcDO/x0Uy2OAb7+rbBQw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@angular/platform-browser": {
|
"@angular/platform-browser": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.1.3.tgz",
|
||||||
"integrity": "sha512-L78ijQ81tEh6nnOq2BqCDtbhqLbARs/2A9QZvEhMTTFu5MOQH0yk0VrjNv58Lch9yOj04EH/Qi7Wep2vFqb57g==",
|
"integrity": "sha512-APMYMgEith68hsuSS8PpE0Dn1dEhJN1IkaIeL+ZlmhZQ4GktVAvMV2ySFYHoQofT5QIWEnvbT2r/cvgW9+8IUQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/platform-browser-dynamic": {
|
"@angular/platform-browser-dynamic": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.1.3.tgz",
|
||||||
"integrity": "sha512-LMMgG1RRngIMvU19+NFRUe2+2gKgzMpwddBVDondi71EqcfumD6NN343lNcHv5/5oWuJdaAx94A29qpAjyVt5Q==",
|
"integrity": "sha512-LKyHzN0LZqcw8nL19yJsbqPMBZ2nxPYFDkbsBicxfr9RHWbWbDuIZXY5l742guzAFBPHhccx9Lpjd3Gwxi7syg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular/router": {
|
"@angular/router": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/router/-/router-5.1.3.tgz",
|
||||||
"integrity": "sha512-gNP2vPTQLlpiRE6tRdZY9CHYs+XhYsiR6wAfUInMvJAocA6a2mQs4qPILJjus8WbcASDzU51C+sgHF++4gz+Qg==",
|
"integrity": "sha512-dhrrk2jfbIQEGWkonRyAjrJSt/a3aLmRRWiSL3UUZhfUqMUGhaxwJn7hYB1uQyvhqTGKYncBvjMrdGFmsQInNQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
}
|
}
|
||||||
@ -284,17 +284,17 @@
|
|||||||
"integrity": "sha512-i2j2J9KIobCqyX6LlrlYhaHgd7qmP1pzHs4XAthHgth8m6c4gsHsh+Pl3fqknD7AX18ghpqo3tVtv0EFhSFU3w=="
|
"integrity": "sha512-i2j2J9KIobCqyX6LlrlYhaHgd7qmP1pzHs4XAthHgth8m6c4gsHsh+Pl3fqknD7AX18ghpqo3tVtv0EFhSFU3w=="
|
||||||
},
|
},
|
||||||
"@ionic/angular": {
|
"@ionic/angular": {
|
||||||
"version": "0.0.2-13",
|
"version": "0.0.2-14",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-0.0.2-13.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-0.0.2-14.tgz",
|
||||||
"integrity": "sha512-PdV5ITq4oCFKNKCUg2/6GneRrCUQEWgfZeukcyIx0V+LbalZ1DUKtn94M74Bfjz/4rFk86G21aIlrq5PCVWZMg==",
|
"integrity": "sha512-VoyiNplPOeaJn0clFNKllWIy6l2nBXmuU5UZqmTSBS/xDSXtiTwGwCao/uTjxAvorqh/BFsRvPSgWXthN733kQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@stencil/core": "0.1.1-0"
|
"@stencil/core": "0.1.1-0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ionic/core": {
|
"@ionic/core": {
|
||||||
"version": "0.0.2-32",
|
"version": "0.0.2-33",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-32.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-33.tgz",
|
||||||
"integrity": "sha512-43Y6nzBM3HqnitRMcuXlX51XjfVDgHdQJQTf6Ybp+VXxJ6CxV/9cQ28XrvtESa40QRfCLHV5MRNwUajy7F4xJw=="
|
"integrity": "sha512-0bzDrY9GeZhFXVZ6N+ZnXAdxrvJX4v3wZbmxNp7j7g8KED7bOVwwLBovLZ6Brz8W/AX2J/T+PI/PseBCaIaGVw=="
|
||||||
},
|
},
|
||||||
"@ionic/storage": {
|
"@ionic/storage": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
@ -418,9 +418,9 @@
|
|||||||
"integrity": "sha1-PWCmv23aOOP4pGlhFZg3nx9klQk="
|
"integrity": "sha1-PWCmv23aOOP4pGlhFZg3nx9klQk="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "6.0.95",
|
"version": "6.0.96",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.95.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.96.tgz",
|
||||||
"integrity": "sha512-d1Twx1NM49dQ7jbNZfaHTQWuYL9cFVrGxYpbc3BvMf4626lOJOZnp2aJQNB9vP/WX3UOe1TrTUMABrGRu6FZhg==",
|
"integrity": "sha512-fsOOY6tMQ3jCB2wD51XFDmmpgm4wVKkJECdcVRqapbJEa7awJDcr+SaH8toz+4r4KW8YQ3M7ybXMoSDo1QGewA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/q": {
|
"@types/q": {
|
||||||
@ -767,7 +767,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "1.7.7",
|
"browserslist": "1.7.7",
|
||||||
"caniuse-db": "1.0.30000784",
|
"caniuse-db": "1.0.30000789",
|
||||||
"normalize-range": "0.1.2",
|
"normalize-range": "0.1.2",
|
||||||
"num2fraction": "1.2.2",
|
"num2fraction": "1.2.2",
|
||||||
"postcss": "5.2.18",
|
"postcss": "5.2.18",
|
||||||
@ -1152,7 +1152,7 @@
|
|||||||
"integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
|
"integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"caniuse-db": "1.0.30000784",
|
"caniuse-db": "1.0.30000789",
|
||||||
"electron-to-chromium": "1.3.30"
|
"electron-to-chromium": "1.3.30"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1197,9 +1197,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "10.0.1",
|
"version": "10.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.2.tgz",
|
||||||
"integrity": "sha512-dRHYcs9LvG9cHgdPzjiI+/eS7e1xRhULrcyOx04RZQsszNJXU2SL9CyG60yLnge282Qq5nwTv+ieK2fH+WPZmA==",
|
"integrity": "sha512-dljb7dk1jqO5ogE+dRpoR9tpHYv5xz9vPSNunh1+0wRuNdYxmzp9WmsyokgW/DUF1FDRVA/TMsmxt027R8djbQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "3.5.1",
|
"bluebird": "3.5.1",
|
||||||
@ -1254,15 +1254,15 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "1.7.7",
|
"browserslist": "1.7.7",
|
||||||
"caniuse-db": "1.0.30000784",
|
"caniuse-db": "1.0.30000789",
|
||||||
"lodash.memoize": "4.1.2",
|
"lodash.memoize": "4.1.2",
|
||||||
"lodash.uniq": "4.5.0"
|
"lodash.uniq": "4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"caniuse-db": {
|
"caniuse-db": {
|
||||||
"version": "1.0.30000784",
|
"version": "1.0.30000789",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000784.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000789.tgz",
|
||||||
"integrity": "sha1-G+lQEtlInHcZB0+BruV9vf/mNhs=",
|
"integrity": "sha1-XPP+x1SABBqxYsoGQTFTFB4jQyU=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"caseless": {
|
"caseless": {
|
||||||
@ -1685,14 +1685,14 @@
|
|||||||
"integrity": "sha512-xlcFiW/U7KrpS6dFuWq3r8Wb7koJx7QVc7LDFCosqkikaVSxkaYOnwDLwilbjrszZ0LYZXThDAJKcQCSrvdShQ==",
|
"integrity": "sha512-xlcFiW/U7KrpS6dFuWq3r8Wb7koJx7QVc7LDFCosqkikaVSxkaYOnwDLwilbjrszZ0LYZXThDAJKcQCSrvdShQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"cacache": "10.0.1",
|
"cacache": "10.0.2",
|
||||||
"find-cache-dir": "1.0.0",
|
"find-cache-dir": "1.0.0",
|
||||||
"globby": "7.1.1",
|
"globby": "7.1.1",
|
||||||
"is-glob": "4.0.0",
|
"is-glob": "4.0.0",
|
||||||
"loader-utils": "0.2.17",
|
"loader-utils": "0.2.17",
|
||||||
"lodash": "4.17.4",
|
"lodash": "4.17.4",
|
||||||
"minimatch": "3.0.4",
|
"minimatch": "3.0.4",
|
||||||
"p-limit": "1.1.0",
|
"p-limit": "1.2.0",
|
||||||
"pify": "3.0.0",
|
"pify": "3.0.0",
|
||||||
"serialize-javascript": "1.4.0"
|
"serialize-javascript": "1.4.0"
|
||||||
},
|
},
|
||||||
@ -1886,9 +1886,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"css-loader": {
|
"css-loader": {
|
||||||
"version": "0.28.7",
|
"version": "0.28.8",
|
||||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz",
|
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.8.tgz",
|
||||||
"integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==",
|
"integrity": "sha512-4jGj7Ag6WUZ5lQyE4te9sJLn0lgkz6HI3WDE4aw98AkW1IAKXPP4blTpPeorlLDpNsYvojo0SYgRJOdz2KbuAw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"babel-code-frame": "6.26.0",
|
"babel-code-frame": "6.26.0",
|
||||||
@ -4439,7 +4439,7 @@
|
|||||||
"ncname": "1.0.0",
|
"ncname": "1.0.0",
|
||||||
"param-case": "2.1.1",
|
"param-case": "2.1.1",
|
||||||
"relateurl": "0.2.7",
|
"relateurl": "0.2.7",
|
||||||
"uglify-js": "3.3.4"
|
"uglify-js": "3.3.5"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": {
|
"commander": {
|
||||||
@ -4455,9 +4455,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
"version": "3.3.4",
|
"version": "3.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.5.tgz",
|
||||||
"integrity": "sha512-hfIwuAQI5dlXP30UtdmWoYF9k+ypVqBXIdmd6ZKBiaNHHvA8ty7ZloMe3+7S5AEKVkxHbjByl4DfRHQ7QpZquw==",
|
"integrity": "sha512-ZebM2kgBL/UI9rKeAbsS2J0UPPv7SBy5hJNZml/YxB1zC6JK8IztcPs+cxilE4pu0li6vadVSFqiO7xFTKuSrg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"commander": "2.12.2",
|
"commander": "2.12.2",
|
||||||
@ -4656,7 +4656,7 @@
|
|||||||
"integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
|
"integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -4691,9 +4691,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -5330,7 +5330,7 @@
|
|||||||
"html-encoding-sniffer": "1.0.2",
|
"html-encoding-sniffer": "1.0.2",
|
||||||
"nwmatcher": "1.4.3",
|
"nwmatcher": "1.4.3",
|
||||||
"parse5": "3.0.3",
|
"parse5": "3.0.3",
|
||||||
"pn": "1.0.0",
|
"pn": "1.1.0",
|
||||||
"request": "2.83.0",
|
"request": "2.83.0",
|
||||||
"request-promise-native": "1.0.5",
|
"request-promise-native": "1.0.5",
|
||||||
"sax": "1.2.4",
|
"sax": "1.2.4",
|
||||||
@ -6709,10 +6709,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
|
||||||
"integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
|
"integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"p-try": "1.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"p-locate": {
|
"p-locate": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@ -6720,7 +6723,7 @@
|
|||||||
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
|
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"p-limit": "1.1.0"
|
"p-limit": "1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-map": {
|
"p-map": {
|
||||||
@ -6729,6 +6732,12 @@
|
|||||||
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
|
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"p-try": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"pako": {
|
"pako": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
|
||||||
@ -6798,13 +6807,13 @@
|
|||||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
|
||||||
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
|
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "8.5.2"
|
"@types/node": "8.5.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "8.5.2",
|
"version": "8.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.5.7.tgz",
|
||||||
"integrity": "sha512-KA4GKOpgXnrqEH2eCVhiv2CsxgXGQJgV1X0vsGlh+WCnxbeAE1GT44ZsTU1IN5dEeV/gDupKa7gWo08V5IxWVQ=="
|
"integrity": "sha512-+1ZfzGIq8Y3EV7hPF7bs3i+Gi2mqYOiEGGRxGYPrn+hTYLMmzg+/5TkMkCHiRtLB38XSNvr/43aQ9+cUq4BbBg=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -6950,9 +6959,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pn": {
|
"pn": {
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/pn/-/pn-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
|
||||||
"integrity": "sha1-HPWjCw2AbNGPiPxBprXUrWFbO6k="
|
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="
|
||||||
},
|
},
|
||||||
"portfinder": {
|
"portfinder": {
|
||||||
"version": "1.0.13",
|
"version": "1.0.13",
|
||||||
@ -7041,7 +7050,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"balanced-match": "1.0.0",
|
"balanced-match": "1.0.0",
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -7076,9 +7085,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7192,13 +7201,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-loader": {
|
"postcss-loader": {
|
||||||
"version": "2.0.9",
|
"version": "2.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.10.tgz",
|
||||||
"integrity": "sha512-sgoXPtmgVT3aBAhU47Kig8oPF+mbXl8Unjvtz1Qj1q2D2EvSVJW2mKJNzxv5y/LvA9xWwuvdysvhc7Zn80UWWw==",
|
"integrity": "sha512-xQaDcEgJ/2JqFY18zpFkik8vyYs7oS5ZRbrjvDqkP97k2wYWfPT4+qA0m4o3pTSCsz0u26PNqs8ZO9FRUWAqrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"loader-utils": "1.1.0",
|
"loader-utils": "1.1.0",
|
||||||
"postcss": "6.0.15",
|
"postcss": "6.0.16",
|
||||||
"postcss-load-config": "1.2.0",
|
"postcss-load-config": "1.2.0",
|
||||||
"schema-utils": "0.3.0"
|
"schema-utils": "0.3.0"
|
||||||
},
|
},
|
||||||
@ -7235,9 +7244,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7352,7 +7361,7 @@
|
|||||||
"integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
|
"integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -7387,9 +7396,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7421,7 +7430,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"css-selector-tokenizer": "0.7.0",
|
"css-selector-tokenizer": "0.7.0",
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -7456,9 +7465,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7490,7 +7499,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"css-selector-tokenizer": "0.7.0",
|
"css-selector-tokenizer": "0.7.0",
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -7525,9 +7534,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7559,7 +7568,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"icss-replace-symbols": "1.1.0",
|
"icss-replace-symbols": "1.1.0",
|
||||||
"postcss": "6.0.15"
|
"postcss": "6.0.16"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
@ -7594,9 +7603,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7725,7 +7734,7 @@
|
|||||||
"mime": "1.6.0",
|
"mime": "1.6.0",
|
||||||
"minimatch": "3.0.4",
|
"minimatch": "3.0.4",
|
||||||
"mkdirp": "0.5.1",
|
"mkdirp": "0.5.1",
|
||||||
"postcss": "6.0.15",
|
"postcss": "6.0.16",
|
||||||
"xxhashjs": "0.2.1"
|
"xxhashjs": "0.2.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -7761,9 +7770,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "6.0.15",
|
"version": "6.0.16",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
|
||||||
"integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==",
|
"integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chalk": "2.3.0",
|
"chalk": "2.3.0",
|
||||||
@ -7869,7 +7878,7 @@
|
|||||||
"integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=",
|
"integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "6.0.95",
|
"@types/node": "6.0.96",
|
||||||
"@types/q": "0.0.32",
|
"@types/q": "0.0.32",
|
||||||
"@types/selenium-webdriver": "2.53.43",
|
"@types/selenium-webdriver": "2.53.43",
|
||||||
"blocking-proxy": "0.0.5",
|
"blocking-proxy": "0.0.5",
|
||||||
@ -9593,13 +9602,13 @@
|
|||||||
"resolve": "1.5.0",
|
"resolve": "1.5.0",
|
||||||
"semver": "5.4.1",
|
"semver": "5.4.1",
|
||||||
"tslib": "1.8.1",
|
"tslib": "1.8.1",
|
||||||
"tsutils": "2.15.0"
|
"tsutils": "2.16.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tsutils": {
|
"tsutils": {
|
||||||
"version": "2.15.0",
|
"version": "2.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.16.0.tgz",
|
||||||
"integrity": "sha512-kKb1mSqRMwF0GHKya5/hZsI2m7Flg4ONZDeYu4e6Gx+kYAu86zsLNCHcUmNWhCRaUcKshNI272hOzuaCQDzJ2g==",
|
"integrity": "sha512-9Ier/60O7OZRNPiw+or5QAtAY4kQA+WDiO/r6xOYATEyefH9bdfvTRLCxrYnFhQlZfET2vYXKfpr3Vw2BiArZw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
@ -9679,17 +9688,17 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"uglifyjs-webpack-plugin": {
|
"uglifyjs-webpack-plugin": {
|
||||||
"version": "1.1.5",
|
"version": "1.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.6.tgz",
|
||||||
"integrity": "sha512-YBGc9G7dv12Vjx8vUQs54DZgAXVf04LlG6dNNiEbTZjL3PbUqiY4uPB9Kv+fUJaqRskEGva/lS7sh08yJr7jnA==",
|
"integrity": "sha512-VUja+7rYbznEvUaeb8IxOCTUrq4BCb1ml0vffa+mfwKtrAwlqnU0ENF14DtYltV1cxd/HSuK51CCA/D/8kMQVw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"cacache": "10.0.1",
|
"cacache": "10.0.2",
|
||||||
"find-cache-dir": "1.0.0",
|
"find-cache-dir": "1.0.0",
|
||||||
"schema-utils": "0.3.0",
|
"schema-utils": "0.4.3",
|
||||||
"serialize-javascript": "1.4.0",
|
"serialize-javascript": "1.4.0",
|
||||||
"source-map": "0.6.1",
|
"source-map": "0.6.1",
|
||||||
"uglify-es": "3.2.2",
|
"uglify-es": "3.3.5",
|
||||||
"webpack-sources": "1.1.0",
|
"webpack-sources": "1.1.0",
|
||||||
"worker-farm": "1.5.2"
|
"worker-farm": "1.5.2"
|
||||||
},
|
},
|
||||||
@ -9700,6 +9709,16 @@
|
|||||||
"integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
|
"integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"schema-utils": {
|
||||||
|
"version": "0.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz",
|
||||||
|
"integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ajv": "5.5.2",
|
||||||
|
"ajv-keywords": "2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
@ -9707,9 +9726,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uglify-es": {
|
"uglify-es": {
|
||||||
"version": "3.2.2",
|
"version": "3.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.5.tgz",
|
||||||
"integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==",
|
"integrity": "sha512-7IvaFuYtfbcXm0fGb13mmRYVQdzQDXETAtvYHbCDPt2V88Y8l2HaULOyW6ueoYA0JhGIcLK7dtHkDcBWySqnBw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"commander": "2.12.2",
|
"commander": "2.12.2",
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
<ion-header>
|
<ion-header>
|
||||||
<ion-toolbar no-border-bottom>
|
<ion-toolbar>
|
||||||
<ion-button menuToggle>
|
<ion-buttons slot="start">
|
||||||
<ion-icon name="menu"></ion-icon>
|
<ion-button> <!-- TODO menu toggle -->
|
||||||
</ion-button>
|
Menu
|
||||||
|
</ion-button>
|
||||||
|
</ion-buttons>
|
||||||
|
|
||||||
|
|
||||||
<ion-segment [(ngModel)]="segment" (ionChange)="updateSchedule()">
|
<ion-segment [(ngModel)]="segment" (ionChange)="updateSchedule()">
|
||||||
<ion-segment-button value="all">
|
<ion-segment-button value="all">
|
||||||
@ -15,7 +18,8 @@
|
|||||||
|
|
||||||
<ion-buttons slot="end">
|
<ion-buttons slot="end">
|
||||||
<ion-button (click)="presentFilter()" slot="icon-only">
|
<ion-button (click)="presentFilter()" slot="icon-only">
|
||||||
<ion-icon ios="ios-options-outline" md="md-options"></ion-icon>
|
<!--<ion-icon ios="ios-options-outline" md="md-options"></ion-icon> -->
|
||||||
|
Filter
|
||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-buttons>
|
</ion-buttons>
|
||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
@ -28,59 +32,33 @@
|
|||||||
</ion-searchbar>
|
</ion-searchbar>
|
||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
|
|
||||||
<ion-content>
|
<ion-content>
|
||||||
<ion-refresher (ionRefresh)="doRefresh($event)">
|
|
||||||
<ion-refresher-content></ion-refresher-content>
|
|
||||||
</ion-refresher>
|
|
||||||
|
|
||||||
<ion-list #scheduleList [hidden]="shownSessions === 0">
|
<ion-list #scheduleList [hidden]="shownSessions === 0">
|
||||||
|
<div *ngFor="let group of groups" [hidden]="group.hide"> <!-- TODO should be ion-item-wrapper or whatever its called -->
|
||||||
|
<ion-item-divider sticky>
|
||||||
|
<ion-label>
|
||||||
|
{{group.time}}
|
||||||
|
</ion-label>
|
||||||
|
</ion-item-divider>
|
||||||
|
<ion-item-sliding *ngFor="let session of group.sessions" #slidingItem [attr.track]="session.tracks[0] | lowercase" [hidden]="session.hide">
|
||||||
|
|
||||||
<ion-item-group *ngFor="let group of groups" [hidden]="group.hide">
|
<ion-item (click)="goToSessionDetail(session)">
|
||||||
|
<h3>{{session.name}}</h3>
|
||||||
<ion-item-divider sticky>
|
<p>
|
||||||
<ion-label>
|
{{session.timeStart}} —
|
||||||
{{group.time}}
|
{{session.timeEnd}}:
|
||||||
</ion-label>
|
{{session.location}}
|
||||||
</ion-item-divider>
|
</p>
|
||||||
|
</ion-item>
|
||||||
<ion-item-sliding *ngFor="let session of group.sessions" #slidingItem [attr.track]="session.tracks[0] | lowercase" [hidden]="session.hide">
|
<ion-item-options>
|
||||||
|
<ion-item-option color="favorite" (click)="addFavorite(slidingItem, session)" *ngIf="segment === 'all'">
|
||||||
<button ion-item (click)="goToSessionDetail(session)">
|
Favorite
|
||||||
<h3>{{session.name}}</h3>
|
</ion-item-option>
|
||||||
<p>
|
<ion-item-option color="danger" click)="removeFavorite(slidingItem, session, 'Remove Favorite')" *ngIf="segment === 'favorites'">
|
||||||
{{session.timeStart}} —
|
Remove
|
||||||
{{session.timeEnd}}:
|
</ion-item-option>
|
||||||
{{session.location}}
|
</ion-item-options>
|
||||||
</p>
|
</ion-item-sliding>
|
||||||
</button>
|
</div>
|
||||||
|
|
||||||
<ion-item-options>
|
|
||||||
<button ion-button color="favorite" (click)="addFavorite(slidingItem, session)" *ngIf="segment === 'all'">
|
|
||||||
Favorite
|
|
||||||
</button>
|
|
||||||
<button ion-button color="danger" (click)="removeFavorite(slidingItem, session, 'Remove Favorite')" *ngIf="segment === 'favorites'">
|
|
||||||
Remove
|
|
||||||
</button>
|
|
||||||
</ion-item-options>
|
|
||||||
|
|
||||||
</ion-item-sliding>
|
|
||||||
|
|
||||||
</ion-item-group>
|
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
|
||||||
<ion-list-header [hidden]="shownSessions > 0">
|
|
||||||
No Sessions Found
|
|
||||||
</ion-list-header>
|
|
||||||
|
|
||||||
<ion-fab bottom right #fab>
|
|
||||||
<button ion-fab><ion-icon name="share"></ion-icon></button>
|
|
||||||
<ion-fab-list side="top">
|
|
||||||
<button ion-fab color="vimeo" (click)="openSocial('Vimeo', fab)"><ion-icon name="logo-vimeo"></ion-icon></button>
|
|
||||||
<button ion-fab color="google" (click)="openSocial('Google+', fab)"><ion-icon name="logo-googleplus"></ion-icon></button>
|
|
||||||
<button ion-fab color="twitter" (click)="openSocial('Twitter', fab)"><ion-icon name="logo-twitter"></ion-icon></button>
|
|
||||||
<button ion-fab color="facebook" (click)="openSocial('Facebook', fab)"><ion-icon name="logo-facebook"></ion-icon></button>
|
|
||||||
</ion-fab-list>
|
|
||||||
</ion-fab>
|
|
||||||
</ion-content>
|
</ion-content>
|
@ -26,7 +26,8 @@ import { ScheduleFilterPage } from '../schedule-filter/schedule-filter';
|
|||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'page-schedule',
|
selector: 'page-schedule',
|
||||||
templateUrl: 'schedule.html'
|
templateUrl: 'schedule.html',
|
||||||
|
styleUrls: ['./schedule.scss']
|
||||||
})
|
})
|
||||||
export class SchedulePage {
|
export class SchedulePage {
|
||||||
// the list is a child of the schedule page
|
// the list is a child of the schedule page
|
||||||
|
Reference in New Issue
Block a user