Skip to content

Instantly share code, notes, and snippets.

View fcampinho's full-sized avatar

Fabio Campinho fcampinho

View GitHub Profile
import { Component } from '@angular/core';
import { IonicPage, Platform, NavController, NavParams, AlertController, ActionSheetController, ModalController } from 'ionic-angular';
import { WorkItem, Task } from '../../commons/types';
@IonicPage()
@Component({
selector: 'page-task-list',
templateUrl: 'task-list.html',
})
<ion-header>
<ion-navbar color="primary">
<ion-title>Work Item: {{workitem.title}}</ion-title>
<ion-buttons end>
<button ion-button icon-only (click)="addItem()">
<ion-icon name="add-circle">
</ion-icon>
</button>
</ion-buttons>
</ion-navbar>
import { Component } from '@angular/core';
import { IonicPage, NavController, AlertController, Platform, Keyboard } from 'ionic-angular';
import { WorkItem } from '../../commons/types';
import { WorkItemModel } from '../../models/workitem-model';
import { UUID } from 'angular2-uuid';
@IonicPage()
@Component({
selector: 'page-home',
<ion-content padding>
<ion-list no-lines>
<ion-item-sliding #slidingItem *ngFor="let workitem of workitems">
<button ion-item (click)="viewWorkItem(workitem)">
{{workitem.title}}<span text-right> <ion-badge>{{workitem.tasks.length}}</ion-badge> items</span>
</button>
<ion-item-options icon-top>
<button ion-button color="light" (click)="updateWorkItem(slidingItem, workitem)">
<ion-icon name="clipboard"></ion-icon>Edit
</button>
<ion-header>
<ion-navbar color="primary" >
<ion-title>
Work Items
</ion-title>
<ion-buttons end>
<button ion-button icon-only (click)="addWorkItem()">
<ion-icon name="add-circle"></ion-icon>
</button>
</ion-buttons>
import { Schedule } from '../commons/types';
export class ScheduleModel implements Schedule {
constructor(public id: string, public start: Date, public end: Date) { }
updatePeriod(start: Date, end: Date) {
this.start = start;
this.end = end;
}
}
var WorkItemModel = (function () {
function WorkItemModel(id, title, tasks) {
this.id = id;
this.title = title;
this.tasks = [];
}
WorkItemModel.prototype.update = function (title) {
this.title = title;
};
WorkItemModel.prototype.addTask = function (task) {
import { WorkItem, Task } from '../commons/types';
export class WorkItemModel implements WorkItem {
public tasks: Task[] = [];
constructor(public id: string, public title: string, tasks: Task[]) { }
update(title: string): void {
this.title = title;
}
interface Period {
start: Date;
end: Date;
updatePeriod(start: Date, end: Date);
}
export interface TimeTracker extends Period {
id: string;
detail: string;
@IonicPage()
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {