aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2016-05-24 21:14:13 -0400
committerPaul Duncan <pabs@pablotron.org>2016-05-24 21:14:13 -0400
commitc5da1e620c07697c2b7b5d4b51db73ef0fc143e4 (patch)
tree395c5d57bf9025d8ffc544fb2f4c32efc5efc883 /src
parentfbff52e48d4591a752d83fbebb49a3a355eef5ae (diff)
downloadguff-c5da1e620c07697c2b7b5d4b51db73ef0fc143e4.tar.bz2
guff-c5da1e620c07697c2b7b5d4b51db73ef0fc143e4.zip
add state filter and dropdown.js
Diffstat (limited to 'src')
-rw-r--r--src/guff.cr28
-rw-r--r--src/views/admin-page.ecr41
-rw-r--r--src/views/dropdown/menu.ecr2
3 files changed, 54 insertions, 17 deletions
diff --git a/src/guff.cr b/src/guff.cr
index 121f150..d3817d0 100644
--- a/src/guff.cr
+++ b/src/guff.cr
@@ -460,11 +460,11 @@ module Guff
LIMIT = 50
def get_posts(
- site_id : Int64? = nil,
- post_type : String? = nil,
- state : String? = nil,
- q : String? = nil,
- page : Int32 = 1,
+ site_id : Int64? = nil,
+ type : String? = nil,
+ state : String? = nil,
+ q : String? = nil,
+ page : Int32 = 1,
)
filters = %w{1}
args = [] of String
@@ -478,9 +478,9 @@ module Guff
args << site_id.to_s
end
- if post_type
+ if type
# add type filter
- filters << case post_type
+ filters << case type
when "blog"
"x.post_id IS NOT NULL"
when "page"
@@ -491,11 +491,11 @@ module Guff
# allow "all"
"1"
else
- raise "unknown post type: #{post_type}"
+ raise "unknown post type: #{type}"
end
end
- if state
+ if state && state != "default"
# add state filter
filters << "b.state = ?"
args << state
@@ -1450,11 +1450,11 @@ module Guff
module PostAPI
def do_post_get_posts(params : HTTP::Params)
@context.models.post.get_posts(
- site_id: params["site_id"]? ? params["site_id"].to_i64 : nil,
- state: params["state"]?,
- post_type: params["post_type"]?,
- q: params["q"]?,
- page: params["page"].to_i32,
+ site_id: params["site_id"]? ? params["site_id"].to_i64 : nil,
+ state: params["state"]?,
+ type: params["type"]?,
+ q: params["q"]?,
+ page: params["page"].to_i32,
)
end
end
diff --git a/src/views/admin-page.ecr b/src/views/admin-page.ecr
index eedc41c..ad8d429 100644
--- a/src/views/admin-page.ecr
+++ b/src/views/admin-page.ecr
@@ -87,11 +87,14 @@
<div class='btn-group btn-group-sm'><%=
dropdown(
id: "posts-filter-type",
- name: "Type",
css: "posts-filter-menu",
- text: "Filter by type.",
+
+ name: "Type",
+ text: "Filter posts by type.",
+
icon: "",
default: "all",
+
items: [{
id: "all",
name: "All",
@@ -114,6 +117,39 @@
)
%></div><!-- btn-group -->
+ <div class='btn-group btn-group-sm'><%=
+ dropdown(
+ id: "posts-filter-state",
+ css: "posts-filter-menu",
+
+ name: "State",
+ text: "Filter by post state.",
+
+ icon: "",
+ default: "default",
+
+ items: [{
+ id: "default",
+ name: "Default",
+ text: "Show drafts and posted items.",
+ }, {
+ type: "divider",
+ }, {
+ id: "draft",
+ name: "Draft",
+ text: "Show draft items.",
+ }, {
+ id: "posted",
+ name: "Posted",
+ text: "Show posted items.",
+ }, {
+ id: "deleted",
+ name: "Deleted",
+ text: "Show deleted items.",
+ }],
+ )
+ %></div><!-- btn-group -->
+
<div class='btn-group btn-group-sm pull-right'>
<a
href='#'
@@ -1050,6 +1086,7 @@
assets/bootstrap-3.3.6/js/bootstrap.min.js
assets/ckeditor-4.5.8-custom/ckeditor.js
assets/js/search-field.js
+ assets/js/dropdown.js
assets/js/admin/tabs/users.js
assets/js/admin/tabs/posts.js
assets/js/admin/dialogs/user-add.js
diff --git a/src/views/dropdown/menu.ecr b/src/views/dropdown/menu.ecr
index ca39c1e..df17ba2 100644
--- a/src/views/dropdown/menu.ecr
+++ b/src/views/dropdown/menu.ecr
@@ -12,7 +12,7 @@
<ul
id='<%= h(@id) %>'
- class='dropdown-menu <%= h(@css) %>'
+ class='dropdown-menu guff-dropdown <%= h(@css) %>'
data-default='<%= h(@default) %>'
><%=
items