diff options
| author | rr- | 2016-07-26 20:37:55 +0200 |
|---|---|---|
| committer | rr- | 2016-07-26 20:38:12 +0200 |
| commit | 8a68e182fd8bd32502b60b3e7d0907ea44a40238 (patch) | |
| tree | a4c9c8b5764c43c7d0a0cc4503810777eebd6f84 /client/js | |
| parent | 865c4f3b79eed5228bb968455c6ebef9bf56a6e8 (diff) | |
client/posts: implement loop video flag
Diffstat (limited to 'client/js')
| -rw-r--r-- | client/js/controllers/post_controller.js | 3 | ||||
| -rw-r--r-- | client/js/controls/post_edit_sidebar_control.js | 8 | ||||
| -rw-r--r-- | client/js/models/post.js | 7 |
3 files changed, 18 insertions, 0 deletions
diff --git a/client/js/controllers/post_controller.js b/client/js/controllers/post_controller.js index c2ba12a..56ca535 100644 --- a/client/js/controllers/post_controller.js +++ b/client/js/controllers/post_controller.js @@ -106,6 +106,9 @@ class PostController { if (e.detail.safety !== undefined) { post.safety = e.detail.safety; } + if (e.detail.flags !== undefined) { + post.flags = e.detail.flags; + } if (e.detail.relations !== undefined) { post.relations = e.detail.relations; } diff --git a/client/js/controls/post_edit_sidebar_control.js b/client/js/controls/post_edit_sidebar_control.js index b6817e1..cb02d18 100644 --- a/client/js/controls/post_edit_sidebar_control.js +++ b/client/js/controls/post_edit_sidebar_control.js @@ -51,6 +51,10 @@ class PostEditSidebarControl extends events.EventTarget { .value.toLowerCase() : undefined, + flags: this._loopVideoInputNode ? + (this._loopVideoInputNode.checked ? ['loop'] : []) : + undefined, + tags: this._tagInputNode ? misc.splitByWhitespace(this._tagInputNode.value) : undefined, @@ -78,6 +82,10 @@ class PostEditSidebarControl extends events.EventTarget { return this._formNode.querySelector('.tags input'); } + get _loopVideoInputNode() { + return this._formNode.querySelector('.flags input[name=loop]'); + } + get _relationsInputNode() { return this._formNode.querySelector('.relations input'); } diff --git a/client/js/models/post.js b/client/js/models/post.js index e269eec..16d11ca 100644 --- a/client/js/models/post.js +++ b/client/js/models/post.js @@ -28,6 +28,7 @@ class Post extends events.EventTarget { this._canvasHeight = null; this._fileSize = null; + this._flags = []; this._tags = []; this._notes = []; this._comments = []; @@ -51,6 +52,7 @@ class Post extends events.EventTarget { get canvasHeight() { return this._canvasHeight || 450; } get fileSize() { return this._fileSize || 0; } + get flags() { return this._flags; } get tags() { return this._tags; } get notes() { return this._notes; } get comments() { return this._comments; } @@ -61,6 +63,7 @@ class Post extends events.EventTarget { get ownFavorite() { return this._ownFavorite; } get ownScore() { return this._ownScore; } + set flags(value) { this._flags = value; } set tags(value) { this._tags = value; } set safety(value) { this._safety = value; } set relations(value) { this._relations = value; } @@ -108,6 +111,9 @@ class Post extends events.EventTarget { if (this._safety !== this._orig._safety) { detail.safety = this._safety; } + if (_arraysDiffer(this._flags, this._orig._flags)) { + detail.flags = this._flags; + } if (_arraysDiffer(this._tags, this._orig._tags)) { detail.tags = this._tags; } @@ -212,6 +218,7 @@ class Post extends events.EventTarget { _canvasHeight: response.canvasHeight, _fileSize: response.fileSize, + _flags: response.flags || [], _tags: response.tags || [], _notes: response.notes || [], _comments: CommentList.fromResponse(response.comments || []), |