import { i, r, x } from './query-assigned-elements-fea1f631.js';
|
import { BaseMaskElement } from './mask.component.js';
|
import { e } from './custom-element-30fc6381.js';
|
import { n } from './base.component-813fc7cf.js';
|
import { E as EventHandlerService } from './modal.component-db51742e.js';
|
import { StyleHelper } from './style.helper.js';
|
import { ImageComponent } from './image.component.js';
|
import './logo.component.js';
|
import { ProgramSelectionHelper } from './program-selection.helper.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 './card.data.service.js';
|
import './card-container-definitions.js';
|
import './card-container-events.js';
|
import './card-data-service-update-events.js';
|
import './toolbar.component.js';
|
import './toggle-toolbar.component.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 './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-d943b107.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 './manu-prog.service.js';
|
import './catalog.service.js';
|
import './step-child.component.js';
|
import './clock.controller.js';
|
import './defer-helper.class.js';
|
|
var css_248z = i`.close-symbol{cursor:pointer;height:100%;position:relative;width:100%}.close-symbol.loading{z-index:999}.close-symbol.loading:after,.close-symbol.loading:before{background:#fff}.close-symbol:after,.close-symbol:before{background:var(--close-symbol-background,#888);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:" ";height:1px;margin:0;padding:0;position:absolute;top:50%;width:100%}.close-symbol:after:hover,.close-symbol:before:hover{background:var(--close-symbol-background-hover,#333)}.close-symbol:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.close-symbol:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}:host(.active) .circle-number-symbol{border:var(--circle-number-symbol-border-active,2px solid #000)}.circle-number-symbol{align-items:center;background:var(--circle-number-symbol-background,var(--primary-color,red));border:var(--circle-number-symbol-border,2px solid #fff);border-radius:50%;box-shadow:var(--circle-number-symbol-box-shadow,1px 2px 5px 0 #000);color:var(--circle-number-symbol-color,var(--primary-text-color,#000));display:flex;height:var(--circle-number-symbol-size,30px);justify-content:center;position:relative;width:var(--circle-number-symbol-size,30px)}.custom-symbol{cursor:pointer;display:flex;left:10px;position:relative}.custom-symbol.up:after{background-image:var(--custom-symbol-image-down,url("/webui/images/minus.svg"));content:"";height:18px}.custom-symbol.down:after{background-image:var(--custom-symbol-image-down,url("/webui/images/plus.svg"));content:"";height:18px}.custom-symbol:after{color:#1e1e1e;margin:auto 0;padding:0 0 2px;pointer-events:none;transform:translateX(-15px);width:18px}.accordion-symbol{cursor:pointer;display:flex;left:10px;position:relative}.accordion-symbol.up:after{content:"-";font-size:xx-large;transform:scaleX(2) translateX(-4px)}.accordion-symbol.down:after{content:"+";font-size:xx-large}.accordion-symbol:after{color:#1e1e1e;margin:auto 0;padding:0 0 2px;pointer-events:none;transform:translateX(-15px);width:18px}.chevron-symbol{cursor:pointer;left:10px;position:relative}.chevron-symbol.up:after{content:"<"}.chevron-symbol.down:after{content:">"}.chevron-symbol:after{color:inherit;font:17px Consolas,monospace;padding:0 0 2px;pointer-events:none;position:absolute;-webkit-transform:rotate(90deg) translateX(-100%);-moz-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translateX(-100%)}@media (width >= 980px){.only-mobile{display:none!important}}@media (width <= 980px){.only-desktop{display:none!important}}.bold{font-weight:var(--global-font-weight-bold,600)}*{font-family:var(--global-font,Roboto);font-weight:var(--global-font-weight,400);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container{display:flex;margin:10px 0}.container.column{flex-direction:column}.container.column.reverse{flex-direction:column-reverse}.container.row{flex-direction:row}.container.row.reverse{flex-direction:row-reverse}.fluid{flex:1}.fluid.space-after{margin-right:55px}.hidden{display:none!important}.mobile-mode-hide,:host(.mobile-mode-hide){display:none!important}.invisible{visibility:hidden!important}.invisible-scroll,:host(.invisible-scroll){margin-right:-22px;overflow:hidden}.invisible-scroll>:first-child,:host(.invisible-scroll)>:first-child{box-sizing:content-box;overflow-x:hidden;overflow-y:scroll;padding-right:22px}.invisible-scroll.bottom,:host(.invisible-scroll.bottom){margin-right:unset;overflow:hidden}.invisible-scroll.bottom>:first-child,:host(.invisible-scroll.bottom)>:first-child{box-sizing:content-box;margin-bottom:-22px;overflow-x:scroll;overflow-y:hidden;padding-bottom:22px;padding-right:unset}:host([disabled]){filter:contrast(.5) grayscale(1);pointer-events:none}*{scrollbar-color:#5c5c5c hsla(0,0%,100%,.004);scrollbar-width:thin}[disabled]{filter:contrast(.5) grayscale(1);pointer-events:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar,::-webkit-scrollbar-corner{background:hsla(0,0%,100%,0)}::-webkit-scrollbar-thumb{background:#5c5c5c;-webkit-border-radius:8px}::-webkit-scrollbar-button,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button:horizontal:end:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:vertical:start:increment{background-color:transparent;border:none;color:transparent}:host{left:0;padding-bottom:var(--program-information-padding-bottom,1em);padding-top:var(--program-information-padding-top,2em);position:absolute;top:0}:host .information-container{grid-gap:var(--program-information-container-grid-gap,2.5em);display:grid;grid-template-areas:var(--information-container-grid-areas,var(--information-container-grid-auto-areas,"title" "sub-title" "text" "img-container" "controls-container"));grid-template-columns:auto;grid-template-rows:var(--information-container-grid-rows,var(--information-container-grid-auto-rows,auto auto auto 1fr auto));height:100%;overflow:hidden auto;text-align:center;width:80%}:host .information-container .title{font-size:var(--program-information-title-font-size,2em);grid-area:title}:host .information-container .sub-title{font-size:var(--program-information-sub-title-font-size,1em);grid-area:sub-title}:host .information-container .text{font-size:var(--program-information-text-font-size,1em);grid-area:text}:host .information-container .img-container{grid-area:img-container}:host .information-container .controls-container{display:grid;font-size:var(--program-information-button-font-size,1em);gap:var(--program-information-controls-grid-gap,2.5em);grid-area:controls-container;grid-template-areas:"leer1 overview configure leer2";grid-template-columns:auto max-content max-content auto;grid-template-rows:auto;height:fit-content}:host .information-container .controls-container .button{align-items:center;border:var(--program-information-button-border,2px solid #d3d3d3);border-radius:var(--program-information-button-border-radius,unset);cursor:pointer;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;line-height:1em}:host .information-container .controls-container .button.overview{grid-area:overview}:host .information-container .controls-container .button.overview .text{padding:1em 1em 1em 0}:host .information-container .controls-container .button.overview i{display:flex;margin-right:16px;padding-left:1em}:host .information-container .controls-container .button.configure{grid-area:configure}:host .information-container .controls-container .button.configure .text{padding:1em 0 1em 1em}:host .information-container .controls-container .button.configure i{padding-right:1em}:host .information-container .controls-container .button.configure img{padding-right:1em;width:46px}:host .information-container .information-item{align-items:center;display:flex;justify-content:center;overflow:hidden;padding-left:var(--program-information-item-padding-left-right,1em);padding-right:var(--program-information-item-padding-left-right,1em)}:host([active]){display:flex;justify-content:center}`;
|
|
var __defProp = Object.defineProperty;
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
var __getProtoOf = Object.getPrototypeOf;
|
var __reflectGet = Reflect.get;
|
var __decorateClass = (decorators, target, key, kind) => {
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
if (decorator = decorators[i])
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
if (kind && result)
|
__defProp(target, key, result);
|
return result;
|
};
|
var __superStaticGet = (obj, member) => __reflectGet(__getProtoOf(obj), member, obj);
|
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());
|
});
|
};
|
let ProgramInformationComponent = class extends BaseMaskElement {
|
constructor() {
|
super();
|
this.mask = "program-information";
|
this.initialArticle = "";
|
this.overviewIcon = "";
|
this.configureIcon = "";
|
this.parentModalQuery = ".general-modal";
|
this.programSelectionModalQuery = ".general-modal";
|
this.autoDetectGridRowsAndAreas = false;
|
this.useImageController = true;
|
this.AreasData = {
|
"title": { style: "auto", conditions: { txtInfo: "heading", maskData: "name" } },
|
"sub-title": { style: "auto", conditions: { txtInfo: "subheading" } },
|
"text": { style: "auto", conditions: { txtInfo: "text" } },
|
"img-container": { style: "1fr" },
|
"controls-container": { style: "auto" }
|
};
|
}
|
get program() {
|
const program = this.maskData["program"];
|
if (program && typeof program === "string") {
|
return program;
|
}
|
return "";
|
}
|
get category() {
|
const category = this.maskData["category"];
|
if (category && typeof category === "string") {
|
return category;
|
}
|
return "";
|
}
|
get parentLevel() {
|
const parentLevel = this.maskData["parentLevel"];
|
if (parentLevel && typeof parentLevel === "string") {
|
return parentLevel;
|
}
|
return "";
|
}
|
get image() {
|
const image = this.maskData["image"];
|
if (image && typeof image === "object") {
|
return image;
|
}
|
return { programFilter: [], activeImageIndex: 0 };
|
}
|
get textInfo() {
|
const textInfo = this.maskData["textInfo"];
|
if (textInfo) {
|
return textInfo;
|
}
|
return {};
|
}
|
overview() {
|
return __async(this, null, function* () {
|
EventHandlerService.dispatch("open-modal", {
|
query: this.programSelectionModalQuery,
|
mask: "program-selection",
|
fade: false,
|
dimmed: false,
|
cancelable: ProgramSelectionHelper.canBeCancelled
|
});
|
});
|
}
|
configure() {
|
return __async(this, null, function* () {
|
yield ProgramSelectionHelper.Configure({
|
detail: {
|
category: this.category,
|
level: this.program,
|
parentLevel: this.parentLevel
|
},
|
closeModalQuery: this.parentModalQuery,
|
confirmModal: true,
|
initialArticle: this.initialArticle || "",
|
clearScene: true,
|
activeStepAfterSelection: 0,
|
overrideInitialArticle: true
|
});
|
});
|
}
|
createProgramInformationImage(controller) {
|
var _a, _b;
|
const programInformationImage = new ImageComponent();
|
programInformationImage.classList.add("fill-height", "use-img", "single");
|
programInformationImage.programFilter = ((_a = this.image) == null ? void 0 : _a.programFilter) || [];
|
programInformationImage.activeIndex = this.image.activeImageIndex || 0;
|
programInformationImage.imageType = ((_b = this.image) == null ? void 0 : _b.imageType) || "milieu";
|
if (controller) {
|
return x`
|
<fv-program-information-controller class="fill-height">
|
${programInformationImage}
|
</fv-program-information-controller>
|
`;
|
}
|
return programInformationImage;
|
}
|
get HeadingHTML() {
|
if (this.textInfo && this.textInfo.heading && this.textInfo.heading.length > 0) {
|
return x`<div class="title information-item">${this.textInfo.heading}</div>`;
|
}
|
if (this.maskData && this.maskData.name && this.maskData.name.length > 0) {
|
return x`<div class="title information-item">${this.maskData.name}</div>`;
|
}
|
return x``;
|
}
|
CreateTxtHtml(txt, classString) {
|
if (txt != void 0 && txt.length > 0) {
|
return x`<div class="${classString != void 0 ? classString : ""}">${txt}</div>`;
|
}
|
return x``;
|
}
|
show(showModal_) {
|
super.show(showModal_);
|
}
|
build(content = x``) {
|
if (this.autoDetectGridRowsAndAreas) {
|
const checkConditions = (conditions) => {
|
if (conditions == void 0)
|
return false;
|
if (conditions.txtInfo && conditions.txtInfo.length > 0) {
|
const txtInfoValue = this.textInfo[conditions.txtInfo];
|
if (txtInfoValue != void 0 && txtInfoValue.length > 0) {
|
return true;
|
}
|
}
|
if (conditions.maskData) {
|
const msakDataValue = this.maskData[conditions.maskData];
|
if (msakDataValue != void 0 && msakDataValue.length > 0) {
|
return true;
|
}
|
}
|
return false;
|
};
|
const areas = new Array();
|
const rows = new Array();
|
const areaNames = Object.keys(this.AreasData);
|
for (let index = 0; index < areaNames.length; ++index) {
|
const name = areaNames[index];
|
const area = this.AreasData[name];
|
const noConditions = area.conditions == void 0;
|
const areaConditionApplies = noConditions ? false : checkConditions(area.conditions);
|
if (noConditions || areaConditionApplies) {
|
areas.push(name);
|
rows.push(area.style);
|
}
|
}
|
this.style.setProperty("--information-container-grid-auto-areas", '"' + areas.join('" "') + '"');
|
this.style.setProperty("--information-container-grid-auto-rows", rows.join(" "));
|
} else {
|
this.style.removeProperty("--information-container-grid-auto-areas");
|
this.style.removeProperty("--information-container-grid-auto-rows");
|
}
|
return super.build(x`
|
<div class="information-container">
|
${this.HeadingHTML}
|
${this.CreateTxtHtml(this.textInfo.subheading, "sub-title information-item")}
|
${this.CreateTxtHtml(this.textInfo.text, "text information-item")}
|
<div class="img-container information-item">
|
${this.createProgramInformationImage(this.useImageController)}
|
</div>
|
<div class="controls-container information-item">
|
<div class="overview button" @click=${this.overview}>
|
<i class="icon ${this.overviewIcon ? this.overviewIcon : "fv-icon-arrow"}"></i>
|
<div class="text" i18n="program.information.overview.button"></div>
|
</div>
|
<div class="configure button" @click=${this.configure}>
|
<div class="text" i18n="program.information.configure.button"></div>
|
${StyleHelper.getVar(this, "--open-planning-image") ? x`<img src="${StyleHelper.getVar(this, "--open-planning-image")}"/>` : x`<i class="icon ${this.configureIcon}"></i>`}
|
</div>
|
</div>
|
${content}
|
</div>
|
`);
|
}
|
render() {
|
return this.build(x`<slot></slot>`);
|
}
|
};
|
ProgramInformationComponent.styles = [
|
__superStaticGet(ProgramInformationComponent, "styles") || [],
|
i`${r(css_248z)}`
|
];
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "overview-icon" })
|
], ProgramInformationComponent.prototype, "overviewIcon", 2);
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "configure-icon" })
|
], ProgramInformationComponent.prototype, "configureIcon", 2);
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "parent-modal-query" })
|
], ProgramInformationComponent.prototype, "parentModalQuery", 2);
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "program-selection-modal-query" })
|
], ProgramInformationComponent.prototype, "programSelectionModalQuery", 2);
|
__decorateClass([
|
n({ type: Boolean, reflect: true, attribute: "auto-detect-grid-rows-and-areas" })
|
], ProgramInformationComponent.prototype, "autoDetectGridRowsAndAreas", 2);
|
__decorateClass([
|
n({ type: Boolean, reflect: true, attribute: "use-image-controller" })
|
], ProgramInformationComponent.prototype, "useImageController", 2);
|
ProgramInformationComponent = __decorateClass([
|
e("fv-program-information")
|
], ProgramInformationComponent);
|
|
export { ProgramInformationComponent };
|