function ArticleCategory(priority, id, name, order, logo, link) {
|
this.priority = priority;
|
this.id = id;
|
this.name = name;
|
this.order = order;
|
this.logo = logo;
|
this.link = link;
|
}
|
|
/**
|
* Liefert eine eindeutige Liste aller Kategorien(dhcat_*) die in der Artikelmenge eines Programs hinterlegt sind
|
*/
|
ArticleCategory.getDistinctCategories = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getDistinctCategories(currentManu, currentProg);
|
data.forEach(function (d) {
|
ret.push(d[0]);
|
});
|
return ret;
|
};
|
|
/**
|
*
|
* @param categories
|
* @returns {Array}
|
*/
|
ArticleCategory.getDistinctPriorities = function (categories) {
|
var priorities = [];
|
categories.forEach(function (categorie) {
|
if (priorities.indexOf(categorie.priority) < 0) {
|
priorities.push(categorie.priority);
|
}
|
});
|
priorities.sort(function (a, b) {
|
return a - b;
|
});
|
return priorities;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten Rubriken zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getSectionList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getCategoriesMerged(currentManu, "dhcat_", 1, 9, currentProg);
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0));
|
});
|
return ret;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten Kategorien zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getCategoryList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getCategoriesMerged(currentManu, "dhcat_", 10, 9999, currentProg);
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0));
|
});
|
return ret;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten ArtikelInfoText-Kategorien zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getCategoryArtInfoTextList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getCategoriesMerged(currentManu, "dhartinfo_", 3000, 3005, currentProg);
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0));
|
});
|
return ret;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten Zubehör-Kategorien zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getEquipmentCategoryList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getCategoriesMerged(currentManu, "dhcat_", 10000, 10000, currentProg);
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0));
|
});
|
return ret;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten Zubehör-Sortierungs-Kategorien zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getEquipmentSortingCategoryList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getCategoriesMerged(currentManu, "dhcat_", 10001, 10001, currentProg);
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0));
|
});
|
return ret;
|
};
|
|
/**
|
* Gibt eine Liste aller in der categories.dht hinterlegten Accesoires-Kategorien zurück
|
* @param data
|
* @returns {Array}
|
*/
|
ArticleCategory.getAccesoiresCategoryList = function () {
|
var ret = [];
|
var data = FurnplanCommunicationService.getAccessoiresCategories();
|
data.category.forEach(function (cat) {
|
ret.push(new ArticleCategory(+cat[2], cat[0], cat[1], cat[4] ? +cat[4] : 0, cat[9], cat[10]));
|
});
|
return ret;
|
};
|
|
|
ArticleCategory.getEquipmentCategoryByKey = function (key) {
|
// O(1)-Lookup statt definedEquipmentCategories.find() je Aufruf (wird in Schleifen aufgerufen)
|
return buildIndexMap(definedEquipmentCategories, "id")["$" + key];
|
};
|
|
ArticleCategory.getEquipmentSortingCategoryByKey = function (key) {
|
// O(1)-Lookup statt definedEquipmentSortingCategories.find() je Aufruf (wird in Schleifen aufgerufen)
|
return buildIndexMap(definedEquipmentSortingCategories, "id")["$" + key];
|
};
|