changed a bunch of whitespace back into tabs, and fixed issue where categories without a parentCid were not showing up at all in the ACP

v1.18.x
Julian Lam 10 years ago
parent e892cf2e51
commit 6fedcca4ee

@ -11,7 +11,9 @@ div.categories {
} }
} }
.fa-ul { .stats {
display: inline-block;
li { li {
min-height: 0; min-height: 0;
display: inline; display: inline;
@ -66,8 +68,4 @@ div.categories {
.description { .description {
margin: 0; margin: 0;
} }
.stats, .btn-group {
float: left;
}
} }

@ -2,10 +2,11 @@
/*global define, socket, app, bootbox, templates, ajaxify, RELATIVE_PATH, Sortable */ /*global define, socket, app, bootbox, templates, ajaxify, RELATIVE_PATH, Sortable */
define('admin/manage/categories', function() { define('admin/manage/categories', function() {
var Categories = {}, newCategoryId = -1, sortables, itemTemplate; var Categories = {}, newCategoryId = -1, sortables;
Categories.init = function() { Categories.init = function() {
socket.emit('admin.categories.getAll', function(error, payload){ socket.emit('admin.categories.getAll', function(error, payload){
console.log(payload);
if(error){ if(error){
return app.alertError(error.message); return app.alertError(error.message);
} }
@ -55,17 +56,17 @@ define('admin/manage/categories', function() {
}; };
Categories.render = function(categories){ Categories.render = function(categories){
var container = $('.categories'); var container = $('.categories');
if(!categories || categories.length == 0){ if (!categories || categories.length == 0) {
$('<div></div>') $('<div></div>')
.addClass('alert alert-info text-center') .addClass('alert alert-info text-center')
.text('You have no active categories.') .text('You have no active categories.')
.appendTo(container); .appendTo(container);
}else{ } else {
sortables = {}; sortables = {};
renderList(categories, container, 0); renderList(categories, container, 0);
} }
}; };
Categories.toggle = function(cid, state) { Categories.toggle = function(cid, state) {
@ -85,40 +86,40 @@ define('admin/manage/categories', function() {
} }
function itemDidAdd(e){ function itemDidAdd(e){
newCategoryId = e.to.dataset.cid; newCategoryId = e.to.dataset.cid;
} }
function itemDragDidEnd(e){ function itemDragDidEnd(e){
var isCategoryUpdate = (newCategoryId != -1); var isCategoryUpdate = (newCategoryId != -1);
//Update needed? //Update needed?
if((e.newIndex != undefined && e.oldIndex != e.newIndex) || isCategoryUpdate){ if((e.newIndex != undefined && e.oldIndex != e.newIndex) || isCategoryUpdate){
var parentCategory = isCategoryUpdate ? sortables[newCategoryId] : sortables[e.from.dataset.cid], var parentCategory = isCategoryUpdate ? sortables[newCategoryId] : sortables[e.from.dataset.cid],
modified = {}, i = 0, list = parentCategory.toArray(), len = list.length; modified = {}, i = 0, list = parentCategory.toArray(), len = list.length;
for(i; i < len; ++i) { for(i; i < len; ++i) {
modified[list[i]] = { modified[list[i]] = {
order: (i + 1) order: (i + 1)
} }
} }
if(isCategoryUpdate){ if(isCategoryUpdate){
modified[e.item.dataset.cid]['parentCid'] = newCategoryId; modified[e.item.dataset.cid]['parentCid'] = newCategoryId;
} }
newCategoryId = -1 newCategoryId = -1
socket.emit('admin.categories.update', modified); socket.emit('admin.categories.update', modified);
} }
} }
/** /**
* Render categories - recursively * Render categories - recursively
* *
* @param categories {array} categories tree * @param categories {array} categories tree
* @param level {number} current sub-level of rendering * @param level {number} current sub-level of rendering
* @param container {object} parent jquery element for the list * @param container {object} parent jquery element for the list
* @param parentId {number} parent category identifier * @param parentId {number} parent category identifier
*/ */
function renderList(categories, container, parentId){ function renderList(categories, container, parentId){
templates.parse('admin/partials/categories/category-rows', { templates.parse('admin/partials/categories/category-rows', {
cid: parentId, cid: parentId,
categories: categories categories: categories
@ -137,13 +138,13 @@ define('admin/manage/categories', function() {
group: 'cross-categories', group: 'cross-categories',
animation: 150, animation: 150,
handle: '.icon', handle: '.icon',
dataIdAttr: 'data-cid', dataIdAttr: 'data-cid',
ghostClass: "placeholder", ghostClass: "placeholder",
onAdd: itemDidAdd, onAdd: itemDidAdd,
onEnd: itemDragDidEnd onEnd: itemDragDidEnd
}); });
}); });
} }
return Categories; return Categories;
}); });

@ -319,16 +319,19 @@ var async = require('async'),
Categories.getTree = function(categories, parentCid) { Categories.getTree = function(categories, parentCid) {
var tree = [], i = 0, len = categories.length, category; var tree = [], i = 0, len = categories.length, category;
for(i; i < len; ++i){ for(i; i < len; ++i) {
category = categories[i]; category = categories[i];
if (!category.hasOwnProperty('parentCid')) {
category.parentCid = 0;
}
if(category.parentCid == parentCid){ if(category.parentCid == parentCid){
tree.push(category); tree.push(category);
category.children = Categories.getTree(categories, category.cid); category.children = Categories.getTree(categories, category.cid);
} }
} }
return tree; return tree;
}; };
}(exports)); }(exports));

@ -2,7 +2,7 @@
<!-- BEGIN categories --> <!-- BEGIN categories -->
<li data-cid="{categories.cid}" <!-- IF categories.disabled -->class="disabled"<!-- ENDIF categories.disabled -->> <li data-cid="{categories.cid}" <!-- IF categories.disabled -->class="disabled"<!-- ENDIF categories.disabled -->>
<div class="row"> <div class="row">
<div class="col-md-9"> <div class="col-md-8">
<div class="clearfix"> <div class="clearfix">
<div class="icon" style="color: {categories.color}; background-color: {categories.bgColor};<!-- IF categories.backgroundImage --> background-image: url('{categories.backgroundImage}');<!-- ENDIF categories.backgroundImage -->"> <div class="icon" style="color: {categories.color}; background-color: {categories.bgColor};<!-- IF categories.backgroundImage --> background-image: url('{categories.backgroundImage}');<!-- ENDIF categories.backgroundImage -->">
<i data-name="icon" value="{categories.icon}" class="fa {categories.icon}"></i> <i data-name="icon" value="{categories.icon}" class="fa {categories.icon}"></i>
@ -13,11 +13,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-4">
<div class="clearfix pull-right"> <div class="clearfix pull-right text-right">
<ul class="fa-ul stats"> <ul class="stats">
<li class="fa-li"><i class="fa fa-book"></i> {categories.topic_count}</li> <li><i class="fa fa-book"></i> {categories.topic_count}</li>
<li class="fa-li"><i class="fa fa-pencil"></i> {categories.post_count}</li> <li><i class="fa fa-pencil"></i> {categories.post_count}</li>
</ul> </ul>
<div class="btn-group"> <div class="btn-group">
<button data-action="toggle" data-disabled="{categories.disabled}" class="btn btn-xs <!-- IF categories.disabled -->btn-primary<!-- ELSE -->btn-danger<!-- ENDIF categories.disabled -->"> <button data-action="toggle" data-disabled="{categories.disabled}" class="btn btn-xs <!-- IF categories.disabled -->btn-primary<!-- ELSE -->btn-danger<!-- ENDIF categories.disabled -->">

Loading…
Cancel
Save