import { ArticlesByCategoriesCardAppConnection } from './articles-by-categories.card.app.connection.js';
|
import { CardFetchMethod, CardContainerUpdate, FilterSelectionStrategy } from './card-container-definitions.js';
|
import './card-container-events.js';
|
import { CardDataUpdateEvent } from './card-data-service-update-events.js';
|
import { U as UtilService, E as EventHandlerService } from './modal.component-7c440789.js';
|
import { CardDataService } from './card.data.service.js';
|
import { ManuProgService } from './manu-prog.service.js';
|
import './old-generated-catalog-base.card.app.connection.js';
|
import './base.card.app.connection.js';
|
import './catalog.service.js';
|
import './dimension-helper.class.js';
|
import './query-assigned-elements-fea1f631.js';
|
import './custom-element-30fc6381.js';
|
import './base.component-813fc7cf.js';
|
import '@dh-software/furnview-icons';
|
import './class-map-a0fb5d87.js';
|
import './event.handler.model.js';
|
import './loading.component.js';
|
import './dimmer.component.js';
|
import './query-1c86d710.js';
|
import './dot-flashing-loader.component.js';
|
import './rotating-dots-loader.component.js';
|
import './key-frame-effect.service.js';
|
import './toolbar.component.js';
|
import './toggle-toolbar.component.js';
|
import './style.helper.js';
|
import './image.service.js';
|
import './svg-icon.component.js';
|
import './popup.component.js';
|
import './popup-closer.component.js';
|
import './hr-item.component.js';
|
import './hr-list.component.js';
|
import './query-all-828de4b2.js';
|
import './hr-theme.model.js';
|
import './configurator.form.component.js';
|
import './configurator.form.base.element.component.js';
|
import './scene-helper.service.js';
|
import './async.base.component.js';
|
import './card-container-settings.js';
|
import './card-container-states.js';
|
import './card-container-additional-data.js';
|
import './card-containers-shared-data.js';
|
import './input.mask.component.js';
|
import './mask.component.js';
|
import './information.mask.component.js';
|
import './open-cloud-id.mask.component.js';
|
import './share-link-per-mail.component.js';
|
import './request-appointment.component.js';
|
import './prog-property.model.js';
|
import './interface.js';
|
import './reset.mask.component.js';
|
import './configuration.service.js';
|
import './step-based.mask.component.js';
|
import './container-mask.component.js';
|
import './messageNoCalc.mask.component.js';
|
import './button.component.js';
|
import './iwoFurn.mask.component.js';
|
import './input.component.js';
|
import './base-input.js';
|
import './save-dialog.mask.component.js';
|
import './cloud-id.service.js';
|
import './send-offer-request-mask.component.js';
|
import './file-upload-mask.component.js';
|
import './label.component.js';
|
import './sass.default-1ca9b57f.js';
|
import './accordion.component.js';
|
import './accordion-item.component.js';
|
import './accordion-layer.component.js';
|
import './slider.component.js';
|
import './equipment-list.component.js';
|
import './state-7ee0cf4f.js';
|
import './confirming-button.component.js';
|
import './fitting-item.component.js';
|
import './proptrans-item.component.js';
|
import './shoppingcart-item.component.js';
|
import './prog-context.model.js';
|
import './step-child.component.js';
|
import './clock.controller.js';
|
|
var __async = (__this, __arguments, generator) => {
|
return new Promise((resolve, reject) => {
|
var fulfilled = (value) => {
|
try {
|
step(generator.next(value));
|
} catch (e) {
|
reject(e);
|
}
|
};
|
var rejected = (value) => {
|
try {
|
step(generator.throw(value));
|
} catch (e) {
|
reject(e);
|
}
|
};
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
step((generator = generator.apply(__this, __arguments)).next());
|
});
|
};
|
class ArticlesByCategoriesCategorySelectionCardAppConnection extends ArticlesByCategoriesCardAppConnection {
|
constructor() {
|
super();
|
this.clickActive = false;
|
this.Method = CardFetchMethod.ArticlesByCategoriesCategorySelection;
|
}
|
CheckUpdate(event, eventParameters, context) {
|
var __superGet = (key) => super[key];
|
return __async(this, null, function* () {
|
if (event == CardDataUpdateEvent.SelectionChanged) {
|
return CardContainerUpdate.FILTER;
|
}
|
return yield __superGet("CheckUpdate").call(this, event, eventParameters, context);
|
});
|
}
|
Fetch(context) {
|
var __superGet = (key) => super[key];
|
return __async(this, null, function* () {
|
context.settings.Fetch.manufacturer = context.settings.Fetch.manufacturer && context.settings.Fetch.manufacturer.length > 0 ? context.settings.Fetch.manufacturer : yield ManuProgService.getManufacturer();
|
context.settings.Fetch.program = context.settings.Fetch.program && context.settings.Fetch.program.length > 0 ? context.settings.Fetch.program : yield ManuProgService.getProgram();
|
return yield __superGet("Fetch").call(this, context);
|
});
|
}
|
Filter(unfiltered, context, active) {
|
const filtered = super.Filter(unfiltered, context, active);
|
filtered["active"] = active;
|
filtered["categories"] = new Map();
|
if (filtered["kata-pages"]) {
|
const categoriesOccurances = new Map();
|
for (const article of filtered.articles) {
|
const categories = article.CatString.split(",");
|
for (const category of categories) {
|
if (category.includes("manucat_"))
|
continue;
|
let occurances = categoriesOccurances.get(category);
|
if (occurances == void 0) {
|
occurances = 0;
|
}
|
occurances += 1;
|
categoriesOccurances.set(category, occurances);
|
}
|
}
|
const categoriesToSkip = new Array();
|
for (const category of categoriesOccurances) {
|
if (category[1] == filtered.articles.length) {
|
categoriesToSkip.push(category[0]);
|
}
|
}
|
if (context.settings.Fetch.parameters["kata-pages-to-show"]) {
|
const kataPagesToShowParam = context.settings.Fetch.parameters["kata-pages-to-show"];
|
if (kataPagesToShowParam) {
|
const kataPagesToShow = Array.isArray(kataPagesToShowParam) ? kataPagesToShowParam : kataPagesToShowParam[context.settings.Fetch.program];
|
if (kataPagesToShow && kataPagesToShow.length > 0) {
|
for (const katapage of filtered["kata-tree"].kataPages) {
|
if (kataPagesToShow.includes(katapage.id) == false) {
|
if (categoriesToSkip.includes(katapage.id) == false) {
|
categoriesToSkip.push(katapage.id);
|
}
|
}
|
}
|
}
|
}
|
}
|
const fill = (categoryDataList, categoryLevels) => {
|
for (const kategoryData of categoryDataList) {
|
if (kategoryData.priority != void 0) {
|
if (categoriesOccurances.has(kategoryData.id)) {
|
if (categoriesToSkip.includes(kategoryData.id) == false) {
|
let level = categoryLevels.get(kategoryData.priority);
|
if (level) {
|
const category = level.get(kategoryData.id);
|
if (category == void 0) {
|
level.set(kategoryData.id, {
|
name: UtilService.ncrToUTF8(kategoryData.name),
|
order: kategoryData.order ? kategoryData.order : 99999
|
});
|
}
|
} else {
|
level = new Map();
|
level.set(kategoryData.id, {
|
name: UtilService.ncrToUTF8(kategoryData.name),
|
order: kategoryData.order ? kategoryData.order : 99999
|
});
|
categoryLevels.set(kategoryData.priority, level);
|
}
|
}
|
}
|
if (kategoryData.children) {
|
fill(kategoryData.children, categoryLevels);
|
}
|
}
|
}
|
};
|
fill(filtered["kata-tree"].kataPages, filtered["categories"]);
|
}
|
return filtered;
|
}
|
CreateCards(filtered, context) {
|
const data = filtered;
|
const sortedByKey = new Map([...data.categories].sort((a, b) => a[0] - b[0]));
|
const sorted = new Map();
|
for (const level of sortedByKey) {
|
const sortedLevel = new Map([...level[1]].sort((a, b) => {
|
return a[1].order - b[1].order;
|
}));
|
sorted.set(level[0], sortedLevel);
|
}
|
const resultMap = new Map();
|
for (const level of sorted) {
|
const result = { title: "", cards: [] };
|
result.additional = {
|
articles: data.articles
|
};
|
for (const categories of level[1]) {
|
result.cards.push({
|
txt: { txt: categories[1].name },
|
click: {
|
"previous-level-key": "",
|
"level-key": context.settings.Fetch["root-level"],
|
"next-level-key": categories[0]
|
},
|
active: data["active"].includes(categories[0])
|
});
|
}
|
resultMap.set(level[0], result);
|
}
|
return resultMap;
|
}
|
Click(card, context) {
|
var __superGet = (key) => super[key];
|
return __async(this, null, function* () {
|
if (this.clickActive)
|
return;
|
this.clickActive = true;
|
yield __superGet("Click").call(this, card, context);
|
if (context.filter != void 0 && card.click != void 0) {
|
context.filter.Strategy = FilterSelectionStrategy.AND;
|
context.filter.Toggle(card.click["next-level-key"]);
|
}
|
yield EventHandlerService.dispatchAsyncEvent("refresh-all-card-containers", {
|
refetch: true,
|
"include-hidden": false
|
});
|
yield CardDataService.WaitForAllCardContainerFetchPromises();
|
this.clickActive = false;
|
});
|
}
|
}
|
CardDataService.RegisterAppConnection(new ArticlesByCategoriesCategorySelectionCardAppConnection());
|
|
export { ArticlesByCategoriesCategorySelectionCardAppConnection };
|