Lazy commit - should be several
This commit is contained in:
parent
b5fc471f61
commit
e3096aa5c6
14
README.md
14
README.md
@ -134,11 +134,11 @@ Because I like seeing the numbers.
|
||||
|
||||
Language | Files | Blank | Comment | Code
|
||||
-------------|--------:|---------:|--------:|---------:
|
||||
TypeScript | 53 | 575 | 23 | 2729
|
||||
PHP | 18 | 554 | 19 | 1724
|
||||
HTML | 17 | 125 | 9 | 1143
|
||||
SASS | 13 | 209 | 11 | 950
|
||||
__SUM:__ | __101__ | __1463__ | __62__ | __6546__
|
||||
TypeScript | 54 | 586 | 25 | 2765
|
||||
PHP | 18 | 559 | 19 | 1743
|
||||
HTML | 18 | 126 | 9 | 1148
|
||||
SASS | 13 | 209 | 11 | 953
|
||||
__SUM:__ | __103__ | __1480__ | __64__ | __6609__
|
||||
|
||||
Command: `cloc --exclude-dir=vendor --exclude-ext=json src/`
|
||||
|
||||
@ -146,9 +146,9 @@ Command: `cloc --exclude-dir=vendor --exclude-ext=json src/`
|
||||
|
||||
Language | Files | Blank | Comment | Code
|
||||
-------------|-------:|---------:|--------:|---------:
|
||||
PHP | 10 | 683 | 16 | 1994
|
||||
PHP | 10 | 687 | 16 | 2008
|
||||
JavaScript | 31 | 392 | 37 | 1636
|
||||
__SUM:__ | __41__ | __1075__ | __53__ | __3630__
|
||||
__SUM:__ | __41__ | __1079__ | __53__ | __3644__
|
||||
|
||||
Command: `cloc --exclude-ext=xml test/`
|
||||
|
||||
|
43
package.json
43
package.json
@ -27,20 +27,20 @@
|
||||
},
|
||||
"homepage": "https://github.com/kiswa/TaskBoard#readme",
|
||||
"devDependencies": {
|
||||
"@angular/common": "4.0.0",
|
||||
"@angular/compiler": "4.0.0",
|
||||
"@angular/core": "4.0.0",
|
||||
"@angular/forms": "4.0.0",
|
||||
"@angular/http": "4.0.0",
|
||||
"@angular/platform-browser": "4.0.0",
|
||||
"@angular/platform-browser-dynamic": "4.0.0",
|
||||
"@angular/router": "4.0.0",
|
||||
"@angular/common": "4.1.0",
|
||||
"@angular/compiler": "4.1.0",
|
||||
"@angular/core": "4.1.0",
|
||||
"@angular/forms": "4.1.0",
|
||||
"@angular/http": "4.1.0",
|
||||
"@angular/platform-browser": "4.1.0",
|
||||
"@angular/platform-browser-dynamic": "4.1.0",
|
||||
"@angular/router": "4.1.0",
|
||||
"@types/chartist": "^0.9.34",
|
||||
"@types/core-js": "^0.9.39",
|
||||
"bourbon": "^4.3.3",
|
||||
"@types/core-js": "^0.9.41",
|
||||
"bourbon": "^4.3.4",
|
||||
"bourbon-neat": "^1.8.0",
|
||||
"chai": "^3.5.0",
|
||||
"chartist": "^0.10.1",
|
||||
"chartist": "^0.11.0",
|
||||
"chartist-plugin-tooltip": "git+https://github.com/Globegitter/chartist-plugin-tooltip.git",
|
||||
"core-js": "^2.4.1",
|
||||
"del": "^2.2.2",
|
||||
@ -53,28 +53,27 @@
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-cssimport": "^5.0.0",
|
||||
"gulp-cssnano": "^2.1.2",
|
||||
"gulp-imagemin": "^3.1.1",
|
||||
"gulp-imagemin": "^3.2.0",
|
||||
"gulp-istanbul": "^1.1.1",
|
||||
"gulp-mocha": "^3.0.1",
|
||||
"gulp-phpunit": "^0.22.2",
|
||||
"gulp-sass": "^3.1.0",
|
||||
"gulp-scss-lint": "^0.4.0",
|
||||
"gulp-tslint": "^7.1.0",
|
||||
"gulp-tslint": "^8.0.0",
|
||||
"gulp-typescript": "^3.1.6",
|
||||
"gulp-uglify": "^2.1.2",
|
||||
"gulp-util": "^3.0.8",
|
||||
"merge-stream": "^1.0.1",
|
||||
"mock-browser": "^0.92.12",
|
||||
"ng2-dragula": "^1.3.0",
|
||||
"node-normalize-scss": "^1.4.0",
|
||||
"ng2-dragula": "^1.3.1",
|
||||
"node-normalize-scss": "^2.0.0",
|
||||
"reflect-metadata": "^0.1.10",
|
||||
"rxjs": "5.2.0",
|
||||
"scss-base": "^1.2.3",
|
||||
"systemjs": "0.20.10",
|
||||
"rxjs": "5.3.0",
|
||||
"scss-base": "^1.3.1",
|
||||
"systemjs": "0.20.12",
|
||||
"systemjs-builder": "0.16.4",
|
||||
"touch": "^1.0.0",
|
||||
"tslint": "^4.5.1",
|
||||
"typescript": "^2.2.1",
|
||||
"zone.js": "^0.8.5"
|
||||
"tslint": "^5.1.0",
|
||||
"typescript": "^2.3.1",
|
||||
"zone.js": "^0.8.9"
|
||||
}
|
||||
}
|
||||
|
20
src/api/composer.lock
generated
20
src/api/composer.lock
generated
@ -256,16 +256,16 @@
|
||||
},
|
||||
{
|
||||
"name": "myclabs/php-enum",
|
||||
"version": "1.5.0",
|
||||
"version": "1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/php-enum.git",
|
||||
"reference": "e42fa9d2ae5dd660dbd0fb573d94c61e5a0dbb02"
|
||||
"reference": "61f4a24da5be216301447f3278ea6562609d61f5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/php-enum/zipball/e42fa9d2ae5dd660dbd0fb573d94c61e5a0dbb02",
|
||||
"reference": "e42fa9d2ae5dd660dbd0fb573d94c61e5a0dbb02",
|
||||
"url": "https://api.github.com/repos/myclabs/php-enum/zipball/61f4a24da5be216301447f3278ea6562609d61f5",
|
||||
"reference": "61f4a24da5be216301447f3278ea6562609d61f5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -296,7 +296,7 @@
|
||||
"keywords": [
|
||||
"enum"
|
||||
],
|
||||
"time": "2016-10-09 21:43:05"
|
||||
"time": "2017-03-26 10:24:21"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
@ -1639,16 +1639,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v3.2.6",
|
||||
"version": "v3.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a"
|
||||
"reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/093e416ad096355149e265ea2e4cc1f9ee40ab1a",
|
||||
"reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621",
|
||||
"reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1690,7 +1690,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-03-07 16:47:02"
|
||||
"time": "2017-03-20 09:45:15"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
@ -68,6 +68,9 @@ class Tasks extends BaseController {
|
||||
$task->title . ' added.');
|
||||
$this->apiJson->addData(R::exportAll($task));
|
||||
|
||||
$board = R::load('board', $column->board_id);
|
||||
$this->apiJson->addData(R::exportAll($board));
|
||||
|
||||
return $this->jsonResponse($response);
|
||||
}
|
||||
|
||||
|
@ -45,24 +45,20 @@ class BeanLoader {
|
||||
$board->name = isset($data->name) ? $data->name : '';
|
||||
$board->is_active = isset($data->is_active) ? $data->is_active : '';
|
||||
|
||||
try {
|
||||
if (isset($data->categories)) {
|
||||
self::updateObjectList('category', 'LoadCategory',
|
||||
$board->xownCategoryList, $data->categories);
|
||||
}
|
||||
if (isset($data->categories)) {
|
||||
self::updateObjectList('category', 'LoadCategory',
|
||||
$board->xownCategoryList, $data->categories);
|
||||
}
|
||||
|
||||
if (isset($data->issue_trackers)) {
|
||||
self::updateObjectList('issuetracker', 'LoadIssueTracker',
|
||||
$board->xownIssueTrackerList,
|
||||
$data->issue_trackers);
|
||||
}
|
||||
if (isset($data->issue_trackers)) {
|
||||
self::updateObjectList('issuetracker', 'LoadIssueTracker',
|
||||
$board->xownIssueTrackerList,
|
||||
$data->issue_trackers);
|
||||
}
|
||||
|
||||
if (isset($data->columns)) {
|
||||
self::updateObjectList('column', 'LoadColumn',
|
||||
$board->xownColumnList, $data->columns);
|
||||
}
|
||||
} catch(Exception $ex) {
|
||||
return false;
|
||||
if (isset($data->columns)) {
|
||||
self::updateObjectList('column', 'LoadColumn',
|
||||
$board->xownColumnList, $data->columns);
|
||||
}
|
||||
|
||||
// Users do not get deleted when removed from a board
|
||||
@ -112,7 +108,7 @@ class BeanLoader {
|
||||
|
||||
if (isset($data->tasks)) {
|
||||
self::updateObjectList('task', 'LoadTask',
|
||||
$column->xownTaskList, $data->tasks);
|
||||
$column->xownTaskList, $data->tasks);
|
||||
}
|
||||
|
||||
if (!isset($data->name) || !isset($data->position) ||
|
||||
@ -181,7 +177,7 @@ class BeanLoader {
|
||||
foreach ($data->assignees as $assignee) {
|
||||
$user = R::load('user', $assignee->id);
|
||||
|
||||
if((int) $user->id) {
|
||||
if ((int)$user->id) {
|
||||
$task->sharedUserList[] = $user;
|
||||
}
|
||||
}
|
||||
@ -274,21 +270,15 @@ class BeanLoader {
|
||||
foreach ($dataList as $obj) {
|
||||
$object = R::load($type, (isset($obj->id) ? $obj->id : 0));
|
||||
|
||||
if ((int)$object->id === 0) {
|
||||
call_user_func_array(array(__CLASS__, $loadFunc),
|
||||
array(&$object, json_encode($obj)));
|
||||
$objectList[] = $object;
|
||||
continue;
|
||||
}
|
||||
|
||||
call_user_func_array(array(__CLASS__, $loadFunc),
|
||||
array(&$objectList[$object->id],
|
||||
json_encode($obj)));
|
||||
array(&$object, json_encode($obj)));
|
||||
$objectList[] = $object;
|
||||
}
|
||||
}
|
||||
|
||||
private static function updateObjectList($type, $loadFunc,
|
||||
&$objectList = [], &$dataList = []) {
|
||||
&$objectList = [],
|
||||
&$dataList = []) {
|
||||
if (count($objectList) && count($dataList)) {
|
||||
self::removeObjectsNotInData($type, $dataList, $objectList);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ export const API_HTTP_PROVIDERS = [
|
||||
{
|
||||
provide: Http,
|
||||
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions,
|
||||
router: Router) => new ApiHttp(xhrBackend, requestOptions, router),
|
||||
router: Router) => new ApiHttp(xhrBackend, requestOptions, router),
|
||||
deps: [XHRBackend, RequestOptions, Router]
|
||||
}
|
||||
];
|
||||
|
@ -28,14 +28,8 @@
|
||||
</div>
|
||||
|
||||
<div class="tasks">
|
||||
<tb-task *ngFor="let task of columnData.ownTask"
|
||||
class="task"
|
||||
<tb-task class="task-container" *ngFor="let task of columnData.ownTask"
|
||||
[task]="task"></tb-task>
|
||||
<!--<div *ngFor="let task of columnData.ownTask"-->
|
||||
<!-- class="task" [ngClass]="{ 'compact': collapseTasks }"-->
|
||||
<!-- [style.backgroundColor]="task.color"-->
|
||||
<!-- [style.color]="getTextColor(task.color)">-->
|
||||
<!--</div>-->
|
||||
</div>
|
||||
|
||||
<!--<tb-modal modal-title="Confirm Task Removal" blocking="true">-->
|
||||
@ -60,6 +54,7 @@
|
||||
Description
|
||||
<textarea name="description" rows="5"
|
||||
placeholder="What needs to get done?"
|
||||
(keyup.enter)="preventEnter($event)"
|
||||
[(ngModel)]="modalProps.description"></textarea>
|
||||
</label>
|
||||
|
||||
|
@ -105,8 +105,15 @@ export class ColumnDisplay implements OnInit {
|
||||
|
||||
addTask() {
|
||||
this.boardService.addTask(this.modalProps)
|
||||
.subscribe(res => {
|
||||
console.log(res); // tslint:disable-line
|
||||
.subscribe((response: ApiResponse) => {
|
||||
response.alerts.forEach(note => this.notes.add(note));
|
||||
|
||||
this.notes.add({ type: 'info', text: 'Refresh... for now.'});
|
||||
|
||||
this.modal.close(this.MODAL_ID + this.columnData.id);
|
||||
|
||||
let boardData = response.data[2][0];
|
||||
// TODO - Update board display with new data
|
||||
});
|
||||
}
|
||||
|
||||
@ -117,5 +124,11 @@ export class ColumnDisplay implements OnInit {
|
||||
|
||||
this.modal.open(this.MODAL_ID + this.columnData.id);
|
||||
}
|
||||
|
||||
private preventEnter(event: any) {
|
||||
if (event && event.stopPropagation) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
<div [style.backgroundColor]="taskData.color"
|
||||
<div class="task"
|
||||
[style.backgroundColor]="taskData.color"
|
||||
[style.color]="getTextColor(taskData.color)">
|
||||
<h4>
|
||||
<span class="icon"
|
||||
|
@ -170,22 +170,22 @@ export class AutoActions {
|
||||
case ActionTrigger.MovedToColumn:
|
||||
this.buildSourcesArray('triggerSources',
|
||||
'Column', 'columns');
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.AssignedToUser:
|
||||
this.buildSourcesArray('triggerSources',
|
||||
'User', 'users', 'username');
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.AddedToCategory:
|
||||
this.buildSourcesArray('triggerSources',
|
||||
'Category', 'categories');
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.PointsChanged:
|
||||
// Leave triggerSources empty
|
||||
this.types = [ [
|
||||
ActionType.AlterColorByPoints,
|
||||
this.strings.settings_alterByPoints
|
||||
] ];
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
this.newAction.type = this.types ?
|
||||
@ -203,15 +203,15 @@ export class AutoActions {
|
||||
case ActionType.AddCategory:
|
||||
this.buildSourcesArray('actionSources',
|
||||
'Category', 'categories');
|
||||
break;
|
||||
break;
|
||||
case ActionType.SetAssignee:
|
||||
case ActionType.AddAssignee:
|
||||
this.buildSourcesArray('actionSources',
|
||||
'Assignee', 'users', 'username');
|
||||
break;
|
||||
break;
|
||||
case ActionType.SetColor:
|
||||
this.newAction.change_to = '#000000';
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
this.checkAddDisabled();
|
||||
@ -260,20 +260,20 @@ export class AutoActions {
|
||||
case ActionTrigger.MovedToColumn:
|
||||
desc = this.strings.settings_triggerMoveToColumn + ' ';
|
||||
desc += this.getNameFromArray(board.columns, action.source_id);
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.AssignedToUser:
|
||||
desc = this.strings.settings_triggerAssignedToUser + ' ';
|
||||
desc += this.getNameFromArray(board.users,
|
||||
action.source_id, 'username');
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.AddedToCategory:
|
||||
desc = this.strings.settings_triggerAddedToCategory + ' ';
|
||||
desc += this.getNameFromArray(board.categories,
|
||||
action.source_id);
|
||||
break;
|
||||
break;
|
||||
case ActionTrigger.PointsChanged:
|
||||
desc = this.strings.settings_triggerPointsChanged;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
return desc;
|
||||
@ -291,33 +291,33 @@ export class AutoActions {
|
||||
case ActionType.SetColor:
|
||||
desc = this.strings.settings_actionSetColor + ' <span style="background-color: ' +
|
||||
action.change_to + ';">' + action.change_to + '</span>';
|
||||
break;
|
||||
break;
|
||||
case ActionType.SetCategory:
|
||||
desc = this.strings.settings_actionSetCategory + ' ';
|
||||
desc += this.getNameFromArray(board.categories,
|
||||
+action.change_to);
|
||||
break;
|
||||
break;
|
||||
case ActionType.AddCategory:
|
||||
desc = this.strings.settings_actionAddCategory + ' ';
|
||||
desc += this.getNameFromArray(board.categories,
|
||||
+action.change_to);
|
||||
break;
|
||||
break;
|
||||
case ActionType.SetAssignee:
|
||||
desc = this.strings.settings_actionSetAssignee + ' ';
|
||||
desc += this.getNameFromArray(board.users,
|
||||
+action.change_to, 'username');
|
||||
break;
|
||||
break;
|
||||
case ActionType.AddAssignee:
|
||||
desc = this.strings.settings_actionAddAssignee + ' ';
|
||||
desc += this.getNameFromArray(board.users,
|
||||
+action.change_to, 'username');
|
||||
break;
|
||||
break;
|
||||
case ActionType.ClearDueDate:
|
||||
desc = this.strings.settings_actionClearDueDate;
|
||||
break;
|
||||
break;
|
||||
case ActionType.AlterColorByPoints:
|
||||
desc = this.strings.settings_actionAlterColor;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
return this.sanitizer.bypassSecurityTrustHtml(desc);
|
||||
|
@ -200,22 +200,22 @@ export class BoardAdmin {
|
||||
this.displayBoards.sort((a: Board, b: Board) => {
|
||||
return a.name.localeCompare(b.name);
|
||||
});
|
||||
break;
|
||||
break;
|
||||
case 'name-desc':
|
||||
this.displayBoards.sort((a: Board, b: Board) => {
|
||||
return b.name.localeCompare(a.name);
|
||||
});
|
||||
break;
|
||||
break;
|
||||
case 'id-desc':
|
||||
this.displayBoards.sort((a: Board, b: Board) => {
|
||||
return b.id - a.id;
|
||||
});
|
||||
break;
|
||||
break;
|
||||
case 'id-asc':
|
||||
this.displayBoards.sort((a: Board, b: Board) => {
|
||||
return a.id - b.id;
|
||||
});
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,19 +60,19 @@ export class UserSettings implements OnInit {
|
||||
switch (option) {
|
||||
case 'new_tasks':
|
||||
this.userOptions.new_tasks_at_bottom = event === 'true';
|
||||
break;
|
||||
break;
|
||||
case 'mult_tasks':
|
||||
this.userOptions.multiple_tasks_per_row = event;
|
||||
break;
|
||||
break;
|
||||
case 'show_anim':
|
||||
this.userOptions.show_animations = event;
|
||||
break;
|
||||
break;
|
||||
case 'show_assign':
|
||||
this.userOptions.show_assignee = event;
|
||||
break;
|
||||
break;
|
||||
case 'language':
|
||||
this.userOptions.language = event;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
this.updateUserOptions();
|
||||
}
|
||||
|
@ -2,17 +2,17 @@ export class PassForm {
|
||||
constructor(public current: string = '', public newPass: string = '',
|
||||
public verPass: string = '', public submitted: boolean = false) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export class UsernameForm {
|
||||
constructor(public newName: string = '',
|
||||
public submitted: boolean = false) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export class EmailForm {
|
||||
constructor(public newEmail: string = '',
|
||||
public submitted: boolean = false) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -80,8 +80,8 @@
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.task {
|
||||
width: 49.3%;
|
||||
.task-container {
|
||||
width: calc(50% - 3.5px);
|
||||
}
|
||||
}
|
||||
|
||||
@ -135,12 +135,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
.task-container {
|
||||
display: block;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.task {
|
||||
@include shadow-low();
|
||||
|
||||
background-color: #ffffe0;
|
||||
margin-bottom: 7px;
|
||||
|
||||
h4 {
|
||||
border-bottom: 1px solid lighten($color-border, 25%);
|
||||
cursor: move;
|
||||
@ -171,6 +173,7 @@
|
||||
|
||||
.stats {
|
||||
font-size: .9em;
|
||||
overflow: hidden;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,6 @@
|
||||
"no-switch-case-fall-through": true,
|
||||
"no-unsafe-finally": true,
|
||||
"no-unused-expression": true,
|
||||
"no-unused-new": true,
|
||||
"no-use-before-declare": true,
|
||||
"no-var-keyword": true,
|
||||
"radix": true,
|
||||
"triple-equals": [ true,
|
||||
|
Reference in New Issue
Block a user