{"version":3,"sources":["webpack:///src/app/modules/auth/_services/auth.service.ts","webpack:///src/app/modules/core/qcomponents/q-edit-buttons/q-edit-buttons.component.ts","webpack:///src/app/modules/core/qcomponents/q-edit-buttons/q-edit-buttons.component.html","webpack:///src/app/modules/webshop/artikels/artikelzubehoer/artikelzubehoer.component.ts","webpack:///src/app/modules/webshop/artikels/artikelzubehoer/artikelzubehoer.component.html","webpack:///src/app/modules/webshop/artikelgruppen/shared/artikelgruppen.service.ts","webpack:///src/app/modules/webshop/webshop-routing.module.ts","webpack:///src/app/modules/webshop/webshops/checkout/checkout.component.ts","webpack:///src/app/modules/webshop/webshops/checkout/checkout.component.html","webpack:///src/app/modules/webshop/artikelgruppen/artikel-gruppe-list/artikel-gruppe-list.component.ts","webpack:///src/app/modules/webshop/artikelgruppen/artikel-gruppe-list/artikel-gruppe-list.component.html","webpack:///src/app/modules/webshop/webshops/filter/filtercontainers/filter-container1/filter-container1.component.ts","webpack:///src/app/modules/webshop/webshops/filter/filtercontainers/filter-container1/filter-container1.component.html","webpack:///src/app/modules/webshop/webshops/checkout_new/checkout_new.component.ts","webpack:///src/app/modules/webshop/webshops/checkout_new/checkout_new.component.html","webpack:///src/app/modules/shared/german-paginator.ts","webpack:///src/app/modules/webshop/webshops/warenkorbs/warenkorb-list/warenkorb-list.component.ts","webpack:///src/app/modules/webshop/webshops/warenkorbs/warenkorb-list/warenkorb-list.component.html","webpack:///src/app/modules/webshop/webshops/bottomsections/bottom-section1/bottom-section1.component.ts","webpack:///src/app/modules/webshop/webshops/bottomsections/bottom-section1/bottom-section1.component.html","webpack:///src/app/modules/webshop/webshops/topsections/top-section1/top-section1.component.ts","webpack:///src/app/modules/webshop/webshops/topsections/top-section1/top-section1.component.html","webpack:///src/app/modules/webshop/webshops/account/account.component.ts","webpack:///src/app/modules/webshop/webshops/account/account.component.html","webpack:///src/environments/environment.ts","webpack:///src/app/modules/webshop/artikels/shared/artikelBilder.service.ts","webpack:///src/app/modules/webshop/webshops/nav/shared/nav.service.ts","webpack:///src/app/modules/webshop/artikels/artikel-quick-view1/artikel-quick-view1.component.ts","webpack:///src/app/modules/webshop/artikels/artikel-quick-view1/artikel-quick-view1.component.html","webpack:///src/app/modules/webshop/webshops/filter/filter-chips/filter-chips.component.ts","webpack:///src/app/modules/webshop/webshops/filter/filter-chips/filter-chips.component.html","webpack:///src/app/modules/webshop/webshops/warenkorbs/warenkorb-edit/warenkorb-edit.component.ts","webpack:///src/app/modules/webshop/webshops/warenkorbs/warenkorb-edit/warenkorb-edit.component.html","webpack:///src/app/modules/webshop/webshops/filter/filterboxes/filter-box1/filter-box1.component.ts","webpack:///src/app/modules/webshop/webshops/filter/filterboxes/filter-box1/filter-box1.component.html","webpack:///src/app/modules/webshop/webshops/nav/navboxes/nav-box1/nav-box1.component.ts","webpack:///src/app/modules/webshop/webshops/nav/navboxes/nav-box1/nav-box1.component.html","webpack:///src/app/modules/webshop/webshops/infosections/info-section1/info-section1.component.ts","webpack:///src/app/modules/webshop/webshops/infosections/info-section1/info-section1.component.html","webpack:///src/app/modules/core/qservices/navigation.service.ts","webpack:///src/app/modules/webshop/webshops/mainsections/main-section1/main-section1.component.ts","webpack:///src/app/modules/webshop/webshops/mainsections/main-section1/main-section1.component.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/modules/webshop/artikels/artikeldokumente/shared/artikeldokumente.service.ts","webpack:///src/app/modules/webshop/webshops/webshophome/webshophome.component.ts","webpack:///src/app/modules/webshop/webshops/webshophome/webshophome.component.html","webpack:///src/app/modules/core/qcomponents/qavatar/qavatar/qavatar.component.ts","webpack:///src/app/modules/core/qcomponents/qavatar/qavatar/qavatar.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/modules/webshop/webshops/filter/filterboxes/filter-box-category1/filter-box-category1.component.ts","webpack:///src/app/modules/webshop/webshops/filter/filterboxes/filter-box-category1/filter-box-category1.component.html","webpack:///src/app/modules/webshop/webshops/filter/filtercontainers/filter-container-category1/filter-container-category1.component.ts","webpack:///src/app/modules/webshop/webshops/filter/filtercontainers/filter-container-category1/filter-container-category1.component.html","webpack:///src/app/modules/webshop/webshops/advertise/advertise.component.ts","webpack:///src/app/modules/webshop/webshops/advertise/advertise.component.html","webpack:///src/app/modules/webshop/artikels/artikel-list1/artikel-list1.component.ts","webpack:///src/app/modules/webshop/artikels/artikel-list1/artikel-list1.component.html","webpack:///src/app/modules/webshop/artikels/kurse/kurse.component.ts","webpack:///src/app/modules/webshop/artikels/kurse/kurse.component.html","webpack:///src/app/modules/webshop/artikels/shared/webfront.service.ts","webpack:///src/app/modules/webshop/webshops/webshop-view/webshop-view.component.ts","webpack:///src/app/modules/webshop/webshops/webshop-view/webshop-view.component.html","webpack:///src/app/modules/webshop/webshops/logins/shared/logins.service.ts","webpack:///src/app/modules/webshop/webshops/menusections/menu-section1/menu-section1.component.ts","webpack:///src/app/modules/webshop/webshops/menusections/menu-section1/menu-section1.component.html","webpack:///src/app/modules/webshop/webshops/account/shared/account.service.ts","webpack:///src/app/modules/webshop/artikels/artikeldokumente/artikeldokumente-list/artikeldokumente-list.component.ts","webpack:///src/app/modules/webshop/artikels/artikeldokumente/artikeldokumente-list/artikeldokumente-list.component.html","webpack:///src/app/modules/webshop/webshops/logins/login1/login1.component.ts","webpack:///src/app/modules/webshop/webshops/logins/login1/login1.component.html","webpack:///src/app/modules/webshop/artikels/shared/artikels.service.ts","webpack:///node_modules/@angular/common/locales lazy-once ^\\.\\/.*\\.js$ include: [/\\\\](ar|cs|en|en-GB|es|de|fi|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js exclude: [/\\\\]global|extra namespace object","webpack:///src/app/modules/webshop/webshops/warenkorbs/shared/warenkorbs.service.ts","webpack:///src/app/modules/webshop/webshop.module.ts","webpack:///src/app/modules/core/qcomponents/qcomponents.module.ts","webpack:///src/app/modules/webshop/webshops/nav/navs/top-level-nav1/top-level-nav1.component.ts","webpack:///src/app/modules/webshop/webshops/nav/navs/top-level-nav1/top-level-nav1.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/modules/webshop/artikels/aktions-artikel/aktions-artikel.component.ts","webpack:///src/app/modules/webshop/artikels/aktions-artikel/aktions-artikel.component.html","webpack:///src/app/core/layout-utils.service.ts","webpack:///src/app/modules/webshop/artikels/artikelbild-thumbs1/artikelbild-thumbs1.component.ts","webpack:///src/app/modules/webshop/artikels/artikelbild-thumbs1/artikelbild-thumbs1.component.html","webpack:///src/main.ts","webpack:///src/app/modules/webshop/artikels/artikel-list-widget1/artikel-list-widget1.component.ts","webpack:///src/app/modules/webshop/artikels/artikel-list-widget1/artikel-list-widget1.component.html","webpack:///$_lazy_route_resource lazy namespace object"],"names":["AuthService","loginService","router","oauthService","unsubscribe","authLocalStorageToken","isAuthenticatedSubject$","isAuthenticated$","asObservable","canActivateProtectedRoutes$","pipe","values","every","b","isLoadingSubject","currentUserSubject","undefined","currentUser$","isLoading$","userRefresh","subscribe","x","hasValidToken","sc2","getUserByToken","push","next","configure","oAuthConfig","events","event","console","error","warn","window","addEventListener","key","hasValidAccessToken","navigateToLoginPage","_","e","includes","type","loadUserProfile","setupAutomaticSilentRefresh","value","user","log","location","hash","table","substr","split","map","kvp","loadDiscoveryDocument","then","tryLogin","Promise","resolve","silentRefresh","result","errorResponsesRequiringUserInteraction","reason","indexOf","reject","state","stateUrl","startsWith","decodeURIComponent","navigateByUrl","initLoginFlow","url","logOut","getUser","forEach","sb","providedIn","qEditButtonsComponent","primengConfig","alignButtons","valueChanged","isEditMode","ripple","onValueChanged","command","emit","selector","templateUrl","styleUrls","$event","stopPropagation","SelectedArtikel","ArtikelzubehoerComponent","dialog","layoutUtilsService","authService","warenkorbsService","artikelsService","numberWarenkorbItems","imgDummy","isLoading","isLoggedIn","isSubmitted","getListArtikelZubehoerForArtikel","artikelKennung","res","artikel","$","scrollTop","menge","isMatrixArtikel","newPosition","id","addPosition","warenkorbPositionen","length","_title","_description","qwertDialog","dismiss","login","dialogRef","open","width","dialogWidth","disableClose","autoFocus","data","componentInstance","level","afterClosed","onAddToWarenkorb","toggleClass","zubehoermulti","ArtikelGruppenService","restService","pageNumber","pageSize","sortField","sortDirection","skipCount","sorting","request","method","filter","searchTerm","all","routes","WebshopRoutingModule","forChild","imports","exports","CheckoutComponent","activatedRoute","navService","oAuthService","config","warenkorbService","_formBuilder","getRechnungsadresse","adr","anrede","vorname","nachname","trim","firmenname","strasse","plz","ort","document","getElementById","innerHTML","getPaymentterm","firstFormGroup","group","addrType","required","firstCtrl","FilterString","ArtikelGruppeListComponent","fb","artikelGruppenService","page","maxItems","selectedOption","subscriptions","isFiltered","loadSequenceData","filterForm","searchForm","loadPage","previousPage","loadData","filterGroup","status","sequence","controls","valueChanges","filterList","get","name","filterString","JSON","stringify","searchGroup","searchEvent","val","getList","artikelGruppen","items","totalCount","options","getListFilter","reihenfolge","getListReihenfolge","pageSizeChanged","FilterContainer1Component","nurAufLager","_filterGroessen","_filterFarben","_filterMerkmale","filterGroesse","filterFarbe","filterMerkmal","isCategoryFilter","isPreisFilter","isGroesseFilter","isFarbeFilter","isGroessenAvailable","isFarbenAvailable","isMerkmaleAvailable","isMerkmalGruppenAvailable","isMerkmalFilter","floor","minPreis","ceil","maxPreis","translate","changes","category","currentValue","previousValue","groessen","farben","filterGroessen","parse","filterFarben","filterMerkmale","merkmalGruppen","removeFilter","getMerkmal","setGroesse","setFarbe","setMerkmal","changeContext","highValue","routerNav","groesse","checked","groesse_Wert","index","splice","idx","findIndex","y","selected","farbe","farbe_Wert","merkmal","z","merkmale","isActive","navigate","queryParams","CheckoutComponent_new","requesttype","germanRangeLabel","Math","max","startIndex","endIndex","min","getGermanPaginatorIntl","paginatorIntl","itemsPerPageLabel","nextPageLabel","previousPageLabel","getRangeLabel","WarenkorbListComponent","BottomSection1Component","currentYear","Date","getFullYear","TopSection1Component","useRememberMe","allowNewAccount","search","loggedInUser","loggedInUserName","benutzernameFull","getForCustomer","warenkorb","w","dialogHeight","logout","toggle","showWarenkorb","showAdvertise","href","WebshopAccountComponent","accountsService","elem","classList","loadcustomerdata","loadreceipts","el","target","hasClass","parents","find","onAddReceiptToWarenkorb","anzahl","ismatrixArtikel","belegart","archive","getReceiptlistAsync","receipts","show","cont_receipt","cont_receipt_header","i","belegNr","auftragsart","belegNrZusatz","mydate","datum","toLocaleDateString","day","month","year","summe_netto","toFixed","replace","summe_brutto","kd_auftrag_nr","datestr_auftrag","kd_auftrag_datum","mydate2","positionen","cont_pos","cont_pos_header","cont_search","color_class","i_pos","tp","typ","artikelId","matrixId","artNr","artL","position","toString","preis_2","preis","abrufDiff","abrufRest","bestellPositionen","i_bestpos","termin","append","k","kunde","email","telefonFirma","kundennummer","kennung","_addPosMessage","showActionNotification","Update","newArtikels","each","attr","parseInt","parseFloat","addPositions","st","toUpperCase","hide","keyCode","onSearch","getNumberWarenkorbItems","goBack","handleClick","onKeyup","encapsulation","None","baseUrl","adv_pagertime","shoptitle","environment","remoteEnv","mergeStrategy","production","application","logoUrl","issuer","redirectUri","origin","silentRefreshUri","useSilentRefresh","silentRefreshTimeout","clearHashAfterLogin","nonceStateSeparator","clientId","responseType","dummyClientSecret","scope","requireHttps","showDebugInformation","apis","rootNamespace","setting","ArtikelbilderService","NavService","sidenav","close","ArtikelQuickView1Component","artikelBilderService","neuemenge","imgFiles","dropdownboxesWidth","isLoadingMatrix","isValid","isKursArtikel","artikeloptions","display_artnr","display_herstellernr","display_mcode1","display_mcode2","lbl_mcode1","lbl_mcode2","matrixArtikel_JN","kurs_JN","nDropdownboxes","getListArtikelMatrixForArtikel","artikelMatrixList","Object","assign","g","f","some","a","groesse_Id","x_Id","x_Wert","farbe_Id","y_Id","y_Wert","selectedGroesse","selXid","selectedFarbe","selYid","loadzubehoer","loadkurse","anzahlBilder","getListArtikelBilder","artikelBilder","bestand","bruttoPreis_E1","selectedImgFile","bild","nichtAufLager","preis_netto","preisNetto","preis_brutto","preisBrutto","getMatrixArtikel","matrixArtikel","selectedArtikel","getListMatrixArtikelBilder","getvaluefromstaffel","updatezubehoermenge","prop","hasError","selectedKurs","kurseComponent","getSelectedKurs","artikelBild","staffelpreise","json_staffelpreise","res_html","Von","Bis","Netto","Brutto","html","anzeigeNetto","anzeigeBrutto","artikelZubehörList","on","alert","getKurse","kurse","FilterChipsComponent","filterRemoved","visible","selectable","removable","addOnBlur","selectedFilters","WarenkorbEditComponent","orgMenge","orgNotiz","orgWKNotiz","orgKDAuftragNr","isUpdate","isUpdateNotiz","isUpdateReceiptNotiz","isUpdateKDAuftragNr","getData","setData","gesamtBrutto","gesamtNetto","gesamtRabattBetrag","gesamtSteuerBetrag","notiz","kdAuftragNr","infoMessage","nWkPos","warenkorbPosition","matrixIntern","updateWarenkorb","_waitDesciption","_deleteMessage","deleteElement","deletePosition","Delete","deleteWarenkorb","inputrequesttype","makeOrder","makeRequest","div_staffelpreise","currentTarget","kennung_artikel","getStaffelpreis","FilterBox1Component","NavBox1Component","isExpanded","title","reihenfolgeWeb","displayPath","valuePath","InfoSection1Component","text","texts","random","NavigationService","history","urlAfterRedirects","pop","back","MainSection1Component","artikelgruppenService","getListReihenfolgeTree","reihenfolgeTree","minPreisFilter","maxPreisFilter","getRemoveFilter","getMinPreis","getMaxPreis","getGroessen","getFarben","getMerkmalGruppen","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","code","keys","webpackContextKeys","module","AppComponent","titleService","setTranslation","setDefaultLang","routerSubscription","setTimeout","body","add","getEnvironment","setTitle","language","use","loadStyle","styleName","head","getElementsByTagName","themeLink","style","createElement","rel","appendChild","changeDetection","Default","Document","ArtikelDokumenteService","WebshopHomeComponent","webfrontService","itemChangeCallback","itemChange","itemResizeCallback","itemResize","pushItems","minRows","maxRows","minCols","maxCols","getWebfront","webfront","dashboard","di","cols","rows","height","skipWebfront","item","itemComponent","info","getFeature","api","optionsChanged","qAvatarComponent","avatarText","textLength","iconSet","icon","bgColor","iconOnly","isOutlined","size","avatarTextVal","avatarBgColor","slice","getqAvatarColor","authAppInitializerFactory","runInitialLoginSequence","AppModule","provide","useFactory","multi","deps","useValue","coreLibraryLoader","languages","xml","typescript","scss","json","forRoot","loader","HttpLoaderFactory","registerLocaleFn","declarations","providers","bootstrap","http","FilterBoxCategory1Component","FilterContainerCategory1Component","reihenfolgeTreeAll","testarray","currCat","findCategory","onSelectCategory","breadcrumbList","c","cat","r","isFirst","createBreadcrumbList","hasChildren","categoryFilter","children","lastLevel","treeList","reduce","AdvertiseComponent","_renderer2","main_el","getListAdvertiseAsync","innerHeight","scrollTo","bg_width","bg_height","screenwidth_new","innerWidth","screenheight_new","offset_y","parent","nativeElement","querySelector","parent_progress","adv_progress_ctrl","setAttribute","listen","toggleprogressctrl_state","adv_item","setStyle","background","addClass","adv_progress_item","pagerCaption","createText","headline","set_adv_item_active","adv_item_wrap","adv_btnclose","hide_advertise","adv_headline","splitted","i2","adv_headline_text","adv_description","splitted_descr","description","adv_descr_text","returnLink","adv_button","returnLinkCaption","openurl","rotate_adv","duration","start","adv_item_c","theLoop","progressctrl_status","substring","num","removeClass","ArtikelList1Component","_snackBar","paginator","colClass","pageSizeOptions","isList","articlesfound","getBootstrapClass","itemsPerRowMax","onSelectListNumberColumns","pageIndex","artikelList","artikelListSettings","merkmalGruppenList","artikelOptions","setSortierText","firstPage","nCol","itemsPerRow","sField","sDirection","teilnehmer","kurs","sortIcon","sortIconText","KurseComponent","dynArrParticipant","elem_selected","p","remove","updateSelectedKurs","pid","p_elem","selectedKursId","Number","selectedTerminId","newKurs","kursId","terminId","WebfrontService","WebshopViewComponent","isReload","setSidenav","par","LoginsService","userName","userPassword","MenuSection1Component","AccountService","ArtikeldokumenteListComponent","artikelDokumentService","getListForArtikel","artikelDokumente","artDok","getById","URL","createObjectURL","input_filetype","Login1Component","loginsService","userLogin","controlName","errorName","form","onLogin","userPwd","keydownEvents","onCancel","invalid","getLoggedInUser","handleKeyboardEvent","ArtikelsService","webpackAsyncContext","webpackAsyncContextResolve","t","webpackAsyncContextKeys","WarenkorbsService","input","DEFAULT_PERFECT_SCROLLBAR_CONFIG","wheelPropagation","WebshopModule","useClass","hasBackdrop","panelClass","entryComponents","qComponentsModule","TopLevelNav1Component","isTopLevelNavExpanded","isCategorySelected","onNgModelchange","path","loadChildren","m","ErrorsModule","component","redirectTo","AppRoutingModule","onSameUrlNavigation","AktionsArtikelComponent","responsiveOptions","breakpoint","numVisible","numScroll","getListAktionsartikelAsync","MessageType","LayoutUtilsService","snackBar","currencyPipe","inputWidth","gString","checkPageNumber","checkPageSize","checkSortField","checkSortDirection","checkFilter","pnText","psText","sfText","sdText","fText","datetime","local","toDate","ret","format","amount","isocode","transform","color","chars","hex","firstLetter","secondLetter","initialVal","charCodeAt","pow","hexVal","decimals","round","EPSILON","waitDesciption","fire","showCloseButton","showCancelButton","confirmButtonText","cancelButtonText","_message","_type","Create","_duration","_showCloseButton","_showUndoButton","_undoButtonDuration","_verticalPosition","_data","message","showUndoButton","undoButtonDuration","verticalPosition","action","errorCode","_icon","_showCancelButton","_confirmButtonText","_cancelButtonText","ArtikelbildThumbs1Component","isVertical","selectedImage","err","ArtikelListWidget1Component","imgPath","imgFile","image","webpackEmptyAsyncContext"],"mappings":"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AA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AA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","file":"main-es5.js","sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Observable, BehaviorSubject, of, Subscription, combineLatest } from 'rxjs';\r\nimport { map, catchError, switchMap, finalize, filter } from 'rxjs/operators';\r\nimport { UserModel } from '../_models/user.model';\r\nimport { AuthModel } from '../_models/auth.model';\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { CurrentUserDto } from '@abp/ng.core';\r\nimport { OAuthErrorEvent, OAuthService } from 'angular-oauth2-oidc';\r\nimport { Webshops } from '../../webshop/store/models/webshops';\r\nimport { LoginsService } from '../../webshop/webshops/logins/shared/logins.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService implements OnDestroy {\r\n // private fields\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n private authLocalStorageToken = `kkisui_2`;\r\n\r\n // public fields\r\n currentUser$: Observable;\r\n isLoading$: Observable;\r\n currentUserSubject: BehaviorSubject;\r\n isLoadingSubject: BehaviorSubject;\r\n\r\n private isAuthenticatedSubject$ = new BehaviorSubject(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n\r\n get currentUserValue(): Webshops.ILoggedInUser {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n set currentUserValue(user: Webshops.ILoggedInUser) {\r\n this.currentUserSubject.next(user);\r\n }\r\n\r\n constructor(\r\n \r\n private loginService:LoginsService,\r\n private router: Router,\r\n private oauthService:OAuthService) \r\n {\r\n \r\n this.isLoadingSubject = new BehaviorSubject(false);\r\n this.currentUserSubject = new BehaviorSubject(undefined);\r\n this.currentUser$ = this.currentUserSubject.asObservable();\r\n this.isLoading$ = this.isLoadingSubject.asObservable();\r\n //const subscr = this.getUserByToken().subscribe();\r\n //this.unsubscribe.push(subscr);\r\n\r\n\r\n const userRefresh=this.isAuthenticated$.subscribe(x=>\r\n {\r\n if(x && this.hasValidToken())\r\n {\r\n const sc2 = this.getUserByToken().subscribe();\r\n this.unsubscribe.push(sc2);\r\n }\r\n else\r\n {\r\n this.currentUserSubject.next(null);\r\n }\r\n });\r\n this.unsubscribe.push(userRefresh);\r\n\r\n oauthService.configure(environment.oAuthConfig);\r\n\r\n this.oauthService.events.subscribe(event => {\r\n if (event instanceof OAuthErrorEvent) {\r\n console.error('OAuthErrorEvent Object:', event);\r\n } else {\r\n console.warn('OAuthEvent Object:', event);\r\n }\r\n });\r\n\r\n // This is tricky, as it might cause race conditions (where access_token is set in another\r\n // tab before everything is said and done there.\r\n // TODO: Improve this setup. See: https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/issues/2\r\n window.addEventListener('storage', (event) => {\r\n // The `key` is `null` if the event was caused by `.clear()`\r\n if (event.key !== 'access_token' && event.key !== null) {\r\n return;\r\n }\r\n\r\n console.warn('Noticed changes to access_token (most likely from another tab), updating isAuthenticated');\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n\r\n if (!this.oauthService.hasValidAccessToken()) {\r\n this.navigateToLoginPage();\r\n }\r\n });\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n\r\n this.oauthService.events\r\n .pipe(filter(e => ['token_received'].includes(e.type)))\r\n .subscribe(e => this.oauthService.loadUserProfile());\r\n\r\n this.oauthService.events\r\n .pipe(filter(e => ['session_terminated', 'session_error'].includes(e.type)))\r\n .subscribe(e => this.navigateToLoginPage());\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n}\r\n\r\npublic runInitialLoginSequence(): Promise {\r\n console.log(\"INIT LOGIN\");\r\n if (location.hash) {\r\n console.log('Encountered hash fragment, plotting as table...');\r\n console.table(location.hash.substr(1).split('&').map(kvp => kvp.split('=')));\r\n }\r\n\r\n // 0. LOAD CONFIG:\r\n // First we have to check to see how the IdServer is\r\n // currently configured:\r\n return this.oauthService.loadDiscoveryDocument()\r\n\r\n // For demo purposes, we pretend the previous call was very slow\r\n //.then(() => new Promise(resolve => setTimeout(() => resolve(), 1500)))\r\n\r\n // 1. HASH LOGIN:\r\n // Try to log in via hash fragment after redirect back\r\n // from IdServer from initImplicitFlow:\r\n .then(() => this.oauthService.tryLogin())\r\n\r\n .then(() => {\r\n if (this.oauthService.hasValidAccessToken()) {\r\n return Promise.resolve();\r\n }\r\n\r\n // 2. SILENT LOGIN:\r\n // Try to log in via a refresh because then we can prevent\r\n // needing to redirect the user:\r\n return this.oauthService.silentRefresh()\r\n .then(() => Promise.resolve())\r\n .catch(result => {\r\n // Subset of situations from https://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n // Only the ones where it's reasonably sure that sending the\r\n // user to the IdServer will help.\r\n const errorResponsesRequiringUserInteraction = [\r\n 'interaction_required',\r\n 'login_required',\r\n 'account_selection_required',\r\n 'consent_required','code_error'\r\n ];\r\n\r\n if (result\r\n && result.reason\r\n && errorResponsesRequiringUserInteraction.indexOf(result.reason.error) >= 0) {\r\n\r\n // 3. ASK FOR LOGIN:\r\n // At this point we know for sure that we have to ask the\r\n // user to log in, so we redirect them to the IdServer to\r\n // enter credentials.\r\n //\r\n // Enable this to ALWAYS force a user to login.\r\n // this.login();\r\n //\r\n // Instead, we'll now do this:\r\n console.warn('User interaction is needed to log in, we will wait for the user to manually log in.');\r\n return Promise.resolve();\r\n }\r\n\r\n // We can't handle the truth, just pass on the problem to the\r\n // next handler.\r\n return Promise.reject(result);\r\n });\r\n })\r\n\r\n .then(() => {\r\n this.isLoadingSubject.next(false);\r\n\r\n // Check for the strings 'undefined' and 'null' just to be sure. Our current\r\n // login(...) should never have this, but in case someone ever calls\r\n // initImplicitFlow(undefined | null) this could happen.\r\n if (this.oauthService.state && this.oauthService.state !== 'undefined' && this.oauthService.state !== 'null') {\r\n let stateUrl = this.oauthService.state;\r\n if (stateUrl.startsWith('/') === false) {\r\n stateUrl = decodeURIComponent(stateUrl);\r\n }\r\n console.log(`There was state of ${this.oauthService.state}, so we are sending you to: ${stateUrl}`);\r\n this.router.navigateByUrl(stateUrl);\r\n }\r\n })\r\n .catch(() => this.isLoadingSubject.next(false));\r\n}\r\n\r\n public canActivateProtectedRoutes$: Observable = combineLatest([\r\n this.isAuthenticated$,\r\n //this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n private navigateToLoginPage() {\r\n // TODO: Remember current URL\r\n this.router.navigateByUrl('/should-login');\r\n }\r\n\r\n login()\r\n {\r\n // call encodeURIComponent on the argument to the method.\r\n this.oauthService.initLoginFlow( this.router.url);\r\n }\r\n\r\n logout() {\r\n this.oauthService.logOut();\r\n }\r\n\r\n refresh()\r\n {\r\n this.oauthService.silentRefresh();\r\n }\r\n\r\n public hasValidToken() { return this.oauthService.hasValidAccessToken(); }\r\n\r\n getUserByToken(): Observable {\r\n \r\n \r\n this.isLoadingSubject.next(true);\r\n return this.loginService.getUser().pipe(\r\n map((user: Webshops.ILoggedInUser) => {\r\n \r\n if (user) {\r\n this.currentUserSubject.next(user);\r\n } else {\r\n this.currentUserSubject.next(null);\r\n }\r\n return user;\r\n }),\r\n finalize(() => this.isLoadingSubject.next(false))\r\n );\r\n \r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'qeditbuttons',\r\n templateUrl: './q-edit-buttons.component.html',\r\n styleUrls: ['./q-edit-buttons.component.scss']\r\n})\r\nexport class qEditButtonsComponent implements OnInit {\r\n\r\n // Input\r\n @Input()\r\n alignButtons: string = 'right';\r\n\r\n // Output\r\n @Output()\r\n valueChanged: EventEmitter = new EventEmitter();\r\n\r\n // Utils\r\n isEditMode: boolean = false;\r\n\r\n constructor(\r\n private primengConfig: PrimeNGConfig,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.primengConfig.ripple = true;\r\n }\r\n\r\n onEdit() {\r\n this.isEditMode = true;\r\n this.onValueChanged('edit');\r\n }\r\n\r\n onCancel() {\r\n this.isEditMode = false;\r\n this.onValueChanged('cancel');\r\n }\r\n\r\n onSave() {\r\n this.isEditMode = false;\r\n this.onValueChanged('save');\r\n }\r\n\r\n onValueChanged(command: string) {\r\n this.valueChanged.emit(command);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, EventEmitter, Input, Output, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { AuthService } from 'src/app/modules/auth/_services/auth.service';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { Warenkorb } from '../../store/models/warenkorb';\r\nimport { Webshops } from '../../store/models/webshops';\r\nimport { WarenkorbsService } from '../../webshops/warenkorbs/shared/warenkorbs.service';\r\nimport { ArtikelsService } from '../shared/artikels.service';\r\nimport { ArtikelQuickView1Component } from '../artikel-quick-view1/artikel-quick-view1.component';\r\n\r\nclass SelectedArtikel {\r\n artikel: any;\r\n menge: number;\r\n isMatrixArtikel: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-artikelzubehoer',\r\n templateUrl: './artikelzubehoer.component.html',\r\n styleUrls: ['./artikelzubehoer.component.scss']\r\n})\r\nexport class ArtikelzubehoerComponent implements OnInit {\r\n\r\n @Input()\r\n artikelKennung: number;\r\n\r\n //@Input()\r\n //myArtikel: Artikel.IArtikelDto[];\r\n\r\n @Input() \r\n zubehoermulti: number;\r\n\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter(); //Eric\r\n\r\n // User\r\n loggedInUser: Webshops.ILoggedInUser;\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto;\r\n\r\n // Artikel\r\n artikel: Artikel.IArtikelDto[];\r\n\r\n responsiveOptions;\r\n\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isLoggedIn: boolean = false;\r\n isSubmitted: boolean = false;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private authService: AuthService,\r\n private warenkorbsService: WarenkorbsService,\r\n private artikelsService: ArtikelsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n /*\r\n console.log('Artikelobjekt in ngOnInit: '+this.artikel);\r\n console.log('myArtikel in ngOnInit: '+this.myArtikel);\r\n\r\n this.artikel = this.myArtikel;\r\n this.isLoading = false;\r\n $('.zub_artikelcard').scrollTop(0);\r\n */\r\n\r\n \r\n //ToDo: ArtikelObjekt aus Quickview enthält schon alle Daten\r\n //console.log('jetzt init mit kennung: '+this.artikelKennung);\r\n this.artikelsService.getListArtikelZubehoerForArtikel(this.artikelKennung, 1).subscribe(res => {\r\n if (res) {\r\n this.artikel = res;\r\n this.isLoading = false;\r\n $('.zub_artikelcard').scrollTop(0);\r\n } else {\r\n this.isLoading = false;\r\n }\r\n });\r\n \r\n\r\n this.authService.isAuthenticated$.subscribe(x => {\r\n this.isLoggedIn = x;\r\n });\r\n\r\n }\r\n \r\n\r\n onAddToWarenkorb(artikel, menge: number, isMatrixArtikel: boolean = false) {\r\n if (this.isLoggedIn) {\r\n this.isSubmitted = true;\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n \r\n newPosition.artikelKennung = artikel.id;\r\n newPosition.menge = menge;\r\n newPosition.isMatrixArtikel = isMatrixArtikel;\r\n \r\n this.warenkorbsService.addPosition(newPosition).subscribe(res => {\r\n if (res != null) \r\n {\r\n \r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n }\r\n });\r\n } else {\r\n const _title: string = \"Anmelden\";\r\n const _description: string = \"Sie sind noch nicht angemeldet. Jetzt anmelden?\";\r\n \r\n this.layoutUtilsService.qwertDialog(_title, _description, 'question', true, true, 'Anmelden').then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.authService.login();\r\n return;\r\n\r\n });\r\n }\r\n }\r\n\r\n onSelectMatrix(artikel, menge: number) {\r\n console.log(\"in Funktion onSelectMatrix\");\r\n\r\n artikel.menge = menge;\r\n\r\n // Dialog einblenden\r\n //onOpenArtikelQuickView(artikel: Artikel.IArtikelDto) {\r\n const dialogRef = this.dialog.open(ArtikelQuickView1Component, {\r\n width: this.dialogWidth,\r\n disableClose: true,\r\n autoFocus: true,\r\n data: {\r\n artikel: artikel,\r\n }\r\n });\r\n \r\n dialogRef.componentInstance.level = 2;\r\n \r\n dialogRef.afterClosed().subscribe((res: SelectedArtikel) => {\r\n // add to warenkorb if menge > 0\r\n if (res.menge > 0) {\r\n this.onAddToWarenkorb(res.artikel, res.menge, res.isMatrixArtikel)\r\n }\r\n });\r\n \r\n //}\r\n\r\n\r\n //this.onAddToWarenkorb(artikel, menge, true);\r\n }\r\n\r\n toggledisplayheight() {\r\n $('.zub_artikel_list').toggleClass('expanded'); \r\n }\r\n \r\n}","
\r\n
\r\n
Zubehör prüfen
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Zubehör
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{zub_artikel.name}}
\r\n
{{zub_artikel.name2}}
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
0\">\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
Art.Nr.: {{zub_artikel.nr}}
\r\n
Hersteller-Nr.: {{zub_artikel.herstellerNr}}
\r\n \r\n
\r\n
\r\n
\r\n
","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArtikelGruppenService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getList(\r\n pageNumber?: number,\r\n pageSize?: number,\r\n sortField: string = \"reihenfolge\",\r\n sortDirection: string = \"asc\"\r\n ) : Observable {\r\n\r\n let skipCount = pageNumber * pageSize;\r\n let sorting = sortField + ' ' + sortDirection;\r\n\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-gruppe?Sorting=' + sorting + '&SkipCount=' + skipCount + '&MaxResultCount=' + pageSize\r\n });\r\n }\r\n\r\n getListFilter(\r\n pageNumber?: number,\r\n pageSize?: number,\r\n sortField: string = \"reihenfolge\",\r\n sortDirection: string = \"asc\",\r\n filter: string = \"\",\r\n searchTerm: string = \"\",\r\n ) : Observable {\r\n\r\n let skipCount = pageNumber * pageSize;\r\n let sorting = sortField + ' ' + sortDirection;\r\n\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-gruppe/filter?Sorting=' + sorting + '&SkipCount=' + skipCount + '&MaxResultCount=' + pageSize + '&filter=' + filter + '&searchTerm=' + searchTerm\r\n });\r\n }\r\n\r\n getListReihenfolge(): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-gruppe/reihenfolge'\r\n });\r\n }\r\n\r\n getListReihenfolgeTree(all:boolean=false) : Observable{\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-gruppe/reihenfolge-tree?All=' + (all==true?\"true\":\"false\")\r\n });\r\n };\r\n\r\n getById(id: number): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-gruppe/' + id\r\n });\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ArtikelGruppeListComponent } from './artikelgruppen/artikel-gruppe-list/artikel-gruppe-list.component';\r\nimport { WebshopViewComponent } from './webshops/webshop-view/webshop-view.component';\r\nimport { WebshopHomeComponent } from './webshops/webshophome/webshophome.component';\r\nimport { CheckoutComponent } from './webshops/checkout/checkout.component';\r\n\r\nconst routes: Routes = [\r\n // {\r\n // path:'',\r\n // component: WebshopHomeComponent\r\n // },\r\n // {\r\n // path: 'articles',\r\n // component: WebshopViewComponent,\r\n // },\r\n // {\r\n // path: 'checkout',\r\n // component: CheckoutComponent,\r\n // },\r\n \r\n // {\r\n // path: 'artikelgruppen',\r\n\r\n // children: [\r\n // {\r\n // path: '',\r\n // component: ArtikelGruppeListComponent,\r\n // },\r\n // ],\r\n // },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class WebshopRoutingModule {}\r\n","import { ConfigStateService } from '@abp/ng.core';\r\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\nimport { NavService } from '../nav/shared/nav.service';\r\nimport { WebfrontService } from '../../artikels/shared/webfront.service';\r\nimport { Webfront } from '../../store/models/webfront';\r\nimport { GridsterConfig, GridsterItem } from 'angular-gridster2';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { WarenkorbsService } from '../warenkorbs/shared/warenkorbs.service';\r\nimport { CurrentUserComponent } from '@abp/ng.theme.basic';\r\n\r\n@Component({\r\n selector: 'app-webshop-checkout',\r\n templateUrl: './checkout.component.html',\r\n styleUrls: ['./checkout.component.scss']\r\n})\r\nexport class CheckoutComponent implements OnInit, AfterViewInit {\r\n\r\n \r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private navService: NavService,\r\n private oAuthService:OAuthService,\r\n private config: ConfigStateService,\r\n private warenkorbService:WarenkorbsService,\r\n private _formBuilder: FormBuilder\r\n ) {\r\n \r\n \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.isLoading=false;\r\n }\r\n\r\n //rechnungAdr;\r\n ngOnInit(): void {\r\n\r\n \r\n this.warenkorbService.getRechnungsadresse().subscribe(x=>\r\n {\r\n //this.rechnungAdr=x;\r\n var adr = (x.anrede != null ? x.anrede +\"
\" : '');\r\n \r\n adr += ((x.vorname != null ? x.vorname : '') + ' ' +(x.nachname != null ? x.nachname : '')).trim();\r\n \r\n adr += \"
\" + (x.firmenname != null ? x.firmenname : '');\r\n adr += \"
\" + (x.strasse != null ? x.strasse : '');\r\n adr += \"
\" + (x.plz != null ? x.plz : '') + ' ' + (x.ort != null ? x.ort : '');\r\n \r\n document.getElementById(\"checkout_adr\").innerHTML = adr;\r\n \r\n }); \r\n \r\n this.warenkorbService.getPaymentterm().subscribe(x=>\r\n {\r\n document.getElementById(\"checkout_paymentterm\").innerHTML = x[\"paymentterm\"]; \r\n }); \r\n \r\n\r\n this.firstFormGroup = this._formBuilder.group({\r\n addrType: ['auto', Validators.required],\r\n firstCtrl: ['']\r\n });\r\n //this.secondFormGroup = this._formBuilder.group({\r\n // secondCtrl: ['', Validators.required]\r\n //});\r\n\r\n }\r\n \r\n}","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n

Checkout

\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n Lieferadresse\r\n\r\n
\r\n\r\n\r\n \r\n Rechnungsadresse verwenden\r\n Alternative Lieferadresse:\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Name\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Zusammenfassung\r\n

You are now done.

\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\nimport { ArtikelGruppenService } from '../shared/artikelgruppen.service';\r\n\r\nclass FilterString {\r\n name: string;\r\n value: number;\r\n}\r\n\r\n@Component({\r\n selector: 'kkis-app-artikel-gruppe-list',\r\n templateUrl: './artikel-gruppe-list.component.html',\r\n styleUrls: ['./artikel-gruppe-list.component.scss']\r\n})\r\nexport class ArtikelGruppeListComponent implements OnInit {\r\n\r\n // ArtikelGruppe\r\n artikelGruppen: ArtikelGruppen.IArtikelGruppeDto[];\r\n reihenfolge: ArtikelGruppen.IReihenfolgeDto;\r\n\r\n // Paging\r\n page: number = 1;\r\n pageSize: number = 10;\r\n maxItems: number = 0;\r\n previousPage: any;\r\n\r\n // Dropdown-Einträge Paging\r\n options: string[];\r\n selectedOption: string = '10';\r\n\r\n // FormGroups\r\n filterGroup: FormGroup;\r\n searchGroup: FormGroup;\r\n searchTerm: string;\r\n\r\n // Subscription\r\n private subscriptions: Subscription[] = [];\r\n\r\n // Filter\r\n filterString: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isFiltered: boolean = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private artikelGruppenService: ArtikelGruppenService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loadSequenceData();\r\n this.filterForm();\r\n this.searchForm();\r\n this.loadPage(this.page);\r\n }\r\n\r\n loadPage(page: number) {\r\n if (page !== this.previousPage) {\r\n this.previousPage = page;\r\n this.loadData(page);\r\n }\r\n }\r\n\r\n // FILTERN\r\n filterForm() {\r\n this.filterGroup = this.fb.group({\r\n status: [''],\r\n sequence: [''],\r\n searchTerm: [''],\r\n });\r\n \r\n this.subscriptions.push(\r\n this.filterGroup.controls.status.valueChanges.subscribe(() => {\r\n this.filter();\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.filterGroup.controls.sequence.valueChanges.subscribe(res => {\r\n this.filter()\r\n })\r\n );\r\n }\r\n\r\n filter() {\r\n const filterList = [] as FilterString[];\r\n const status = this.filterGroup.get('status').value;\r\n const sequence = this.filterGroup.get('sequence').value;\r\n\r\n if (status) {\r\n let filter = {} as FilterString;\r\n filter.name = 'status';\r\n filter.value = status;\r\n\r\n filterList.push(filter);\r\n }\r\n\r\n if (sequence) {\r\n let filter = {} as FilterString;\r\n filter.name = 'sequence';\r\n filter.value = sequence;\r\n\r\n filterList.push(filter);\r\n }\r\n\r\n this.filterString = JSON.stringify(filterList);\r\n\r\n if (this.filterString) {\r\n this.isFiltered = true;\r\n }\r\n\r\n this.loadData(this.page);\r\n }\r\n\r\n // SUCHE\r\n searchForm() {\r\n this.searchGroup = this.fb.group({\r\n searchTerm: [''],\r\n });\r\n\r\n const searchEvent = this.searchGroup.controls.searchTerm.valueChanges\r\n .pipe(\r\n debounceTime(150),\r\n distinctUntilChanged()\r\n ).subscribe((val) => {\r\n this.searchTerm = val;\r\n this.loadData(this.page)\r\n });\r\n this.subscriptions.push(searchEvent);\r\n }\r\n\r\n loadData(page: number) {\r\n if (!this.isFiltered && this.searchTerm == \"\") {\r\n this.artikelGruppenService.getList(page - 1, this.pageSize).subscribe(res => {\r\n this.artikelGruppen = res.items;\r\n this.maxItems = res.totalCount;\r\n \r\n this.options = ['10', '25', '50', '100'];\r\n\r\n this.isLoading = false;\r\n });\r\n } else {\r\n this.artikelGruppenService.getListFilter(page - 1, this.pageSize, \"nummer\", \"asc\", this.filterString, this.searchTerm).subscribe(res => {\r\n this.artikelGruppen = res.items;\r\n this.maxItems = res.totalCount;\r\n\r\n this.options = ['10', '25', '50', '100'];\r\n\r\n this.isLoading = false;\r\n });\r\n }\r\n }\r\n\r\n loadSequenceData() {\r\n if (!this.reihenfolge) {\r\n this.artikelGruppenService.getListReihenfolge().subscribe(res => {\r\n this.reihenfolge = res;\r\n });\r\n }\r\n }\r\n\r\n pageSizeChanged(event) {\r\n this.pageSize = event.value;\r\n this.loadData(this.page);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filter nach Status\r\n
\r\n
\r\n \r\n Filter nach Reihenfolge\r\n
\r\n
\r\n
\r\n
\r\n \r\n Suche in allen Feldern\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n NUMMER\r\n \r\n NAME\r\n \r\n REIHENFOLGE WEB\r\n \r\n INTERNET\r\n \r\n ACTIONS\r\n
{{ artikelGruppe.nummer }}{{ artikelGruppe.name }}{{ artikelGruppe.reihenfolgeWeb }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{option}} Einträge/Seite\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Options, ChangeContext, PointerType } from '@angular-slider/ngx-slider';\r\nimport { Component, DoCheck, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { Artikel } from 'src/app/modules/webshop/store/models/artikel';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-filter-container1',\r\n templateUrl: './filter-container1.component.html',\r\n styleUrls: ['./filter-container1.component.scss']\r\n})\r\nexport class FilterContainer1Component implements OnInit, OnChanges {\r\n\r\n @Input()\r\n category: string;\r\n\r\n @Input()\r\n minPreis: number;\r\n\r\n @Input()\r\n maxPreis: number;\r\n\r\n @Input()\r\n groessen: Artikel.IArtikelListSettingGroessenDto[];\r\n\r\n @Input()\r\n farben: Artikel.IArtikelListSettingFarbenDto[];\r\n\r\n @Input()\r\n filterGroessen: string;\r\n\r\n @Input()\r\n filterFarben: string;\r\n\r\n @Input()\r\n filterMerkmale: string;\r\n\r\n @Input()\r\n merkmalGruppen: Artikel.IMerkmalGruppeDto[];\r\n\r\n @Input()\r\n nurAufLager: boolean = false;\r\n\r\n @Input()\r\n removeFilter: Artikel.IMerkmalDto;\r\n\r\n // Filter:Preis\r\n options: Options = {};\r\n\r\n // Filter:Größe + Farbe + Merkmale\r\n _filterGroessen: string[] = [];\r\n _filterFarben: string[] = [];\r\n _filterMerkmale: number[] = [];\r\n\r\n filterGroesse: string[] = [];\r\n filterFarbe: string[] = [];\r\n filterMerkmal: number[] = [];\r\n\r\n // Settings\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isCategoryFilter: boolean = false;\r\n isPreisFilter: boolean = false;\r\n isGroesseFilter: boolean = false;\r\n isFarbeFilter: boolean = false;\r\n isGroessenAvailable: boolean = false;\r\n isFarbenAvailable: boolean = false;\r\n isMerkmaleAvailable: boolean = false;\r\n isMerkmalGruppenAvailable: boolean = false;\r\n isMerkmalFilter: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n loadData() {\r\n this.options = {\r\n floor: this.minPreis,\r\n ceil: this.maxPreis,\r\n translate: (value: number): string => {\r\n return value + '€';\r\n }\r\n };\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.category != null && changes.category.currentValue != null && changes.category.currentValue != changes.category.previousValue) {\r\n this.category = changes.category.currentValue;\r\n\r\n this.isCategoryFilter = true;\r\n }\r\n\r\n if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n this.minPreis = changes.minPreis.currentValue;\r\n }\r\n\r\n if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n this.maxPreis = changes.maxPreis.currentValue;\r\n }\r\n\r\n if (changes.groessen != null && changes.groessen.currentValue != null && changes.groessen.previousValue != changes.groessen.currentValue) {\r\n this.groessen = changes.groessen.currentValue;\r\n\r\n if (this.groessen.length > 0) {\r\n this.isGroessenAvailable = true;\r\n } else {\r\n this.isGroessenAvailable = false;\r\n }\r\n }\r\n \r\n if (changes.farben != null && changes.farben.currentValue != null && changes.farben.previousValue != changes.farben.currentValue) {\r\n this.farben = changes.farben.currentValue;\r\n if (this.farben.length > 0) {\r\n this.isFarbenAvailable = true;\r\n } else {\r\n this.isFarbenAvailable = false;\r\n }\r\n }\r\n\r\n if (changes.filterGroessen != null && changes.filterGroessen.previousValue != changes.filterGroessen.currentValue) {\r\n this.filterGroessen = changes.filterGroessen.currentValue;\r\n \r\n if(this.filterGroessen)\r\n this._filterGroessen = JSON.parse(this.filterGroessen);\r\n else\r\n this._filterGroessen=[];\r\n }\r\n\r\n if (changes.filterFarben != null && changes.filterFarben.previousValue != changes.filterFarben.currentValue) {\r\n this.filterFarben = changes.filterFarben.currentValue;\r\n if(this.filterFarben)\r\n this._filterFarben = JSON.parse(this.filterFarben);\r\n else\r\n this._filterFarben=[];\r\n \r\n }\r\n\r\n if (changes.filterMerkmale != null && changes.filterMerkmale.previousValue != changes.filterMerkmale.currentValue) {\r\n this.filterMerkmale = changes.filterMerkmale.currentValue;\r\n\r\n if(this.filterMerkmale)\r\n this._filterMerkmale = JSON.parse(this.filterMerkmale);\r\n else\r\n this._filterMerkmale=[];\r\n }\r\n\r\n if (changes.merkmalGruppen != null && changes.merkmalGruppen.currentValue != null && changes.merkmalGruppen.previousValue != changes.merkmalGruppen.currentValue) {\r\n this.merkmalGruppen = changes.merkmalGruppen.currentValue;\r\n\r\n if (this.merkmalGruppen.length > 0) {\r\n this.isMerkmalGruppenAvailable = true;\r\n } else {\r\n this.isMerkmalGruppenAvailable = false;\r\n }\r\n }\r\n\r\n if (changes.removeFilter != null && changes.removeFilter.currentValue != null && changes.removeFilter.currentValue != changes.removeFilter.previousValue) {\r\n this.getMerkmal(true, changes.removeFilter.currentValue);\r\n }\r\n\r\n this.setGroesse();\r\n this.setFarbe();\r\n this.setMerkmal();\r\n\r\n this.loadData();\r\n }\r\n\r\n onValuePreisChanged(changeContext: ChangeContext) {\r\n\r\n this.minPreis = changeContext.value;\r\n this.maxPreis = changeContext.highValue;\r\n\r\n this.routerNav();\r\n\r\n this.isPreisFilter = true;\r\n }\r\n\r\n removePriceFilter() {\r\n this.minPreis = 0;\r\n this.maxPreis = 0;\r\n\r\n this.routerNav();\r\n\r\n this.isPreisFilter = false;\r\n }\r\n\r\n getGroesse(event, groesse) {\r\n if (event.checked) {\r\n // add it\r\n this._filterGroessen.push(groesse.groesse_Wert);\r\n } else {\r\n // remove it\r\n const index = this._filterGroessen.indexOf(groesse.groesse_Wert);\r\n if (index > -1) {\r\n this._filterGroessen.splice(index, 1);\r\n }\r\n }\r\n\r\n this.routerNav();\r\n }\r\n\r\n setGroesse() {\r\n if (this._filterGroessen && this._filterGroessen.length > 0) {\r\n let res: Artikel.IArtikelListSettingGroessenDto;\r\n this._filterGroessen.forEach(x => {\r\n if (this.groessen) {\r\n let idx = this.groessen.findIndex(y => y.groesse_Wert == x);\r\n\r\n if (idx > -1) {\r\n res = this.groessen[idx];\r\n res.selected = true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getFarbe(event, farbe) {\r\n if (event.checked) {\r\n // add it\r\n this._filterFarben.push(farbe.farbe_Wert);\r\n } else {\r\n // remove it\r\n const index = this._filterFarben.indexOf(farbe.farbe_Wert);\r\n if (index > -1) {\r\n this._filterFarben.splice(index, 1);\r\n }\r\n }\r\n\r\n this.routerNav();\r\n }\r\n\r\n setFarbe() {\r\n if (this._filterFarben && this._filterFarben.length > 0) {\r\n let res: Artikel.IArtikelListSettingFarbenDto;\r\n this._filterFarben.forEach(x => {\r\n if (this.farben) {\r\n let idx = this.farben.findIndex(y => y.farbe_Wert == x);\r\n\r\n if (idx > -1) {\r\n res = this.farben[idx];\r\n res.selected = true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getMerkmal(event, merkmal) {\r\n if (event.checked) {\r\n // add merkmal to list\r\n this._filterMerkmale.push(merkmal.id);\r\n } else {\r\n // remove merkmal from list\r\n const index = this._filterMerkmale.indexOf(merkmal.id);\r\n if (index > -1) {\r\n this._filterMerkmale.splice(index, 1);\r\n }\r\n }\r\n\r\n this.routerNav();\r\n }\r\n\r\n setMerkmal() {\r\n if (this._filterMerkmale && this._filterMerkmale.length > 0) {\r\n let res: Artikel.IMerkmalDto;\r\n\r\n this._filterMerkmale.forEach(x => {\r\n if (this.merkmalGruppen) {\r\n this.merkmalGruppen.forEach(z => {\r\n let idx = z.merkmale.findIndex(y => y.id == x);\r\n\r\n if (idx > -1) {\r\n res = z.merkmale[idx];\r\n \r\n if (res) {\r\n res.selected = true;\r\n z.isActive = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onIsNurAuflagerChanged(event) {\r\n this.nurAufLager = event.checked;\r\n\r\n this.routerNav();\r\n }\r\n\r\n private routerNav() {\r\n\r\n // console.log(\"cat => \", this.category);\r\n // console.log(\"minpreis => \", this.minPreis);\r\n // console.log(\"maxpreis => \", this.maxPreis);\r\n // console.log(\"filtergrösse => \", this._filterGroessen);\r\n // console.log(\"filterfarbe => \", this._filterFarben);\r\n // console.log(\"nurauflager => \", this.nurAufLager);\r\n console.log(\"routerNav.filterMerkmale => \", this._filterMerkmale);\r\n\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n category: this.category,\r\n minPreis: this.minPreis,\r\n maxPreis: this.maxPreis,\r\n groessen: this._filterGroessen.length > 0 ? JSON.stringify(this._filterGroessen) : null,\r\n farben: this._filterFarben.length > 0 ? JSON.stringify(this._filterFarben) : null,\r\n merkmale: this._filterMerkmale.length> 0 ? JSON.stringify(this._filterMerkmale) : null,\r\n nurAufLager: this.nurAufLager,\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
ALLGEMEIN
\r\n
\r\n
\r\n \r\n Nur Artikel auf Lager\r\n \r\n
\r\n\r\n 0 && maxPreis >= minPreis\" [expanded]=\"true\" class=\"mat-elevation-z0\">\r\n \r\n \r\n
PREIS
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n 0\" class=\"mat-elevation-z0\">\r\n \r\n \r\n
GRÖSSEN
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{groesse.groesse_Wert}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n 0\" class=\"mat-elevation-z0\">\r\n \r\n \r\n
FARBEN
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{farbe.farbe_Wert}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
{{merkmalGruppe.name | uppercase}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{merkmal.text}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
","import { ConfigStateService } from '@abp/ng.core';\r\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\nimport { NavService } from '../nav/shared/nav.service';\r\nimport { WebfrontService } from '../../artikels/shared/webfront.service';\r\nimport { Webfront } from '../../store/models/webfront';\r\nimport { GridsterConfig, GridsterItem } from 'angular-gridster2';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { WarenkorbsService } from '../warenkorbs/shared/warenkorbs.service';\r\nimport { CurrentUserComponent } from '@abp/ng.theme.basic';\r\n\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Inject } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-webshop-checkout',\r\n templateUrl: './checkout_new.component.html',\r\n styleUrls: ['./checkout_new.component.scss']\r\n})\r\nexport class CheckoutComponent_new implements OnInit, AfterViewInit {\r\n\r\n \r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n requesttype: number;\r\n\r\n firstFormGroup: FormGroup;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private navService: NavService,\r\n private oAuthService:OAuthService,\r\n private config: ConfigStateService,\r\n private warenkorbService:WarenkorbsService,\r\n private _formBuilder: FormBuilder,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n \r\n \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.isLoading=false;\r\n }\r\n\r\n //rechnungAdr;\r\n ngOnInit(): void {\r\n\r\n this.requesttype = this.data.requesttype;\r\n \r\n this.warenkorbService.getRechnungsadresse().subscribe(x=>\r\n {\r\n //this.rechnungAdr=x;\r\n var adr = (x.anrede != null ? x.anrede +\"
\" : '');\r\n \r\n adr += ((x.vorname != null ? x.vorname : '') + ' ' +(x.nachname != null ? x.nachname : '')).trim();\r\n \r\n adr += \"
\" + (x.firmenname != null ? x.firmenname : '');\r\n adr += \"
\" + (x.strasse != null ? x.strasse : '');\r\n adr += \"
\" + (x.plz != null ? x.plz : '') + ' ' + (x.ort != null ? x.ort : '');\r\n \r\n document.getElementById(\"checkout_adr\").innerHTML = adr;\r\n \r\n });\r\n \r\n this.warenkorbService.getPaymentterm().subscribe(x=>\r\n {\r\n document.getElementById(\"checkout_paymentterm\").innerHTML = x[\"paymentterm\"]; \r\n }); \r\n \r\n this.firstFormGroup = this._formBuilder.group({\r\n addrType: ['auto', Validators.required],\r\n firstCtrl: ['']\r\n });\r\n\r\n }\r\n \r\n}","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n

{{requesttype == 1 ? 'Angebotsanfrage' : 'Bestellung'}} prüfen und bestätigen

\r\n
\r\n\r\n
\r\n\r\n
\r\n
Lieferadresse
\r\n\r\n
\r\n \r\n Rechnungsadresse verwenden\r\n Alternative\r\n Lieferadresse:\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Name\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
Versandmethode
\r\n
Standard
\r\n\r\n
\r\n\r\n
Zahlungsbedingung
\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
","import { MatPaginatorIntl } from '@angular/material/paginator';\r\n\r\nconst germanRangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length == 0 || pageSize == 0) { return `0 von ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} von ${length}`;\r\n}\r\n\r\n\r\nexport function getGermanPaginatorIntl() {\r\n const paginatorIntl = new MatPaginatorIntl();\r\n \r\n paginatorIntl.itemsPerPageLabel = 'Einträge pro Seite:';\r\n paginatorIntl.nextPageLabel = 'Nächste Seite';\r\n paginatorIntl.previousPageLabel = 'Vorherige Seite';\r\n paginatorIntl.getRangeLabel = germanRangeLabel;\r\n \r\n return paginatorIntl;\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-warenkorb-list',\r\n templateUrl: './warenkorb-list.component.html',\r\n styleUrls: ['./warenkorb-list.component.scss']\r\n})\r\nexport class WarenkorbListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

warenkorb-list works!

\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-bottom-section1',\r\n templateUrl: './bottom-section1.component.html',\r\n styleUrls: ['./bottom-section1.component.scss']\r\n})\r\nexport class BottomSection1Component implements OnInit {\r\n\r\n currentYear: number = new Date().getFullYear(); // Dynamische Berechnung des aktuellen Jahres\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n © {{ currentYear }} CompData IT GmbH \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Warenkorb } from '../../../store/models/warenkorb';\r\n\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\nimport { AuthService } from 'src/app/modules/auth/_services/auth.service';\r\n\r\n\r\n\r\nimport { Webshops } from '../../../store/models/webshops';\r\nimport { Login1Component } from '../../logins/login1/login1.component';\r\nimport { NavService } from '../../nav/shared/nav.service';\r\nimport { WarenkorbsService } from '../../warenkorbs/shared/warenkorbs.service';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-top-section1',\r\n templateUrl: './top-section1.component.html',\r\n styleUrls: ['./top-section1.component.scss']\r\n})\r\nexport class TopSection1Component implements OnInit {\r\n\r\n // INPUT\r\n @Input()\r\n numberWarenkorbItems: number = 0;\r\n\r\n // User\r\n loggedInUser: Webshops.ILoggedInUser;\r\n loggedInUserName: string;\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto; \r\n\r\n // Settings\r\n useRememberMe: boolean = false;\r\n allowNewAccount: boolean = false;\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Search\r\n search: string = \"\";\r\n\r\n // Utils\r\n isLoading: boolean = false;\r\n isSubmitted: boolean = false;\r\n isLoggedIn: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private layoutUtilsService: LayoutUtilsService,\r\n public dialog: MatDialog,\r\n private navService: NavService,\r\n private authService:AuthService,\r\n private oAuthService:OAuthService,\r\n private warenkorbsService:WarenkorbsService\r\n ) {\r\n\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.authService.isAuthenticated$.subscribe(x => {\r\n this.isLoggedIn=x;\r\n });\r\n\r\n this.authService.currentUser$.subscribe(x => {\r\n this.loggedInUser = x;\r\n if(this.loggedInUser) {\r\n this.loggedInUserName = this.loggedInUser.benutzernameFull;\r\n\r\n this.warenkorbsService.getForCustomer().subscribe(res => {\r\n if (res) {\r\n this.warenkorb = res;\r\n this.numberWarenkorbItems = res.warenkorbPositionen.length;\r\n }\r\n });\r\n }\r\n }); \r\n\r\n // if(this.oAuthService.getAccessToken())\r\n // {\r\n // this.isLoggedIn=true;\r\n // }\r\n\r\n // Define basic values for Dialogs\r\n var w = 1;//this.layoutUtilsService.getBootstrapClass();\r\n\r\n switch(w) {\r\n case 0:\r\n this.dialogWidth = \"95%\";\r\n this.dialogHeight = \"95%\";\r\n break;\r\n case 1: {\r\n this.dialogWidth = \"95%\";\r\n this.dialogHeight = \"95%\";\r\n break;\r\n }\r\n case 2: {\r\n this.dialogWidth = \"60%\";\r\n this.dialogHeight = \"40%\";\r\n break;\r\n }\r\n case 3: {\r\n this.dialogWidth = \"30%\";\r\n this.dialogHeight = \"40%\";\r\n break;\r\n }\r\n default: {\r\n this.dialogWidth = \"30%\";\r\n this.dialogHeight = \"40%\";\r\n break;\r\n }\r\n }\r\n \r\n }\r\n\r\n onLogin() {\r\n this.isSubmitted = true;\r\n this.isLoading = true;\r\n\r\n //this.oAuthService.initCodeFlow();\r\n this.authService.login();\r\n return;\r\n\r\n // const dialogRef = this.dialog.open(Login1Component, {\r\n // width: this.dialogWidth,\r\n // autoFocus: true,\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe(res => {\r\n\r\n // if (res) {\r\n // this.loggedInUser = res;\r\n \r\n // if (this.loggedInUser.loggedIn) {\r\n // this.isLoggedIn = this.loggedInUser.loggedIn;\r\n\r\n // this.warenkorbsService.getForCustomer().subscribe(res => {\r\n // if (res) {\r\n // this.warenkorb = res;\r\n // this.numberWarenkorbItems = res.warenkorbPositionen.length;\r\n // }\r\n // });\r\n\r\n // if (this.loggedInUser.benutzernameVorname) {\r\n // this.loggedInUserName = \"Hallo, \" + this.loggedInUser.benutzernameVorname;\r\n // } else if (this.loggedInUser.firmenname) {\r\n // this.loggedInUserName = this.loggedInUser.firmenname;\r\n // }\r\n // } else {\r\n // this.loggedInUserName = \"Anmeldung NICHT erfolgreich.\"\r\n // }\r\n // }\r\n\r\n // this.isLoading = false;\r\n // });\r\n }\r\n\r\n onLogout() {\r\n\r\n// this.oAuthService.revokeTokenAndLogout();\r\n this.authService.logout();\r\n this.loggedInUser = null;\r\n this.isLoggedIn = false;\r\n this.loggedInUserName = null;\r\n }\r\n\r\n clickMenu() {\r\n this.navService.toggle();\r\n }\r\n\r\n onShowWarenkorb() {\r\n\r\n if (this.isLoggedIn) {\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n showWarenkorb: true,\r\n showAdvertise: false\r\n }\r\n });\r\n } else {\r\n const _title: string = \"Anmelden\";\r\n const _description: string = \"Sie sind noch nicht angemeldet. Jetzt anmelden?\";\r\n \r\n this.layoutUtilsService.qwertDialog(_title, _description, 'question', true, true, 'Anmelden').then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.authService.login();\r\n return;\r\n });\r\n }\r\n }\r\n\r\n onReload() {\r\n window.location.href = '/';\r\n }\r\n\r\n onSearch() {\r\n\r\n console.log('--> route to articles');\r\n if (this.search) {\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n search: this.search,\r\n }\r\n });\r\n } else {\r\n this.router.navigate(['/articles']);\r\n }\r\n }\r\n\r\n onShowAccount() {\r\n\r\n if (this.isLoggedIn) {\r\n this.router.navigate(['/account']); //zum Kundenkonto navigieren\r\n }\r\n \r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n powered by KKIS-B2B\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n {{ loggedInUserName }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { AccountService } from '../account/shared/account.service';\r\nimport { ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Webshops } from '../../store/models/webshops';\r\nimport { Warenkorb } from '../../store/models/warenkorb';\r\nimport { WarenkorbsService } from '../../webshops/warenkorbs/shared/warenkorbs.service';\r\nimport { LayoutUtilsService, MessageType } from 'src/app/core/layout-utils.service';\r\nimport { event } from 'jquery';\r\nimport { endWith } from 'rxjs/operators';\r\nimport { formatDate } from '@angular/common';\r\nimport { Kunde } from '../../store/models/kunde';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-account',\r\n templateUrl: './account.component.html',\r\n styleUrls: ['./account.component.scss'],\r\n encapsulation: ViewEncapsulation.None //https://stackoverflow.com/questions/46403698/css-values-not-applying-on-dynamically-injected-html-div-elements-in-angular-4\r\n})\r\nexport class WebshopAccountComponent implements OnInit {\r\n \r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter();\r\n\r\n receipts: Webshops.IReceiptDto[];\r\n \r\n //isLoading: boolean = true;\r\n \r\n // Search\r\n search: string = \"\";\r\n\r\n constructor(\r\n private router: Router,\r\n private accountsService: AccountService,\r\n private warenkorbsService: WarenkorbsService,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {\r\n\r\n }\r\n\r\n handleClick(event: MouseEvent): void {\r\n //console.log(event.target as HTMLElement);\r\n const elem = document.getElementById('kundenkonto_head');\r\n elem.classList.toggle('show');\r\n }\r\n \r\n ngOnInit(): void {\r\n\r\n //this.isLoading = true;\r\n\r\n console.log('ngOnInit');\r\n\r\n this.loadcustomerdata();\r\n\r\n this.loadreceipts(\"A\",false);\r\n this.loadreceipts(\"A\",true);\r\n\r\n this.loadreceipts(\"B\",false);\r\n this.loadreceipts(\"B\",true);\r\n\r\n this.loadreceipts(\"L\",false);\r\n this.loadreceipts(\"L\",true);\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n console.log('ngAfterViewInit');\r\n\r\n document.getElementById('div_account').addEventListener('click', (event) => {\r\n\r\n //document.addEventListener('click', (event) => {\r\n //alert(event.target) \r\n //console.log(event.target);\r\n\r\n var el = event.target;\r\n\r\n if ($(el).hasClass('col_expand')) {\r\n\r\n $(el).toggleClass('expanded');\r\n $(el).parents('.receipt').find('.cont_pos_header').toggleClass('hidden');\r\n $(el).parents('.receipt').find('.position').toggleClass('hidden');\r\n\r\n } else if ($(el).hasClass('head_expand')) {\r\n\r\n $(el).toggleClass('expanded');\r\n $(el).parents('.receipt_group').toggleClass('expanded');\r\n\r\n } else if ($(el).hasClass('col_rec_wk')) {\r\n //Alle Artikel des Beleges in den Warenkorb legen\r\n this.onAddReceiptToWarenkorb(event);\r\n\r\n //funktioniert\r\n /*\r\n var later_this = this;\r\n\r\n $(el).parents('.receipt').find('.position').each(function () {\r\n \r\n let anzahl = $(this).data('anzahl');\r\n let id;\r\n if ($(this).data('matrixid')) {\r\n id = $(this).data('matrixid');\r\n } else {\r\n id = $(this).data('id');\r\n }\r\n let ismatrixArtikel = ($(this).data('matrixid') ? true : false);\r\n\r\n later_this.onAddToWarenkorb(id, anzahl, ismatrixArtikel);\r\n\r\n })\r\n */\r\n\r\n } else if ($(el).hasClass('col_pos_wk')) {\r\n //Position in Warenkorb legen\r\n //Menge 1 oder Menge aus Position? abfragen\r\n \r\n let anzahl = $(el).parents('.position').data('anzahl');\r\n let id;\r\n if ($(el).parents('.position').data('matrixid')) {\r\n id = $(el).parents('.position').data('matrixid');\r\n } else {\r\n id = $(el).parents('.position').data('id');\r\n }\r\n let ismatrixArtikel = ($(el).parents('.position').data('matrixid') ? true : false);\r\n\r\n this.onAddToWarenkorb(id, anzahl, ismatrixArtikel);\r\n\r\n }\r\n });\r\n\r\n //this.isLoading = false;\r\n }\r\n\r\n loadreceipts(belegart:string, archive:boolean) {\r\n\r\n this.accountsService.getReceiptlistAsync(belegart, archive).subscribe(res => {\r\n \r\n //console.log(res);\r\n\r\n this.receipts = res; \r\n\r\n console.log(this.receipts);\r\n \r\n if (this.receipts.length > 0) {\r\n //einblenden!!!\r\n\r\n $('#div_'+belegart).show();\r\n\r\n var cont_receipt = \"\";\r\n \r\n //receipt col header\r\n var cont_receipt_header = \"
\";\r\n cont_receipt_header +=\"
\";\r\n cont_receipt_header +=\"
\";\r\n cont_receipt_header +=\"
Beleg-Nr.
\";\r\n cont_receipt_header +=\"
Datum
\";\r\n cont_receipt_header +=\"
Summe netto
\";\r\n cont_receipt_header +=\"
Summe brutto
\";\r\n cont_receipt_header +=\"
Kd.-Auftragsnr.
\";\r\n cont_receipt_header +=\"
Datum Auftrag
\";\r\n \r\n cont_receipt_header +=\"
\";\r\n\r\n\r\n for (var i = 0; i < this.receipts.length; i++) {\r\n //console.log('i: ' + i);\r\n\r\n cont_receipt += \"
\";\r\n\r\n cont_receipt += \"
\";\r\n\r\n cont_receipt += \"
\";\r\n cont_receipt += \"
\";\r\n cont_receipt += \"
\";\r\n cont_receipt += \"
\"+this.receipts[i].belegNr + '-' + this.receipts[i].belegNrZusatz+\"
\";\r\n \r\n let mydate = new Date(this.receipts[i].datum);\r\n cont_receipt += \"
\"+mydate.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' })+\"
\";\r\n\r\n cont_receipt += \"
\"+this.receipts[i].summe_netto.toFixed(2).replace('.', ',')+\"€
\";\r\n cont_receipt += \"
\"+this.receipts[i].summe_brutto.toFixed(2).replace('.', ',')+\"€
\"; \r\n\r\n cont_receipt +=\"
\"+(this.receipts[i].kd_auftrag_nr == null ? '' : this.receipts[i].kd_auftrag_nr)+\"
\";\r\n\r\n var datestr_auftrag = '';\r\n if (this.receipts[i].kd_auftrag_datum != null) {\r\n let mydate2 = new Date(this.receipts[i].kd_auftrag_datum);\r\n datestr_auftrag = mydate2.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' });\r\n } \r\n cont_receipt += \"
\"+datestr_auftrag+\"
\";\r\n\r\n cont_receipt += \"
\";\r\n\r\n cont_receipt += \"
\";\r\n cont_receipt += \"
\";\r\n\r\n if (this.receipts[i].positionen.length > 0) {\r\n\r\n console.log('poscount: '+this.receipts[i].positionen.length);\r\n\r\n var cont_pos = \"\";\r\n var cont_pos_header = \"\";\r\n\r\n var cont_search = \"\";\r\n var color_class = \"\";\r\n\r\n for (let i_pos = 0; i_pos < this.receipts[i].positionen.length; i_pos++) {\r\n //console.log(\"postyp: \"+this.receipts[i].positionen[i_pos].typ);\r\n var tp = (this.receipts[i].positionen[i_pos].typ == null || this.receipts[i].positionen[i_pos].typ == \"\" ? true : false);\r\n //console.log(\"tp: \"+tp);\r\n cont_pos += \"\";\r\n\r\n cont_search += (cont_search.length >= 0 ? \";\" : \"\");\r\n cont_search += this.receipts[i].positionen[i_pos].artNr + \";\" +this.receipts[i].positionen[i_pos].artL;\r\n\r\n }\r\n \r\n cont_receipt += cont_pos_header + cont_pos;\r\n cont_receipt = cont_receipt.replace(\"$xxx$\",cont_search);\r\n \r\n }\r\n\r\n cont_receipt += \"
\";\r\n\r\n }\r\n\r\n if (archive == true) {\r\n $('.receipt_' + belegart + '.archive').append(cont_receipt_header + cont_receipt);\r\n } else {\r\n $('.receipt_' + belegart + '.open').append(cont_receipt_header + cont_receipt);\r\n }\r\n \r\n }\r\n\r\n //$('#div_account').html(this.receipts[0].belegNr+','+this.receipts[1].belegNr);\r\n \r\n\r\n //console.log(this.receipts[0].belegNr);\r\n //console.log(this.receipts[1].belegNr);\r\n\r\n });\r\n\r\n }\r\n\r\n loadcustomerdata() {\r\n //Kundendaten zur Anzeige laden\r\n\r\n this.warenkorbsService.getRechnungsadresse().subscribe((k: Kunde.IKundeDto) => {\r\n\r\n //console.log(k);\r\n\r\n var kunde = (k.anrede != null ? k.anrede + \"
\" : '');\r\n\r\n kunde += ((k.vorname != null ? k.vorname : '') + ' ' + (k.nachname != null ? k.nachname : '')).trim();\r\n\r\n kunde += (k.firmenname != null ? \"
\" + k.firmenname : '');\r\n kunde += (k.strasse != null ? \"
\" + k.strasse : '');\r\n kunde += \"
\" + (k.plz != null ? k.plz : '') + ' ' + (k.ort != null ? k.ort : '');\r\n\r\n kunde += (k.email != null ? \"
email: \" + k.email : '');\r\n kunde += (k.email != null ? \"
telefon: \" + k.telefonFirma : '');\r\n\r\n document.getElementById(\"kundenkonto_customerdata\").innerHTML = kunde;\r\n document.getElementById(\"kundenkonto_custno\").innerHTML = k.kundennummer.toString();\r\n\r\n \r\n });\r\n\r\n }\r\n\r\n onAddToWarenkorb(kennung: number, menge: number, isMatrixArtikel: boolean = false) {\r\n\r\n const _addPosMessage = \"Der Artikel wurde zum Warenkorb hinzugefügt!\";\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n\r\n newPosition.artikelKennung = kennung;\r\n newPosition.menge = menge;\r\n newPosition.isMatrixArtikel = isMatrixArtikel;\r\n\r\n this.warenkorbsService.addPosition(newPosition).subscribe(res => {\r\n if (res != null) {\r\n console.log('anzahlpos: '+res.warenkorbPositionen.length);\r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n this.layoutUtilsService.showActionNotification(_addPosMessage, MessageType.Update);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n onAddReceiptToWarenkorb(event) {\r\n //ganzen Beleg hinzufügen\r\n const _addPosMessage = \"Der/die Artikel wurde(n) zum Warenkorb hinzugefügt!\";\r\n\r\n\r\n let newArtikels = {} as Warenkorb.IWarenkorbArtikelsDto;\r\n newArtikels.positionen = [];\r\n \r\n\r\n $(event.target).parents('.receipt').find('.position').each(function () {\r\n\r\n let kennung = $(this).attr('data-id');\r\n let menge = $(this).attr('data-anzahl');\r\n \r\n //let ismatrixArtikel = $(this).attr('data-matrixid');\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n\r\n newPosition.artikelKennung = parseInt(kennung);\r\n newPosition.menge = parseFloat(menge);\r\n //newPosition.isMatrixArtikel = isMatrixArtikel;\r\n\r\n newArtikels.positionen.push(newPosition);\r\n \r\n\r\n /*\r\n export interface IWarenkorbArtikelListDto {\r\n\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n\r\n newPosition.artikelKennung = kennung;\r\n newPosition.menge = menge;\r\n newPosition.isMatrixArtikel = isMatrixArtikel;\r\n\r\n this.warenkorbsService.addReceipt(newPosition).subscribe(res => {\r\n if (res != null) {\r\n console.log('anzahlpos: '+res.warenkorbPositionen.length);\r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n this.layoutUtilsService.showActionNotification(_addPosMessage, MessageType.Update);\r\n }\r\n*/\r\n });\r\n \r\n this.warenkorbsService.addPositions(newArtikels).subscribe(res => {\r\n if (res != null) {\r\n console.log('anzahlpos: '+res.warenkorbPositionen.length);\r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n this.layoutUtilsService.showActionNotification(_addPosMessage, MessageType.Update);\r\n }\r\n\r\n });\r\n\r\n console.log('newArtikels: '+newArtikels.positionen);\r\n \r\n }\r\n\r\n onSearch() {\r\n console.log('search: '+this.search);\r\n\r\n $('.receipt').show();\r\n\r\n //Filter function\r\n if (this.search != '') {\r\n\r\n let st = (this.search).trim().toUpperCase();\r\n\r\n $('.receipt').filter(function() {\r\n\r\n //\r\n return (!(($(this).attr('data-belegnr').toUpperCase().includes(st)) || ($(this).attr('data-search').toUpperCase().includes(st))));\r\n\r\n }).hide();\r\n\r\n //$(elem_filterparent).parents('.bottom_art_cont').find('.m_container').filter(function () {\r\n // return (!($(this).attr(\"data-artnr\").includes(st) || $(this).attr(\"data-x\").includes(st) || $(this).attr(\"data-y\").includes(st)));\r\n //}).hide();\r\n }\r\n\r\n }\r\n\r\n onKeyup(event) {\r\n console.log(event);\r\n\r\n if (event.keyCode != 13) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n getNumberWarenkorbItems(event)\r\n {\r\n this.numberWarenkorbItems.emit(event);\r\n }\r\n\r\n goBack() {\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n showWarenkorb: false,\r\n showAdvertise: false\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
Kundenkonto
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Suche\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Angebote
\r\n
Offen
\r\n
Archiv
\r\n
\r\n
\r\n
Aufträge
\r\n
Offen
\r\n
Archiv
\r\n
\r\n
\r\n
Lieferungen
\r\n
Offen
\r\n
Archiv
\r\n
\r\n\r\n
\r\n\r\n","import { Environment } from '@abp/ng.core';\r\n\r\nconst baseUrl = 'https://localhost:4200';\r\nconst adv_pagertime = 30000;\r\nconst shoptitle = 'KKIS-Webshop';\r\n\r\nexport const environment = {\r\n remoteEnv:{\r\n url:'config.json',\r\n mergeStrategy:\"deepmerge\",\r\n\r\n },\r\n production: false,\r\n application: {\r\n baseUrl,\r\n name: 'KKISServer',\r\n logoUrl: ''\r\n },\r\n oAuthConfig: {\r\n issuer: 'https://localhost:44380',\r\n redirectUri: window.location.origin+\"/article\",\r\n silentRefreshUri: window.location.origin + '/silent-refresh.html',\r\n useSilentRefresh:true,\r\n silentRefreshTimeout:5000,\r\n clearHashAfterLogin: true,\r\n nonceStateSeparator : 'semicolon',\r\n clientId: 'kkis.webshop',\r\n responseType: 'code',\r\n dummyClientSecret:\"secret\",\r\n scope: 'offline_access openid profile email phone WebshopAPI',\r\n requireHttps: true,\r\n showDebugInformation:true\r\n },\r\n apis: {\r\n default: {\r\n url: 'https://localhost:44380',\r\n rootNamespace: 'KKIS.KKISServer',\r\n },\r\n },\r\n setting: {\r\n adv_pagertime,\r\n shoptitle\r\n }\r\n} as Environment;\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ArtikelBild } from '../../store/models/artikelbild';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArtikelbilderService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getListArtikelBilder(artikelKennung: number) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-bild/artikel-bilder?artikelKennung=' + artikelKennung\r\n });\r\n }\r\n\r\n getListMatrixArtikelBilder(artikelKennung: number) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-bild/matrix-artikel-bilder?artikelKennung=' + artikelKennung\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavService {\r\n\r\n // public sideNavToggleSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n private sidenav: MatSidenav;\r\n\r\n constructor() { }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n\r\n // public toggle() {\r\n // return this.sideNavToggleSubject.next(null);\r\n // }\r\n}\r\n","import { Y } from '@angular/cdk/keycodes';\r\nimport { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'; //Eric ViewChild ergänzt\r\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { ArtikelBild } from '../../store/models/artikelbild';\r\nimport { Kurse } from '../../store/models/kurse';\r\nimport { ArtikelbilderService } from '../shared/artikelBilder.service';\r\nimport { ArtikelsService } from '../shared/artikels.service';\r\nimport $ from 'jquery'; //Eric\r\nimport { ArtikelzubehoerComponent } from '../artikelzubehoer/artikelzubehoer.component';\r\n\r\nimport { KurseComponent } from '../kurse/kurse.component';\r\n\r\nimport { ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kkis-app-artikel-quick-view1',\r\n templateUrl: './artikel-quick-view1.component.html',\r\n styleUrls: ['./artikel-quick-view1.component.scss'],\r\n encapsulation: ViewEncapsulation.None //https://stackoverflow.com/questions/46403698/css-values-not-applying-on-dynamically-injected-html-div-elements-in-angular-4\r\n})\r\n\r\nexport class ArtikelQuickView1Component implements OnInit {\r\n @ViewChild(KurseComponent) kurseComponent!: KurseComponent; //Eric\r\n\r\n // Menge\r\n menge: FormControl;\r\n\r\n neuemenge: number = 1;\r\n\r\n // Artikel\r\n artikel: any;\r\n selectedKurs: Kurse.ISelectedKursDto;\r\n artikeloptions: Artikel.IArtikelOptionsDto;\r\n \r\n // artikel: Artikel.IArtikelDto;\r\n\r\n selectedArtikel: any;\r\n\r\n bestand: number;\r\n preis: number;\r\n\r\n preis_netto: string;\r\n preis_brutto: string;\r\n\r\n artikelBilder: ArtikelBild.IArtikelBilderDto;\r\n matrixArtikelBilder: ArtikelBild.IArtikelBilderDto;\r\n\r\n // Matrix-Artikel\r\n groessen: Artikel.IArtikelListSettingGroessenDto[] = [];\r\n farben: Artikel.IArtikelListSettingFarbenDto[] = [];\r\n\r\n selXid: number;\r\n selYid: number;\r\n\r\n selectedGroesse: Artikel.IArtikelListSettingGroessenDto;\r\n selectedFarbe: Artikel.IArtikelListSettingFarbenDto;\r\n\r\n // Messages\r\n nichtAufLager: string;\r\n\r\n // Images (fraom Database)\r\n selectedImgFile: BlobPart[];\r\n // imgFiles: BlobPart[][] = [];\r\n imgFiles: any[] = [];\r\n\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // number available dropdownboxes to calculate the size of them (groessen, farben, bestand)\r\n dropdownboxesWidth = 100;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isLoadingMatrix: boolean = false;\r\n isValid: boolean = true;\r\n isMatrixArtikel: boolean = false;\r\n isKursArtikel: boolean = false;\r\n\r\n public level: number = 1; //wenn dialog in dialog aufgerufen wird\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private artikelsService: ArtikelsService,\r\n private artikelBilderService: ArtikelbilderService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.artikel = this.data.artikel;\r\n\r\n //Fallback, wenn Detailmaske aufgerufen wird ohne das \"Artikeloptions\" gefüllt sind\r\n if (this.data.artikeloptions != undefined) {\r\n this.artikeloptions = this.data.artikeloptions;\r\n } else { \r\n this.artikeloptions = { // Initialisiere das Objekt mit einem leeren Objekt\r\n display_artnr: true,\r\n display_herstellernr: true,\r\n display_mcode1: false,\r\n display_mcode2: false,\r\n lbl_mcode1: '',\r\n lbl_mcode2: '',\r\n };\r\n }\r\n \r\n\r\n console.log('this.data.artikel: '+this.data.artikel);\r\n console.log('this.artikel: '+this.artikel);\r\n console.log('this.artikeloptions: '+this.artikeloptions);\r\n console.log('level: ' + this.level);\r\n \r\n if (this.artikel.matrixArtikel_JN == 'J') {\r\n this.isMatrixArtikel = true;\r\n }\r\n\r\n if (this.artikel.kurs_JN == 'J') {\r\n this.isKursArtikel = true;\r\n }\r\n \r\n // calculate number of visible dropdownboxes\r\n var nDropdownboxes = 3;\r\n this.dropdownboxesWidth = 100/nDropdownboxes;\r\n\r\n\r\n if (this.isMatrixArtikel) {\r\n\r\n this.isLoadingMatrix = true;\r\n\r\n this.artikelsService.getListArtikelMatrixForArtikel(this.artikel.id).subscribe(res => {\r\n\r\n if (res) {\r\n this.artikel.artikelMatrixList = Object.assign([], res); //https://stackoverflow.com/questions/44808882/cloning-an-array-in-javascript-typescript\r\n\r\n if (this.artikel.artikelMatrixList && this.artikel.artikelMatrixList.length > 0) {\r\n\r\n this.artikel.artikelMatrixList.forEach(x => {\r\n \r\n let g = {} as Artikel.IArtikelListSettingGroessenDto;\r\n let f = {} as Artikel.IArtikelListSettingFarbenDto;\r\n \r\n if (!this.groessen.some(a => a.groesse_Id === x.x_Id)) {\r\n g.artikelId = x.id;\r\n g.groesse_Id = x.x_Id;\r\n g.groesse_Wert = x.x_Wert;\r\n \r\n this.groessen.push(g);\r\n }\r\n \r\n if (!this.farben.some(a => a.farbe_Id === x.y_Id)) {\r\n f.artikelId = x.id;\r\n f.farbe_Id = x.y_Id;\r\n f.farbe_Wert = x.y_Wert;\r\n \r\n this.farben.push(f);\r\n }\r\n });\r\n \r\n if (this.groessen.length === 1) {\r\n this.selectedGroesse = this.groessen[0];\r\n this.selXid = this.selectedGroesse.groesse_Id;\r\n } else if (this.groessen.length > 1 && !this.selectedGroesse) {\r\n this.isValid = false;\r\n }\r\n \r\n if (this.farben.length === 1) {\r\n this.selectedFarbe = this.farben[0];\r\n this.selYid = this.selectedFarbe.farbe_Id;\r\n } else if (this.farben.length > 1 && !this.selectedFarbe) {\r\n this.isValid = false;\r\n }\r\n\r\n if (this.farben.length > 0) {\r\n // nDropdownboxes += 1;\r\n // this.dropdownboxesWidth = 100/nDropdownboxes;\r\n } \r\n \r\n if (this.groessen.length > 0) {\r\n // nDropdownboxes += 1;\r\n // this.dropdownboxesWidth = 100/nDropdownboxes;\r\n }\r\n }\r\n\r\n this.isLoadingMatrix = false;\r\n } else {\r\n this.isLoadingMatrix = false;\r\n }\r\n });\r\n }\r\n\r\n //zubehör \r\n this.loadzubehoer();\r\n \r\n if (this.isKursArtikel) {\r\n //kurse\r\n this.loadkurse();\r\n }\r\n\r\n if (this.artikel.anzahlBilder > 1) {\r\n this.artikelBilderService.getListArtikelBilder(this.artikel.id).subscribe(res => {\r\n this.artikelBilder = res;\r\n });\r\n }\r\n\r\n this.bestand = this.artikel.bestand;\r\n\r\n this.preis = this.artikel.bruttoPreis_E1;\r\n\r\n this.selectedImgFile = this.artikel.bild;\r\n\r\n if (this.bestand < 1) {\r\n this.isValid = false;\r\n }\r\n \r\n if (this.bestand > 0) {\r\n // nDropdownboxes += 1;\r\n // this.dropdownboxesWidth = 100/nDropdownboxes;\r\n }\r\n\r\n this.nichtAufLager = \"NICHT AUF LAGER\";\r\n\r\n //this.menge = new FormControl(1, [Validators.required, Validators.min(0), Validators.max(this.bestand)])\r\n this.menge = new FormControl((this.artikel.menge > 0 ? this.artikel.menge : 1), [Validators.required, Validators.min(0), Validators.max(this.bestand)])\r\n\r\n console.log('Set loading to false');\r\n this.isLoading = false;\r\n\r\n this.preis_netto = (this.artikel.preisNetto).toFixed(2);\r\n this.preis_brutto = (this.artikel.preisBrutto).toFixed(2);\r\n\r\n }\r\n \r\n onGroesseChanged(event) {\r\n if (event.value.groesse_Id != null && event.value.groesse_Id > 0) {\r\n this.selXid = event.value.groesse_Id;\r\n this.getMatrixArtikel();\r\n }\r\n }\r\n\r\n onFarbeChanged(event) {\r\n if (event.value.farbe_Id != null && event.value.farbe_Id > 0) {\r\n this.selYid = event.value.farbe_Id;\r\n this.getMatrixArtikel();\r\n }\r\n }\r\n\r\n\r\n getMatrixArtikel() {\r\n if (this.selXid > 0 && this.selYid > 0) {\r\n if (this.artikel.artikelMatrixList != null) {\r\n var matrixArtikel = this.artikel.artikelMatrixList.filter(x => x.x_Id === this.selXid && x.y_Id === this.selYid);\r\n this.selectedArtikel = matrixArtikel[0];\r\n\r\n this.bestand = this.selectedArtikel.bestand;\r\n\r\n this.artikelBilderService.getListMatrixArtikelBilder(matrixArtikel[0].id).subscribe(res => {\r\n this.selectedImgFile = res[0].bild;\r\n this.artikelBilder = res;\r\n });\r\n }\r\n\r\n this.isValid = true;\r\n\r\n } else if (this.selYid > 0 && (this.selXid === 0 || this.selXid == undefined || this.selXid == null)) {\r\n if (this.artikel.artikelMatrixList != null) {\r\n var matrixArtikel = this.artikel.artikelMatrixList.filter(x => x.y_Id === this.selYid);\r\n this.selectedArtikel = matrixArtikel[0];\r\n this.artikelBilderService.getListMatrixArtikelBilder(matrixArtikel[0].id).subscribe(res => {\r\n this.selectedImgFile = res[0].bild;\r\n this.artikelBilder = res;\r\n });\r\n }\r\n }\r\n }\r\n\r\n onChangeMenge(event) {\r\n /*\r\n if (event.target.value <= 0 || event.target.value > this.bestand) {\r\n this.isValid = false;\r\n } else {\r\n this.isValid = true;\r\n }\r\n */\r\n\r\n //gibt es staffelpreise?\r\n this.getvaluefromstaffel(event.target.value);\r\n\r\n //evtl. Mengen des Zubehör erhöhen\r\n this.updatezubehoermenge(event.target.value);\r\n }\r\n\r\n updatezubehoermenge(menge) {\r\n this.neuemenge = menge;\r\n }\r\n\r\n getErrorMessageRequired(prop: string) {\r\n return prop + ' ist erforderlich.'\r\n }\r\n\r\n getErrorMessageMenge() {\r\n if (this.menge.hasError('required')) {\r\n return 'Menge ist erforderlich.'\r\n }\r\n\r\n if (this.menge.hasError('min')) {\r\n return 'Der Wert muss > 0 sein.'\r\n }\r\n\r\n if (this.menge.hasError('max')) {\r\n return 'Der Wert muss < ' + (this.bestand + 1) + ' sein.'\r\n }\r\n }\r\n\r\n onAddToWarenkorb() {\r\n\r\n if (this.isKursArtikel == true) {\r\n this.selectedKurs = this.kurseComponent.getSelectedKurs();\r\n console.log('selectedKurs: '+this.selectedKurs);\r\n }\r\n\r\n this.dialogRef.close({\r\n artikel: this.selectedArtikel == null ? this.artikel : this.selectedArtikel,\r\n menge: this.menge.value,\r\n farbe: this.selectedFarbe,\r\n groesse: this.selectedGroesse,\r\n isMatrixArtikel: this.isMatrixArtikel,\r\n selectedKurs: this.selectedKurs\r\n });\r\n\r\n }\r\n\r\n getSelectedImage(artikelBild: ArtikelBild.IArtikelBildDto) {\r\n this.selectedImgFile = artikelBild.bild;\r\n }\r\n\r\n onShowStaffel() {\r\n console.log(this.artikel.staffelpreise);\r\n $('#view_staffelpreise').toggleClass('visible');\r\n \r\n //Bereich mit Staffelpreisen aus this.Artikel.Staffelpreise... füllen\r\n if ($('#view_staffelpreise').hasClass('visible')) {\r\n \r\n //$('#view_staffelpreise').html(this.artikel.staffelpreise);\r\n var json_staffelpreise = JSON.parse(this.artikel.staffelpreise);\r\n\r\n console.log(json_staffelpreise);\r\n\r\n if (json_staffelpreise.length > 0) {\r\n var res_html = '
';\r\n\r\n res_html += \"
\";\r\n res_html += \"
Menge
\";\r\n res_html += \"
Preis netto
\";\r\n res_html += \"
Preis brutto
\";\r\n res_html += \"
\";\r\n\r\n for (let i = 0; i < json_staffelpreise.length; i++) {\r\n\r\n res_html += \"
\";\r\n res_html += \"
\" + json_staffelpreise[i].Von + \"-\" + json_staffelpreise[i].Bis + \"
\";\r\n res_html += \"
\" + parseFloat(json_staffelpreise[i].Netto).toFixed(2) + \" €
\";\r\n res_html += \"
\" + parseFloat(json_staffelpreise[i].Brutto).toFixed(2) + \" €
\";\r\n res_html += \"
\";\r\n\r\n }\r\n\r\n res_html += '
';\r\n\r\n //console.log(res_html);\r\n\r\n }\r\n\r\n $('#view_staffelpreise').html(res_html);\r\n\r\n }\r\n }\r\n\r\n getvaluefromstaffel(menge) {\r\n //wenn staffelpreis vorhanden --> werte rausziehen und in Maske schreiben\r\n if (this.artikel.staffelpreise != null ){\r\n\r\n var json_staffelpreise = JSON.parse(this.artikel.staffelpreise);\r\n\r\n if (json_staffelpreise.length > 0) {\r\n\r\n for (let i = 0; i < json_staffelpreise.length; i++) {\r\n \r\n if (menge >= json_staffelpreise[i].Von && menge <= json_staffelpreise[i].Bis)\r\n {\r\n this.artikel.anzeigeNetto = json_staffelpreise[i].Netto;\r\n this.artikel.anzeigeBrutto = json_staffelpreise[i].Brutto;\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n loadzubehoer(anzahl?:number) {\r\n\r\n if (typeof anzahl == 'undefined') {\r\n anzahl = 1;\r\n }\r\n\r\n if (this.level == 1) {\r\n this.artikelsService.getListArtikelZubehoerForArtikel(this.artikel.id, anzahl).subscribe(res => {\r\n this.artikel.artikelZubehörList = res;\r\n\r\n //gibt es Zubehör?\r\n if (res.length > 0) {\r\n $('#container_zubehoer').show();\r\n } else {\r\n $('#container_zubehoer').hide();\r\n }\r\n \r\n $('.zub_item').on(\"click\", function () {\r\n alert('clicked'+ $(this).attr('data-id'));\r\n //zum Warenkorb hinzufügen\r\n\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n loadkurse() {\r\n \r\n console.log('kennung: '+this.artikel.id)\r\n\r\n if (this.level == 1) {\r\n this.artikelsService.getKurse(this.artikel.id).subscribe(res => {\r\n\r\n console.log(res);\r\n\r\n this.artikel.kurse = res;\r\n\r\n //gibt es Kurse?\r\n if (res.length > 0) {\r\n $('#container_kurse').show();\r\n } else {\r\n $('#container_kurse').hide();\r\n }\r\n \r\n });\r\n }\r\n\r\n }\r\n\r\n}","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
{{artikel.name}}
\r\n
{{artikel.name2}}
\r\n \r\n\r\n
\r\n
Preis auf Anfrage!\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
1\" [innerHTML]=\"selectedArtikel == null ? '(' + preis_netto + ' €/'+ artikel.perEinheit + ' '+ artikel.einheit + ')' : '(' + selectedArtikel.preisNetto + '/'+ selectedArtikel.perEinheit + ' '+ selectedArtikel.einheit + ')'\">
\r\n
\r\n Staffelpreis\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
1\" [innerHTML]=\"selectedArtikel == null ? '(' + preis_brutto + ' €/'+ artikel.perEinheit + ' '+ artikel.einheit + ')' : '(' + selectedArtikel.preisBrutto + '/'+ selectedArtikel.perEinheit + ' '+ selectedArtikel.einheit + ')'\">\r\n
\r\n
\r\n\r\n
0 && artikel.preisNetto > 0\">\r\n (inkl. {{artikel.rabatt}}% Rabatt)\r\n
\r\n\r\n
\r\n Art. Nr. {{selectedArtikel == null ? artikel.nr : selectedArtikel.nr}}\r\n
\r\n
\r\n Kunden Art. Nr. {{selectedArtikel == null ? artikel.artNrKunde : selectedArtikel.artNrKunde}}\r\n
\r\n
\r\n Hersteller Nr. {{selectedArtikel == null ? artikel.herstellerNr : selectedArtikel.herstellerNr}}\r\n
\r\n
\r\n {{artikeloptions.lbl_mcode1}}: {{selectedArtikel == null ? artikel.mCode1 : selectedArtikel.mCode1}}\r\n
\r\n
\r\n {{artikeloptions.lbl_mcode2}}: {{selectedArtikel == null ? artikel.mCode2 : selectedArtikel.mCode2}}\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n {{selectedArtikel == null ? artikel.text : selectedArtikel.text}}\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
0 && !isLoadingMatrix\">\r\n \r\n Grösse\r\n \r\n \r\n {{g.groesse_Wert}}\r\n \r\n \r\n {{getErrorMessageRequired(\"Grösse\")}}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
0 && !isLoadingMatrix\">\r\n \r\n Farbe\r\n \r\n \r\n {{f.farbe_Wert}}\r\n \r\n \r\n {{getErrorMessageRequired(\"Farbe\")}}\r\n \r\n
\r\n\r\n
\r\n \r\n Menge\r\n \r\n {{bestand}} Artikel auf Lager\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {{nichtAufLager}}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Artikel } from '../../../store/models/artikel';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-filter-chips',\r\n templateUrl: './filter-chips.component.html',\r\n styleUrls: ['./filter-chips.component.scss']\r\n})\r\nexport class FilterChipsComponent implements OnInit, OnChanges {\r\n\r\n // Input\r\n @Input()\r\n filterMerkmale: string;\r\n\r\n @Input()\r\n merkmalGruppen: Artikel.IMerkmalGruppeDto[];\r\n\r\n @Output()\r\n filterRemoved: EventEmitter = new EventEmitter();\r\n\r\n // Filter:Größe + Farbe + Merkmale\r\n _filterGroessen: string[] = [];\r\n _filterFarben: string[] = [];\r\n _filterMerkmale: number[] = [];\r\n\r\n filterGroesse: string[] = [];\r\n filterFarbe: string[] = [];\r\n filterMerkmal: number[] = [];\r\n\r\n selectedFilters: Artikel.IMerkmalDto[];\r\n \r\n // Utils\r\n isLoading: boolean = false;\r\n isMerkmalGruppenAvailable: boolean = false;\r\n visible: boolean = true;\r\n selectable: boolean = true;\r\n removable: boolean = true;\r\n addOnBlur = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n // if (changes.category != null && changes.category.currentValue != null && changes.category.currentValue != changes.category.previousValue) {\r\n // this.category = changes.category.currentValue;\r\n\r\n // this.isCategoryFilter = true;\r\n // }\r\n\r\n // if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n // this.minPreis = changes.minPreis.currentValue;\r\n // }\r\n\r\n // if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n // this.maxPreis = changes.maxPreis.currentValue;\r\n // }\r\n\r\n // if (changes.groessen != null && changes.groessen.currentValue != null && changes.groessen.previousValue != changes.groessen.currentValue) {\r\n // this.groessen = changes.groessen.currentValue;\r\n\r\n // if (this.groessen.length > 0) {\r\n // this.isGroessenAvailable = true;\r\n // } else {\r\n // this.isGroessenAvailable = false;\r\n // }\r\n // }\r\n \r\n // if (changes.farben != null && changes.farben.currentValue != null && changes.farben.previousValue != changes.farben.currentValue) {\r\n // this.farben = changes.farben.currentValue;\r\n // if (this.farben.length > 0) {\r\n // this.isFarbenAvailable = true;\r\n // } else {\r\n // this.isFarbenAvailable = false;\r\n // }\r\n // }\r\n\r\n // if (changes.filterGroessen != null && changes.filterGroessen.previousValue != changes.filterGroessen.currentValue) {\r\n // this.filterGroessen = changes.filterGroessen.currentValue;\r\n \r\n // if(this.filterGroessen)\r\n // this._filterGroessen = JSON.parse(this.filterGroessen);\r\n // else\r\n // this._filterGroessen=[];\r\n // }\r\n\r\n // if (changes.filterFarben != null && changes.filterFarben.previousValue != changes.filterFarben.currentValue) {\r\n // this.filterFarben = changes.filterFarben.currentValue;\r\n // if(this.filterFarben)\r\n // this._filterFarben = JSON.parse(this.filterFarben);\r\n // else\r\n // this._filterFarben=[];\r\n \r\n // }\r\n\r\n if (changes.filterMerkmale != null && changes.filterMerkmale.previousValue != changes.filterMerkmale.currentValue) {\r\n this.filterMerkmale = changes.filterMerkmale.currentValue;\r\n if(this.filterMerkmale)\r\n this._filterMerkmale = JSON.parse(this.filterMerkmale);\r\n else\r\n this._filterMerkmale=[];\r\n }\r\n\r\n if (changes.merkmalGruppen != null && changes.merkmalGruppen.currentValue != null && changes.merkmalGruppen.previousValue != changes.merkmalGruppen.currentValue) {\r\n this.merkmalGruppen = changes.merkmalGruppen.currentValue;\r\n\r\n if (this.merkmalGruppen.length > 0) {\r\n this.isMerkmalGruppenAvailable = true;\r\n } else {\r\n this.isMerkmalGruppenAvailable = false;\r\n }\r\n }\r\n\r\n // this.setGroesse();\r\n // this.setFarbe();\r\n this.setMerkmal();\r\n\r\n // this.loadData();\r\n }\r\n\r\n\r\n\r\n setMerkmal() {\r\n this.selectedFilters = [];\r\n\r\n if (this._filterMerkmale && this._filterMerkmale.length > 0) {\r\n let res: Artikel.IMerkmalDto;\r\n\r\n this._filterMerkmale.forEach(x => {\r\n if (this.merkmalGruppen) {\r\n this.merkmalGruppen.forEach(z => {\r\n let idx = z.merkmale.findIndex(y => y.id === x);\r\n\r\n if (idx > -1) {\r\n res = z.merkmale[idx];\r\n\r\n this.selectedFilters.push(res);\r\n\r\n if (res) {\r\n res.selected = true;\r\n z.isActive = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n remove(merkmal: Artikel.IMerkmalDto): void {\r\n\r\n console.log(\"merkmal => \", merkmal);\r\n\r\n const idx = this.selectedFilters.indexOf(merkmal);\r\n\r\n if (idx >= 0) {\r\n this.selectedFilters.splice(idx, 1);\r\n this.filterRemoved.emit(merkmal);\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
0\">\r\n \r\n Filter\r\n \r\n \r\n {{selectedFilter.text}}\r\n cancel\r\n \r\n \r\n \r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { LayoutUtilsService, MessageType } from 'src/app/core/layout-utils.service';\r\nimport { Warenkorb } from '../../../store/models/warenkorb';\r\nimport { WarenkorbsService } from '../shared/warenkorbs.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CheckoutComponent } from '../../checkout/checkout.component';\r\nimport { ViewEncapsulation } from '@angular/core';\r\nimport { CheckoutComponent_new } from '../../checkout_new/checkout_new.component';\r\n\r\n@Component({\r\n selector: 'kkis-app-warenkorb-edit',\r\n templateUrl: './warenkorb-edit.component.html',\r\n styleUrls: ['./warenkorb-edit.component.scss'],\r\n encapsulation: ViewEncapsulation.None //https://stackoverflow.com/questions/46403698/css-values-not-applying-on-dynamically-injected-html-div-elements-in-angular-4\r\n})\r\nexport class WarenkorbEditComponent implements OnInit {\r\n\r\n // OUTPUT\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter();\r\n\r\n menge: FormControl;\r\n orgMenge: number[] = [];\r\n\r\n notiz: FormControl;\r\n orgNotiz: string[] = [];\r\n\r\n WKNotiz: FormControl;\r\n orgWKNotiz: string = \"\";\r\n\r\n WKKDAuftragNr: FormControl;\r\n orgKDAuftragNr: string = \"\";\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto;\r\n\r\n gesamtBrutto: number;\r\n gesamtNetto: number;\r\n gesamtRabattBetrag: number;\r\n gesamtSteuerBetrag: number;\r\n\r\n infoMessage: string;\r\n warenkorbPositionen: Warenkorb.IWarenkorbPositionDto[];\r\n nWkPos: number;\r\n\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Utils\r\n isLoading: boolean = false;\r\n isUpdate: boolean[] = [];\r\n isUpdateNotiz: boolean[] = [];\r\n isUpdateReceiptNotiz: boolean = false;\r\n isUpdateKDAuftragNr: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private warenkorbsService: WarenkorbsService,\r\n private dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.menge = new FormControl(1, [Validators.required, Validators.min(0)])\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.isLoading = true;\r\n\r\n this.warenkorbsService.getForCustomer().subscribe(res => {\r\n console.log('Warenkorb:');\r\n console.log(res);\r\n this.warenkorb = res;\r\n this.setData();\r\n });\r\n }\r\n\r\n setData() {\r\n if (this.warenkorb) {\r\n this.gesamtBrutto = this.warenkorb.gesamtBrutto;\r\n this.gesamtNetto = this.warenkorb.gesamtNetto;\r\n this.gesamtRabattBetrag = this.warenkorb.gesamtRabattBetrag;\r\n this.gesamtSteuerBetrag = this.warenkorb.gesamtSteuerBetrag;\r\n\r\n this.orgWKNotiz = this.warenkorb.notiz;\r\n this.orgKDAuftragNr = this.warenkorb.kdAuftragNr;\r\n\r\n if (this.warenkorb.warenkorbPositionen.length == 0) {\r\n this.infoMessage = \"Ihr Einkaufswagen ist leer.\"\r\n\r\n this.warenkorbPositionen = [];\r\n this.nWkPos = 0;\r\n } else {\r\n this.warenkorbPositionen = this.warenkorb.warenkorbPositionen;\r\n\r\n console.log(\"wkPos => \", this.warenkorbPositionen);\r\n\r\n let i = 0;\r\n\r\n this.warenkorbPositionen.forEach(x => {\r\n this.orgMenge[i] = x.menge;\r\n this.orgNotiz[i] = x.notiz;\r\n\r\n i += 1;\r\n });\r\n\r\n this.nWkPos = this.warenkorbPositionen.length;\r\n }\r\n\r\n this.numberWarenkorbItems.emit(this.nWkPos);\r\n\r\n this.isLoading = false;\r\n } else {\r\n this.warenkorbPositionen = [];\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n onChangeMenge(event, i?: number) {\r\n var x = this.warenkorbPositionen[i].menge;\r\n this.isUpdate[i] = true;\r\n }\r\n\r\n onChangeNotiz(event, i?: number) {\r\n console.log('in change Notiz');\r\n var x = this.warenkorbPositionen[i].notiz;\r\n this.isUpdateNotiz[i] = true;\r\n }\r\n\r\n onChangeReceiptNotiz(event) {\r\n console.log('in change Receipt Notiz');\r\n var x = this.warenkorb.notiz;\r\n this.isUpdateReceiptNotiz = true;\r\n }\r\n\r\n onChangeKDAuftragNr(event) {\r\n console.log('in change KDAuftragNr');\r\n var x = this.warenkorb.kdAuftragNr;\r\n this.isUpdateKDAuftragNr = true;\r\n }\r\n\r\n getErrorMessageMenge() {\r\n if (this.menge.hasError('required')) {\r\n return 'Menge ist erforderlich.'\r\n }\r\n\r\n if (this.menge.hasError('min')) {\r\n return 'Der Wert muss > sein.'\r\n }\r\n\r\n if (this.menge.hasError('max')) {\r\n // return 'Der Wert muss < ' + (this.bestand + 1) + ' sein.'\r\n }\r\n }\r\n\r\n onUpdate(warenkorbPosition: Warenkorb.IWarenkorbPositionDto, i?: number) {\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n\r\n newPosition.artikelKennung = warenkorbPosition.artikelKennung;\r\n newPosition.menge = warenkorbPosition.menge - this.orgMenge[i];\r\n newPosition.isMatrixArtikel = (warenkorbPosition.matrixIntern != null && warenkorbPosition.matrixIntern != 0);\r\n newPosition.notiz = warenkorbPosition.notiz;\r\n\r\n this.warenkorbsService.addPosition(newPosition).subscribe(res => {\r\n this.getData();\r\n });\r\n\r\n this.isUpdate[i] = false;\r\n this.isUpdateNotiz[i] = false;\r\n }\r\n\r\n onUpdateWK(warenkorb: Warenkorb.IUpdateWarenkorbDto) {\r\n\r\n this.warenkorbsService.updateWarenkorb(warenkorb.id, warenkorb).subscribe(res => {\r\n this.getData();\r\n });\r\n\r\n this.isUpdateReceiptNotiz = false;\r\n this.isUpdateKDAuftragNr = false;\r\n }\r\n \r\n onCancelUpdate(i) {\r\n this.warenkorbPositionen[i].menge = this.orgMenge[i];\r\n this.warenkorbPositionen[i].notiz = this.orgNotiz[i];\r\n this.isUpdate[i] = false;\r\n this.isUpdateNotiz[i] = false;\r\n }\r\n\r\n onCancelUpdateWK() {\r\n this.warenkorb.notiz = this.orgWKNotiz;\r\n\r\n this.isUpdateReceiptNotiz = false;\r\n }\r\n\r\n onCancelUpdateKDAuftragNr() {\r\n this.warenkorb.kdAuftragNr = this.orgKDAuftragNr;\r\n\r\n this.isUpdateKDAuftragNr = false;\r\n }\r\n\r\n onDelete(warenkorbPosition: Warenkorb.IWarenkorbPositionDto) {\r\n const _title: string = \"Warenkorb-Position entfernen\";\r\n const _description: string = \"Soll die aktuelle Warenkorb-Position wirklich entfernt werden?\";\r\n const _waitDesciption: string = \"Einen Augenblick Geduld bitte...\";\r\n const _deleteMessage = \"Die Warenkorb-Position wurde entfernt.\";\r\n\r\n this.layoutUtilsService.deleteElement(_title, _description, _waitDesciption).then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.warenkorbsService.deletePosition(warenkorbPosition.id).subscribe(res => {\r\n this.warenkorb = res;\r\n this.setData();\r\n\r\n this.layoutUtilsService.showActionNotification(_deleteMessage, MessageType.Delete);\r\n });\r\n });\r\n }\r\n\r\n onDeleteWarenkorb(warenkorb: Warenkorb.IWarenkorbDto) {\r\n const _title: string = \"Warenkorb entfernen\";\r\n const _description: string = \"Soll der Warenkorb wirklich entfernt werden?\";\r\n const _waitDesciption: string = \"Einen Augenblick Geduld bitte...\";\r\n const _deleteMessage = \"Der Warenkorb wurde entfernt.\";\r\n\r\n this.layoutUtilsService.deleteElement(_title, _description, _waitDesciption).then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.warenkorbsService.deleteWarenkorb(warenkorb.id).subscribe(res => {\r\n\r\n if (res == true) {\r\n\r\n this.goBack();\r\n this.numberWarenkorbItems.emit(0);\r\n }\r\n\r\n this.layoutUtilsService.showActionNotification(_deleteMessage, MessageType.Delete);\r\n });\r\n });\r\n }\r\n\r\n goBack() {\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n showWarenkorb: false,\r\n showAdvertise: false\r\n }\r\n });\r\n }\r\n\r\n checkout(inputrequesttype:number) {\r\n\r\n //vorher alle Änderungen in der Maske speichern\r\n this.warenkorbsService.updateWarenkorb(this.warenkorb.id, this.warenkorb).subscribe(res => {\r\n\r\n //const dialogRef = this.dialog.open(CheckoutComponent, { //alter Dialog\r\n const dialogRef = this.dialog.open(CheckoutComponent_new, {\r\n width: '50%',\r\n disableClose: true,\r\n autoFocus: true,\r\n data: {\r\n requesttype: inputrequesttype\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((res: any) => {\r\n //if(res)\r\n\r\n //Eric\r\n if (res == 'do_order') {\r\n this.makeOrder();\r\n } else if (res == 'do_request') {\r\n this.makeRequest();\r\n }\r\n\r\n //RELOAD\r\n this.getData();\r\n });\r\n\r\n });\r\n\r\n this.isUpdateReceiptNotiz = false;\r\n this.isUpdateKDAuftragNr = false;\r\n\r\n //this.router.navigate(['/checkout']);\r\n }\r\n\r\n makeOrder() {\r\n this.warenkorbsService.makeOrder(this.warenkorb).subscribe({\r\n next: data => {\r\n console.log(data);\r\n\r\n if (data == true) {\r\n console.log('Bestellung erzeugt');\r\n //this.router.navigate(['/articles']); //zurück zur Hauptansicht\r\n this.goBack();\r\n this.numberWarenkorbItems.emit(0);\r\n alert('Ihre Bestellung wurde angenommen.');\r\n } else if (data == false) {\r\n console.log('Fehler beim Erzeugen der Bestellung');\r\n }\r\n\r\n },\r\n error: error => {\r\n console.error(error);\r\n }\r\n });\r\n }\r\n\r\n makeRequest() {\r\n this.warenkorbsService.makeRequest(this.warenkorb).subscribe({\r\n next: data => {\r\n console.log(data);\r\n\r\n if (data == true) {\r\n console.log('Preisanfrage erzeugt');\r\n //this.router.navigate(['/articles']); //zurück zur Hauptansicht\r\n this.goBack();\r\n this.numberWarenkorbItems.emit(0);\r\n alert('Ihre Preisanfrage wurde gesendet.');\r\n } else if (data == false) {\r\n console.log('Fehler beim Erzeugen der Preisanfrage');\r\n }\r\n\r\n },\r\n error: error => {\r\n console.error(error);\r\n }\r\n });\r\n }\r\n\r\n onShowStaffel(event, i?: number) {\r\n console.log('in onShowStaffel');\r\n\r\n //var div_staffelpreise = $(event.originalTarget).parents('.artikelcardList').find('.view_staffelpreise');\r\n var div_staffelpreise = $(event.currentTarget).parents('.artikelcardList').find('.view_staffelpreise');\r\n if ($(div_staffelpreise).length > 0) {\r\n\r\n $(div_staffelpreise).toggleClass('visible');\r\n\r\n if ($(div_staffelpreise).hasClass('visible')) {\r\n\r\n var kennung_artikel = this.warenkorbPositionen[i].artikelKennung;\r\n\r\n this.warenkorbsService.getStaffelpreis(kennung_artikel).subscribe(res => {\r\n var json_staffelpreise = JSON.parse(JSON.stringify(res));\r\n\r\n\r\n if (json_staffelpreise.length > 0) {\r\n var res_html = '
';\r\n\r\n res_html += \"
\";\r\n res_html += \"
Menge
\";\r\n res_html += \"
Preis netto
\";\r\n res_html += \"
Preis brutto
\";\r\n res_html += \"
\";\r\n\r\n for (let i = 0; i < json_staffelpreise.length; i++) {\r\n\r\n res_html += \"
\";\r\n res_html += \"
\" + json_staffelpreise[i].Von + \"-\" + json_staffelpreise[i].Bis + \"
\";\r\n res_html += \"
\" + parseFloat(json_staffelpreise[i].Netto).toFixed(2) + \" €
\";\r\n res_html += \"
\" + parseFloat(json_staffelpreise[i].Brutto).toFixed(2) + \" €
\";\r\n res_html += \"
\";\r\n\r\n }\r\n\r\n res_html += '
';\r\n\r\n $(div_staffelpreise).html(res_html);\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n {{wkPos.artikelName}}\r\n
\r\n
\r\n Art. Nr.: {{wkPos.artikelnummer}}\r\n
\r\n
\r\n Kunden Art. Nr. {{wkPos.artNrKunde}}\r\n
\r\n
\r\n Farbe: {{wkPos.yWert}}\r\n
\r\n
\r\n Grösse: {{wkPos.xWert}}\r\n
\r\n
\r\n {{wkPos.artikelBeschreibung}}\r\n
\r\n\r\n
\r\n
\r\n
Netto {{wkPos.einzelpreisNetto | currency: 'EUR'}}
\r\n
(Gesamt {{wkPos.gesamtpreisNetto | currency: 'EUR'}})
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Brutto {{wkPos.einzelpreisBrutto | currency: 'EUR'}}
\r\n
(Gesamt {{wkPos.gesamtpreisBrutto | currency: 'EUR'}})
\r\n
\r\n
\r\n (inklusive {{wkPos.rabatt}} % Rabatt)\r\n
\r\n
\r\n
Preis auf Anfrage!\r\n
\r\n\r\n
\r\n
\r\n \r\n Notiz\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n Menge\r\n \r\n\r\n 0\">\r\n
0\">\r\n \r\n fiber_manual_record\r\n \r\n
{{wkPos.bestand}} Artikel auf Lager\r\n
\r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n 0 Artikel auf Lager\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Summe\r\n
\r\n
\r\n
\r\n
\r\n
Anzahl Artikel
\r\n
\r\n
\r\n {{nWkPos}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Gesamt Netto
\r\n
\r\n
\r\n
\r\n {{(warenkorb.ws_ohneverrechnung == 1 ? '0' : gesamtNetto) | currency:'EUR'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Mehrwertsteuer
\r\n
\r\n
\r\n
\r\n {{(warenkorb.ws_ohneverrechnung == 1 ? '0' : gesamtSteuerBetrag) | currency:'EUR'}} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Gesamt Brutto
\r\n
\r\n
\r\n
\r\n {{(warenkorb.ws_ohneverrechnung == 1 ? '0' : gesamtBrutto) | currency:'EUR'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{warenkorb.checkoutinfo}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Notiz für Abwicklung\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Kd-Auftragsnr.:\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kkis-app-filter-box1',\r\n templateUrl: './filter-box1.component.html',\r\n styleUrls: ['./filter-box1.component.scss']\r\n})\r\nexport class FilterBox1Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

filter-box1 works!

\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-nav-box1',\r\n templateUrl: './nav-box1.component.html',\r\n styleUrls: ['./nav-box1.component.scss']\r\n})\r\nexport class NavBox1Component implements OnInit {\r\n\r\n /* -------------------------------*/\r\n /* NavBox with Mat-Selection-List */\r\n /* -------------------------------*/\r\n\r\n // Input\r\n @Input()\r\n title: string\r\n\r\n // Input:ReihenfolgeTree\r\n @Input()\r\n data: any[];\r\n\r\n @Input()\r\n displayPath: string; // anzeige\r\n\r\n @Input()\r\n valuePath: string; // wert\r\n\r\n @Input()\r\n isExpanded: boolean = false;\r\n\r\n @Input()\r\n minPreis: number;\r\n\r\n @Input()\r\n maxPreis: number;\r\n\r\n @Output()\r\n selectedOption: EventEmitter = new EventEmitter();\r\n\r\n selOption: string;\r\n\r\n // Settings\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n console.log(\"minpreis/maxpreis => \", this.minPreis + ' / ' + this.maxPreis);\r\n\r\n this.title = this.title.toUpperCase();\r\n this.isLoading = false;\r\n }\r\n\r\n onNgModelchange(event) {\r\n\r\n console.log(\"event => \", event);\r\n\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n category: event[0].reihenfolgeWeb,\r\n minPreis: this.minPreis,\r\n maxPreis: this.maxPreis,\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
{{ title }}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{d[displayPath]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-info-section1',\r\n templateUrl: './info-section1.component.html',\r\n styleUrls: ['./info-section1.component.scss']\r\n})\r\nexport class InfoSection1Component implements OnInit\r\n{\r\n text = \"\";\r\n texts: string[] =\r\n [\"Direkte Anbindung an Artikelstammdaten im KKIS System\",\r\n \"Einfaches Handling von Größen, Farben, Varianten von Artikeln\",\r\n \"Umfassende Sortier- und Filtermöglichkeiten für Artikel\",\r\n \"Zentrale Datenpflege und Steuerung der Darstellung (Bilder, Texte, ...)\",\r\n \"Automatisierte Bestandsführung durch Integration in KKIS System \",\r\n \"Individuelle Anpassungs- und Gestaltungsmöglichkeiten für Shopoberfläche\",\r\n \"Einfachste Integration in bestehenden Webauftritt\"]\r\n\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter();\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void\r\n {\r\n\r\n\r\n this.isLoading = false;\r\n const random = Math.floor(Math.random() * this.texts.length);\r\n this.text = this.texts[random];\r\n }\r\n\r\n getNumberWarenkorbItems(event)\r\n {\r\n this.numberWarenkorbItems.emit(event);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigationService {\r\n\r\n // BASED ON:\r\n // https://nils-mehlhorn.de/posts/angular-navigate-back-previous-page\r\n\r\n private history: string[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private location: Location,\r\n ) { \r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.history.push(event.urlAfterRedirects)\r\n }\r\n });\r\n }\r\n\r\n back(): void {\r\n this.history.pop();\r\n\r\n if (this.history.length > 0) {\r\n this.location.back();\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { ArtikelGruppenService } from '../../../artikelgruppen/shared/artikelgruppen.service';\r\nimport { Artikel } from '../../../store/models/artikel';\r\nimport { ArtikelGruppen } from '../../../store/models/artikelgruppen';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-main-section1',\r\n templateUrl: './main-section1.component.html',\r\n styleUrls: ['./main-section1.component.scss']\r\n})\r\nexport class MainSection1Component implements OnInit, OnChanges {\r\n\r\n // Input\r\n @Input()\r\n search: string;\r\n\r\n @Input()\r\n category: string;\r\n\r\n @Input()\r\n minPreis: number;\r\n\r\n @Input()\r\n maxPreis: number;\r\n\r\n @Input()\r\n filterGroessen: string;\r\n\r\n @Input()\r\n filterFarben: string;\r\n\r\n @Input()\r\n filterMerkmale: string;\r\n\r\n @Input()\r\n nurAufLager: boolean = false;\r\n\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter(); \r\n\r\n // Nav\r\n reihenfolgeTree: ArtikelGruppen.IArtikelGruppeListDto;\r\n\r\n // filter\r\n minPreisFilter: number;\r\n maxPreisFilter: number;\r\n\r\n groessen: Artikel.IArtikelListSettingGroessenDto[];\r\n farben: Artikel.IArtikelListSettingFarbenDto[];\r\n merkmalGruppen: Artikel.IMerkmalGruppeDto[];\r\n\r\n removeFilter: Artikel.IMerkmalDto;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private artikelgruppenService: ArtikelGruppenService,\r\n ) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n loadData() {\r\n\r\n console.log(\"main-section1.component.ts\");\r\n\r\n this.artikelgruppenService.getListReihenfolgeTree().subscribe(res => {\r\n this.reihenfolgeTree = res;\r\n this.isLoading = false;\r\n }); \r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.search != null && changes.search.currentValue != null && changes.search.previousValue != changes.search.currentValue) {\r\n this.search = changes.search.currentValue;\r\n }\r\n\r\n if (changes.category != null && changes.category.currentValue != null) {\r\n if (changes.category.previousValue != changes.category.currentValue) {\r\n this.category = changes.category.currentValue;\r\n }\r\n }\r\n\r\n if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n this.minPreisFilter = changes.minPreis.currentValue;\r\n }\r\n\r\n if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n this.maxPreisFilter = changes.maxPreis.currentValue;\r\n }\r\n\r\n if (changes.filterGroessen != null&& changes.filterGroessen.previousValue != changes.filterGroessen.currentValue) {\r\n this.filterGroessen = changes.filterGroessen.currentValue;\r\n }\r\n\r\n if (changes.filterFarben != null && changes.filterFarben.previousValue != changes.filterFarben.currentValue) {\r\n this.filterFarben = changes.filterFarben.currentValue;\r\n }\r\n\r\n if (changes.filterMerkmale != null && changes.filterMerkmale.previousValue != changes.filterMerkmale.currentValue) {\r\n this.filterMerkmale = changes.filterMerkmale.currentValue;\r\n }\r\n\r\n if (changes.nurAufLager != null && changes.nurAufLager.currentValue != null && changes.nurAufLager.currentValue != changes.nurAufLager.previousValue) {\r\n this.nurAufLager = changes.nurAufLager.currentValue;\r\n }\r\n\r\n }\r\n\r\n getMinPreis(event) {\r\n this.minPreis = Math.ceil(event);\r\n }\r\n\r\n getMaxPreis(event) {\r\n this.maxPreis = Math.ceil(event);\r\n }\r\n\r\n getGroessen(event) {\r\n this.groessen = event;\r\n }\r\n\r\n getFarben(event) {\r\n this.farben = event;\r\n }\r\n\r\n getMerkmalGruppen(event) {\r\n this.merkmalGruppen = event;\r\n }\r\n\r\n getNumberWarenkorbItems(event) {\r\n this.numberWarenkorbItems.emit(event);\r\n }\r\n\r\n getRemoveFilter(event) {\r\n\r\n console.log(\"main-section.getremovefilter => \", event);\r\n\r\n this.removeFilter = event;\r\n }\r\n}","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n OnInit,\r\n AfterViewInit,\r\n} from '@angular/core';\r\n// import { TranslationService } from './modules/i18n/translation.service';\r\n// language list\r\nimport enLang from './../assets/i18n/en.json';\r\nimport deLang from './../assets/i18n/de.json';\r\n// import { SplashScreenService } from './_metronic/partials/layout/splash-screen/splash-screen.service';\r\nimport { Router, NavigationEnd, NavigationError } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\n// import { TableExtendedService } from './_metronic/shared/crud-table';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\n\r\nimport { Inject } from '@angular/core'; //Eric\r\nimport { DOCUMENT } from '@angular/common'; //Eric\r\nimport { Title } from '@angular/platform-browser'; //Eric\r\nimport { EnvironmentService } from '@abp/ng.core'; //Eric\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'body[root]',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy, AfterViewInit {\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n \r\n constructor(\r\n private config: PrimeNGConfig,\r\n private translate: TranslateService,\r\n // private translationService: TranslationService,\r\n // private splashScreenService: SplashScreenService,\r\n private router: Router,\r\n // private tableService: TableExtendedService\r\n @Inject(DOCUMENT) private document: Document,\r\n private titleService: Title,\r\n private environment: EnvironmentService //Eric\r\n ) {\r\n translate.setTranslation('de', deLang);\r\n translate.setDefaultLang('de');\r\n\r\n // // register translations\r\n // this.translationService.loadTranslations(\r\n // enLang,\r\n // deLang,\r\n // );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n console.log(\"ngOnInit in app.component.ts\");\r\n\r\n const routerSubscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n // clear filtration paginations and others\r\n // this.tableService.setDefaults();\r\n // hide splash screen\r\n // this.splashScreenService.hide();\r\n\r\n // scroll to top on every route change\r\n // window.scrollTo(0, 0);\r\n\r\n // to display back the body content\r\n setTimeout(() => {\r\n document.body.classList.add('page-loaded');\r\n }, 500);\r\n }\r\n });\r\n this.unsubscribe.push(routerSubscription);\r\n\r\n \r\n const environment = this.environment.getEnvironment();\r\n\r\n //den Titel der App/Tabs setzen\r\n if (environment.setting.shoptitle == '') {\r\n this.titleService.setTitle('KKIS-Webshop') \r\n } else {\r\n this.titleService.setTitle(environment.setting.shoptitle);\r\n } \r\n\r\n }\r\n\r\n useLanguage(language: string) {\r\n this.translate.use(language);\r\n this.translate.get('calendar').subscribe(res => this.config.setTranslation(res));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loadStyle('styles_customer.css');\r\n }\r\n\r\n loadStyle(styleName: string) {\r\n console.log('in loadStyle');\r\n\r\n const head = this.document.getElementsByTagName('head')[0];\r\n\r\n let themeLink = this.document.getElementById(\r\n 'client-theme'\r\n ) as HTMLLinkElement;\r\n if (themeLink) {\r\n themeLink.href = `assets/${styleName}`;\r\n } else {\r\n const style = this.document.createElement('link');\r\n style.id = 'client-theme';\r\n style.rel = 'stylesheet';\r\n style.href = `assets/${styleName}`;\r\n style.type = 'text/css';\r\n\r\n head.appendChild(style);\r\n }\r\n }\r\n}\r\n","\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ArtikelDokument } from '../../../store/models/artikeldokument';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArtikelDokumenteService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getListForArtikel(artikelKennung: number) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-dokument/for-artikel?artikelKennung=' + artikelKennung\r\n });\r\n }\r\n\r\n getById(id: number) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel-dokument/' + id + '/by-id',\r\n responseType: 'blob',\r\n });\r\n }\r\n\r\n\r\n // getById(id: number) : Observable {\r\n // return this.restService.request({\r\n // method: 'GET',\r\n // url: '/api/app/artikel-dokument/' + id\r\n // });\r\n // }\r\n}\r\n","import { ConfigStateService } from '@abp/ng.core';\r\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\nimport { NavService } from '../nav/shared/nav.service';\r\nimport { WebfrontService } from '../../artikels/shared/webfront.service';\r\nimport { Webfront } from '../../store/models/webfront';\r\nimport { GridsterConfig, GridsterItem } from 'angular-gridster2';\r\n\r\n@Component({\r\n selector: 'app-webshop-home',\r\n templateUrl: './webshophome.component.html',\r\n styleUrls: ['./webshophome.component.scss']\r\n})\r\nexport class WebshopHomeComponent implements OnInit, AfterViewInit {\r\n\r\n // sidenav based on \r\n // https://coderedirect.com/questions/170834/open-close-sidenav-from-another-component\r\n\r\n options: GridsterConfig;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n webfront: Webfront.IWebfrontDto;\r\n\r\n dashboard: Array;\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private navService: NavService,\r\n private oAuthService:OAuthService,\r\n private config: ConfigStateService,\r\n private webfrontService:WebfrontService\r\n ) {\r\n this.options = {\r\n itemChangeCallback: this.itemChange,\r\n itemResizeCallback: this.itemResize,\r\n pushItems: true,\r\n minRows:1,\r\n maxRows:5,\r\n minCols:1,\r\n maxCols:5,\r\n // draggable:{enabled:true}\r\n };\r\n \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.webfrontService.getWebfront().subscribe(res => {\r\n if (res && res.items && res.items.length>0) {\r\n \r\n this.webfront = res;\r\n\r\n this.dashboard= res.items.map(di=>\r\n {\r\n //console.log(di);\r\n \r\n return {x:di.x,y:di.y,cols:di.width,rows:di.height,name:di.name};\r\n });\r\n this.options = {\r\n itemChangeCallback: this.itemChange,\r\n itemResizeCallback: this.itemResize,\r\n pushItems: true,\r\n minRows:res.height,\r\n maxRows:res.height,\r\n minCols:res.width,\r\n maxCols:res.width,\r\n //draggable:{enabled:true}\r\n };\r\n\r\n this.isLoading = false;\r\n } else {\r\n this.skipWebfront();\r\n }\r\n });\r\n \r\n }\r\n\r\n itemChange(item, itemComponent) {\r\n console.info('itemChanged', item, itemComponent);\r\n }\r\n \r\n itemResize(item, itemComponent) {\r\n // console.info('itemResized', item, itemComponent);\r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n\r\n let i= this.config.getFeature(\"Webshop.HasWelcomePage\");\r\n if(i != 'true')\r\n {\r\n this.skipWebfront();\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n skipWebfront()\r\n {\r\n console.log('--> route to articles skipWebfront');\r\n this.router.navigate([\"/articles\"]);\r\n }\r\n\r\n changedOptions(): void {\r\n if (this.options.api && this.options.api.optionsChanged) {\r\n this.options.api.optionsChanged();\r\n }\r\n }\r\n \r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Art. Nr. \r\n
\r\n
\r\n Hersteller Nr. \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{item.name}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\n\r\n@Component({\r\n selector: 'qAvatar',\r\n templateUrl: './qavatar.component.html',\r\n styleUrls: ['./qavatar.component.scss']\r\n})\r\nexport class qAvatarComponent implements OnInit {\r\n\r\n @Input() avatarText: string = \"\";\r\n @Input() textLength: number = 2;\r\n @Input() iconSet: string = \"la\";\r\n @Input() icon: string = \"\";\r\n @Input() bgColor: string = \"\";\r\n @Input() iconOnly: boolean = false;\r\n @Input() isOutlined: boolean = false;\r\n @Input() size: string = \"md\";\r\n\r\n avatarTextVal: string = \"\";\r\n avatarBgColor: string = \"\";\r\n\r\n constructor(\r\n private layoutUtilsService: LayoutUtilsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n \r\n if (this.textLength > 2) {\r\n this.textLength = 2;\r\n }\r\n this.avatarTextVal = this.avatarText.slice(0, this.textLength).toUpperCase();\r\n\r\n if (this.size != \"md || lg || sm\") {\r\n this.size == \"md\";\r\n }\r\n }\r\n\r\n getAvatarBg () {\r\n if (this.bgColor) {\r\n this.avatarBgColor = this.bgColor;\r\n } else\r\n {\r\n this.avatarBgColor = this.layoutUtilsService.getqAvatarColor(this.avatarText);\r\n }\r\n\r\n return this.avatarBgColor;\r\n }\r\n\r\n}\r\n","
\r\n {{avatarTextVal}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n {{avatarTextVal}}\r\n \r\n \r\n
\r\n","import { AccountConfigModule } from '@abp/ng.account/config';\r\nimport { CoreModule, LocalizationPipe } from '@abp/ng.core';\r\nimport { registerLocale } from '@abp/ng.core/locale';\r\nimport { ThemeBasicModule } from '@abp/ng.theme.basic';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { InlineSVGModule } from 'ng-inline-svg';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AuthService } from './modules/auth/_services/auth.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgxsModule } from '@ngxs/store';\r\n// Highlight JS\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\r\n// import { SplashScreenModule } from './_metronic/partials/layout/splash-screen/splash-screen.module';\r\n// #fake-start#\r\n// import { FakeAPIService } from './_fake/fake-api.service';\r\n// #fake-end#\r\n\r\n// import ngx-translate and the http loader\r\nimport { TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport {HttpClient } from '@angular/common/http';\r\n\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { LayoutUtilsService } from './core/layout-utils.service';\r\n// import { SubheaderService } from './_metronic/partials/layout';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n// import { LayoutModule } from './pages/layout.module';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { getGermanPaginatorIntl } from './modules/shared/german-paginator';\r\n\r\nimport { AuthConfig, OAuthModule, OAuthService } from 'angular-oauth2-oidc';\r\nimport { WebshopModule } from './modules/webshop/webshop.module';\r\n\r\nimport * as $ from 'jquery';\r\n\r\nexport function authAppInitializerFactory(authService: AuthService): () => Promise {\r\n return () => authService.runInitialLoginSequence();\r\n}\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n // SplashScreenModule,\r\n TranslateModule.forRoot(),\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n HighlightModule,\r\n ClipboardModule,\r\n CoreModule.forRoot({\r\n environment,\r\n registerLocaleFn: registerLocale(),\r\n }),\r\n ThemeSharedModule.forRoot(),\r\n AppRoutingModule,\r\n InlineSVGModule.forRoot(),\r\n NgbModule,\r\n NgxsModule.forRoot(),\r\n ThemeBasicModule.forRoot(),\r\n\r\n // LayoutModule,\r\n OAuthModule.forRoot(),\r\n\r\n\r\n // // #fake-start#\r\n\r\n // HttpClientInMemoryWebApiModule.forRoot(FakeAPIService, {\r\n // passThruUnknownUrl: true,\r\n // dataEncapsulation: false,\r\n // }),\r\n \r\n // // #fake-end#\r\n WebshopModule\r\n \r\n ],\r\n providers: [\r\n \r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: authAppInitializerFactory,\r\n multi: true,\r\n deps: [AuthService],\r\n },\r\n { provide: AuthConfig, useValue: environment.oAuthConfig },\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n coreLibraryLoader: () => import('highlight.js/lib/core'),\r\n languages: {\r\n xml: () => import('highlight.js/lib/languages/xml'),\r\n typescript: () => import('highlight.js/lib/languages/typescript'),\r\n scss: () => import('highlight.js/lib/languages/scss'),\r\n json: () => import('highlight.js/lib/languages/json')\r\n },\r\n },\r\n },\r\n\r\n { provide: MatPaginatorIntl, useValue: getGermanPaginatorIntl() },\r\n\r\n // SubheaderService,\r\n // MenuHorizontalService,\r\n // MenuAsideService,\r\n // HttpUtilsService,\r\n // TypesUtilsService,\r\n LayoutUtilsService,\r\n LocalizationPipe,\r\n CurrencyPipe,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n\r\n// required for AOT compilation\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-filter-box-category1',\r\n templateUrl: './filter-box-category1.component.html',\r\n styleUrls: ['./filter-box-category1.component.scss']\r\n})\r\nexport class FilterBoxCategory1Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

filter-box-category1 works!

\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { exit } from 'process';\r\nimport { ArtikelGruppen } from 'src/app/modules/webshop/store/models/artikelgruppen';\r\nimport { ArtikelGruppenService } from '../../../../artikelgruppen/shared/artikelgruppen.service';\r\n\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-filter-container-category1',\r\n templateUrl: './filter-container-category1.component.html',\r\n styleUrls: ['./filter-container-category1.component.scss'],\r\n})\r\nexport class FilterContainerCategory1Component implements OnInit, OnChanges {\r\n\r\n @Input()\r\n reihenfolgeTree: ArtikelGruppen.IArtikelGruppeListDto[];\r\n \r\n reihenfolgeTreeAll: ArtikelGruppen.IArtikelGruppeListDto[];\r\n\r\n @Input()\r\n category: string;\r\n\r\n // Category-Filter\r\n categoryFilter: ArtikelGruppen.IArtikelGruppeListDto[];\r\n\r\n breadcrumbList: Array;\r\n\r\n testarray: Array;\r\n\r\n // Images (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private router: Router,\r\n private artikelgruppenService: ArtikelGruppenService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.reihenfolgeTreeAll = [];\r\n\r\nconsole.log(\"filter-container-category1.component.ts\");\r\n\r\n this.artikelgruppenService.getListReihenfolgeTree(true).subscribe(res => {\r\n\r\n this.testarray = [];\r\n this.testarray.length = 0;\r\n this.testarray.push(res);\r\n\r\n this.reihenfolgeTreeAll = this.testarray[0];\r\n this.isLoading = false;\r\n\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n \r\n if (changes.category != null && changes.category.currentValue != null && changes.category.currentValue != \"\" && changes.category.previousValue != changes.category.currentValue) {\r\n\r\n let currCat = this.findCategory(changes.category.currentValue, this.reihenfolgeTreeAll);\r\n\r\n if (currCat) {\r\n this.onSelectCategory(currCat);\r\n\r\n this.breadcrumbList = [];\r\n\r\n this.breadcrumbList.length = 0;\r\n \r\n // get category-tree for breadcrumbList\r\n let c = currCat.reihenfolgeWeb.split(/[/.]/);\r\n \r\n let cat: ArtikelGruppen.IArtikelGruppeListDto;\r\n \r\n let r: string;\r\n let isFirst = true;\r\n \r\n c.forEach(x => {\r\n if (isFirst) {\r\n cat = this.findCategory(x, this.reihenfolgeTreeAll);\r\n if (cat) {\r\n this.createBreadcrumbList(cat);\r\n isFirst = false;\r\n \r\n r = cat.reihenfolgeWeb;\r\n } else {\r\n return;\r\n }\r\n } else {\r\n r = r + \".\" + x;\r\n cat = this.findCategory(r, this.reihenfolgeTreeAll);\r\n if (cat) {\r\n this.createBreadcrumbList(cat);\r\n } else {\r\n return;\r\n }\r\n }\r\n });\r\n \r\n if (currCat.hasChildren) {\r\n this.categoryFilter = currCat.children;\r\n } else {\r\n this.categoryFilter = null;\r\n }\r\n }\r\n\r\n this.isLoading = false;\r\n } else {\r\n this.breadcrumbList = null;\r\n this.categoryFilter = null;\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n }\r\n\r\n createBreadcrumbList(category: ArtikelGruppen.IArtikelGruppeListDto) {\r\n this.breadcrumbList.push(category);\r\n }\r\n\r\n onSelectCategory(event) {\r\n if (event) {\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n category: event.reihenfolgeWeb,\r\n }\r\n });\r\n \r\n if (event.hasChildren) {\r\n this.categoryFilter = event.children;\r\n }\r\n }\r\n }\r\n\r\n private findCategory(lastLevel: string, treeList: ArtikelGruppen.IArtikelGruppeListDto[]) : ArtikelGruppen.IArtikelGruppeListDto {\r\n\r\n if (treeList) {\r\n return treeList.reduce((a, item) => {\r\n if (a) return a;\r\n if (item.reihenfolgeWeb === lastLevel) {\r\n return item;\r\n }\r\n if (item.children) return this.findCategory(lastLevel, item.children);\r\n }, null);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
0\">\r\n
\r\n
    \r\n
  1. \r\n\r\n \r\n {{ item.name }}\r\n \r\n\r\n {{ item.name }}\r\n
  2. \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{category.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
","import { AfterViewInit, Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { ArtikelsService } from '../../artikels/shared/artikels.service';\r\nimport { Advertise } from '../../store/models/advertise';\r\n//import { AdvertiseService } from '../shared/advertise.service';\r\nimport { ViewEncapsulation } from '@angular/core';\r\nimport { EnvironmentService } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-advertise',\r\n templateUrl: './advertise.component.html',\r\n styleUrls: ['./advertise.component.scss'],\r\n encapsulation: ViewEncapsulation.None //https://stackoverflow.com/questions/46403698/css-values-not-applying-on-dynamically-injected-html-div-elements-in-angular-4\r\n})\r\nexport class AdvertiseComponent implements OnInit {\r\n\r\n advertise: Advertise.IAdvertiseDto[];\r\n\r\n responsiveOptions;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n main_el: ElementRef;\r\n \r\n constructor(\r\n private artikelsService: ArtikelsService, //steckt in Artikelservice drin. ToDo: in AdvertiseService umlagern\r\n private _renderer2: Renderer2,\r\n main_el: ElementRef,\r\n private environment: EnvironmentService //Eric\r\n\r\n ) {\r\n this.main_el = main_el;\r\n }\r\n\r\n \r\n ngOnInit(): void {\r\n \r\n //alert('advertise on init');\r\n\r\n this.artikelsService.getListAdvertiseAsync().subscribe(res => {\r\n \r\n const environment = this.environment.getEnvironment();\r\n console.log(\"setting adv_pagertime: \", environment.setting.adv_pagertime);\r\n \r\n $('kkis-app-webshop-advertise').hide();\r\n\r\n if (res) {\r\n //Sind Werbedatensätze vorhanden? --> ganze Section einblenden\r\n if (res.length > 0) {\r\n $('kkis-app-webshop-advertise').show();\r\n $('kkis-app-webshop-advertise').height(window.innerHeight - 64);\r\n window.scrollTo(0,0);\r\n\r\n var bg_width = 1920;\r\n var bg_height = 1080;\r\n var screenwidth_new = window.innerWidth; //1920\r\n var screenheight_new = window.innerHeight - 54; //1080 - 60?\r\n\r\n var offset_y = screenheight_new - (bg_height / (bg_width / screenwidth_new));\r\n offset_y = (offset_y < 0 ? 0 : offset_y); //kein offset < 0\r\n \r\n const parent = this.main_el.nativeElement.querySelector('#div_advertise');\r\n const parent_progress = this.main_el.nativeElement.querySelector('#adv_progress');\r\n\r\n //Progress Control\r\n const adv_progress_ctrl = this._renderer2.createElement('div'); \r\n //this._renderer2.setAttribute(adv_progress_ctrl, 'data-num', i.toString())\r\n this._renderer2.setAttribute(adv_progress_ctrl, 'id', 'adv_progress_ctrl');\r\n this._renderer2.setAttribute(adv_progress_ctrl, 'data-progressctrl_status', 'running');\r\n this._renderer2.appendChild(parent_progress, adv_progress_ctrl);\r\n this._renderer2.listen(adv_progress_ctrl, 'click', (event) => this.toggleprogressctrl_state());\r\n\r\n for(let i=0;i this.myscript1());\r\n\r\n //Progress Item\r\n const adv_progress_item = this._renderer2.createElement('div'); \r\n this._renderer2.setAttribute(adv_progress_item, 'data-num', i.toString())\r\n this._renderer2.addClass(adv_progress_item, 'adv_progress_item');\r\n if (i==0) {\r\n this._renderer2.addClass(adv_progress_item, 'active');\r\n }\r\n this._renderer2.appendChild( parent_progress, adv_progress_item);\r\n\r\n // primär pagerCation --> sekundär headline\r\n //console.log(\"pagerCaption: \"+res[i].pagerCaption);\r\n if (res[i].pagerCaption != \"\" && res[i].pagerCaption != undefined) {\r\n text = this._renderer2.createText(res[i].pagerCaption);\r\n } else {\r\n text = this._renderer2.createText(res[i].headline.replace(/\\~/g,\" \"));\r\n }\r\n \r\n this._renderer2.appendChild( adv_progress_item, text);\r\n\r\n this._renderer2.listen(adv_progress_item, 'click', (event) => this.set_adv_item_active(i.toString()));\r\n\r\n \r\n const adv_item_wrap = this._renderer2.createElement('div'); \r\n this._renderer2.appendChild( adv_item, adv_item_wrap);\r\n\r\n //close btn \r\n const adv_btnclose = this._renderer2.createElement('div');\r\n this._renderer2.addClass(adv_btnclose, 'adv_btn_close');\r\n this._renderer2.appendChild(adv_item, adv_btnclose);\r\n this._renderer2.listen(adv_btnclose, 'click', (event) => this.hide_advertise());\r\n\r\n //Headline\r\n const adv_headline = this._renderer2.createElement('div');\r\n \r\n var splitted = res[i].headline.split(\"~\");\r\n //console.log(splitted);\r\n for(let i2=0;i2 this.myscript2());\r\n\r\n //Description\r\n const adv_description = this._renderer2.createElement('div');\r\n\r\n var splitted_descr = res[i].description.split(\"~\");\r\n //console.log(splitted_descr);\r\n for(let i2=0;i2 this.openurl(res[i].returnLink));\r\n }\r\n\r\n }\r\n\r\n this.rotate_adv(environment.setting.adv_pagertime);\r\n //this.rotate_adv(30000);\r\n\r\n } else {\r\n console.log('Advertise NICHT gefunden');\r\n }\r\n\r\n //this.advertise = res; //wichtig --> Carousel befüllen\r\n\r\n //this.isLoading = false;\r\n } else {\r\n //this.isLoading = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n rotate_adv(duration=20000) {\r\n let start: number = 0;\r\n let adv_item_c = $('.adv_item').length;\r\n\r\n let theLoop: (i: number) => void = (i: number) => {\r\n\r\n setTimeout(() => {\r\n \r\n let progressctrl_status = $('#adv_progress_ctrl').attr('data-progressctrl_status');\r\n //console.log('progressctrl_status: '+progressctrl_status);\r\n\r\n if (progressctrl_status == 'running') {\r\n\r\n if (start < adv_item_c - 1) {\r\n start++;\r\n } else {\r\n start = 0; //wieder von vorne anfangen\r\n }\r\n \r\n \r\n this.set_adv_item_active(start.toString());\r\n\r\n }\r\n\r\n if (--i) {\r\n theLoop(i);\r\n }\r\n\r\n }, duration); //Dauer wird als Parameter übergeben\r\n \r\n };\r\n\r\n theLoop(1000);\r\n }\r\n \r\n openurl(url:string) {\r\n if (url.substring(0,1) == \"~\") {\r\n //intern\r\n url = url.replace(\"~\",\"\");\r\n console.log('navigate to: ' + window.location.origin + \"/\" + url + \"&showAdvertise=false\");\r\n window.open(window.location.origin + \"/\" + url + \"&showAdvertise=false\", '_blank');\r\n } else {\r\n //extern\r\n console.log('navigate to: ' + url);\r\n window.open(url, '_blank');\r\n } \r\n }\r\n\r\n set_adv_item_active(num:string='0') {\r\n $('.adv_item').hide();\r\n $('.adv_item').removeClass('animate');\r\n $('.adv_item[data-num=' + num + ']').show();\r\n $('.adv_item[data-num=' + num + ']').addClass('animate');\r\n\r\n $('.adv_headline').removeClass('animate');\r\n $('.adv_item[data-num=' + num + '].adv_headline').addClass('animate');\r\n\r\n $('.adv_progress_item').removeClass('active');\r\n $('.adv_progress_item[data-num=' + num + ']').addClass('active');\r\n }\r\n\r\n toggleprogressctrl_state() {\r\n if ($('#adv_progress_ctrl').attr('data-progressctrl_status') == 'running') {\r\n $('#adv_progress_ctrl').attr('data-progressctrl_status','paused');\r\n } else {\r\n $('#adv_progress_ctrl').attr('data-progressctrl_status','running');\r\n }\r\n }\r\n\r\n hide_advertise() {\r\n $('kkis-app-webshop-advertise').hide(); \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { AuthService } from 'src/app/modules/auth/_services/auth.service';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { Warenkorb } from '../../store/models/warenkorb';\r\nimport { Webshops } from '../../store/models/webshops';\r\nimport { WarenkorbsService } from '../../webshops/warenkorbs/shared/warenkorbs.service';\r\nimport { ArtikelQuickView1Component } from '../artikel-quick-view1/artikel-quick-view1.component';\r\nimport { ArtikelsService } from '../shared/artikels.service';\r\n\r\nclass SelectedArtikel {\r\n // artikelId: number;\r\n // isMatrixArtikel: boolean = false;\r\n artikel: any;\r\n menge: number;\r\n farbe: Artikel.IArtikelListSettingFarbenDto;\r\n groesse: Artikel.IArtikelListSettingGroessenDto;\r\n isMatrixArtikel: boolean;\r\n selectedKurs: any;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'kkis-app-artikel-list1',\r\n templateUrl: './artikel-list1.component.html',\r\n styleUrls: ['./artikel-list1.component.scss']\r\n})\r\nexport class ArtikelList1Component implements OnInit, OnChanges {\r\n\r\n // ViewChild\r\n @ViewChild(MatPaginator)\r\n paginator = {} as MatPaginator;\r\n\r\n // Input\r\n @Input()\r\n search: string;\r\n\r\n @Input()\r\n category: string;\r\n\r\n @Input()\r\n minPreisFilter: number;\r\n\r\n @Input()\r\n maxPreisFilter: number;\r\n\r\n @Input()\r\n filterGroessen: string;\r\n\r\n @Input()\r\n filterFarben: string;\r\n\r\n @Input()\r\n filterMerkmale: string;\r\n\r\n @Input()\r\n nurAufLager: boolean = false;\r\n\r\n\r\n // Output\r\n @Output()\r\n minPreis: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n maxPreis: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n groessen: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n farben: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n merkmalGruppen: EventEmitter = new EventEmitter();\r\n\r\n // User\r\n loggedInUser: Webshops.ILoggedInUser;\r\n\r\n\r\n // colClass for different number of columns\r\n colClass = \"col-3\";\r\n itemsPerRow: number;\r\n itemsPerRowMax: number;\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto;\r\n\r\n // Artikel\r\n artikel: Artikel.IArtikelDto[];\r\n artikeloptions: Artikel.IArtikelOptionsDto; \r\n\r\n // Paging\r\n page: number = 0;\r\n pageSize: number = 25;\r\n maxItems: number = 0;\r\n previousPage: any;\r\n pageSizeOptions: number[] = [5, 10, 25, 50, 100];\r\n\r\n // // FormGroups\r\n searchTerm: string = \"\";\r\n sortField: string = \"nr\";\r\n sortDirection: string = \"asc\";\r\n sortIcon: string;\r\n sortIconText: string;\r\n\r\n // Filter\r\n filterString: string = \"\";\r\n\r\n // Images (from Database)\r\n imgFile: BlobPart[];\r\n imgMatrixFile: BlobPart[];\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isSubmitted: boolean = false;\r\n isFiltered: boolean = false;\r\n isList: boolean = false;\r\n isLoggedIn: boolean = false;\r\n articlesfound: boolean = false;\r\n\r\n // Artikeloptionen\r\n display_artnr: boolean = false;\r\n display_herstellernr: boolean = false;\r\n display_mcode1: boolean = false;\r\n display_mcode2: boolean = false;\r\n lbl_mcode1: string;\r\n lbl_mcode2: string;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private authService: AuthService,\r\n private artikelsService: ArtikelsService,\r\n private warenkorbsService: WarenkorbsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n var w = this.layoutUtilsService.getBootstrapClass();\r\n switch(w) {\r\n case 0:\r\n case 1: {\r\n this.dialogWidth = \"95%\";\r\n this.dialogHeight = \"95%\";\r\n this.itemsPerRowMax = 1;\r\n this.onSelectListNumberColumns(1);\r\n break;\r\n }\r\n case 2: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"70%\";\r\n this.itemsPerRowMax = 2;\r\n this.onSelectListNumberColumns(2);\r\n break;\r\n }\r\n case 3: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"70%\";\r\n this.itemsPerRowMax = 4;\r\n this.onSelectListNumberColumns(4);\r\n break;\r\n }\r\n default: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"70%\";\r\n this.itemsPerRowMax = 6;\r\n this.onSelectListNumberColumns(4);\r\n break;\r\n }\r\n }\r\n\r\n this.authService.isAuthenticated$.subscribe(x => {\r\n this.isLoggedIn = x;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.search != null && changes.search.currentValue != \"\" && changes.search.previousValue != changes.search.currentValue) {\r\n this.search = changes.search.currentValue;\r\n }\r\n\r\n if (changes.category != null && changes.category.currentValue != \"\" && changes.category.previousValue != changes.category.currentValue) {\r\n this.category = changes.category.currentValue;\r\n }\r\n\r\n if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n this.minPreisFilter = changes.minPreis.currentValue;\r\n }\r\n\r\n if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n this.maxPreisFilter = changes.maxPreis.currentValue;\r\n }\r\n\r\n if (changes.filterGroessen != null && changes.filterGroessen.currentValue != null && changes.filterGroessen.previousValue != changes.filterGroessen.currentValue) {\r\n this.filterGroessen = changes.filterGroessen.currentValue;\r\n }\r\n\r\n if (changes.filterFarben != null && changes.filterFarben.currentValue != null && changes.filterFarben.previousValue != changes.filterFarben.currentValue) {\r\n this.filterFarben = changes.filterFarben.currentValue;\r\n }\r\n\r\n if (changes.filterMerkmale != null && changes.filterMerkmale.currentValue != null && changes.filterMerkmale.previousValue != changes.filterMerkmale.currentValue) {\r\n this.filterMerkmale = changes.filterMerkmale.currentValue;\r\n }\r\n\r\n if (changes.nurAufLager != null && changes.nurAufLager.currentValue != null && changes.nurAufLager.currentValue != changes.nurAufLager.previousValue) {\r\n this.nurAufLager = changes.nurAufLager.currentValue;\r\n }\r\n\r\n this.loadPage(0);\r\n }\r\n\r\n getData(event) {\r\n if (this.pageSize != event.pageSize) {\r\n this.pageSize = event.pageSize;\r\n }\r\n this.loadPage(event.pageIndex);\r\n }\r\n\r\n loadPage(page: number) {\r\n if (page !== this.previousPage) {\r\n this.previousPage = page;\r\n }\r\n\r\n this.loadData(page, this.sortField, this.sortDirection);\r\n\r\n if (page === 0) {\r\n this.paginator.pageIndex = 0;\r\n }\r\n\r\n }\r\n\r\n loadData(page: number, sortField: string = 'nr', sortDirection: string = 'asc') {\r\n\r\n this.isLoading = true;\r\n\r\n console.log(\"call-artservice.getlistfilter => \", new Date());\r\n\r\n this.artikelsService.getListFilter(\r\n page, \r\n this.pageSize, \r\n sortField, \r\n sortDirection, \r\n this.category, \r\n this.minPreisFilter, \r\n this.maxPreisFilter, \r\n this.filterGroessen, \r\n this.filterFarben,\r\n this.filterMerkmale, \r\n this.search,\r\n this.nurAufLager).subscribe(res => {\r\n\r\n console.log(\"after call-artservice.getlistfilter => \", new Date());\r\n console.log(\"getlistfilter => \", res);\r\n\r\n\r\n if (res.artikelList) {\r\n this.artikel = res.artikelList.items;\r\n this.maxItems = res.artikelList.totalCount;\r\n\r\n //console.log(\"getlistfilter.res => \", new Date());\r\n \r\n this.minPreis.emit(res.artikelListSettings.minPreis);\r\n this.maxPreis.emit(res.artikelListSettings.maxPreis);\r\n \r\n this.groessen.emit(res.artikelListSettings.groessen);\r\n this.farben.emit(res.artikelListSettings.farben);\r\n \r\n this.merkmalGruppen.emit(res.merkmalGruppenList);\r\n\r\n this.isLoading = false;\r\n\r\n } else {\r\n\r\n this.isLoading = false;\r\n \r\n }\r\n\r\n this.articlesfound = (this.maxItems == 0 ? false : true);\r\n //console.log(\"Keine Artikel zur Suche gefunden!\");\r\n //console.log(\"Artikel gefunden: \"+this.articlesfound)\r\n\r\n //ArtikelOptionen\r\n this.display_artnr = res.artikelOptions.display_artnr;\r\n this.display_herstellernr = res.artikelOptions.display_herstellernr;\r\n this.display_mcode1 = res.artikelOptions.display_mcode1;\r\n this.display_mcode2 = res.artikelOptions.display_mcode2;\r\n this.lbl_mcode1 = res.artikelOptions.lbl_mcode1;\r\n this.lbl_mcode2 = res.artikelOptions.lbl_mcode2;\r\n\r\n this.artikeloptions = res.artikelOptions;\r\n });\r\n\r\n this.setSortierText(sortField, sortDirection); \r\n\r\n }\r\n\r\n resetPage() {\r\n this.paginator.firstPage();\r\n }\r\n\r\n onSelectListStyle(style: number) {\r\n if (style == 0) {\r\n this.isList = false;\r\n } else if (style == 1) {\r\n this.isList = true;\r\n }\r\n }\r\n\r\n onSelectListNumberColumns(nCol: number) {\r\n if (nCol == 1) {\r\n this.colClass = \"col-12\";\r\n } else if (nCol == 2) {\r\n this.colClass = \"col-6\";\r\n } else if (nCol == 3) {\r\n this.colClass = \"col-4\";\r\n } else if (nCol == 4) {\r\n this.colClass = \"col-3\";\r\n } else if (nCol == 6) {\r\n this.colClass = \"col-2\";\r\n }\r\n\r\n this.itemsPerRow = nCol;\r\n }\r\n\r\n onSorting(sField: string, sDirection: string) {\r\n this.sortField = sField;\r\n this.sortDirection = sDirection;\r\n\r\n this.loadData(0, sField, sDirection);\r\n }\r\n\r\n onOpenArtikelQuickView(artikel: Artikel.IArtikelDto) {\r\n\r\n const dialogRef = this.dialog.open(ArtikelQuickView1Component, {\r\n width: this.dialogWidth,\r\n disableClose: true,\r\n autoFocus: true,\r\n data: {\r\n artikel: artikel,\r\n artikeloptions: this.artikeloptions\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((res: SelectedArtikel) => {\r\n console.log(\"dialogRef.afterClosed --> add to warenkorb: \"+res.selectedKurs);\r\n\r\n // add to warenkorb if menge > 0\r\n if (res.menge > 0) {\r\n this.onAddToWarenkorb(res.artikel, res.menge, res.isMatrixArtikel, res.selectedKurs)\r\n }\r\n });\r\n }\r\n\r\n onOpenArtikelDetailView(artikel: Artikel.IArtikelDto) {\r\n }\r\n\r\n onAddToWarenkorb(artikel, menge: number, isMatrixArtikel: boolean = false, selectedKurs = null) {\r\n if (this.isLoggedIn) {\r\n this.isSubmitted = true;\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n \r\n newPosition.artikelKennung = artikel.id;\r\n newPosition.menge = menge;\r\n newPosition.isMatrixArtikel = isMatrixArtikel;\r\n\r\n if (selectedKurs != null) {\r\n //gebuchte Kurse in die entsprechenden Tabellen buchen und mit der Position verknüpfen\r\n newPosition.notiz = 'Kursteilnehmer: ';\r\n for (let i = 0; i <= selectedKurs.teilnehmer.length-1; i++) {\r\n newPosition.notiz += (i == 0 ? '' :', ') + selectedKurs.teilnehmer[i];\r\n }\r\n\r\n newPosition.kurs = selectedKurs;\r\n \r\n }\r\n \r\n this.warenkorbsService.addPosition(newPosition).subscribe(res => {\r\n if (res != null) {\r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n } \r\n });\r\n\r\n } else {\r\n const _title: string = \"Anmelden\";\r\n const _description: string = \"Sie sind noch nicht angemeldet. Jetzt anmelden?\";\r\n \r\n this.layoutUtilsService.qwertDialog(_title, _description, 'question', true, true, 'Anmelden').then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.authService.login();\r\n return;\r\n\r\n });\r\n }\r\n }\r\n\r\n setSortierText(sortField, sortDirection) {\r\n \r\n if (sortField == 'nr' && sortDirection == 'asc') {\r\n this.sortIcon = 'fas fa-sort-numeric-down';\r\n this.sortIconText = 'Artikelnummer aufsteigend';\r\n } else if (sortField == 'nr' && sortDirection == 'desc') {\r\n this.sortIcon = 'fas fa-sort-numeric-up';\r\n this.sortIconText = 'Artikelnummer absteigend';\r\n } else if (sortField == 'name' && sortDirection == 'asc') {\r\n this.sortIcon = 'fas fa-sort-alpha-down';\r\n this.sortIconText = 'Produktname aufsteigend';\r\n } else if (sortField == 'name' && sortDirection == 'desc') {\r\n this.sortIcon = 'fas fa-sort-alpha-up';\r\n this.sortIconText = 'Produktname absteigend';\r\n } else if (sortField == 'vkpreis' && sortDirection == 'asc') {\r\n this.sortIcon = 'fas fa-sort-numeric-down';\r\n this.sortIconText = 'Preis aufsteigend';\r\n } else if (sortField == 'vkpreis' && sortDirection == 'desc') {\r\n this.sortIcon = 'fas fa-sort-numeric-up';\r\n this.sortIconText = 'Preis absteigend';\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
Es wurden keine Artikel gefunden
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
0\">\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n","import { Component, EventEmitter, Input, Output, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { AuthService } from 'src/app/modules/auth/_services/auth.service';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { Warenkorb } from '../../store/models/warenkorb';\r\nimport { Webshops } from '../../store/models/webshops';\r\nimport { WarenkorbsService } from '../../webshops/warenkorbs/shared/warenkorbs.service';\r\nimport { ArtikelsService } from '../shared/artikels.service';\r\nimport { ArtikelQuickView1Component } from '../artikel-quick-view1/artikel-quick-view1.component';\r\nimport { Kurse } from '../../store/models/kurse';\r\n\r\nclass SelectedArtikel {\r\n artikel: any;\r\n menge: number;\r\n isMatrixArtikel: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-kurse',\r\n templateUrl: './kurse.component.html',\r\n styleUrls: ['./kurse.component.scss']\r\n})\r\nexport class KurseComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n artikelKennung: number;\r\n\r\n @Input() \r\n menge: number = 1;\r\n\r\n // User\r\n loggedInUser: Webshops.ILoggedInUser;\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto;\r\n\r\n // Artikel\r\n //artikel: Artikel.IArtikelDto[];\r\n //kurse: \r\n kurse: Kurse.IKurseDto[];\r\n\r\n responsiveOptions;\r\n\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isLoggedIn: boolean = false;\r\n isSubmitted: boolean = false;\r\n\r\n selectedKursId:number;\r\n selectedTerminId:number;\r\n dynArrParticipant: string[] = []; // Dynamisches Array zum Speichern der bereits eingetippten Namen\r\n \r\n constructor(\r\n private dialog: MatDialog,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private authService: AuthService,\r\n private warenkorbsService: WarenkorbsService,\r\n private artikelsService: ArtikelsService,\r\n ) { }\r\n\r\n \r\n ngOnInit(): void {\r\n\r\n //ToDo: Kennung als Parameter übergeben \r\n //console.log('jetzt init mit kennung: '+this.artikelKennung);\r\n\r\n // auf Kurse umbauen\r\n this.artikelsService.getKurse(this.artikelKennung).subscribe(res => {\r\n\r\n console.log(res); \r\n\r\n //gibt es Kurse?\r\n if (res.length > 0) {\r\n this.kurse = res;\r\n }\r\n\r\n this.isLoading = false;\r\n \r\n });\r\n\r\n this.authService.isAuthenticated$.subscribe(x => {\r\n this.isLoggedIn = x;\r\n });\r\n\r\n }\r\n \r\n toggledisplayheight() {\r\n //$('.zub_artikel_list').toggleClass('expanded'); \r\n }\r\n \r\n onSelectKursItem(event) {\r\n\r\n\r\n\r\n if ($(event.target).hasClass('participant')) {\r\n\r\n } else {\r\n\r\n //Teilnehmer merken\r\n var elem_selected = $('.kurs.selected');\r\n \r\n this.dynArrParticipant = []; \r\n for (let i = 0; i < $(elem_selected).find('.participant').length; i++) {\r\n let p = $(elem_selected).find('#participant'+i).val();\r\n this.dynArrParticipant.push(p.toString());\r\n };\r\n\r\n $(elem_selected).find('.participant').remove();\r\n\r\n\r\n var elem = ($(event.target).hasClass('kurs') ? event.target : $(event.target).parents('.kurs'));\r\n\r\n $('.kurs').removeClass('selected');\r\n $(elem).addClass('selected');\r\n\r\n this.updateSelectedKurs(this.menge);\r\n\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['menge']) {\r\n //wenn Menge geändert wurde --> Anzahl der Namensfelder ändern\r\n //console.log('Value changed:', changes['menge'].currentValue);\r\n\r\n // this.updateSelectedKurs(changes['menge'].currentValue);\r\n this.updateSelectedKurs(this.menge);\r\n\r\n }\r\n }\r\n\r\n updateSelectedKurs(c:number=1) {\r\n //die Anzahl der Inputs für Teilnhmer aktualisieren\r\n\r\n var elem = $('.kurs.selected');\r\n \r\n //Inputs entfernen\r\n $(elem).find('.participant').remove();\r\n\r\n //neue Anzahl an Inputs hinzufügen\r\n for (let i = 0; i < c; i++) {\r\n let pid = \"participant\"+(i).toString();\r\n $(elem).find('.participant_list').append('');\r\n }\r\n\r\n //aus gemerkten Teilnehmern max Anzahl einfügen\r\n for (let i = 0; i < $(elem).find('.participant').length; i++) {\r\n let p_elem = $(elem).find('#participant'+i);\r\n $(p_elem).val(this.dynArrParticipant[i]);\r\n }\r\n\r\n this.selectedKursId = Number($(elem).find('.div_kurs').attr('id'));\r\n this.selectedTerminId = Number($(elem).find('.div_termin').attr('id'));\r\n\r\n }\r\n\r\n //Methode, um die \"selectedKursdaten\" zurückzugeben\r\n getSelectedKurs(): Kurse.ISelectedKursDto {\r\n\r\n const newKurs: Kurse.ISelectedKursDto = { \r\n kursId: this.selectedKursId,\r\n terminId: this.selectedTerminId,\r\n teilnehmer: this.dynArrParticipant // das dynamische Teilnehmer-Array\r\n };\r\n \r\n return newKurs;\r\n }\r\n\r\n /*\r\n getProgressWidth(): string {\r\n\r\n const progress = (this.kurse[0].buchungenAktuell * 100) / this.kurse[0].kapazitaet;\r\n if (progress < 0) {\r\n return '0%';\r\n } else if (progress > 100) {\r\n return '100%';\r\n } else {\r\n return progress + '%';\r\n }\r\n\r\n \r\n }\r\n */\r\n}","
\r\n
\r\n
Kurse prüfen
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Kurse
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{kurs.bemerkung}}
\r\n
\r\n
\r\n {{ (kurs.kapazitaet - kurs.buchungenAktuell) }} freie Plätze\r\n
100 ? '100%' : (kurs.buchungenAktuell * 100 / kurs.kapazitaet) + '%'\"\r\n [attr.data-progress]=\"(kurs.buchungenAktuell * 100 / kurs.kapazitaet) | number: '1.0-0'\">\r\n \r\n \r\n {{ (kurs.buchungenAktuell * 100 / kurs.kapazitaet) < 0 ? '0' : (kurs.buchungenAktuell * 100 / kurs.kapazitaet) > 100 ? '100' : (kurs.buchungenAktuell * 100 / kurs.kapazitaet) | number: '1.0-0' }}%\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
von:
{{termin.beginn | date:'medium'}}
\r\n
bis:
{{termin.ende | date:'medium'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Webfront } from '../../store/models/webfront';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebfrontService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getWebfront() : Observable {\r\n\r\n \r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/webfront/webfront'\r\n });\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArtikelGruppen } from '../../store/models/artikelgruppen';\r\nimport { NavService } from '../nav/shared/nav.service';\r\n\r\n@Component({\r\n selector: 'app-webshop-view',\r\n templateUrl: './webshop-view.component.html',\r\n styleUrls: ['./webshop-view.component.scss']\r\n})\r\nexport class WebshopViewComponent implements OnInit, AfterViewInit {\r\n\r\n // sidenav based on \r\n // https://coderedirect.com/questions/170834/open-close-sidenav-from-another-component\r\n\r\n @ViewChild('sidenav') \r\n public sidenav: MatSidenav;\r\n\r\n // TopLevelOption from Route\r\n // topLevelOption: string;\r\n\r\n // queryparams from Route\r\n search: Observable;\r\n category: Observable;\r\n minPreis: Observable;\r\n maxPreis: Observable;\r\n groessen: Observable;\r\n farben: Observable;\r\n merkmale: Observable;\r\n nurAufLager: Observable;\r\n reload: boolean;\r\n showWarenkorb: boolean;\r\n showAdvertise: boolean;\r\n\r\n numberWarenkorbItems: number;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isReload: boolean = false;\r\n \r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private navService: NavService,\r\n private oAuthService:OAuthService\r\n ) {\r\n\r\n // environment.oAuthConfig.redirectUri+='/webshop';\r\n // oAuthService.configure(environment.oAuthConfig);\r\n // oAuthService.loadDiscoveryDocumentAndTryLogin();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.navService.setSidenav(this.sidenav);\r\n }\r\n\r\n ngOnInit(): void {\r\n //document.title = 'Hello World!';\r\n\r\n //alert('ngOnInit: webshop-view.components.ts');\r\n\r\n this.showAdvertise = true;\r\n\r\n //console.log(\"params: \"+this.activatedRoute.queryParams);\r\n\r\n this.activatedRoute.queryParams.subscribe(par => {\r\n\r\n this.search = par['search'];\r\n this.category = par['category'];\r\n\r\n if (par['minPreis']) {\r\n this.minPreis = par['minPreis'];\r\n }\r\n\r\n if (par['maxPreis']) {\r\n this.maxPreis = par['maxPreis'];\r\n }\r\n this.groessen = par['groessen'];\r\n this.farben = par['farben'];\r\n this.merkmale = par['merkmale'];\r\n\r\n if (par['nurAufLager']) {\r\n this.nurAufLager = par['nurAufLager'];\r\n }\r\n\r\n this.showWarenkorb = par['showWarenkorb'];\r\n if (par['showWarenkorb'] == \"true\") {\r\n this.showWarenkorb = par['showWarenkorb']==\"true\";\r\n } else {\r\n this.showWarenkorb = false;\r\n }\r\n \r\n //Advertise?\r\n //console.log(\"param showAdvertise: \"+par['showAdvertise']);\r\n //alert(\"param showAdvertise: \"+par['showAdvertise']);\r\n\r\n //this.showAdvertise = par['showAdvertise'];\r\n //if (par['showAdvertise'] == \"false\" || par['showAdvertise'] == undefined) { \r\n if (par['showAdvertise'] == \"false\") { \r\n this.showAdvertise = false;\r\n } else if (par['showAdvertise'] == undefined && this.showAdvertise == false) {\r\n this.showAdvertise = false;\r\n } else {\r\n //alert(\"showAdvertise set true\");\r\n this.showAdvertise = true;\r\n }\r\n\r\n this.isLoading = false;\r\n\r\n });\r\n }\r\n\r\n getNumberWarenkorbItems(event) {\r\n\r\n console.log(\"getnwarkorbitems => \", event);\r\n\r\n this.numberWarenkorbItems = event;\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n

Sidenav für die gesamte webview

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable } from 'rxjs';\r\nimport { Webshops } from '../../../store/models/webshops';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginsService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getLoggedInUser(userName: string, userPassword: string) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/webshop/user-login?UserName=' + userName + '&UserPassword=' + userPassword\r\n });\r\n }\r\n\r\n getUser() : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/webshop/user'\r\n });\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-menu-section1',\r\n templateUrl: './menu-section1.component.html',\r\n styleUrls: ['./menu-section1.component.scss']\r\n})\r\nexport class MenuSection1Component implements OnInit {\r\n\r\n // Search\r\n search: string = \"\";\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isLoading = false;\r\n }\r\n\r\n onReload() {\r\n window.location.href = '/';\r\n }\r\n\r\n onSearch() {\r\n if (this.search) {\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n search: this.search,\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Suche\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Webshops } from '../../../store/models/webshops';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n \r\n\r\n getReceiptlistAsync(belegart:string, archive:boolean): Observable{\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/webshop/receiptlist?belegart='+belegart+'&archive='+archive\r\n });\r\n }\r\n\r\n}\r\n","import { Byte } from '@angular/compiler/src/util';\r\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ArtikelDokument } from '../../../store/models/artikeldokument';\r\nimport { ArtikelDokumenteService } from '../shared/artikeldokumente.service';\r\n\r\n@Component({\r\n selector: 'kkis-app-artikeldokumente-list',\r\n templateUrl: './artikeldokumente-list.component.html',\r\n styleUrls: ['./artikeldokumente-list.component.scss']\r\n})\r\nexport class ArtikeldokumenteListComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n artikelKennung: number;\r\n\r\n // ArtikelDokument\r\n artikelDokumente: ArtikelDokument.IArtikelDokumentsDto;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private artikelDokumentService: ArtikelDokumenteService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.artikelKennung != null && changes.artikelKennung.currentValue != null && changes.artikelKennung.currentValue != changes.artikelKennung.previousValue) {\r\n this.artikelKennung = changes.artikelKennung.currentValue;\r\n\r\n this.artikelDokumentService.getListForArtikel(this.artikelKennung).subscribe(res => {\r\n this.artikelDokumente = res;\r\n\r\n this.isLoading = false;\r\n });\r\n } else {\r\n this.isLoading = false;\r\n }\r\n }\r\n \r\n onSelectArtikelDokument(artDok: ArtikelDokument.IArtikelDokumentListDto) {\r\n this.artikelDokumentService.getById(artDok.id).subscribe(res => {\r\n var url = URL.createObjectURL(res);\r\n window.open(url);\r\n });\r\n }\r\n\r\n getFiletype(input_filetype) {\r\n\r\n input_filetype = input_filetype.replace('.',''); \r\n\r\n switch(input_filetype) {\r\n case 'docx':\r\n input_filetype = 'doc';\r\n break;\r\n case 'jpg':case 'jpeg': case'png': case 'bmp': case 'svg': case 'tga': case 'tiff': case 'gif': //...\r\n input_filetype = 'pic';\r\n break;\r\n case 'mp4':case 'avi': case'wmv': case 'avi': case 'flv': case 'mkv': case 'mov': //...\r\n input_filetype = 'vid';\r\n break;\r\n default:\r\n\r\n }\r\n \r\n return input_filetype;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Webshops } from '../../../store/models/webshops';\r\nimport { LoginsService } from '../shared/logins.service';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-login1',\r\n templateUrl: './login1.component.html',\r\n styleUrls: ['./login1.component.scss']\r\n})\r\n\r\nexport class Login1Component implements OnInit {\r\n\r\n // if 'enter'-key is pressed => call onLogin()\r\n @HostListener('window:keyup.enter', ['$event']) \r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key == 'Enter') {\r\n this.onLogin();\r\n }\r\n }\r\n\r\n // formgroup\r\n form: FormGroup;\r\n\r\n // Login-Data\r\n userLogin = {} as Webshops.IUserLogin;\r\n loggedInUser: Webshops.ILoggedInUser;\r\n\r\n \r\n constructor(\r\n private fb: FormBuilder,\r\n private dialogRef: MatDialogRef,\r\n private loginsService: LoginsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n userName: ['', Validators.required],\r\n userPwd: ['', Validators.required],\r\n });\r\n\r\n this.dialogRef.keydownEvents().subscribe(event => {\r\n if (event.key === 'Escape') {\r\n this.onCancel();\r\n }\r\n });\r\n }\r\n\r\n public hasError = (controlName: string, errorName: string) => {\r\n return this.form.controls[controlName].hasError(errorName);\r\n }\r\n\r\n onLogin() {\r\n\r\n if (this.form.invalid) return;\r\n \r\n this.userLogin.userName = this.form.get('userName').value;\r\n this.userLogin.userPassword = this.form.get('userPwd').value;\r\n\r\n this.loginsService.getLoggedInUser(this.userLogin.userName, this.userLogin.userPassword).subscribe(res => {\r\n this.loggedInUser = res;\r\n\r\n this.dialogRef.close(this.loggedInUser);\r\n });\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","

Anmelden

\r\n\r\n \r\n \r\n mail\r\n \r\n Benutzername oder Email-Adresse ist erforderlich\r\n \r\n \r\n \r\n \r\n lock\r\n \r\n Passwort ist erforderlich\r\n \r\n \r\n\r\n\r\n \r\n \r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { Advertise } from '../../store/models/advertise';\r\nimport { Kurse } from '../../store/models/kurse';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArtikelsService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getListFilter(pageNumber?: number,\r\n pageSize?: number,\r\n sortField: string = \"nr\",\r\n sortDirection: string = \"asc\",\r\n category: string = \"\",\r\n minPreis: number = 0,\r\n maxPreis: number = 0,\r\n filterGroessen: string = \"\",\r\n filterFarben: string = \"\",\r\n filterMerkmale: string = \"\",\r\n searchTerm: string = \"\",\r\n nurAufLager: boolean = false,\r\n ) : Observable {\r\n\r\n let skipCount = pageNumber * pageSize;\r\n let sorting = sortField + ' ' + sortDirection;\r\n\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/filter?Sorting=' + sorting + \r\n '&SkipCount=' + skipCount + \r\n '&MaxResultCount=' + pageSize +\r\n '&category=' + category + \r\n '&minPreis=' + minPreis + \r\n '&maxPreis=' + maxPreis + \r\n '&filterGroessen=' + filterGroessen +\r\n '&filterFarben=' + filterFarben +\r\n '&filterMerkmale=' + filterMerkmale +\r\n '&searchTerm=' + searchTerm + \r\n '&nurAufLager=' + nurAufLager\r\n });\r\n }\r\n\r\n getListAktionsartikelAsync(): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/aktionsartikel'\r\n });\r\n }\r\n\r\n getListArtikelMatrixForArtikel(artikelKennung: number): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/artikel-matrix-for-artikel?artikelKennung=' + artikelKennung\r\n });\r\n }\r\n\r\n getListArtikelZubehoerForArtikel(artikelKennung, anzahl: number): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/artikel-zubehoer-for-artikel?artikelKennung=' + artikelKennung + '&anzahl='+anzahl\r\n });\r\n }\r\n\r\n getListAdvertiseAsync(): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/advertise'\r\n });\r\n }\r\n\r\n getKurse(artikelKennung: number): Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/artikel/kurse?artikelKennung=' + artikelKennung\r\n });\r\n }\r\n\r\n}\r\n","var map = {\n\t\"./ar.js\": \"Brhu\",\n\t\"./cs.js\": \"4mcN\",\n\t\"./de.js\": \"VLs4\",\n\t\"./en-GB.js\": \"URqu\",\n\t\"./en.js\": \"tAZD\",\n\t\"./es.js\": \"2Yyj\",\n\t\"./fi.js\": \"ejKr\",\n\t\"./fr.js\": \"Hfs6\",\n\t\"./hu.js\": \"CCy4\",\n\t\"./pt.js\": \"vT00\",\n\t\"./ru.js\": \"wq8c\",\n\t\"./sl.js\": \"YLnv\",\n\t\"./tr.js\": \"6/97\",\n\t\"./zh-Hans.js\": \"5D2u\",\n\t\"./zh-Hant.js\": \"u6yn\"\n};\n\n\nfunction webpackAsyncContext(req) {\n\treturn webpackAsyncContextResolve(req).then(function(id) {\n\t\treturn __webpack_require__.t(id, 7);;\n\t});\n}\nfunction webpackAsyncContextResolve(req) {\n\treturn __webpack_require__.e(/*! lazy-once context | locales */ \"locales\").then(function() {\n\t\tif(!__webpack_require__.o(map, req)) {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\t\treturn map[req];\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.resolve = webpackAsyncContextResolve;\nwebpackAsyncContext.id = \"pXrn\";\nmodule.exports = webpackAsyncContext;","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Warenkorb } from '../../../store/models/warenkorb';\r\nimport { Kunde } from '../../../store/models/kunde';\r\nimport { Artikel } from '../../../store/models/artikel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WarenkorbsService {\r\n\r\n constructor(\r\n private restService: RestService,\r\n ) { }\r\n\r\n getById(id: number) : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/warenkorb/' + id\r\n });\r\n }\r\n\r\n getForCustomer() : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/warenkorb/for-customer'\r\n });\r\n }\r\n\r\n addPosition(input: Warenkorb.IAddPositionDto) : Observable {\r\n return this.restService.request({\r\n method: 'POST',\r\n url: '/api/app/warenkorb/position/',\r\n body: input\r\n });\r\n }\r\n\r\n addPositions(input: Warenkorb.IWarenkorbArtikelsDto) : Observable {\r\n return this.restService.request({\r\n method: 'POST',\r\n url: '/api/app/warenkorb/positions/',\r\n body: input\r\n });\r\n }\r\n\r\n deletePosition(id: number) : Observable {\r\n return this.restService.request ({\r\n method: 'DELETE',\r\n url: `/api/app/warenkorb/${id}/position`\r\n });\r\n }\r\n\r\n updateWarenkorb(id:number, input: Warenkorb.IUpdateWarenkorbDto) : Observable {\r\n return this.restService.request({\r\n method: 'PUT',\r\n url: `/api/app/warenkorb/${id}`,\r\n body: input\r\n });\r\n }\r\n\r\n deleteWarenkorb(id: number) : Observable {\r\n return this.restService.request ({\r\n method: 'DELETE',\r\n url: `/api/app/warenkorb/${id}/warenkorb`\r\n });\r\n }\r\n\r\n getRechnungsadresse() : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/warenkorb/rechnungsadresse'\r\n });\r\n }\r\n \r\n getRechnungsadresse2() : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/warenkorb/rechnungsadresse2'\r\n });\r\n }\r\n\r\n getPaymentterm() : Observable {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: '/api/app/warenkorb/paymentterm'\r\n });\r\n }\r\n \r\n makeOrder(input: Warenkorb.IWarenkorbDto) : Observable {\r\n \r\n return this.restService.request({\r\n method: 'POST',\r\n url: `/api/app/warenkorb/${input.id}/Make-Order`,\r\n body: input\r\n });\r\n }\r\n\r\n makeRequest(input: Warenkorb.IWarenkorbDto) : Observable {\r\n \r\n return this.restService.request({\r\n method: 'POST',\r\n url: `/api/app/warenkorb/${input.id}/Make-Request`,\r\n body: input\r\n });\r\n }\r\n\r\n //Eric\r\n getStaffelpreis(kennung_artikel: number) {\r\n return this.restService.request({\r\n method: 'GET',\r\n url: `/api/app/warenkorb/staffelpreis?kennung_artikel=${kennung_artikel}`\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { registerLocale } from '@abp/ng.core/locale';\r\nimport { ConfirmationService, ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ApiInterceptor, CoreModule } from '@abp/ng.core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgbModule, NgbRatingConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { InlineSVGModule } from 'ng-inline-svg';\r\n// import { CRUDTableModule } from 'src/app/_metronic/shared/crud-table';\r\nimport { qComponentsModule } from '../core/qcomponents/qcomponents.module';\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { MessageService } from 'primeng/api';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { NavigationService } from '../core/qservices/navigation.service';\r\n\r\nimport { GridsterModule } from 'angular-gridster2';\r\n\r\nimport { PerfectScrollbarModule, PerfectScrollbarConfigInterface, PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n wheelPropagation: true\r\n};\r\n\r\n\r\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\r\n\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\n\r\n\r\nimport { WebshopRoutingModule } from './webshop-routing.module';\r\n\r\nimport { ArtikelGruppeListComponent } from './artikelgruppen/artikel-gruppe-list/artikel-gruppe-list.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { WebshopViewComponent } from './webshops/webshop-view/webshop-view.component';\r\nimport { TopSection1Component } from './webshops/topsections/top-section1/top-section1.component';\r\nimport { MenuSection1Component } from './webshops/menusections/menu-section1/menu-section1.component';\r\nimport { InfoSection1Component } from './webshops/infosections/info-section1/info-section1.component';\r\nimport { MainSection1Component } from './webshops/mainsections/main-section1/main-section1.component';\r\nimport { BottomSection1Component } from './webshops/bottomsections/bottom-section1/bottom-section1.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { Login1Component } from './webshops/logins/login1/login1.component';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { TopLevelNav1Component } from './webshops/nav/navs/top-level-nav1/top-level-nav1.component';\r\nimport { NavBox1Component } from './webshops/nav/navboxes/nav-box1/nav-box1.component';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { FilterContainer1Component } from './webshops/filter/filtercontainers/filter-container1/filter-container1.component';\r\nimport { FilterBox1Component } from './webshops/filter/filterboxes/filter-box1/filter-box1.component';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { NavService } from './webshops/nav/shared/nav.service';\r\nimport { FilterContainerCategory1Component } from './webshops/filter/filtercontainers/filter-container-category1/filter-container-category1.component';\r\nimport { FilterBoxCategory1Component } from './webshops/filter/filterboxes/filter-box-category1/filter-box-category1.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport {CarouselModule} from 'primeng/carousel';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { CardModule } from 'primeng/card';\r\nimport { ArtikelList1Component } from './artikels/artikel-list1/artikel-list1.component';\r\nimport { ArtikelListWidget1Component } from './artikels/artikel-list-widget1/artikel-list-widget1.component';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { ArtikelQuickView1Component } from './artikels/artikel-quick-view1/artikel-quick-view1.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { WarenkorbListComponent } from './webshops/warenkorbs/warenkorb-list/warenkorb-list.component';\r\nimport { WarenkorbEditComponent } from './webshops/warenkorbs/warenkorb-edit/warenkorb-edit.component';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { ArtikelbildThumbs1Component } from './artikels/artikelbild-thumbs1/artikelbild-thumbs1.component';\r\nimport { ArtikeldokumenteListComponent } from './artikels/artikeldokumente/artikeldokumente-list/artikeldokumente-list.component';\r\nimport { ArtikelzubehoerComponent } from './artikels/artikelzubehoer/artikelzubehoer.component';\r\nimport { KurseComponent } from './artikels/kurse/kurse.component';\r\nimport { AdvertiseComponent } from './webshops/advertise/advertise.component';\r\nimport { FilterChipsComponent } from './webshops/filter/filter-chips/filter-chips.component';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { AktionsArtikelComponent } from './artikels/aktions-artikel/aktions-artikel.component';\r\nimport { WebshopHomeComponent } from './webshops/webshophome/webshophome.component';\r\nimport { CheckoutComponent } from './webshops/checkout/checkout.component';\r\nimport { CheckoutComponent_new } from './webshops/checkout_new/checkout_new.component';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { WebshopAccountComponent } from './webshops/account/account.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ArtikelGruppeListComponent,\r\n WebshopViewComponent,\r\n TopSection1Component,\r\n MenuSection1Component,\r\n InfoSection1Component,\r\n MainSection1Component,\r\n BottomSection1Component,\r\n Login1Component,\r\n TopLevelNav1Component,\r\n NavBox1Component,\r\n FilterContainer1Component,\r\n FilterBox1Component,\r\n FilterContainerCategory1Component,\r\n FilterBoxCategory1Component,\r\n ArtikelList1Component,\r\n ArtikelListWidget1Component,\r\n ArtikelQuickView1Component,\r\n WarenkorbListComponent,\r\n WarenkorbEditComponent,\r\n ArtikelbildThumbs1Component,\r\n ArtikeldokumenteListComponent,\r\n AdvertiseComponent,\r\n ArtikelzubehoerComponent,\r\n KurseComponent,\r\n FilterChipsComponent,\r\n AktionsArtikelComponent,\r\n WebshopHomeComponent,\r\n WebshopAccountComponent,\r\n CheckoutComponent,\r\n CheckoutComponent_new\r\n\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n WebshopRoutingModule,\r\n ScrollingModule,\r\n CoreModule.forRoot({\r\n environment,\r\n registerLocaleFn: registerLocale()\r\n }),\r\n ThemeSharedModule.forRoot(),\r\n HttpClientModule,\r\n\r\n DragDropModule,\r\n PerfectScrollbarModule,\r\n NgxSliderModule,\r\n\r\n FlexLayoutModule,\r\n\r\n\r\n // CRUDTableModule,\r\n qComponentsModule,\r\n InlineSVGModule,\r\n NgbModule,\r\n\r\n // Material Design\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatBadgeModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatCheckboxModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatRadioModule,\r\n // PrimeNG\r\n CarouselModule,\r\n CardModule,\r\n GridsterModule,\r\n \r\n ],\r\n providers: [\r\n NgbRatingConfig,\r\n {\r\n provide: MAT_DATE_LOCALE, useValue: 'de-DE'\r\n },\r\n ApiInterceptor,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ApiInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n panelClass: 'mat-dialog-override',\r\n // panelClass: 'kt-mat-dialog-container__wrapper',\r\n height: 'auto',\r\n width: '700px'\r\n }\r\n },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n\r\n // {\r\n //\t provide: OWL_DATE_TIME_LOCALE, useValue: 'de'\r\n // },\r\n \r\n {provide:MatDialogRef , useValue:{} },\r\n\r\n { provide: MAT_DIALOG_DATA, useValue: {} },\r\n \r\n // COMMON - Services\r\n LayoutUtilsService,\r\n \r\n DialogService,\r\n MessageService,\r\n ConfirmationService,\r\n \r\n NavigationService,\r\n NavService,\r\n ],\r\n entryComponents: [\r\n ],\r\n})\r\nexport class WebshopModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { qAvatarComponent } from './qavatar/qavatar/qavatar.component';\r\nimport { qEditButtonsComponent } from './q-edit-buttons/q-edit-buttons.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n qAvatarComponent,\r\n qEditButtonsComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n qAvatarComponent,\r\n qEditButtonsComponent,\r\n ],\r\n})\r\nexport class qComponentsModule { }\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ArtikelGruppen } from 'src/app/modules/webshop/store/models/artikelgruppen';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { AdvertiseComponent } from '../../../advertise/advertise.component';\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-top-level-nav1',\r\n templateUrl: './top-level-nav1.component.html',\r\n styleUrls: ['./top-level-nav1.component.scss']\r\n})\r\nexport class TopLevelNav1Component implements OnInit, OnChanges {\r\n\r\n /* -------------------------------*/\r\n /* NavBox with Mat-Selection-List */\r\n /* -------------------------------*/\r\n\r\n // Input\r\n @Input()\r\n title: string\r\n\r\n // Input:ReihenfolgeTree\r\n @Input()\r\n reihenfolgeTree: any[];\r\n\r\n @Input()\r\n displayPath: string = \"name\"; // anzeige\r\n\r\n @Input()\r\n valuePath: string = \"reihenfolgeWeb\"; // wert\r\n\r\n @Input()\r\n isExpanded: boolean = false;\r\n\r\n @Input()\r\n minPreis: number;\r\n\r\n @Input()\r\n maxPreis: number;\r\n\r\n // Search\r\n search: string = \"\";\r\n\r\n selOption: any;\r\n\r\n // Settings\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n\r\n\r\n // @Input()\r\n // reihenfolgeTree: ArtikelGruppen.IArtikelGruppeListDto;\r\n\r\n // @Input()\r\n // minPreis: number;\r\n\r\n // @Input()\r\n // maxPreis: number;\r\n\r\n @Output()\r\n selectedOption: EventEmitter = new EventEmitter();\r\n\r\n // Utils\r\n isLoading: boolean = false;\r\n isTopLevelNavExpanded: boolean = true;\r\n isCategorySelected: boolean = false;\r\n\r\n // constructor() { }\r\n\r\n // ngOnInit(): void {\r\n // this.title = \"Kategorien\";\r\n // }\r\n\r\n constructor(\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.title = \"Kategorien\".toUpperCase();\r\n this.isLoading = false;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n // if (changes.category != null && changes.category.currentValue != null) {\r\n // if (changes.category.previousValue != changes.category.currentValue) {\r\n // this.category = changes.category.currentValue;\r\n // }\r\n\r\n // if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n // this.minPreis = changes.minPreis.currentValue;\r\n // }\r\n \r\n // if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n // this.maxPreis = changes.maxPreis.currentValue;\r\n // }\r\n // }\r\n\r\n // if (changes.category != null && changes.category.currentValue != null && changes.category.previousValue != changes.category.currentValue) {\r\n // this.category = changes.category.currentValue;\r\n // }\r\n\r\n if (changes.minPreis != null && changes.minPreis.currentValue != null && changes.minPreis.previousValue != changes.minPreis.currentValue) {\r\n this.minPreis = changes.minPreis.currentValue;\r\n }\r\n\r\n if (changes.maxPreis != null && changes.maxPreis.currentValue != null && changes.maxPreis.previousValue != changes.maxPreis.currentValue) {\r\n this.maxPreis = changes.maxPreis.currentValue;\r\n }\r\n\r\n }\r\n\r\n clearCategoryFilter(): void {\r\n this.onNgModelchange(null);\r\n }\r\n\r\n onNgModelchange(event) {\r\n\r\n //alert('modelchange');\r\n\r\n if (event) {\r\n this.isCategorySelected = true;\r\n\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n category: event[0].reihenfolgeWeb,\r\n minPreis: 0,\r\n maxPreis: 0,\r\n showAdvertise: false,\r\n }\r\n });\r\n } else {\r\n this.isCategorySelected = false;\r\n\r\n //this.router.navigate(['/articles']);\r\n console.log('--> route to articles');\r\n this.router.navigate(['/articles'], {\r\n queryParams: { \r\n showAdvertise: false,\r\n }\r\n });\r\n }\r\n }\r\n\r\n onSearch() {\r\n console.log('--> route to articles');\r\n\r\n if (this.search) {\r\n this.router.navigate(['/articles'], {\r\n queryParams: {\r\n search: this.search.trim(),\r\n }\r\n });\r\n } else {\r\n this.router.navigate(['/articles']);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n //------------------------------\r\n // listen to child-components\r\n //------------------------------\r\n\r\n // getSelectedOption(option: string) {\r\n\r\n // console.log(\"top-lev-nav.getselopt => \", option);\r\n\r\n // // this.selectedOption.emit(option);\r\n // }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Suche\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
{{ title }}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{d[displayPath]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './modules/auth/_services/auth.guard';\r\nimport { WebshopViewComponent } from './modules/webshop/webshops/webshop-view/webshop-view.component';\r\nimport { WebshopHomeComponent } from './modules/webshop/webshops/webshophome/webshophome.component';\r\nimport { WebshopAccountComponent } from './modules/webshop/webshops/account/account.component';\r\n// import { LayoutComponent } from './pages/_layout/layout.component';\r\n\r\nexport const routes: Routes = [\r\n // {\r\n // path: 'auth',\r\n // loadChildren: () =>\r\n // import('./modules/auth/auth.module').then((m) => m.AuthModule),\r\n // },\r\n {\r\n path: 'error',\r\n loadChildren: () =>\r\n import('./modules/errors/errors.module').then((m) => m.ErrorsModule),\r\n },\r\n \r\n {\r\n path:'',\r\n //component: WebshopHomeComponent\r\n component: WebshopViewComponent,\r\n}, //test eric\r\n{\r\n path: 'articles',\r\n component: WebshopViewComponent,\r\n},\r\n{\r\n path: 'account',\r\n component: WebshopAccountComponent,\r\n},\r\n // {\r\n // path: '',\r\n // component: LayoutComponent,\r\n \r\n // // loadChildren: () =>\r\n // // import('./pages/layout.module').then((m) => m.LayoutModule),\r\n\r\n // // **************************************************************************************\r\n // // TODO: ACTIVATE ON DEPLOYMENT\r\n // // **************************************************************************************\r\n // // canActivate: [AuthGuard],\r\n\r\n // children: [\r\n // {\r\n // path: '',\r\n // loadChildren: () => import('./pages/layout.module').then((m) => m.LayoutModule),\r\n // },\r\n // {\r\n // path: 'kunden',\r\n // loadChildren: () => import('./modules/kunden/kunden.module').then(m => m.KundenModule),\r\n // },\r\n // {\r\n // path: 'webshop',\r\n // loadChildren: () => import('./modules/webshop/webshop.module').then(m => m.WebshopModule),\r\n // },\r\n // ],\r\n // },\r\n { \r\n path: '**', \r\n redirectTo: 'error/404' \r\n },\r\n];\r\n\r\n@NgModule({\r\n //imports: [RouterModule.forRoot(routes)], //Eric\r\n imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: 'reload'})],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { AuthService } from 'src/app/modules/auth/_services/auth.service';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { Warenkorb } from '../../store/models/warenkorb';\r\nimport { Webshops } from '../../store/models/webshops';\r\nimport { WarenkorbsService } from '../../webshops/warenkorbs/shared/warenkorbs.service';\r\nimport { ArtikelQuickView1Component } from '../artikel-quick-view1/artikel-quick-view1.component';\r\nimport { ArtikelsService } from '../shared/artikels.service';\r\n\r\nclass SelectedArtikel {\r\n artikel: any;\r\n menge: number;\r\n isMatrixArtikel: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'kkis-app-webshop-aktions-artikel',\r\n templateUrl: './aktions-artikel.component.html',\r\n styleUrls: ['./aktions-artikel.component.scss']\r\n})\r\nexport class AktionsArtikelComponent implements OnInit {\r\n\r\n // Output\r\n @Output()\r\n numberWarenkorbItems: EventEmitter = new EventEmitter();\r\n\r\n // User\r\n loggedInUser: Webshops.ILoggedInUser;\r\n\r\n // Warenkorb\r\n warenkorb: Warenkorb.IWarenkorbDto;\r\n\r\n // Artikel\r\n artikel: Artikel.IArtikelDto[];\r\n artikeloptions: Artikel.IArtikelOptionsDto; \r\n\r\n responsiveOptions;\r\n\r\n // (from local <> FROM DATABASE)\r\n imgDummy: string = \"assets/media/svg/files/no-image.svg\";\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n isLoggedIn: boolean = false;\r\n isSubmitted: boolean = false;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private authService: AuthService,\r\n private warenkorbsService: WarenkorbsService,\r\n private artikelsService: ArtikelsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n var w = this.layoutUtilsService.getBootstrapClass();\r\n switch(w) {\r\n case 0:\r\n case 1: {\r\n this.dialogWidth = \"95%\";\r\n this.dialogHeight = \"95%\";\r\n break;\r\n }\r\n case 2: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"80%\";\r\n break;\r\n }\r\n case 3: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"80%\";\r\n break;\r\n }\r\n default: {\r\n this.dialogWidth = \"80%\";\r\n this.dialogHeight = \"80%\";\r\n break;\r\n }\r\n }\r\n\r\n\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 3,\r\n numScroll: 3\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 2,\r\n numScroll: 2\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1,\r\n numScroll: 1\r\n }\r\n ];\r\n\r\n this.artikelsService.getListAktionsartikelAsync().subscribe(res => {\r\n \r\n $('kkis-app-webshop-info-section1').hide();\r\n\r\n if (res) {\r\n //Sind Aktionsartikel vorhanden? --> ganze Section einblenden\r\n if (res.length > 0) {\r\n $('kkis-app-webshop-info-section1').show();\r\n }\r\n this.artikel = res;\r\n this.isLoading = false;\r\n\r\n\r\n/* Test\r\n //ArtikelOptionen\r\n this.display_artnr = res.artikelOptions.display_artnr;\r\n this.display_herstellernr = res.artikelOptions.display_herstellernr;\r\n this.display_mcode1 = res.artikelOptions.display_mcode1;\r\n this.display_mcode2 = res.artikelOptions.display_mcode2;\r\n this.lbl_mcode1 = res.artikelOptions.lbl_mcode1;\r\n this.lbl_mcode2 = res.artikelOptions.lbl_mcode2;\r\n\r\n this.artikeloptions = res.artikelOptions;\r\n */\r\n\r\n } else {\r\n this.isLoading = false;\r\n }\r\n });\r\n\r\n this.authService.isAuthenticated$.subscribe(x => {\r\n this.isLoggedIn = x;\r\n });\r\n\r\n }\r\n\r\n onOpenArtikelQuickView(artikel: Artikel.IArtikelDto) {\r\n console.log(\"ASD\"); \r\n const dialogRef = this.dialog.open(ArtikelQuickView1Component, {\r\n width: this.dialogWidth,\r\n disableClose: true,\r\n autoFocus: true,\r\n data: {\r\n artikel: artikel,\r\n artikeloptions: this.artikeloptions\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((res: SelectedArtikel) => {\r\n // add to warenkorb if menge > 0\r\n if (res.menge > 0) {\r\n this.onAddToWarenkorb(res.artikel, res.menge, res.isMatrixArtikel)\r\n }\r\n });\r\n \r\n }\r\n\r\n onAddToWarenkorb(artikel, menge: number, isMatrixArtikel: boolean = false) {\r\n if (this.isLoggedIn) {\r\n this.isSubmitted = true;\r\n\r\n let newPosition = {} as Warenkorb.IAddPositionDto;\r\n \r\n newPosition.artikelKennung = artikel.id;\r\n newPosition.menge = menge;\r\n newPosition.isMatrixArtikel = isMatrixArtikel;\r\n \r\n this.warenkorbsService.addPosition(newPosition).subscribe(res => {\r\n if (res != null) \r\n {\r\n \r\n this.numberWarenkorbItems.emit(res.warenkorbPositionen.length);\r\n }\r\n });\r\n } else {\r\n const _title: string = \"Anmelden\";\r\n const _description: string = \"Sie sind noch nicht angemeldet. Jetzt anmelden?\";\r\n \r\n this.layoutUtilsService.qwertDialog(_title, _description, 'question', true, true, 'Anmelden').then(res => {\r\n if (res.dismiss) {\r\n return;\r\n }\r\n\r\n this.authService.login();\r\n return;\r\n\r\n });\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{artikel.name}}
\r\n
{{artikel.name2}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Art. Nr. {{artikel == null ? artikel.nr : artikel.nr}}\r\n
\r\n
\r\n Hersteller Nr. {{artikel == null ? artikel.herstellerNr : artikel.herstellerNr}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Preis auf\r\n Anfrage!\r\n
\r\n
\r\n
\r\n {{artikel.matrixArtikel_JN == 'N' ? 'Netto' : 'Netto ab'}}\r\n {{artikel.anzeigeNetto}}\r\n \r\n
\r\n
\r\n {{artikel.matrixArtikel_JN == 'N' ? 'Brutto' : 'Brutto ab'}}\r\n {{artikel.anzeigeBrutto}}\r\n \r\n
\r\n 0 && artikel.preisNetto > 0 && artikel.wS_Ohneverrechnung != 1\">\r\n (inkl. {{artikel.rabatt}}% Rabatt)\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n","import { RestService } from \"@abp/ng.core\";\r\nimport { CurrencyPipe } from \"@angular/common\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport Swal, { SweetAlertIcon } from 'sweetalert2';\r\nimport * as moment from \"moment\";\r\nimport { isUndefined } from \"util\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n// import { ActionNotificationComponent } from \"../views/partials/content/crud/action-notification/action-notification.component\";\r\n\r\n\r\n\r\nexport enum MessageType {\r\n\tCreate,\r\n\tRead,\r\n\tUpdate,\r\n\tDelete\r\n}\r\n\r\n@Injectable()\r\nexport class LayoutUtilsService {\r\n\r\n constructor(\r\n\t\tprivate snackBar: MatSnackBar,\r\n\t\tprivate dialog: MatDialog, \r\n\t\tprivate currencyPipe: CurrencyPipe,\r\n\t\tprivate restService: RestService\r\n ) {}\r\n\r\n\tgetBootstrapClass(inputWidth?: number) {\r\n\t\tvar width = window.innerWidth;\r\n\t\tif (inputWidth != undefined) {\r\n\t\t\twidth = inputWidth\r\n\t\t}\r\n\r\n\t\tif (width < 576) {\r\n\t\t\treturn 0; // Extra small\r\n\t\t} else if (width < 768) {\r\n\t\t\treturn 1; // Small\r\n\t\t} else if (width < 992) {\r\n\t\t\treturn 2; // Medium\r\n\t\t} else if (width < 1200) {\r\n\t\t\treturn 3; // Large\r\n\t\t}\r\n\r\n\t\treturn 4;\r\n\t}\r\n\r\n\t\r\n\t/** QWERT **\r\n\t * Create string for paging, sorting and filtering to be used in services.\r\n\t *\r\n\t * @param pageNumber: number\r\n\t * @param pageSize: number\r\n\t * @param sortField: string\r\n\t * @param sortDirection: string\r\n\t * @param filter: string\r\n\t */\r\n\r\n\t// variables to be used to create the string\r\n\r\n\r\n\r\n\t// string to be returned\r\n\r\n\r\n\r\n\tgetPagedSortedFilteredString(pageNumber?: number,\r\n\t\tpageSize?: number,\r\n\t\tsortField: string = '',\r\n\t\tsortDirection: string = '',\r\n\t\tfilter?: string) {\r\n\t\r\n\t\t\tlet gString = '';\r\n\r\n\t\tlet checkPageNumber = false;\r\n\t\tlet checkPageSize = false;\r\n\t\tlet checkSortField = false;\r\n\t\tlet checkSortDirection = false;\r\n\t\tlet checkFilter = false;\r\n\r\n\t\tlet pnText = 'SkipCount=';\r\n\t\tlet psText = 'MaxResultCount=';\r\n\t\tlet sfText = 'Sorting=';\r\n\t\tlet sdText = 'asc';\r\n\t\tlet fText = 'Filter=';\r\n\r\n\r\n\t\tif (pageNumber != null && pageNumber > 0) {\r\n\t\t\tgString = '?' + pnText + (pageNumber - 1) * pageSize;\r\n\t\t\tcheckPageNumber = true;\r\n\t\t}\r\n\r\n\t\tif (pageSize != null && pageSize > 0) {\r\n\t\t\tif (checkPageNumber) {\r\n\t\t\t\tgString += '&' + psText + pageSize;\r\n\t\t\t} else {\r\n\t\t\t\tgString = '?' + psText + pageSize;\r\n\t\t\t}\r\n\t\t\tcheckPageSize = true;\r\n\t\t}\r\n\r\n\t\tif (checkPageNumber || checkPageSize) {\r\n\t\t\tgString += '&' + sfText + sortField + '%20' + sortDirection;\r\n\t\t} else {\r\n\t\t\tgString = '?' + sfText + sortField + '%20' + sortDirection;\r\n\t\t}\r\n\r\n\t\tif (!isUndefined(filter) && filter.length > 0) {\r\n\t\t\tgString += '&' + fText + filter;\r\n\t\t}\r\n\r\n\t\treturn gString;\r\n\t}\r\n\r\n\r\n\tgetPagedSortedString(pageNumber?: number,\r\n\t\tpageSize?: number,\r\n\t\tsortField: string = '',\r\n\t\tsortDirection: string = '') {\r\n\t\r\n\t\tlet gString = '';\r\n\r\n\t\tlet checkPageNumber = false;\r\n\t\tlet checkPageSize = false;\r\n\t\tlet checkSortField = false;\r\n\t\tlet checkSortDirection = false;\r\n\r\n\t\tlet pnText = 'SkipCount=';\r\n\t\tlet psText = 'MaxResultCount=';\r\n\t\tlet sfText = 'Sorting=';\r\n\t\tlet sdText = 'asc';\r\n\r\n\r\n\t\tif (pageNumber != null && pageNumber > 0) {\r\n\t\t\tgString = '?' + pnText + (pageNumber - 1) * pageSize;\r\n\t\t\tcheckPageNumber = true;\r\n\t\t}\r\n\r\n\t\tif (pageSize != null && pageSize > 0) {\r\n\t\t\tif (checkPageNumber) {\r\n\t\t\t\tgString += '&' + psText + pageSize;\r\n\t\t\t} else {\r\n\t\t\t\tgString = '?' + psText + pageSize;\r\n\t\t\t}\r\n\t\t\tcheckPageSize = true;\r\n\t\t}\r\n\r\n\t\tif (checkPageNumber || checkPageSize) {\r\n\t\t\tgString += '&' + sfText + sortField + '%20' + sortDirection;\r\n\t\t} else {\r\n\t\t\tgString = '?' + sfText + sortField + '%20' + sortDirection;\r\n\t\t}\r\n\r\n\t\treturn gString;\r\n\t}\r\n\r\n\r\n getPagedSortedFilteredStringPrimeNG(\r\n\t\tskipCount?: number,\r\n\t\tpageSize?: number,\r\n\t\tsortField: string = '',\r\n\t\tsortDirection: string = '',\r\n\t\tfilter?: string) {\r\n\t\tlet gString = '';\r\n\r\n\t\tlet checkPageNumber = false;\r\n\t\tlet checkPageSize = false;\r\n\t\tlet checkSortField = false;\r\n\t\tlet checkSortDirection = false;\r\n\t\tlet checkFilter = false;\r\n\r\n\t\tlet pnText = 'SkipCount=';\r\n\t\tlet psText = 'MaxResultCount=';\r\n\t\tlet sfText = 'Sorting=';\r\n\t\tlet sdText = 'asc';\r\n\t\tlet fText = 'Filter=';\r\n\r\n\r\n\t\tif (skipCount != null && skipCount > 0) {\r\n\t\tgString = '?' + pnText + (skipCount);\r\n\t\tcheckPageNumber = true;\r\n\t\t}\r\n\r\n\t\tif (pageSize != null && pageSize > 0) {\r\n\t\tif (checkPageNumber) {\r\n\t\tgString += '&' + psText + pageSize;\r\n\t\t} else {\r\n\t\tgString = '?' + psText + pageSize;\r\n\t\t}\r\n\t\tcheckPageSize = true;\r\n\t\t}\r\n\r\n\t\tif (checkPageNumber || checkPageSize) {\r\n\t\tgString += '&' + sfText + sortField + '%20' + sortDirection;\r\n\t\t} else {\r\n\t\tgString = '?' + sfText + sortField + '%20' + sortDirection;\r\n\t\t}\r\n\r\n\t\tif (!isUndefined(filter) && filter.length > 0) {\r\n\t\tgString += '&' + fText + filter;\r\n\t\t}\r\n\r\n\t\treturn gString;\r\n\t}\r\n\r\n\tgetPagedSortedStringPrimeNG(\r\n\t\tskipCount?: number,\r\n\t\tpageSize?: number,\r\n\t\tsortField: string = '',\r\n\t\tsortDirection: string = '') {\r\n\t\tlet gString = '';\r\n\r\n\t\tlet checkPageNumber = false;\r\n\t\tlet checkPageSize = false;\r\n\t\tlet checkSortField = false;\r\n\t\tlet checkSortDirection = false;\r\n\t\tlet checkFilter = false;\r\n\r\n\t\tlet pnText = 'SkipCount=';\r\n\t\tlet psText = 'MaxResultCount=';\r\n\t\tlet sfText = 'Sorting=';\r\n\t\tlet sdText = 'asc';\r\n\t\tlet fText = 'Filter=';\r\n\r\n\r\n\t\tif (skipCount != null && skipCount > 0) {\r\n\t\tgString = '?' + pnText + (skipCount);\r\n\t\tcheckPageNumber = true;\r\n\t\t}\r\n\r\n\t\tif (pageSize != null && pageSize > 0) {\r\n\t\tif (checkPageNumber) {\r\n\t\tgString += '&' + psText + pageSize;\r\n\t\t} else {\r\n\t\tgString = '?' + psText + pageSize;\r\n\t\t}\r\n\t\tcheckPageSize = true;\r\n\t\t}\r\n\r\n\t\tif (checkPageNumber || checkPageSize) {\r\n\t\tgString += '&' + sfText + sortField + '%20' + sortDirection;\r\n\t\t} else {\r\n\t\tgString = '?' + sfText + sortField + '%20' + sortDirection;\r\n\t\t}\r\n\r\n\t\treturn gString;\r\n\t}\r\n\r\n\tgetLocaleDateObj(datetime : Date) : Date\r\n\t{\r\n\t\treturn moment.utc(datetime).local().toDate();\r\n\t}\r\n\r\n\t// format local date\r\n\tgetLocaleDate(datetime: Date) {\r\n\t\tvar ret = \"\";\r\n\r\n\t\tif (datetime != null) {\r\n\t\t\tret = moment.utc(datetime).local().format('DD.MM.YYYY');\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t// format local date/time\r\n\tgetLocaleDateTime(datetime: Date) {\r\n\t\tvar ret = \"\";\r\n\r\n\t\tif (datetime != null) {\r\n\t\t\tret = moment.utc(datetime).local().format();\r\n\t\t\t// ret = moment.utc(datetime).local().format('YYYY-MM-DDThh:mm:ss');\r\n\t\t\t// ret = moment.utc(datetime).local().format('DD.MM.YYYY, hh:mm');\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tgetLocaleDateTimeDE(datetime: Date) {\r\n\t\tvar ret = \"\";\r\n\r\n\t\tif (datetime != null) {\r\n\t\t\t// ret = moment.utc(datetime).local().format('YYYY-MM-DDThh:mm:ss');\r\n\t\t\tret = moment.utc(datetime).local().format('DD.MM.YYYY, HH:mm');\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tgetCurrencyFormat(amount: number, isocode: string) {\r\n return this.currencyPipe.transform(amount, isocode);\r\n }\r\n\r\n\tgetRandomColor() {\r\n\t\tvar color = Math.floor(0x1000000 * Math.random()).toString(16);\r\n\t\treturn '#' + ('000000' + color).slice(-6);\r\n\t}\r\n\r\n\tgetRandomColor2() {\r\n\t\tvar length = 6;\r\n\t\tvar chars = '0123456789ABCDEF';\r\n\t\tvar hex = '#';\r\n\t\twhile(length--) hex += chars[(Math.random() * 16) | 0];\r\n\t\treturn hex;\r\n\t}\r\n\r\n\tgetInitialsColor(firstLetter: string, secondLetter: string) {\r\n\t\tvar initialVal = 1;\r\n\t\tif (firstLetter.charCodeAt(0) >= secondLetter.charCodeAt(0)) {\r\n\t\t\tinitialVal = firstLetter.charCodeAt(0) / secondLetter.charCodeAt(0);\r\n\t\t} else {\r\n\t\t\tinitialVal = secondLetter.charCodeAt(0) / firstLetter.charCodeAt(0);\r\n\t\t}\r\n\t\tvar color = Math.floor(0x1000000 * initialVal).toString(16);\r\n\t\treturn '#' + ('000000' + color).slice(-6);\r\n\t}\r\n\r\n\tgetqAvatarColor(avatarText: string) {\r\n\t\tvar hex = 0;\r\n\t\tfor(var i = 0; i < avatarText.length; i++)\r\n\t\t{\r\n\t\t\thex += avatarText.charCodeAt(i) * Math.pow(2, 18 - i);\r\n\t\t}\r\n\t\tvar hexVal = '000000' + Math.floor(hex).toString(16);\r\n\t\thexVal = '#' + hexVal.slice(-6);\r\n\r\n\t\treturn hexVal;\r\n\t}\r\n\r\n\t// Round prices for a defined number of decimal places.\r\n\troundPrices(value, decimals) {\r\n return Number(Math.round((value + Number.EPSILON) * Math.pow(10, decimals)) / Math.pow(10, decimals));\r\n }\r\n\r\n\t/**\r\n\t * Showing Confirmation Swal-Dialog before Entity Removing\r\n\t *\r\n\t * @param title: string\r\n\t * @param description: string\r\n\t * @param waitDesciption: string\r\n\t */\r\n\tdeleteElement(title: string = '', description: string = '', waitDesciption: string = '') {\r\n\t\treturn Swal.fire(\r\n\t\t\t{\r\n\t\t\t\ttitle,\r\n\t\t\t\ttext: description,\r\n\t\t\t\ticon: 'question',\r\n\t\t\t\tshowCloseButton: true,\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: 'Löschen',\r\n\t\t\t\tcancelButtonText: 'Abbruch',\r\n\t\t\t});\r\n\t}\r\n\r\n\t\t/**\r\n\t * Showing (Mat-Snackbar) Notification\r\n\t *\r\n\t * @param message: string\r\n\t * @param type: MessageType\r\n\t * @param duration: number\r\n\t * @param showCloseButton: boolean\r\n\t * @param showUndoButton: boolean\r\n\t * @param undoButtonDuration: number\r\n\t * @param verticalPosition: 'top' | 'bottom' = 'top'\r\n\t */\r\n\tshowActionNotification(\r\n\t\t_message: string,\r\n\t\t_type: MessageType = MessageType.Create,\r\n\t\t_duration: number = 10000,\r\n\t\t_showCloseButton: boolean = true,\r\n\t\t_showUndoButton: boolean = true,\r\n\t\t_undoButtonDuration: number = 3000,\r\n\t\t_verticalPosition: 'top' | 'bottom' = 'bottom'\r\n\t) {\r\n\t\tconst _data = {\r\n\t\t\tmessage: _message,\r\n\t\t\tsnackBar: this.snackBar,\r\n\t\t\tshowCloseButton: _showCloseButton,\r\n\t\t\tshowUndoButton: _showUndoButton,\r\n\t\t\tundoButtonDuration: _undoButtonDuration,\r\n\t\t\tverticalPosition: _verticalPosition,\r\n\t\t\ttype: _type,\r\n\t\t\taction: 'Undo',\r\n\t\t};\r\n\r\n\r\n\t\treturn this.snackBar.open(_message,\"Action\",{\r\n\t\t\tduration: _duration,\r\n\t\t\tdata: _data,\r\n\t\t\tverticalPosition: _verticalPosition,\r\n\t\t\t// panelClass: ['snackbar-green']\r\n\t\t});\r\n\t\t// return this.snackBar.openFromComponent(ActionNotificationComponent, {\r\n\t\t// \tduration: _duration,\r\n\t\t// \tdata: _data,\r\n\t\t// \tverticalPosition: _verticalPosition,\r\n\t\t// \t// panelClass: ['snackbar-green']\r\n\t\t// });\r\n\t}\r\n\r\n\t/** QWERT **\r\n\t * Showing Confirmation (Mat-Dialog) before Entity Removing\r\n\t *\r\n\t * @param title: string\r\n\t * @param description: string\r\n\t * @param waitDesciption: string\r\n\t */\r\n\terrorMessage(title: string = '', message: string = '', errorCode: string = '') {\r\n\t\treturn Swal.fire(\r\n\t\t\t{\r\n\t\t\t\ttitle,\r\n\t\t\t\ttext: message,\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\tshowCloseButton: true,\r\n\r\n\t\t\t\tconfirmButtonText: 'Ok',\r\n\t\t\t});\r\n\t}\r\n\t\r\n\t/**\r\n\t * Open Dialog (Mat-Dialog) for common tasks.\r\n\t *\r\n\t * @param title: string\r\n\t * @param description: string\r\n\t * @param icon: string\r\n\t */\r\n\t\tqwertDialog(title: string = '', description: string = '', _icon: SweetAlertIcon = 'question',\r\n\t\t_showCloseButton: boolean = true, _showCancelButton: boolean = true, _confirmButtonText: string = \"OK\", _cancelButtonText: string = \"Cancel\") {\r\n\r\n\t\treturn Swal.fire(\r\n\t\t{\r\n\t\t\ttitle,\r\n\t\t\ttext: description,\r\n\t\t\ticon: _icon,\r\n\t\t\tshowCloseButton: _showCloseButton,\r\n\t\t\tshowCancelButton: _showCancelButton,\r\n\t\t\tconfirmButtonText: _confirmButtonText,\r\n\t\t\tcancelButtonText: _cancelButtonText,\r\n\t\t});\r\n\t}\r\n\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { ArtikelBild } from '../../store/models/artikelbild';\r\n\r\n@Component({\r\n selector: 'kkis-app-artikelbild-thumbs1',\r\n templateUrl: './artikelbild-thumbs1.component.html',\r\n styleUrls: ['./artikelbild-thumbs1.component.scss']\r\n})\r\nexport class ArtikelbildThumbs1Component implements OnInit {\r\n\r\n @Input()\r\n artikelBilder: ArtikelBild.IArtikelBilderDto;\r\n\r\n @Input()\r\n isVertical: boolean = true;\r\n\r\n @Output()\r\n selectedImage: EventEmitter = new EventEmitter();\r\n\r\n\r\n // Settings\r\n public config: PerfectScrollbarConfigInterface = {};\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onSelectImage(artikelBild) {\r\n this.selectedImage.emit(artikelBild);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Byte } from '@angular/compiler/src/util';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LayoutUtilsService } from 'src/app/core/layout-utils.service';\r\nimport { Artikel } from '../../store/models/artikel';\r\nimport { ArtikelQuickView1Component } from '../artikel-quick-view1/artikel-quick-view1.component';\r\n\r\n@Component({\r\n selector: 'kkis-app-artikel-list-widget1',\r\n templateUrl: './artikel-list-widget1.component.html',\r\n styleUrls: ['./artikel-list-widget1.component.scss']\r\n})\r\nexport class ArtikelListWidget1Component implements OnInit {\r\n\r\n // Input\r\n @Input()\r\n artikel: Artikel.IArtikelDto;\r\n\r\n @Input()\r\n itemsPerRow: number;\r\n\r\n @Input()\r\n isList: boolean = false;\r\n\r\n // Images (from local <> FROM DATABASE)\r\n imgPath: string = \"assets/media/products/\";\r\n imgFile: BlobPart[];\r\n // imgFile: string;\r\n\r\n imgMaxWidth: number;\r\n itemsPerRowMax: number;\r\n\r\n // Dialog\r\n dialogWidth: string;\r\n dialogHeight: string;\r\n\r\n // Utils\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private layoutUtilsService: LayoutUtilsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n var w = this.layoutUtilsService.getBootstrapClass();\r\n switch(w) {\r\n case 0:\r\n case 1: {\r\n this.dialogWidth = \"95%\";\r\n this.dialogHeight = \"95%\";\r\n this.itemsPerRowMax = 1;\r\n break;\r\n }\r\n case 2: {\r\n this.dialogWidth = \"60%\";\r\n this.dialogHeight = \"80%\";\r\n this.itemsPerRowMax = 2;\r\n break;\r\n }\r\n case 3: {\r\n this.dialogWidth = \"60%\";\r\n this.dialogHeight = \"80%\";\r\n this.itemsPerRowMax = 4;\r\n break;\r\n }\r\n default: {\r\n this.dialogWidth = \"60%\";\r\n this.dialogHeight = \"80%\";\r\n this.itemsPerRowMax = 6;\r\n break;\r\n }\r\n }\r\n\r\n // random image from local storage - FOR TEST PURPOSE ONLY\r\n // this.imgFile = this.imgPath + this.randomNumber(1, 22) + \".png\";\r\n\r\n // const reader = new FileReader();\r\n // reader.onload = (e) => this.imgFile = e.target.result;\r\n // reader.readAsDataURL(new Blob(this.artikel.bild));\r\n\r\n this.imgFile = this.artikel.bild;\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n onOpenArtikelQuickView() {\r\n const dialogRef = this.dialog.open(ArtikelQuickView1Component, {\r\n width: this.dialogWidth,\r\n data: {\r\n artikel: this.artikel,\r\n image: this.imgFile,\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(\"dialog.closed => \", result);\r\n });\r\n }\r\n\r\n private randomNumber(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n {{artikel.name}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n \r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{artikel.name}}\r\n
\r\n
\r\n {{artikel.text}}\r\n
\r\n
\r\n {{artikel.vkPreis | currency: 'EUR'}}\r\n
\r\n
\r\n
\r\n
\r\n
","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"]}