pinclub/pinclub

View on GitHub
picviews/dashboard/boards.html

Summary

Maintainability
Test Coverage
<!-- TODO 管理员的Board列表页功能-->
<%- Loader('/public/stylesheets/dashboard.min.css')
.css('/public/stylesheets/dashboard.less')
.css('/public/libs/select2/css/select2.css')
.css('/public/libs/bootstrap-select2/select2-bootstrap.css')
.done(assets, config.site_static_host, config.mini_assets)
%>
<%- include ../navbar.html %>
<div id='dashboard' class="content">
    <div class='container-fluid container-limited'>
        <div class="admin-dashboard prepend-top-default">
            <div class="row">
                <div class="col-md-10">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            <h4>Board列表</h4>
                        </div>
                        <div class="panel-body">
                            <table class="table table-striped">
                                <thead>
                                <th><input type="checkbox"></th>
                                <th>名称</th>
                                <th>属于</th>
                                <th>图片数量</th>
                                <th>被收藏数量</th>
                                <th>类型</th>
                                <th>创建于</th>
                                <th>操作</th>
                                </thead>
                                <%- partial('_abstract_board_item', {collection:boards, as:'board'}) %>
                            </table>
                            <nav aria-label="Page navigation">
                                <ul class="pagination">
                                    <% var base_url = '?'
                                    + 'page='; %>
                                    <% if (current_page == 1) { %>
                                    <li class='disabled'><a>«</a></li>
                                    <% } else { %>
                                    <li><a href="<%= base_url %>1">«</a></li>
                                    <% } %>

                                    <%
                                    var page_start = current_page - 2 > 0 ? current_page - 2 : 1;
                                    var page_end = page_start + 4 >= pages ? pages : page_start + 4;
                                    %>

                                    <% if (page_start > 1) { %>
                                    <li><a>...</a></li>
                                    <% } %>

                                    <% for(var i = page_start; i <= page_end; i++) { %>
                                    <% if (i === current_page) { %>
                                    <li class='disabled'><a><%= i %></a></li>
                                    <% } else { %>
                                    <li><a href='<%= base_url + i %>'><%= i %></a></li>
                                    <% } %>
                                    <% } %>

                                    <% if (page_end < pages ) { %>
                                    <li><a>...</a></li>
                                    <% } %>

                                    <% if (current_page == pages) { %>
                                    <li class='disabled'><a>»</a></li>
                                    <% } else { %>
                                    <li><a href='<%= base_url + pages %>'>»</a></li>
                                    <% } %>
                                </ul>
                            </nav>

                        </div>

                    </div>
                </div>
                <div class="col-md-2">
                    <div class="panel panel-default">
                        <div class="panel-body text-center">
                            <!--TODO 管理员Board列表,搜索功能 -->
                            <div class="input-group">
                                <input type="text" class="form-control" name="q" placeholder="关键词">
                                <div class="input-group-btn">
                                    <button class="btn btn-default" style="height: 34px;">搜索</button>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="panel panel-default">
                        <div class="panel-body text-center">
                            <!--TODO 管理员Board列表,点击删除Board可以删除选定Board-->
                            <button class="btn btn-default">删除Board</button>
                        </div>
                    </div>
                    <div class="panel panel-default">
                        <div class="panel-heading"><h4>数据统计</h4></div>
                        <div class="panel-body">
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!--DONE 管理员Board列表,点击修改弹出修改模态框并可修改Board信息-->
<div class="modal fade" id="modify_board_modal" role="dialog" aria-hidden="true" aria-labelledby="modifyBoardModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form class="form-horizontal" action="/admin/boards" method="post">
                <div class="modal-header">
                    <h5 class="modal-title">Board 信息</h5>
                </div>
                <div class="modal-body">
                    <!--TODO 用户修改Board信息-->
                    <div class="form-group">
                        <div class="col-sm-12">
                            <input type="text" class="form-control" name="title" placeholder="名称">
                        </div>
                    </div>
                    <div class="checkbox text-right">
                        <label>
                            <input type="radio" name="type" value="private"> 私有
                            <input type="radio" name="type" value="public" checked="checked"> 公开
                        </label>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" id="modify-board-close" class="btn btn-default" data-dismiss="modal">Close
                    </button>
                    <button type="submit" id="modify-board-submit" class="btn btn-default ">保存
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<!--Message modal -->
<div class="modal fade" id="message_modal" role="dialog" aria-hidden="true" aria-labelledby="messageModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form class="form-horizontal" action="/admin/boards" method="post">
                <div class="modal-header">
                    <h5 class="modal-title">信息</h5>
                </div>
                <div class="modal-body">
                    <p id="message"></p>
                </div>
                <div class="modal-footer">
                    <input type="hidden" name="id">
                    <button type="button" id="message-close" class="btn btn-default" data-dismiss="modal">Close
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
    $(document).ready(function () {
        var $nav = $('.pagination');
        var current_page = $nav.attr('current_page');
        if (current_page) {
            $nav.find('li').each(function () {
                var $li = $(this);
                var $a = $li.find('a');
                if ($a.html() == current_page) {
                    $li.addClass('active');
                    $a.removeAttr('href');
                }
            });
        }
    });

    // 刷新板块数量
    $(document).on('click', '#refreshBoardCount', function (event) {
        if (!event.currentTarget) {
            return;
        }
        var id = event.currentTarget.dataset.id;
        $.ajax({
            type: "POST",
            url: "/admin/boards/refresh/count/" + id
        }).done(function (result) {
            if (!result.success) {
                return ;
            } else {
                $('#board_count_' + id).html(result.topic_count);
            }
        });
    });
</script>
<%- Loader('/public/javascripts/dashboard/boards.min.js')
.js('/public/libs/select2/js/select2.full.js')
.js('/public/javascripts/dashboard/boards.js')
.done(assets, config.site_static_host, config.mini_assets)
%>