From a6f23951a56da80eca9a2f097e1d1d35ff10f5b6 Mon Sep 17 00:00:00 2001 From: kiswa Date: Thu, 25 Aug 2016 10:38:13 +0000 Subject: [PATCH] Additional models --- src/app/shared/index.ts | 1 + src/app/shared/models/board.model.ts | 21 ++++++++ src/app/shared/models/category.model.ts | 8 +++ src/app/shared/models/column.model.ts | 9 ++++ src/app/shared/models/index.ts | 2 + src/app/shared/models/issue-tracker.model.ts | 6 +++ src/scss/_settings.scss | 51 ++++++++++++++++---- 7 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 src/app/shared/models/category.model.ts create mode 100644 src/app/shared/models/column.model.ts create mode 100644 src/app/shared/models/issue-tracker.model.ts diff --git a/src/app/shared/index.ts b/src/app/shared/index.ts index 8cfa390..badbe12 100644 --- a/src/app/shared/index.ts +++ b/src/app/shared/index.ts @@ -1,4 +1,5 @@ export * from './top-nav/top-nav.component'; +export * from './inline-edit/inline-edit.component'; export * from './auth/index'; export * from './models/index'; export * from './notifications/index'; diff --git a/src/app/shared/models/board.model.ts b/src/app/shared/models/board.model.ts index 70a7eab..dc0dde2 100644 --- a/src/app/shared/models/board.model.ts +++ b/src/app/shared/models/board.model.ts @@ -1,3 +1,7 @@ +import { Column } from './column.model'; +import { Category } from './category.model'; +import { IssueTracker } from './issue-tracker.model'; + export class Board { constructor(public id: number = 0, public name: string = '', @@ -5,7 +9,24 @@ export class Board { public columns = [], public categories = [], public auto_actions = [], + public issue_trackers = [], public users = []) { } + + addColumn(name: string): void { + let column = new Column(); + column.name = name; + column.position = this.columns.length; + + this.columns.push(column); + } + + addCategory(name: string, color: string): void { + this.categories.push(new Category(0, name, color, 0)); + } + + addIssueTracker(url: string, regex: string): void { + this.issue_trackers.push(new IssueTracker(0, url, regex)); + } } diff --git a/src/app/shared/models/category.model.ts b/src/app/shared/models/category.model.ts new file mode 100644 index 0000000..9f4b135 --- /dev/null +++ b/src/app/shared/models/category.model.ts @@ -0,0 +1,8 @@ +export class Category { + constructor(public id: number = 0, + public name: string = '', + public default_task_color: string = '', + public board_id: number = 0) { + } +} + diff --git a/src/app/shared/models/column.model.ts b/src/app/shared/models/column.model.ts new file mode 100644 index 0000000..937cbaa --- /dev/null +++ b/src/app/shared/models/column.model.ts @@ -0,0 +1,9 @@ +export class Column { + constructor(public id: number = 0, + public name: string = '', + public position: number = 0, + public board_id: number = 0, + public tasks = []) { + } +} + diff --git a/src/app/shared/models/index.ts b/src/app/shared/models/index.ts index d14f972..26e1ac7 100644 --- a/src/app/shared/models/index.ts +++ b/src/app/shared/models/index.ts @@ -1,5 +1,7 @@ export * from './user.model'; export * from './board.model'; +export * from './column.model'; +export * from './issue-tracker.model'; export * from './api-response.model'; export * from './notification.model'; export * from './user-options.model'; diff --git a/src/app/shared/models/issue-tracker.model.ts b/src/app/shared/models/issue-tracker.model.ts new file mode 100644 index 0000000..fb6501d --- /dev/null +++ b/src/app/shared/models/issue-tracker.model.ts @@ -0,0 +1,6 @@ +export class IssueTracker { + constructor(public id: number = 0, + public url: string = '', + public regex: string = '') { + } +} diff --git a/src/scss/_settings.scss b/src/scss/_settings.scss index a60b318..9356cdb 100644 --- a/src/scss/_settings.scss +++ b/src/scss/_settings.scss @@ -85,18 +85,33 @@ } } + .double-edit .first { + .inline-edit { + margin-right: 1%; + width: 70%; + } + + [type="text"] { + width: 95%; + } + } + + .double-edit .last { + .inline-edit { + width: 25%; + } + + [type="text"] { + width: 86%; + } + } + .users { .user-select { display: inline-block; + margin-bottom: .3em; + margin-top: 0; width: 33%; - - span { - font-weight: 700; - } - - label { - margin-top: auto; - } } label { @@ -141,7 +156,8 @@ } .badge { - margin-right: 5px; + margin-left: 5px; + margin-right: 13px; } .icon-trash-empty, @@ -150,6 +166,23 @@ } } + .inline-edit { + display: inline-block; + width: 82%; + + .icon { + cursor: pointer; + float: right; + margin-top: 4px; + } + + [type="text"] { + height: 1em; + margin: 0; + width: 90%; + } + } + .icon-resize-vertical { border-right: 1px solid $color-border; cursor: move;