mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on task kanban
This commit is contained in:
parent
69e98c8f5e
commit
28edd3e7ec
@ -79,7 +79,7 @@ class TaskKanbanController extends BaseController
|
|||||||
$status = TaskStatus::createNew();
|
$status = TaskStatus::createNew();
|
||||||
}
|
}
|
||||||
|
|
||||||
$status->name = request('name');
|
$status->fill(request()->all());
|
||||||
$status->save();
|
$status->save();
|
||||||
|
|
||||||
return response()->json($status);
|
return response()->json($status);
|
||||||
|
@ -15,11 +15,21 @@ class TaskStatus extends EntityModel
|
|||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
public $timestamps = true;
|
public $timestamps = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $dates = ['deleted_at'];
|
protected $dates = ['deleted_at'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $fillable = [
|
||||||
|
'name',
|
||||||
|
'sort_order',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
|
@ -194,11 +194,11 @@
|
|||||||
|
|
||||||
self.saveNewStatus = function() {
|
self.saveNewStatus = function() {
|
||||||
var statusModel = new StatusModel({
|
var statusModel = new StatusModel({
|
||||||
name: self.new_status()
|
name: self.new_status(),
|
||||||
|
sort_order: self.statuses().length,
|
||||||
})
|
})
|
||||||
|
|
||||||
var url = '{{ url('/task_statuses') }}';
|
var url = '{{ url('/task_statuses') }}';
|
||||||
var data = 'name=' + encodeURIComponent(statusModel.name());
|
var data = statusModel.toData();
|
||||||
self.ajax('post', url, data, function(response) {
|
self.ajax('post', url, data, function(response) {
|
||||||
statusModel.public_id(response.public_id);
|
statusModel.public_id(response.public_id);
|
||||||
self.statuses.push(statusModel);
|
self.statuses.push(statusModel);
|
||||||
@ -238,12 +238,18 @@
|
|||||||
function StatusModel(data) {
|
function StatusModel(data) {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.name = ko.observable();
|
self.name = ko.observable();
|
||||||
|
self.sort_order = ko.observable();
|
||||||
self.public_id = ko.observable();
|
self.public_id = ko.observable();
|
||||||
self.is_editing_status = ko.observable(false);
|
self.is_editing_status = ko.observable(false);
|
||||||
self.is_header_hovered = ko.observable(false);
|
self.is_header_hovered = ko.observable(false);
|
||||||
self.tasks = ko.observableArray();
|
self.tasks = ko.observableArray();
|
||||||
self.new_task = new TaskModel();
|
self.new_task = new TaskModel();
|
||||||
|
|
||||||
|
self.toData = function() {
|
||||||
|
return 'name=' + encodeURIComponent(self.name()) +
|
||||||
|
'&sort_order=' + self.sort_order();
|
||||||
|
}
|
||||||
|
|
||||||
self.onHeaderMouseOver = function() {
|
self.onHeaderMouseOver = function() {
|
||||||
self.is_header_hovered(true);
|
self.is_header_hovered(true);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user