mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Compare commits
6 Commits
f485b3d29b
...
781e1af9e0
Author | SHA1 | Date | |
---|---|---|---|
781e1af9e0 | |||
b3874c53e6 | |||
b8edd2da8d | |||
e0c2cac128 | |||
262db67f67 | |||
78dafcfd1d |
@ -36,6 +36,7 @@ $button-disabled-background-color = #CCC
|
|||||||
$post-thumbnail-border-color = $main-color
|
$post-thumbnail-border-color = $main-color
|
||||||
$post-thumbnail-no-tags-border-color = #F44
|
$post-thumbnail-no-tags-border-color = #F44
|
||||||
$default-tag-category-background-color = $active-tab-background-color
|
$default-tag-category-background-color = $active-tab-background-color
|
||||||
|
$default-pool-category-background-color = $active-tab-background-color
|
||||||
$new-tag-background-color = #DFC
|
$new-tag-background-color = #DFC
|
||||||
$new-tag-text-color = black
|
$new-tag-text-color = black
|
||||||
$implied-tag-background-color = #FFC
|
$implied-tag-background-color = #FFC
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
background-position: 50% 30%
|
background-position: 50% 30%
|
||||||
position: absolute
|
position: absolute
|
||||||
display: inline-block
|
display: inline-block
|
||||||
|
box-shadow: 0 0 0 1px rgba(0,0,0,0.2)
|
||||||
|
|
||||||
.thumbnail-1, .thumbnail.empty
|
.thumbnail-1, .thumbnail.empty
|
||||||
right: -4px
|
right: -4px
|
||||||
|
@ -14,7 +14,6 @@ const EmptyView = require("../views/empty_view.js");
|
|||||||
const fields = [
|
const fields = [
|
||||||
"id",
|
"id",
|
||||||
"names",
|
"names",
|
||||||
"posts",
|
|
||||||
"creationTime",
|
"creationTime",
|
||||||
"postCount",
|
"postCount",
|
||||||
"category",
|
"category",
|
||||||
@ -101,11 +100,13 @@ class PoolListController {
|
|||||||
return uri.formatClientLink("pools", parameters);
|
return uri.formatClientLink("pools", parameters);
|
||||||
},
|
},
|
||||||
requestPage: (offset, limit) => {
|
requestPage: (offset, limit) => {
|
||||||
|
const canEditPosts = api.hasPrivilege("pools:edit") || api.hasPrivilege("pools:edit:posts");
|
||||||
|
const effectiveFields = fields.concat([canEditPosts ? "posts": "postsMicro"]);
|
||||||
return PoolList.search(
|
return PoolList.search(
|
||||||
this._ctx.parameters.query,
|
this._ctx.parameters.query,
|
||||||
offset,
|
offset,
|
||||||
limit,
|
limit,
|
||||||
fields
|
effectiveFields
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
pageRenderer: (pageCtx) => {
|
pageRenderer: (pageCtx) => {
|
||||||
|
@ -41,7 +41,7 @@ class PostMainController extends BasePostController {
|
|||||||
)
|
)
|
||||||
: uri.formatClientLink("post", ctx.parameters.id);
|
: uri.formatClientLink("post", ctx.parameters.id);
|
||||||
router.replace(url, ctx.state, false);
|
router.replace(url, ctx.state, false);
|
||||||
parameters.query.split(" ").forEach((item) => {
|
misc.splitByWhitespace(parameters.query).forEach((item) => {
|
||||||
const found = item.match(/^pool:([0-9]+)/i);
|
const found = item.match(/^pool:([0-9]+)/i);
|
||||||
if (found) {
|
if (found) {
|
||||||
const activePool = parseInt(found[1]);
|
const activePool = parseInt(found[1]);
|
||||||
|
@ -36,7 +36,7 @@ class Pool extends events.EventTarget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get posts() {
|
get posts() {
|
||||||
return this._posts;
|
return this._postsMicro || this._posts;
|
||||||
}
|
}
|
||||||
|
|
||||||
get postCount() {
|
get postCount() {
|
||||||
@ -185,6 +185,7 @@ class Pool extends events.EventTarget {
|
|||||||
_creationTime: response.creationTime,
|
_creationTime: response.creationTime,
|
||||||
_lastEditTime: response.lastEditTime,
|
_lastEditTime: response.lastEditTime,
|
||||||
_postCount: response.postCount || 0,
|
_postCount: response.postCount || 0,
|
||||||
|
_postsMicro: response.postsMicro,
|
||||||
_firstPost: response.firstPost || null,
|
_firstPost: response.firstPost || null,
|
||||||
_lastPost: response.lastPost || null,
|
_lastPost: response.lastPost || null,
|
||||||
_previousPost: response.previousPost || null,
|
_previousPost: response.previousPost || null,
|
||||||
@ -192,7 +193,7 @@ class Pool extends events.EventTarget {
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (let obj of [this, this._orig]) {
|
for (let obj of [this, this._orig]) {
|
||||||
obj._posts.sync(response.posts);
|
obj._posts.sync(response.posts || []);
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.assign(this, map);
|
Object.assign(this, map);
|
||||||
|
@ -30,7 +30,7 @@ class PoolCreateView extends events.EventTarget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (let node of this._formNode.querySelectorAll(
|
for (let node of this._formNode.querySelectorAll(
|
||||||
"input, select, textarea, posts"
|
"input, select, textarea"
|
||||||
)) {
|
)) {
|
||||||
node.addEventListener("change", (e) => {
|
node.addEventListener("change", (e) => {
|
||||||
this.dispatchEvent(new CustomEvent("change"));
|
this.dispatchEvent(new CustomEvent("change"));
|
||||||
|
@ -108,6 +108,7 @@ class PoolSerializer(serialization.BaseSerializer):
|
|||||||
"lastEditTime": self.serialize_last_edit_time,
|
"lastEditTime": self.serialize_last_edit_time,
|
||||||
"postCount": self.serialize_post_count,
|
"postCount": self.serialize_post_count,
|
||||||
"posts": self.serialize_posts,
|
"posts": self.serialize_posts,
|
||||||
|
"postsMicro": self.serialize_posts_micro,
|
||||||
}
|
}
|
||||||
|
|
||||||
def serialize_id(self) -> Any:
|
def serialize_id(self) -> Any:
|
||||||
@ -143,6 +144,14 @@ class PoolSerializer(serialization.BaseSerializer):
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def serialize_posts_micro(self) -> Any:
|
||||||
|
posts_micro = []
|
||||||
|
for i, rel in enumerate(self.pool.posts):
|
||||||
|
posts_micro.append(posts.serialize_micro_post(rel, None))
|
||||||
|
if i == 2:
|
||||||
|
break
|
||||||
|
return posts_micro
|
||||||
|
|
||||||
|
|
||||||
def serialize_pool(
|
def serialize_pool(
|
||||||
pool: model.Pool, options: List[str] = []
|
pool: model.Pool, options: List[str] = []
|
||||||
|
Reference in New Issue
Block a user