{"version":3,"sources":["webpack:///src/app/app-translate/shared/app-translate-loader.service.ts","webpack:///src/app/bidding-status/bidding-status-container/bidding-status-container.component.ts","webpack:///src/app/bidding-status/bidding-status-container/bidding-status-container.template.html","webpack:///src/app/format/formated-input/formated-input.component.ts","webpack:///src/app/format/formated-input/formated-input.template.html","webpack:///src/app/format/shared/date-time.service.ts","webpack:///src/app/loaders/loader-spinner/loader-spinner.component.ts","webpack:///src/app/loaders/loader-spinner/loader-spinner.template.html","webpack:///src/app/auction-supplier/auction-supplier-container/auction-supplier-container.component.ts","webpack:///src/app/auction-supplier/auction-supplier-container/auction-supplier-container.template.html","webpack:///src/app/app-info/shared/app-info.data.ts","webpack:///src/app/settings/shared/settings.data.ts","webpack:///src/app/auctions/auctions-container/auctions-container.component.ts","webpack:///src/app/auctions/auctions-container/auctions-container.template.html","webpack:///src/app/data-sync/shared/data-sync.service.ts","webpack:///src/app/bids/bids.module.ts","webpack:///src/app/app-translate/shared/app-translate.data.ts","webpack:///src/app/user/shared/user.data.ts","webpack:///src/app/bidding/shared/bidding.data.ts","webpack:///src/app/join-auction/join-auction-shared-container/join-auction-shared-container.component.ts","webpack:///src/app/bidding-status/tender-rank/tender-rank.component.ts","webpack:///src/app/bidding-status/tender-rank/tender-rank.template.html","webpack:///src/app/auction-info/shared/auction-info.store.ts","webpack:///src/app/settings/shared/settings.interfaces.ts","webpack:///src/app/loaders/loader-cover/loader-cover.component.ts","webpack:///src/app/loaders/loader-cover/loader-cover.template.html","webpack:///src/app/auction-info/timer/timer.component.ts","webpack:///src/app/auction-info/timer/timer.template.html","webpack:///src/app/bidding/answer-widget/answer-widget.component.ts","webpack:///src/app/bidding/answer-widget/answer-widget.template.html","webpack:///src/app/bidding-status/shared/bidding-status-api.service.ts","webpack:///src/app/auction-info/timer-container/timer-container.component.ts","webpack:///src/app/auction-info/timer-container/timer-container.template.html","webpack:///src/app/user/user.module.ts","webpack:///src/app/app-routing/shared/app-routes.constants.ts","webpack:///src/app/settings/settings.module.ts","webpack:///src/app/app-forms/app-datepicker/app-datepicker-i18n.service.ts","webpack:///src/app/format/format.module.ts","webpack:///src/app/settings/shared/settings-sockets.service.ts","webpack:///src/app/auction-supplier/auction-supplier-page/auction-supplier-page.component.ts","webpack:///src/app/auction-supplier/auction-supplier-page/auction-supplier-page.template.html","webpack:///src/app/auction-info/page-header/page-header.component.ts","webpack:///src/app/auction-info/page-header/page-header.template.html","webpack:///src/app/core/shared/audio.service.ts","webpack:///src/environments/environment.ts","webpack:///src/app/app-translate/languages-flags/languages-flags.component.ts","webpack:///src/app/app-translate/languages-flags/languages-flags.template.html","webpack:///src/app/join-auction/shared/join-auction.data.ts","webpack:///src/app/auctions/auctions-page/auctions-page.component.ts","webpack:///src/app/auctions/auctions-page/auctions-page.template.html","webpack:///src/app/app-forms/validation-errors/validation-errors.component.ts","webpack:///src/app/app-forms/validation-errors/validation-errors.template.html","webpack:///src/app/data-sync/data-sync.module.ts","webpack:///src/app/auctions/auctions.module.ts","webpack:///src/app/bids/shared/bids-sockets.service.ts","webpack:///src/app/dialog/dialog.module.ts","webpack:///src/app/loaders/loader-launcher/loader-launcher.component.ts","webpack:///src/app/loaders/loader-launcher/loader-launcher.template.html","webpack:///src/app/user/shared/auth-guard.service.ts","webpack:///src/app/app-forms/app-datepicker/app-datepicker.component.ts","webpack:///src/app/app-forms/app-datepicker/app-datepicker.template.html","webpack:///src/app/format/shared/format.const.ts","webpack:///src/app/core/shared/app.config.ts","webpack:///src/app/bids/shared/bids.store.ts","webpack:///src/app/auction-supplier/auction-supplier.module.ts","webpack:///src/app/notifications/notifications-holder/notifications-holder.component.ts","webpack:///src/app/notifications/notifications-holder/notifications-holder.template.html","webpack:///src/app/join-auction/join-auction-supplier-container/join-auction-supplier-container.component.ts","webpack:///src/app/bids/shared/bids.data.ts","webpack:///src/app/app-forms/app-validators/integer.validator.ts","webpack:///src/app/core/shared/local-storage.service.ts","webpack:///src/app/auctions/create-auction-form-container/create-auction-form-container.component.ts","webpack:///src/app/auctions/create-auction-form-container/create-auction-form-container.template.html","webpack:///src/app/bids/bids-container/bids-container.component.ts","webpack:///src/app/bids/bids-container/bids-container.template.html","webpack:///src/app/home/home-page/home-page.component.ts","webpack:///src/app/layout/shared/error-page.service.ts","webpack:///src/app/answer-app-integration/answer-app-integration.module.ts","webpack:///src/app/app-translate/app-translate.module.ts","webpack:///src/app/loaders/loader-btn/loader-btn.component.ts","webpack:///src/app/loaders/loader-btn/loader-btn.template.html","webpack:///src/app/core/shared/error-handling.service.ts","webpack:///src/app/auctions/shared/auctions.data.ts","webpack:///src/app/bids/shared/bids-api.service.ts","webpack:///src/app/app-info/connection-indicator/connection-indicator.component.ts","webpack:///src/app/app-info/connection-indicator/connection-indicator.template.html","webpack:///src/app/layout/not-authorized-page/not-authorized-page.component.ts","webpack:///src/app/app-info/shared/app-info.store.ts","webpack:///src/app/settings/settings-form/settings-form.component.ts","webpack:///src/app/settings/settings-form/settings-form.template.html","webpack:///src/app/bidding/shared/bidding.store.ts","webpack:///src/app/app-routing/shared/redirection.service.ts","webpack:///src/app/app-forms/app-validators/date.validator.ts","webpack:///src/app/utils/shared/empty-link.directive.ts","webpack:///src/app/core/shared/base-api.service.ts","webpack:///src/app/app-forms/timepicker/timepicker.component.ts","webpack:///src/app/app-forms/timepicker/timepicker.template.html","webpack:///src/app/tenders/tenders-list/tenders-list.component.ts","webpack:///src/app/tenders/tenders-list/tenders-list.template.html","webpack:///src/app/app-translate/shared/app-translate.store.ts","webpack:///src/app/core/shared/base-sockets.interfaces.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/tenders/shared/tenders-api.service.ts","webpack:///src/app/app-info/app-info.module.ts","webpack:///src/app/app-info/connection-popover/connection-popover.component.ts","webpack:///src/app/app-info/connection-popover/connection-popover.template.html","webpack:///src/app/auctions/auctions-list/auctions-list.component.ts","webpack:///src/app/auctions/auctions-list/auctions-list.template.html","webpack:///src/app/settings/settings-container/settings-container.component.ts","webpack:///src/app/settings/settings-container/settings-container.template.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/user/shared/user.interfaces.ts","webpack:///src/app/app-info/connection-container/connection-container.component.ts","webpack:///src/app/app-info/connection-container/connection-container.template.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.template.html","webpack:///src/app/app-forms/shared/validation.constants.ts","webpack:///src/app/user/login-page/login-page.component.ts","webpack:///src/app/user/login-page/login-page.template.html","webpack:///src/app/layout/layout.module.ts","webpack:///src/app/bidding-status/shared/bidding-status-sockets.service.ts","webpack:///src/app/bidding-status/bidding-status.module.ts","webpack:///src/app/bidding/bidding.module.ts","webpack:///src/app/layout/sticky/sticky.directive.ts","webpack:///src/app/settings/settings-preview/settings-preview.component.ts","webpack:///src/app/settings/settings-preview/settings-preview.template.html","webpack:///src/app/data-sync/data-sync-purchaser-container/data-sync-purchaser-container.component.ts","webpack:///src/app/dialog/confirm/confirm.component.ts","webpack:///src/app/dialog/confirm/confirm.template.html","webpack:///src/app/auction-purchaser/auction-purchaser-page/auction-purchaser-page.component.ts","webpack:///src/app/auction-purchaser/auction-purchaser-page/auction-purchaser-page.template.html","webpack:///src/app/utils/utils.module.ts","webpack:///src/app/bids-chart/shared/bids-chart.interfaces.ts","webpack:///src/app/auction-info/shared/auction-info.data.ts","webpack:///src/app/layout/alert-page/alert-page.component.ts","webpack:///src/app/layout/alert-page/alert-page.template.html","webpack:///src/app/utils/shared/focus-on-init.directive.ts","webpack:///src/app/user/shared/user.service.ts","webpack:///src/app/app-routing/shared/app.resolver.ts","webpack:///src/app/app.module.ts","webpack:///src/app/core/shared/session.service.ts","webpack:///src/app/bidding/add-bid-container/add-bid-container.component.ts","webpack:///src/app/bidding/add-bid-container/add-bid-container.template.html","webpack:///src/app/user/shared/login-guard.service.ts","webpack:///src/app/tenders/tenders-container/tenders-container.component.ts","webpack:///src/app/tenders/tenders-container/tenders-container.template.html","webpack:///src/app/user/shared/public-pages-guard.service.ts","webpack:///src/app/bids/bids-list/bids-list.component.ts","webpack:///src/app/bids/bids-list/bids-list.template.html","webpack:///src/app/auctions/shared/auctions.interfaces.ts","webpack:///src/app/auction-purchaser/auction-purchaser.module.ts","webpack:///src/app/auctions/shared/auctions.store.ts","webpack:///src/app/layout/nav/nav.component.ts","webpack:///src/app/layout/nav/nav.template.html","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/home/home.module.ts","webpack:///src/app/app-translate/shared/app-translate.service.ts","webpack:///src/app/bids/shared/bids.interfaces.ts","webpack:///src/app/answer-app-integration/shared/answer-app-api.service.ts","webpack:///src/app/answer-app-integration/answer-app/answer-app.component.ts","webpack:///src/app/answer-app-integration/answer-app/answer-app.template.html","webpack:///src/app/pub-sub/shared/pub-sub.service.ts","webpack:///src/app/format/shared/format.ser.ts","webpack:///src/app/user/shared/user.store.ts","webpack:///src/app/layout/not-found-page/not-found-page.component.ts","webpack:///src/app/layout/not-found-page/not-found-page.template.html","webpack:///src/app/layout/error-page/error-page.component.ts","webpack:///src/app/layout/error-page/error-page.template.html","webpack:///src/app/auction-info/auction-info-container/auction-info-container.component.ts","webpack:///src/app/auction-info/auction-info-container/auction-info-container.template.html","webpack:///src/app/app-forms/app-validators/greaterThan.validator.ts","webpack:///src/app/bidding/add-bid-toolbar/add-bid-toolbar.component.ts","webpack:///src/app/bidding/add-bid-toolbar/add-bid-toolbar.template.html","webpack:///src/app/user/shared/user-api.service.ts","webpack:///src/app/auction-info/shared/auction-info.interfaces.ts","webpack:///src/app/store/shared/base-store.ts","webpack:///src/app/app-forms/shared/validation.service.ts","webpack:///src/app/tenders/shared/tenders.data.ts","webpack:///src/app/auction-info/shared/auction-info-api.service.ts","webpack:///src/app/auction-info/auction-info.module.ts","webpack:///src/app/answer-app-integration/shared/answer-app-communication.service.ts","webpack:///src/app/dialog/shared/dialog.service.ts","webpack:///src/app/auction-purchaser/auction-purchaser-container/auction-purchaser-container.component.ts","webpack:///src/app/auction-purchaser/auction-purchaser-container/auction-purchaser-container.template.html","webpack:///src/app/loaders/loader-holder/loader-holder.component.ts","webpack:///src/app/loaders/loader-holder/loader-holder.template.html","webpack:///src/app/settings/shared/settings-api.service.ts","webpack:///src/app/notifications/shared/notifications.service.ts","webpack:///src/app/settings/shared/settings.store.ts","webpack:///src/environments/base-environment.ts","webpack:///src/app/app-info/connection-popover/connection-popover.animations.ts","webpack:///src/app/bidding-status/leading-bid/leading-bid.component.ts","webpack:///src/app/bidding-status/leading-bid/leading-bid.template.html","webpack:///src/app/core/core.module.ts","webpack:///src/app/app-info/sound-toggle/sound-toggle.component.ts","webpack:///src/app/app-info/sound-toggle/sound-toggle.template.html","webpack:///src/app/join-auction/join-auction.module.ts","webpack:///src/app/join-auction/shared/join-auction.store.ts","webpack:///src/app/user/login-container/login-container.component.ts","webpack:///src/app/user/login-container/login-container.template.html","webpack:///src/app/loaders/loaders.module.ts","webpack:///src/app/format/shared/date.parser.formatter.ts","webpack:///src/app/app-translate/shared/app-translate-api.service.ts","webpack:///src/app/data-sync/data-sync-supplier-container/data-sync-supplier-container.component.ts","webpack:///src/app/tenders/shared/tenders.store.ts","webpack:///src/app/tenders/tenders.module.ts","webpack:///src/app/tenders/tenders-page/tenders-page.component.ts","webpack:///src/app/tenders/tenders-page/tenders-page.template.html","webpack:///src/app/bidding-status/shared/bidding-status.data.ts","webpack:///src/app/pub-sub/pub-sub.module.ts","webpack:///src/app/core/shared/animations.ts","webpack:///src/app/app-routing/app-routing.module.ts","webpack:///src/app/dialog/alert/alert.component.ts","webpack:///src/app/dialog/alert/alert.template.html","webpack:///src/app/app-translate/languages-dropdown/languages-dropdown.component.ts","webpack:///src/app/app-translate/languages-dropdown/languages-dropdown.template.html","webpack:///src/app/join-auction/shared/join-auction-sockets.service.ts","webpack:///src/app/app-forms/app-input-dropdown/app-input-dropdown.component.ts","webpack:///src/app/app-forms/app-input-dropdown/app-input-dropdown.template.html","webpack:///src/app/auctions/shared/auctions-api.service.ts","webpack:///src/app/app-forms/app-input/app-input.component.ts","webpack:///src/app/app-forms/app-input/app-input.template.html","webpack:///src/app/core/shared/base-sockets.service.ts","webpack:///src/app/bidding/shared/bidding-api.service.ts","webpack:///src/app/bidding-status/shared/bidding-status.store.ts","webpack:///src/app/notifications/notifications.module.ts","webpack:///src/app/app-forms/app-validators/lessThan.validator.ts","webpack:///src/app/app-forms/app-forms.module.ts","webpack:///src/app/join-auction/join-auction-purchaser-container/join-auction-purchaser-container.component.ts","webpack:///src/app/user/login-form/login-form.component.ts","webpack:///src/app/user/login-form/login-form.template.html","webpack:///src/app/app-forms/app-validators/time.validator.ts","webpack:///src/app/core/shared/sticky-elements.values.ts","webpack:///src/app/bidding/question-container/question-container.component.ts","webpack:///src/app/bidding/question-container/question-container.template.html","webpack:///src/main.ts","webpack:///src/app/core/shared/pub-sub-events.values.ts","webpack:///src/app/app-routing/shared/app.routing.ts"],"names":["AppTranslateLoader","_appTranslateStore","_appTranslateApiService","langKey","getTranslationsData","pipe","data","setTimeout","setState","supportedLanguages","datepickerTranslations","translations","BiddingStatusContainerComponent","_settingsSocketsService","_biddingStatusSocketsService","_settingsStore","_biddingStatusStore","_auctionInfoStore","_subscriptions","biddingStatus$","getState$","auctionInfoState$","settingsState$","startDateTime$","state","model","startDateTime","endDateTime$","endDateTime","unit$","auctionInfo","auctionModel","unit","isLoaded$","isLoaded","syncBiddingStatus","auctionId","tenderId","_initSocketsEvents","resetState","forEach","s","unsubscribe","s1","competitorSubmittedBid","subscribe","s2","settingsUpdated","changeDetection","OnPush","selector","styleUrls","templateUrl","FormatedInputComponent","_formatService","_translateService","focus","_subscription","onLangChange","viewValue","getFormatedNumber","_modelValue","value","event","formatedValue","target","unformatedValue","getUnformatedNumber","propagateChange","isDecimalSeparator","key","preventDefault","getValueWithoutThousandSeparators","emit","isNumber","fn","_","multi","provide","useExisting","onChange","onKeyPress","onFocus","onBlur","providers","isDisabled","id","DateTimeService","_ngbDateParserFormatter","dateInUserTimeZone","timeInUserTimeZone","dateTime","_getParsableDateTimeString","toISOString","isoDateTime","format","isoDate","mom","day","date","month","year","dateStructObj","unix","time","LoaderSpinnerComponent","inline","AuctionSupplierContainerComponent","stickyBiddingStatusOptions","toTop","defaultAppInfoState","hasFailedToInitReconnection","isConnectionPopoverShown","isSoundOn","socketsConnectionState","connecting","defaultSettingsState","isInEditMode","isLoading","bidImprovementType","minBidImprovement","timeExtension","settingsStateMock","AuctionsContainerComponent","_auctionsStore","_dialogService","state$","auctions$","auctions","showLoader$","getAuctions","open","confirm","deleteAuction","onCreateAuction","DataSyncService","onSyncFail","dismissActiveDialog","alert","BidsModule","forRoot","declarations","exports","imports","defaultAppTranslateState","activeLanguage","languages","defaultUserState","hasLoginFailed","isIdentityChecked","isLoggingIn","isLoggingOut","user","mockUser","displayName","role","purchaser","mockUserState","defaultBiddingState","bidModel","valueInitial","valuePrevious","isInputInEditMode","isSavingBid","isSubmittingBid","mockBiddingState","JoinAuctionSharedContainerComponent","_joinAuctionSocketsService","_joinAuctionStore","_appInfoStore","_pubSubService","_bindUnloadEventToLeaveAuction","whenConnected$","joinAuction","sub","logoutInitiated","leaveAuction","_unbindUnloadEventToLeaveAuction","x","window","onbeforeunload","TenderRankComponent","rank","getFormatedNumberWithUnit","submittedBidValue","AuctionInfoStore","_auctionInfoApiService","_errorPageService","isBiddingDisabled","_getState","auctionStatus","ongoing","_updateState","getAuction","response","e","status","title","text","show","newStatus","BidImprovementType","LoaderCoverComponent","TimerComponent","_dateTimeService","title$","_mapToStatusesProp","className$","description$","notSet","baseTime","notStarted","getFormatedDateTime","prop","statuses","_getStatuses","className","description","finished","remainingTime","AnswerWidgetComponent","_formBuilder","_validationService","onValueChange","onValueCancel","onValueFocus","_buildForm","changes","form","prevValue","previousValue","newValue","currentValue","patchValue","dirty","onCancel","valid","markAsPristine","_previousValue","roundedNextAllowedBidValue","getRoundedNumber","nextAllowedBidValue","pub","nextAllowedBidCopied","_animateCopiedNextBid","markAsDirty","onSubmit","isInvalid","group","required","number","nextAllowedBidAnimationState","animations","BiddingStatusApiService","_apiService","url","_getUrl","get","countdown","TimerContainerComponent","status$","isStatusSet","settingsAreLoaded","remainingTime$","_interval","currentStatus","_getNewStatus","updateAuctionStatus","_getRemainingTime","Date","remainingSecsToStart","diff","remainingSecsToEnd","remainingHoursToStart","minsNumber","mins","toString","length","secsNumber","secs","HOURS","DAYS","UserModule","appRoutesChildPaths","chart","appRoutesPaths","root","login","notAuthorized","noMatch","auction","auctionChart","supplier","tenders","tender","cookies","SettingsModule","AppDatepickerI18nService","weekday","getDatepickerTranslations","weekdays","months","getMonthShortName","FormatModule","SettingsSocketsService","_baseSocketsService","auctionProlonged","AuctionSupplierPageComponent","_activatedRoute","params","PageHeaderComponent","procurementName","procurementReferenceNumber","procurementOrganizationName","AudioService","_baseUrl","_play","file","audio","Audio","src","play","environment","LanguagesFlagsComponent","_appTranslateService","setAppLanguage","lang","defaultJoinAuctionState","joinedSuppliers","joinAuctionPeriodicities","cleanupOrphanSuppliers","maxIdleTime","supplierEmitsAsOnline","AuctionsPageComponent","ValidationErrorsComponent","getErrorMsg","getErrorValue","DataSyncModule","AuctionsModule","BidsSocketsService","newBidArrived","DialogModule","LoaderLauncherComponent","AuthGuardService","_userStore","_redirectionService","route","allowedRoles","roles","Promise","resolve","reject","getLoggedInUser","then","isAuthorized","indexOf","redirectNotAuthorized","redirectNotAuthenticated","AppDatepickerComponent","control","separators","da","decimal","thousand","nb","sv","monthDayTimeFormat","monthDayFormat","AppConfig","appTitle","apiServerUrl","defaultLang","timespanBeforeSessionTimeout","sessionTimeout","socketsHub","socketsServerUrl","BidsStore","_bidsApiService","_notificationsService","_audioService","_dataSyncService","setChartAsLoaded","isChartLoaded","_informAboutNewBid","bid","bidValue","bidInfo","supplierName","info","playNotificationSound","_informAboutNewBids","currentBids","newBids","reverse","newBid","doesBidExist","some","currentBid","getBids","bids","animationState","tab","activeTab","type","activeChartType","range","chartRange","AuctionSupplierModule","NotificationsHolderComponent","_toastrService","overlayContainer","toastContainer","clear","getCount","opacity","top","encapsulation","None","JoinAuctionSupplierContainerComponent","requestIfSupplierJoinedAuction","respondAsSupplierJoinedAuction","supplierIsOnline","defaultBidsState","initialBids","list","defaultMockedBids","createdOn","bidsStateMock","integerValidator","exp","valueInString","match","integer","LocalStorageService","JSON","parse","localStorage","getItem","setItem","stringify","CreateAuctionFormContainerComponent","_activeModal","isCreatingAuction$","isCreatingAuction","formValue","createAuctionForm","getRawValue","lotId","docsProjectId","createAuction","close","bind","arrayControl","emptyBid","newGroup","_getBidFormGroup","push","index","removeAt","defaultBids","_getInitialBids","bidsFormGroupArray","map","currency","array","lotName","onAddBid","BidsContainerComponent","_bidsStore","_bidsSocketsService","listTab","chartTab","bids$","isChartLoaded$","joinedSuppliers$","name","arrayOfJoinedSuppliers","loadBids","_initSocketEvents","_unit","tabs","classMap","setActiveTab","goToRoute","skipLocationChange","addBid","onSelectTab","HomePageComponent","redirectToDefault","ErrorPageService","_title","_text","_textInterpolateParams","_iconType","textInterpolateParams","iconType","instant","requestedUrl","snapshot","queryParams","decodeURIComponent","AnswerAppIntegrationModule","AppTranslateModule","ngModule","LoaderBtnComponent","shouldShowLoader","ErrorHandlingService","error","userSessionExpired","showNotAuthorized","notificationMsg","_getErrorNotificationMsg","modelMessages","_getErrorModelMessages","join","_getErrorStatusMessage","messages","errorModel","errors","err","hasOwnProperty","keyErrors","keyError","msg","untranslatedMsg","translatedMsg","offlineMultilingualMsg","statusText","defaultAuctionsState","BidsApiService","ConnectionIndicatorComponent","togglePopover","interval$","connectionState","observableInterval","_getClassName","connected","reconnecting","disconnected","onTogglePopover","NotAuthorizedPageComponent","AppInfoStore","showPopover","isShown","newState","SettingsFormComponent","_changeDetectorRef","onSave","bidImprovementTypes","_getBidImprovementTypes","selectedBidImprovementType","areSettingsSet","settings","auctionStatusAsync","_handleInputsDisabling","startDate","settingsForm","endDate","updateValueAndValidity","invalid","newSettings","_getNewSettingsFromFormValue","option","minBidImprovementControl","setValidators","_getMinBidImprovementValidators","isEndTime","getFormatedTime","formValues","hasChanged","endTime","startTime","pristine","disabled","percentage","values","formatedEndDate","getDestructedDate","isoEndDateTime","getIsoDate","parseInt","formatedStartDate","isoStartDateTime","isoEndDate","_getdefaultISODate","getStructedDate","isoEndTime","_getdefaultISOTime","isoStartDate","isoStartTime","validator","_relatedInputsValidator","initialStartTime","initialEndTime","self","startDateControl","startDateObj","endDateControl","endDateObj","startDateStamp","endDateStamp","startTimeControl","endTimeControl","startTimeStamp","endTimeStamp","validateRelatedDates","validateRelatedTimes","areDefaultDatesRulesFulfilledAndNotEmpty","isStartDateLaterThanEndDate","setErrors","datePeriod","startDateFormControl","endDateFormControl","isStartTimeValid","isEndTimeValid","areDefaultTimesRulesFulfilled","isStartTimeHigherThanOrEqualToEndTime","timePeriod","_canStartDateTimeControlsBeEdited","isStartTimeLaterThanCurrent","laterThanCurrentTime","isEndTimeLaterThanCurrent","startTimeFormControl","endTimeFormControl","isTimeLaterThanCurrent","dateControl","timeControl","formatedDate","dateTimeUnix","currentDateTimeUnix","oneHour","getTime","setHours","getHours","Math","ceil","getMinutes","setMinutes","enable","disable","markForCheck","validators","onSaveBtnClick","onTimeChange","onSelectBidImprovementType","BiddingStore","_biddingApiService","_areBidModelsEqual","b1","b2","getBid","updateBid","updateBiddingStatusAfterChangingPendingBid","submitBid","updateBiddingStatusAfterSubmittingBid","biddingStatus","RedirectionService","_router","returnUrl","navigateByUrl","isSuccess","redirectUrl","shouldRedirectToCurrentRoute","loginUrl","currentUrl","routerState","navigationExtras","encodeURIComponent","navigate","routeWithParams","getRouteWithParams","p","replace","dateValidator","isDateValid","valueString","getFormattedDate","isValid","padNumber","isNaN","toInteger","slice","EmptyLinkDirective","_element","_renderer","setAttribute","nativeElement","onClick","BaseApiService","config","_http","_errorHandlingService","_onSuccess","_publishRequestWasMadeEvent","_onError","handleApiError","errorStatus","apiRequestWasMade","_apiUrl","fullUrl","headers","Pragma","withCredentials","body","post","put","TimepickerComponent","valueChanged","isOpened","initialValue","TendersListComponent","AppTranslateStore","languagesKeys","activeLanguageKey","isActive","SocketListenHook","SocketEmitHook","SocketsConnectionState","SharedModule","TendersApiService","AppInfoModule","ConnectionPopoverComponent","reconnect","_getPopoverTitle","_getPopoverDescription","Error","AuctionsListComponent","SettingsContainerComponent","areSettingsSet$","selectors","auctionStatus$","shouldShowLoader$","language$","loadSettings","_openEditModeIfSettingsNotSet","openEditMode","areSet","updateSettings","createSettings","closeEditMode","canUserEdit","useNewSettings","prolong","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","keys","webpackContextKeys","Object","module","UserRole","ConnectionContainerComponent","connectionState$","hasFailedToInitReconnection$","_showPopoverWhenNeeded","setAsFailedToInitReconnection","shouldShow","onReconnect","AppComponent","_appConfig","_sessionService","_userService","_meta","addTag","content","userState$","isLoggedIn$","isIdentityChecked$","displayName$","userRole$","languages$","_handeUserLoginStatusChange","_handleErrorPage","initMultilingualApp","extendUserSessionTimeouts","unsetLoggedInUser","isLoginPageActive$","events","shouldShowNav$","activeLoginPage","logout","toggleSound","shouldShowErrorPage","isLoggedIn","closeAll","connect","hide","validationMessages","greaterThan","lessThan","LoginPageComponent","LayoutModule","BiddingStatusSocketsService","BiddingStatusModule","BiddingModule","StickyDirective","angularEl","_isSticky","_defaultOptions","maxWindowWidth","_el","_options","assign","userOptions","_isStickyClassName","_createHelperElement","_toggleSticky","_removeHelperElement","_helperEl","document","createElement","parentNode","insertBefore","removeChild","_isWindowWiderThanMaxAllowedWidth","_isElementHigherThanWindow","_unsetSticky","_isThresholdPassed","_setSticky","maxWidth","innerWidth","offsetHeight","innerHeight","elOffsetTop","getBoundingClientRect","elOffsetBottom","style","height","addClass","setStyle","offsetWidth","removeClass","onScroll","onResize","SettingsPreviewComponent","onEdit","momentStart","momentEnd","startYear","endYear","startMonth","endMonth","startDay","endDay","startFormat","endFormat","canEdit","language","DataSyncPurchaserContainerComponent","_syncPurchaserData","syncSettings","syncBids","whenReconnected$","ConfirmComponent","yesBtn","dismiss","onCancelClick","onYesClick","onNoClick","question","AuctionPurchaserPageComponent","UtilsModule","BidsChartType","defaulAuctionInfotState","biddingType","auctionInfotStateMock","AlertPageComponent","redirectToHome","goHome","FocusOnInitDirective","UserService","disconnect","AppResolver","getTranslationsResolver$","AppTranslateLoaderFactory","appTranslateStore","appTranslateApiService","AppModule","useClass","loader","deps","useFactory","bootstrap","SessionService","_userApiService","_clearSesssionTimeouts","_shouldHandleSession","_sessionCloseToExpireTimeout","_forceExtendSession","_forceEndSession","_sessionExpireTimeout","_handleExpiredSession","clearTimeout","isUserLoggedIn","isUserLoggingOut","warning","AddBidContainerComponent","_biddingStore","stickyToolbarOptions","auctionInfo$","shouldShowSinglePriceQuestion$","SinglePrice","isBiddingDisabled$","isSubmittingBid$","shouldShowBiddingDisabledAlert$","isSingleTenderLoaded","_shouldShowBiddingDisabledAlert","LoginGuardService","TendersContainerComponent","_tendersStore","tenders$","getTenders","PublicPagesGuardService","BidsListComponent","isSupplierJoined","BiddingType","AuctionPurchaserModule","AuctionsStore","_auctionsApiService","callback","newAuction","newAuctions","filter","NavComponent","isClosed","userRole","onNavbarToggle","webpackEmptyAsyncContext","HomeModule","AppTranslateService","_localStorageService","_defaultLangKey","userLangKey","_getUserLanguage","use","_setUserLanguage","_setVendorsLanguage","_setHtmlLanguageAttribute","currentLang","resetLang","_areTranslationsSet","set","t","setLabels","getElementsByTagName","BidsTab","AnswerAppApiService","html","sessionToken","projectId","documentId","baseUri","activeMode","selectedTenderIds","documentType","selectedTenderResultsLotId","selectedTenderId","selectedDocumentFilter","selectedLotFilter","selectedRequirementFilter","isReadOnly","isWeightOnly","isCommentOnly","isChooseLotsDialogVisible","appType","isLightVersion","script","AnswerAppComponent","_answerAppApiService","_answerAppCommunicationService","_hasAppBootstrapped","_hasLoadFailed","_subscribtions","_loadTendSignDocs","getAnswerApp","onSuccess","setAppAssetsAsLoaded","onError","containerEl","innerHTML","setAppParams","areAppAssetsLoaded","_createScript","bootstrapApp","_bindTendSignDocsEvents","onAppBootstrapped$","detectChanges","onAppRendered$","s3","onAnswerChange$","_updatePendingBidValue","getPendingBidValue","pendingBidValue","successCallback","errorCallback","head","onload","onerror","appendChild","PubSubService","_events","asObservable","next","String","prototype","replaceAll","search","replacement","split","FormatService","shouldRoundDecimals","getAppLanguage","expression","transform","_getValueWithTrailingZerosHandled","separator","Number","round","decimalSeparator","_getDecimalSeparator","thousandSeparator","_getThousandSeparator","parseFloat","isFinite","decimals","UserStore","redirectAfterLogout","redirectAfterLogin","NotFoundPageComponent","ErrorPageComponent","getTitle","getText","getTextInterpolateParams","getIconType","AuctionInfoContainerComponent","procurementName$","procurementReferenceNumber$","procurementOrganizationName$","getAuctionInfo","greaterThanValidator","minValue","AddBidToolbarComponent","onSubmitBid","_isBidValid","_getConfirmSubmitText","defaultMsg","formatedDiff","amount","warningMsg","template","UserApiService","AuctionStatus","BaseStore","defaultState","_state$","_stateAsObservable$","_defaultState","getValue","partOfState","ValidationService","formControl","errorKey","_getErrorKey","defaultTendersState","defaultTendersMocked","AuctionInfoApiService","AuctionInfoModule","AnswerAppCommunicationService","_areAppAssetsLoaded","_onEvent$","TendSignDocs","hostMethods","appParams","$doc","$","fullKey","observer","on","off","DialogService","_modalService","options","backdrop","keyboard","isUndismissible","size","windowClass","_activeModalRef","componentInstance","result","btnText","AuctionPurchaserContainerComponent","shouldExpandSettings$","LoaderHolderComponent","showLoader","SettingsApiService","NotificationsService","_count","interpolateParams","isAutoClose","translateDescription","disableTimeOutParam","toastr","disableTimeOut","countToastrs","startsWith","onShown","onHidden","SettingsStore","_settingsApiService","_areSettingsEqual","getSettings","_createOrUpdateSettings","newEndDateTime","newModel","formatedNewEndDateTime","minutes","isCreateAction","action","baseEnvironment","production","showHideAnimation","offset","LeadingBidComponent","isAnimated","_handleValueChangeAnimation","leadingBidValue","_previousLeadingBidValue","CoreModule","parentModule","useValue","SoundToggleComponent","isSoundOff$","JoinAuctionModule","JoinAuctionStore","currentTime","_getCurrentIsoTime","newJoinedSuppliers","lastSeenOnline","isJoined","newJoinedSupplier","LoginContainerComponent","hasLoginFailed$","isLoggingIn$","getJSON","onLogin","LoadersModule","DateParserFormatter","stringDate","momentDate","AppTranslateApiService","res","DataSyncSupplierContainerComponent","_syncSupplierData","syncBid","TendersStore","_tendersApiService","TendersModule","TendersPageComponent","defaultBiddingStatusState","submittedBidRank","PubSubModule","successColor","errorColor","listItemAppearAnimation","background","listItemDisappearAnimation","shakeAnimation","highlightElementAnimation","AppRoutingModule","AlertComponent","onOkClick","LanguagesDropdownComponent","JoinAuctionSocketsService","send","supplierJoinedAuction","supplierLeftAuction","supplierRespondedToPurchaserAsJoinedAuction","supplierRespondedAsOnline","AppInputDropdownComponent","onSelect","selectedOption","find","valueKey","selectedOptionValueKey","titleKey","AuctionsApiService","AppInputComponent","el","input","querySelector","getId","label","BaseSocketsService","createConnection","_hubConnection","start","_getConnectionStateFromSignalRGlobalObj","updateSocketsConnectionState","console","log","stop","Connected","isConnected","invoke","Reconnecting","Disconnected","withUrl","withAutomaticReconnect","configureLogging","Information","build","BiddingApiService","BiddingStatusStore","_biddingStatusApiService","isSilent","wasLeader","_isLeader","rankBefore","getBiddingStatus","hasRankChanged","isLeader","_notifyAboutBiddingStatusChangeAfterCompetingBidIsPublished","newBiddingStatus","_notifyAboutBiddingStatusChangeAfterOwnBidIsPublished","newBidValue","competitorPublishedBid","yourLostLeaderPosition","yourBidPublished","yourBecameLeader","NotificationsModule","closeButton","enableHtml","positionClass","preventDuplicates","tapToDismiss","timeOut","lessThanValidator","maxValue","AppFormsModule","JoinAuctionPurchaserContainerComponent","setSupplierAsJoinedAuction","setSupplierAsLeftAuction","s4","s5","LoginFormComponent","_hasLoginEverFailed","_animateAlert","_usernameInput","loginForm","password","username","isShaked","timeValidator","stickyElementsThresholds","QuestionContainerComponent","inputId","bidModel$","isSavingBid$","isInputInEditMode$","nextAllowedBidValue$","loadBid","parsedNewValue","closeInputInEditMode","openInputInEditMode","onBidValueChange","onBidValueCancel","onBidValueFocus","bootstrapModule","pubSubEvents","routes","path","component","canActivate","loadChildren","m","PublicPagesModule","children","BidsChartModule","appRouting"],"mappings":"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","file":"main-es5.js","sourcesContent":["\nimport { of, Observable } from 'rxjs';\n\nimport { catchError, map } from 'rxjs/operators';\nimport { AppTranslateApiService } from './app-translate-api.service';\nimport { AppTranslateStore } from './app-translate.store';\nimport { Translations } from './app-translate.interfaces';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AppTranslateLoader implements TranslateLoader {\n\n constructor(\n private _appTranslateStore: AppTranslateStore,\n private _appTranslateApiService: AppTranslateApiService,\n ) {}\n\n public getTranslation(langKey: string): Observable {\n return this._appTranslateApiService.getTranslationsData(langKey).pipe(\n map((data) => {\n // Need to set state after new translations are returned, so wrapping in setTimeout.\n // This way TranslateService is updated with new translations earlier than state.\n // When state changes, components, that depend on language\n // and uses TranslateService, render strings in correct language\n setTimeout(() => {\n this._appTranslateStore.setState(\n data.supportedLanguages,\n data.datepickerTranslations,\n langKey,\n );\n });\n return data.translations;\n }),\n catchError(() => {\n return of({});\n }));\n }\n}\n","\nimport { merge, Subscription , Observable } from 'rxjs';\n\nimport { map } from 'rxjs/operators';\nimport { SettingsSocketsService } from './../../settings/shared/settings-sockets.service';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { BiddingStatusState } from './../shared/bidding-status.interfaces';\nimport { BiddingStatusStore } from './../shared/bidding-status.store';\nimport { SettingsStore } from './../../settings/shared/settings.store';\nimport { Component, Input, OnInit, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { BiddingStatusSocketsService } from '../shared/bidding-status-sockets.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-bidding-status-container',\n styleUrls: [\n './bidding-status-container.styles.less',\n ],\n templateUrl: './bidding-status-container.template.html',\n})\nexport class BiddingStatusContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n public startDateTime$: Observable;\n\n public endDateTime$: Observable;\n\n public unit$: Observable;\n\n public isLoaded$: Observable;\n\n public biddingStatus$: Observable;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _settingsSocketsService: SettingsSocketsService,\n private _biddingStatusSocketsService: BiddingStatusSocketsService,\n private _settingsStore: SettingsStore,\n private _biddingStatusStore: BiddingStatusStore,\n private _auctionInfoStore: AuctionInfoStore,\n ) {}\n\n public ngOnInit(): void {\n this.biddingStatus$ = this._biddingStatusStore.getState$();\n const auctionInfoState$ = this._auctionInfoStore.getState$();\n const settingsState$ = this._settingsStore.getState$();\n\n this.startDateTime$ = settingsState$.pipe(\n map((state) => state.model.startDateTime));\n\n this.endDateTime$ = settingsState$.pipe(\n map((state) => state.model.endDateTime));\n\n this.unit$ = auctionInfoState$.pipe(\n map((auctionInfo) => auctionInfo.auctionModel.unit));\n\n this.isLoaded$ = merge(\n auctionInfoState$.pipe(map((state) => state.isLoaded)),\n settingsState$.pipe(map((state) => state.isLoaded)),\n this.biddingStatus$.pipe(map((state) => state.isLoaded)),\n );\n\n this._biddingStatusStore\n .syncBiddingStatus(this.auctionId, this.tenderId, true);\n\n this._initSocketsEvents();\n }\n\n public ngOnDestroy(): void {\n this._biddingStatusStore.resetState();\n this._subscriptions.forEach((s) => s.unsubscribe());\n }\n\n private _initSocketsEvents(): void {\n\n const s1 = this._biddingStatusSocketsService\n .competitorSubmittedBid()\n .subscribe(() => {\n this._biddingStatusStore\n .syncBiddingStatus(this.auctionId, this.tenderId, false);\n });\n\n const s2 = this._settingsSocketsService\n .settingsUpdated()\n .subscribe(() => {\n this._biddingStatusStore.syncBiddingStatus(\n this.auctionId,\n this.tenderId,\n true,\n );\n });\n\n this._subscriptions = [s1, s2];\n }\n\n}\n","
\n
\n\n \n
\n \n \n\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
","import { Subscription } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormatService } from './../shared/format.ser';\nimport {\n Component, Output, forwardRef,\n EventEmitter, Input, OnInit, OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FormatedInputComponent),\n },\n ],\n selector: 'eau-formated-input',\n templateUrl: './formated-input.template.html',\n})\nexport class FormatedInputComponent implements ControlValueAccessor, OnInit, OnDestroy {\n\n @Input()\n public isDisabled: boolean;\n\n @Input()\n public id: string;\n\n @Output()\n public focus: EventEmitter = new EventEmitter();\n\n public viewValue: string;\n\n private _modelValue: number;\n\n private _subscription: Subscription;\n\n constructor(\n private _formatService: FormatService,\n private _translateService: TranslateService,\n ) { }\n\n public ngOnInit(): void {\n this._subscription = this._translateService.onLangChange\n .subscribe(() => {\n this.viewValue = this._formatService.getFormatedNumber(this._modelValue, false);\n });\n }\n\n public ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /**\n * Is called when input value is changed somewhere outside of this component\n */\n public writeValue(value: number): void {\n this._modelValue = value;\n this.viewValue = this._formatService.getFormatedNumber(value, false);\n }\n\n public onChange(event: KeyboardEvent): void {\n const formatedValue = (event.target).value;\n const unformatedValue = this._formatService.getUnformatedNumber(formatedValue);\n this.viewValue = formatedValue;\n this._modelValue = unformatedValue;\n this.propagateChange(unformatedValue);\n }\n\n public onKeyPress(event: KeyboardEvent): void {\n if (this._formatService.isDecimalSeparator(event.key)) {\n event.preventDefault();\n }\n }\n\n public onFocus(): void {\n this.viewValue = this._formatService.getValueWithoutThousandSeparators(this.viewValue);\n this.focus.emit();\n }\n\n public onBlur(): void {\n if (this._formatService.isNumber(this._modelValue)) {\n this.viewValue = this._formatService.getFormatedNumber(this._modelValue, false);\n }\n }\n\n public registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n public registerOnTouched(): void {\n //\n }\n\n private propagateChange(_: any): void {\n //\n }\n\n}\n","","import { monthDayTimeFormat } from './format.const';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { Injectable } from '@angular/core';\nimport * as moment from 'moment';\n\n@Injectable()\nexport class DateTimeService {\n\n constructor(\n private _ngbDateParserFormatter: NgbDateParserFormatter,\n ) {}\n\n public getIsoDate(dateInUserTimeZone: string, timeInUserTimeZone: string): string {\n const dateTime = this._getParsableDateTimeString(dateInUserTimeZone, timeInUserTimeZone);\n return moment(dateTime, 'L HH:mm').toISOString();\n }\n\n /**\n * Returns formated date in user time zone\n */\n public getFormatedDate(isoDateTime: string): string {\n return moment(isoDateTime).format('LL HH:mm');\n }\n\n /**\n * Returns formated time in user time zone\n * @param time: can be time, date, isoDateTime\n */\n public getFormatedTime(isoDate: string): string {\n return moment(isoDate).format('HH:mm');\n }\n\n public getFormatedDateTime(isoDate: string): string {\n return moment(isoDate).format(monthDayTimeFormat[moment.locale()]);\n }\n\n public getStructedDate(isoDate: string): NgbDateStruct {\n if (isoDate) {\n const mom = moment(isoDate);\n return { day: mom.date(), month: mom.month() + 1, year: mom.year() };\n }\n\n return null;\n }\n\n public getDestructedDate(dateStructObj: NgbDateStruct): string {\n return this._ngbDateParserFormatter.format(dateStructObj);\n }\n\n public getUnixFromDate(isoDate: string): number {\n return moment(isoDate).unix();\n }\n\n public getDateFromUnix(unix: number, format: string): string {\n return moment.unix(unix).format(format);\n }\n\n private _getParsableDateTimeString(date: string, time: string): string {\n return date + ' ' + time;\n }\n\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-loader-spinner',\n styleUrls: [\n './loader-spinner.styles.less',\n ],\n templateUrl: './loader-spinner.template.html',\n})\nexport class LoaderSpinnerComponent {\n\n @Input()\n public inline: boolean;\n\n}\n","
\n
\n
\n
\n
\n
\n
\n","\nimport { map } from 'rxjs/operators';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { Observable } from 'rxjs';\nimport { StickyOptions } from './../../layout/sticky/sticky.interfaces';\nimport { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auction-supplier-container',\n templateUrl: './auction-supplier-container.template.html',\n})\nexport class AuctionSupplierContainerComponent {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n public stickyBiddingStatusOptions: StickyOptions = {\n toTop: true,\n };\n\n constructor(\n private _auctionInfoStore: AuctionInfoStore,\n ) {}\n\n public shouldRenderAllWidgets$(): Observable {\n return this._auctionInfoStore.getState$().pipe(\n map((s) => s.isLoaded));\n }\n\n}\n","\n\n\n\n
\n
\n \n
\n
\n\n
\n
\n \n \n\n
\n \n \n
\n
\n
\n \n \n
\n
\n","import { AppInfoState } from './app-info.interfaces';\nimport { SocketsConnectionState } from './../../core/shared/base-sockets.interfaces';\n\nexport const defaultAppInfoState: AppInfoState = {\n hasFailedToInitReconnection: false,\n isConnectionPopoverShown: false,\n isSoundOn: true,\n socketsConnectionState: SocketsConnectionState.connecting,\n};\n","import { SettingsState, BidImprovementType } from './settings.interfaces';\n\nexport const defaultSettingsState: SettingsState = {\n isInEditMode: false,\n isLoaded: false,\n isLoading: false,\n model: {\n bidImprovementType: null,\n endDateTime: null,\n minBidImprovement: null,\n startDateTime: null,\n timeExtension: null,\n },\n};\n\nexport const settingsStateMock: SettingsState = {\n isInEditMode: false,\n isLoaded: true,\n isLoading: false,\n model: {\n bidImprovementType: BidImprovementType.unit,\n endDateTime: '2016-07-01T15:00:00.000Z',\n minBidImprovement: 100,\n startDateTime: '2016-07-01T13:00:00.000Z',\n timeExtension: 300,\n },\n};\n","\nimport { combineLatest, Observable } from 'rxjs';\n\nimport { map } from 'rxjs/operators';\nimport { DialogService } from './../../dialog/shared/dialog.service';\nimport {\n CreateAuctionFormContainerComponent,\n} from './../create-auction-form-container/create-auction-form-container.component';\nimport { AuctionsStore } from './../shared/auctions.store';\nimport { Auction } from './../shared/auctions.interfaces';\nimport { Component, OnInit, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auctions-container',\n styleUrls: [\n './auctions-container.styles.less',\n ],\n templateUrl: './auctions-container.template.html',\n})\nexport class AuctionsContainerComponent implements OnInit, OnDestroy {\n\n public auctions$: Observable;\n\n public showLoader$: Observable;\n\n constructor(\n private _auctionsStore: AuctionsStore,\n private _dialogService: DialogService,\n ) {}\n\n public ngOnInit(): void {\n const state$ = this._auctionsStore.getState$();\n this.auctions$ = state$.pipe(map((state) => state.auctions));\n\n this.showLoader$ = combineLatest(\n [\n state$.pipe(map((state) => state.isLoaded)),\n state$.pipe(map((state) => state.isLoading)),\n ]).pipe(\n map(([isLoaded, isLoading]) => {\n return (!isLoaded || isLoading);\n }));\n this._auctionsStore.getAuctions();\n }\n\n public ngOnDestroy(): void {\n this._auctionsStore.resetState();\n }\n\n public onCreateAuction(): void {\n this._dialogService.open(CreateAuctionFormContainerComponent);\n }\n\n public deleteAuction(auctionId: number): void {\n this._dialogService.confirm('auctions_list.confirm_delete_auction')\n .subscribe(() => {\n this._auctionsStore.deleteAuction(auctionId);\n });\n }\n\n}\n","
\n\t
\n\n\t\t
\n\t\t\t
\n\n

{{'common.auctions' | translate}}

\n\n\t\t\t\t\n\n \n\n \n \n\n\t\t\t\t\n\n\t\t\t
\n\t\t
\n\n\t
\n
\n","import { DialogService } from './../../dialog/shared/dialog.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DataSyncService {\n\n constructor(\n private _dialogService: DialogService,\n ) {}\n\n public onSyncFail = (): void => {\n this._dialogService.dismissActiveDialog();\n this._dialogService.alert(\n 'sockets_connection.failed_to_sync',\n 'common.btn.ok');\n }\n\n}\n","import { RouterModule } from '@angular/router';\nimport { BidsSocketsService } from './shared/bids-sockets.service';\nimport { BidsStore } from './shared/bids.store';\nimport { BidsContainerComponent } from './bids-container/bids-container.component';\nimport { BidsApiService } from './shared/bids-api.service';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\nimport { BidsListComponent } from './bids-list/bids-list.component';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\n\n@NgModule({\n declarations: [\n BidsContainerComponent,\n BidsListComponent,\n ],\n exports: [\n BidsContainerComponent,\n ],\n imports: [\n FormsModule,\n SharedModule,\n TabsModule.forRoot(),\n RouterModule,\n ],\n providers: [\n BidsApiService,\n BidsStore,\n BidsSocketsService,\n ],\n})\nexport class BidsModule {\n\n}\n","import { AppTranslateState } from './app-translate.interfaces';\n\nexport const defaultAppTranslateState: AppTranslateState = {\n activeLanguage: null,\n datepickerTranslations: null,\n languages: [],\n};\n","import { UserState, UserRole, User } from './user.interfaces';\n\nexport const defaultUserState: UserState = {\n hasLoginFailed: false,\n isIdentityChecked: false,\n isLoggingIn: false,\n isLoggingOut: false,\n user: null,\n};\n\nexport const mockUser: User = {\n displayName: 'dummy username',\n role: UserRole.purchaser,\n};\n\nexport const mockUserState: UserState = {\n hasLoginFailed: false,\n isIdentityChecked: false,\n isLoggingIn: false,\n isLoggingOut: false,\n user: {\n displayName: 'dummy username',\n role: UserRole.purchaser,\n },\n};\n","import { BiddingState } from './bidding.interfaces';\n\nexport const defaultBiddingState: BiddingState = {\n bidModel: {\n value: null,\n valueInitial: null,\n valuePrevious: null,\n },\n isInputInEditMode: false,\n isLoaded: false,\n isLoading: false,\n isSavingBid: false,\n isSubmittingBid: false,\n};\n\nexport const mockBiddingState: BiddingState = {\n bidModel: {\n value: 100,\n valueInitial: 200,\n valuePrevious: 150,\n },\n isInputInEditMode: false,\n isLoaded: true,\n isLoading: false,\n isSavingBid: false,\n isSubmittingBid: false,\n};\n","import { JoinAuctionStore } from './../shared/join-auction.store';\nimport { pubSubEvents } from './../../core/shared/pub-sub-events.values';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { AppInfoStore } from './../../app-info/shared/app-info.store';\nimport { Subscription } from 'rxjs';\nimport { JoinAuctionSocketsService } from './../shared/join-auction-sockets.service';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-join-auction-shared-container',\n templateUrl: './join-auction-shared-container.template.html',\n})\nexport class JoinAuctionSharedContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n private _subscriptions: Subscription[];\n\n constructor(\n private _joinAuctionSocketsService: JoinAuctionSocketsService,\n private _joinAuctionStore: JoinAuctionStore,\n private _appInfoStore: AppInfoStore,\n private _pubSubService: PubSubService,\n ) {}\n\n public ngOnInit(): void {\n this._bindUnloadEventToLeaveAuction();\n\n this._appInfoStore.whenConnected$()\n .subscribe(() => {\n this._joinAuctionSocketsService.joinAuction(this.auctionId);\n });\n\n const s1 = this._pubSubService.sub(pubSubEvents.logoutInitiated).subscribe(() => {\n this._joinAuctionSocketsService.leaveAuction(this.auctionId);\n });\n\n this._subscriptions = [s1];\n }\n\n public ngOnDestroy(): void {\n this._unbindUnloadEventToLeaveAuction();\n this._joinAuctionStore.resetState();\n this._joinAuctionSocketsService.leaveAuction(this.auctionId);\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n private _bindUnloadEventToLeaveAuction(): void {\n window.onbeforeunload = () => {\n this._joinAuctionSocketsService.leaveAuction(this.auctionId);\n };\n }\n\n private _unbindUnloadEventToLeaveAuction(): void {\n window.onbeforeunload = null;\n }\n\n}\n","import { FormatService } from './../../format/shared/format.ser';\nimport { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-tender-rank',\n styleUrls: [\n '../../shared/shared/shared.styles.less',\n './tender-rank.styles.less',\n ],\n templateUrl: './tender-rank.template.html',\n})\nexport class TenderRankComponent {\n\n @Input()\n public rank: number;\n\n @Input()\n public submittedBidValue: number;\n\n @Input()\n public unit: string;\n\n constructor(\n private _formatService: FormatService,\n ) {}\n\n public getRank(): string {\n return '#' + this.rank;\n }\n\n public getSubmittedBidValue(): string {\n return this._formatService.getFormatedNumberWithUnit(this.submittedBidValue, this.unit);\n }\n\n}\n","
\n
{{'bidding_status.tender_rank' | translate}}
\n
\n {{getRank()}}\n ({{getSubmittedBidValue()}})\n
\n
\n {{'bidding_status.last_submitted_bid' | translate}}: {{getSubmittedBidValue()}}\n
\n
\n","import { ErrorPageService } from './../../layout/shared/error-page.service';\nimport { HttpError } from './../../core/shared/api.interfaces';\nimport { defaulAuctionInfotState } from './auction-info.data';\nimport { AuctionInfoApiService } from './auction-info-api.service';\nimport { AuctionInfoState, AuctionStatus } from './auction-info.interfaces';\nimport { BaseStore } from './../../store/shared/base-store';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AuctionInfoStore extends BaseStore {\n\n constructor(\n private _auctionInfoApiService: AuctionInfoApiService,\n private _errorPageService: ErrorPageService,\n ) {\n super(defaulAuctionInfotState);\n }\n\n public getAuctionInfo(auctionId: number): void {\n this._updateState({\n isLoading: true,\n });\n\n this._auctionInfoApiService.getAuction(auctionId)\n .subscribe((response) => {\n this._updateState({\n auctionModel: response,\n isLoaded: true,\n isLoading: false,\n });\n },\n (e: HttpError) => {\n this._updateState({\n isLoading: false,\n });\n\n if (e.status === 404) {\n const title = 'error_page.title.auction_not_found';\n const text = 'error_page.text.auction_not_found';\n this._errorPageService.show(title, text);\n }\n });\n }\n\n public updateAuctionStatus(newStatus: AuctionStatus): void {\n this._updateState({\n auctionStatus: newStatus,\n });\n }\n\n public isBiddingDisabled = (): boolean => {\n return this._getState().auctionStatus !== AuctionStatus.ongoing;\n }\n}\n","import { Observable } from 'rxjs';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\ninterface BaseSettings {\n startDateTime: string;\n endDateTime: string;\n minBidImprovement: number;\n bidImprovementType: BidImprovementType;\n timeExtension: number;\n}\n\nexport enum BidImprovementType {\n percentage = 'Percentage',\n unit = 'Unit',\n}\n\nexport interface BidImprovementOption {\n title: string;\n type: BidImprovementType;\n}\n\nexport interface GetSettingsApiResponseModel extends BaseSettings {\n}\n\nexport interface Settings extends BaseSettings {\n}\n\nexport interface SettingsFormModel {\n startDateTime?: string;\n endDateTime: string;\n minBidImprovement: number;\n bidImprovementType: BidImprovementType;\n timeExtension: number;\n}\n\nexport interface CreateSettingsApiRequestModel extends BaseSettings {\n}\n\nexport interface UpdateSettingsApiRequestModel extends SettingsFormModel {\n}\n\nexport interface CreateSettingsApiResponseModel extends BaseSettings {\n}\n\nexport interface UpdateSettingsApiResponseModel extends BaseSettings {\n}\n\nexport interface SettingsUpdatedSocketsResponseModel extends BaseSettings {\n}\n\nexport interface AuctionProlongedSocketsResponseModel {\n endDateTime: string;\n}\n\nexport interface SettingsState {\n isInEditMode: boolean;\n isLoaded: boolean;\n isLoading: boolean;\n model: Settings;\n}\n\nexport interface SettingsStoreSelectors {\n areSettingsSet$: () => Observable;\n}\n\nexport interface SettingsForm {\n endDate: NgbDateStruct;\n endTime: string;\n startDate: NgbDateStruct;\n startTime: string;\n minBidImprovement: number;\n timeExtension: number;\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-loader-cover',\n styleUrls: [\n './loader-cover.styles.less',\n ],\n templateUrl: './loader-cover.template.html',\n})\nexport class LoaderCoverComponent {\n\n}\n","
\n
\n \n
","\nimport { combineLatest, Observable } from 'rxjs';\n\nimport { map } from 'rxjs/operators';\nimport { DateTimeService } from './../../format/shared/date-time.service';\nimport { AuctionStatus, TimerLabelsStatuses } from '../shared/auction-info.interfaces';\nimport { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-timer',\n styleUrls: [\n '../../shared/shared/shared.styles.less',\n './timer.styles.less',\n ],\n templateUrl: './timer.template.html',\n})\nexport class TimerComponent {\n\n @Input()\n public startDateTime: Observable;\n\n @Input()\n public endDateTime: Observable;\n\n @Input()\n public remainingTime: string;\n\n @Input()\n public status: Observable;\n\n public title$: Observable;\n\n public className$: Observable;\n\n public description$: Observable;\n\n constructor(\n private _dateTimeService: DateTimeService,\n ) {}\n\n public ngOnInit(): void {\n this.title$ = this._mapToStatusesProp('title');\n this.className$ = this._mapToStatusesProp('className');\n this.description$ = this._mapToStatusesProp('description');\n }\n\n public getDate$(): Observable {\n return combineLatest([\n this.status,\n this.startDateTime,\n this.endDateTime,\n ]).pipe(\n map(([status, startDateTime, endDateTime]) => {\n if (status === AuctionStatus.notSet) {\n return '';\n }\n\n const baseTime = status === AuctionStatus.notStarted\n ? startDateTime : endDateTime;\n\n if (!baseTime) {\n return '';\n }\n\n return this._dateTimeService.getFormatedDateTime(baseTime);\n }));\n }\n\n private _mapToStatusesProp(prop: 'title' | 'className' | 'description'): Observable {\n return this.status.pipe(map((status) => {\n const statuses = this._getStatuses();\n return statuses[status][prop];\n }));\n }\n\n private _getStatuses(): TimerLabelsStatuses {\n const statuses: TimerLabelsStatuses = {};\n\n statuses[AuctionStatus.notSet] = {\n className: '',\n description: '',\n title: '',\n };\n\n statuses[AuctionStatus.notStarted] = {\n className: '',\n description: 'timer.status_not_started.description',\n title: 'timer.status_not_started.title',\n };\n\n statuses[AuctionStatus.ongoing] = {\n className: 'text-success',\n description: 'timer.status_ongoing.description',\n title: 'timer.status_ongoing.title',\n };\n\n statuses[AuctionStatus.finished] = {\n className: '',\n description: 'timer.status_finished.description',\n title: 'timer.status_finished.title',\n };\n\n return statuses;\n }\n\n}\n","
\n\n \n
{{title$ | async | translate}}
\n
\n {{remainingTime}}\n
\n
\n {{description$ | async | translate}} {{getDate$() | async}}\n
\n\n
","import { FormatService } from './../../format/shared/format.ser';\nimport { pubSubEvents } from './../../core/shared/pub-sub-events.values';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { highlightElementAnimation } from './../../core/shared/animations';\nimport { ValidationService } from './../../app-forms/shared/validation.service';\nimport { BidModel } from './../shared/bidding.interfaces';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport {\n Component, Input, Output, EventEmitter, OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n} from '@angular/core';\nimport { CustomValidators } from 'ng2-validation';\nimport { greaterThanValidator } from '../../app-forms/app-validators/greaterThan.validator';\n\n@Component({\n animations: [highlightElementAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-answer-widget',\n styleUrls: [\n './answer-widget.styles.less',\n ],\n templateUrl: './answer-widget.template.html',\n})\nexport class AnswerWidgetComponent implements OnChanges {\n\n @Input()\n public bidModel: BidModel;\n\n @Input()\n public isDisabled: boolean;\n\n @Input()\n public isSavingBid: boolean;\n\n @Input()\n public isInputInEditMode: boolean;\n\n @Input()\n public nextAllowedBidValue: number;\n\n @Input()\n public unit: string;\n\n @Input()\n public id: string;\n\n @Output()\n public onValueChange: EventEmitter = new EventEmitter();\n\n @Output()\n public onValueCancel: EventEmitter = new EventEmitter();\n\n @Output()\n public onValueFocus: EventEmitter = new EventEmitter();\n\n public form: FormGroup;\n\n public key: string = 'value';\n\n public nextAllowedBidAnimationState: string;\n\n private _previousValue: string;\n\n constructor(\n private _formBuilder: FormBuilder,\n private _validationService: ValidationService,\n private _pubSubService: PubSubService,\n private _formatService: FormatService,\n ) { }\n\n public ngOnInit(): void {\n this._buildForm();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (!this.form || !changes.bidModel) {\n return;\n }\n\n const prevValue = changes.bidModel.previousValue.value;\n const newValue = changes.bidModel.currentValue.value;\n\n if (prevValue !== newValue) {\n this.form.patchValue({\n [this.key]: newValue,\n });\n }\n }\n\n public onSubmit(): void {\n const newValue = this.form.value[this.key];\n\n if (!this.form.dirty) {\n this.onCancel();\n return;\n }\n\n if (this.form.valid) {\n this.form.markAsPristine();\n this.onValueChange.emit(newValue);\n }\n }\n\n public onCancel(): void {\n if (this.form.dirty) {\n this.form.patchValue({\n [this.key]: this._previousValue,\n });\n this.form.markAsPristine();\n }\n\n this.onValueCancel.emit();\n }\n\n public onFocus(): void {\n if (!this.form.dirty) {\n this._previousValue = this.form.value[this.key];\n }\n\n this.onValueFocus.emit();\n }\n\n public onCopyNextAllowedBid(): void {\n const roundedNextAllowedBidValue = this._formatService\n .getRoundedNumber(this.nextAllowedBidValue);\n\n if (this.isSavingBid || this.form.value[this.key] === roundedNextAllowedBidValue) {\n return;\n }\n\n this._pubSubService.pub(pubSubEvents.nextAllowedBidCopied);\n this._animateCopiedNextBid();\n\n this.form.patchValue({\n [this.key]: roundedNextAllowedBidValue,\n });\n\n this.form.markAsDirty();\n this.onSubmit();\n }\n\n public isInvalid(): boolean {\n return this._validationService.isInvalid(this.form, this.key);\n }\n\n public shouldShowControls(): boolean {\n return !!this.isInputInEditMode;\n }\n\n public isInputDisabled(): boolean {\n return this.isDisabled || this.isSavingBid;\n }\n\n private _buildForm(): void {\n\n this.form = this._formBuilder.group({\n [this.key]: [\n this.bidModel.value,\n [Validators.required, CustomValidators.number, greaterThanValidator(0)],\n ],\n });\n }\n\n private _animateCopiedNextBid(): void {\n this.nextAllowedBidAnimationState = 'isHighlighted';\n\n setTimeout(() => {\n this.nextAllowedBidAnimationState = '';\n }, 1000);\n }\n\n}\n","
\n
\n
\n
\n
\n\n \n
\n \n \n
\n\n \n \n \n \n \n \n
\n \n
\n
\n
\n {{unit}}\n
\n\n \n
\n\n \n {{'bidding.copy_next_allowed_bid' | translate}}\n \n
","import { GetBiddingStatusApiResponseModel } from './bidding-status.interfaces';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class BiddingStatusApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getBiddingStatus(\n auctionId: number,\n tenderId: number,\n ): Observable {\n const url = this._getUrl(auctionId, tenderId);\n return this._apiService.get(url);\n }\n\n private _getUrl(auctionId: number, tenderId: number): string {\n return `auctions/${auctionId}/tenders/${tenderId}/biddingstatus`;\n }\n\n}\n","\nimport { combineLatest, Observable, interval } from 'rxjs';\nimport { map, startWith, withLatestFrom } from 'rxjs/operators';\nimport { AuctionInfoStore } from './../shared/auction-info.store';\nimport { SettingsStore } from './../../settings/shared/settings.store';\nimport { AuctionStatus } from '../shared/auction-info.interfaces';\nimport { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport * as moment from 'moment';\nrequire('moment-countdown');\nconst countdown = require('countdown');\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-timer-container',\n styleUrls: [\n '../../shared/shared/shared.styles.less',\n './timer-container.styles.less',\n ],\n templateUrl: './timer-container.template.html',\n})\nexport class TimerContainerComponent implements OnInit {\n\n // TODO: find how to pass async params with $ sign in the name of param\n @Input()\n public startDateTime: Observable;\n\n @Input()\n public endDateTime: Observable;\n\n public remainingTime$: Observable;\n\n public status$: Observable;\n\n public isLoaded$: Observable;\n\n constructor(\n private _settingsStore: SettingsStore,\n private _auctionInfoStore: AuctionInfoStore,\n ) { }\n\n public ngOnInit(): void {\n\n this.status$ = this._auctionInfoStore.getState$().pipe(map((state) => state.auctionStatus));\n\n this.isLoaded$ = combineLatest(\n [\n this.status$.pipe(map((status) => status !== AuctionStatus.notSet)),\n this._settingsStore.getState$().pipe(map((state) => state.isLoaded)),\n ]).pipe(\n map(([isStatusSet, settingsAreLoaded]) => {\n if (isStatusSet && settingsAreLoaded) {\n return true;\n }\n\n return false;\n }));\n\n this.remainingTime$ = interval(1000)\n .pipe(\n startWith(0),\n withLatestFrom(this.status$, this.endDateTime, this.startDateTime),\n map(([_interval, currentStatus, endDateTime, startDateTime]) => {\n const newStatus = this._getNewStatus(\n startDateTime,\n endDateTime,\n );\n if (newStatus !== currentStatus) {\n this._auctionInfoStore.updateAuctionStatus(newStatus);\n }\n return this._getRemainingTime(\n newStatus,\n startDateTime,\n endDateTime,\n );\n }));\n }\n\n private _getNewStatus(startDateTime: string, endDateTime: string): AuctionStatus {\n if (!startDateTime) {\n return AuctionStatus.notSet;\n }\n\n const date = new Date();\n const remainingSecsToStart = moment(startDateTime)\n .diff(moment(date), 'seconds', true);\n const remainingSecsToEnd = moment(endDateTime)\n .diff(moment(date), 'seconds', true);\n\n if (remainingSecsToStart > 0) {\n return AuctionStatus.notStarted;\n }\n\n if (remainingSecsToEnd > 0) {\n return AuctionStatus.ongoing;\n }\n\n return AuctionStatus.finished;\n }\n\n private _getRemainingTime(\n status: AuctionStatus,\n startDateTime: string,\n endDateTime: string,\n ): string {\n\n let baseTime: string;\n\n if (status === AuctionStatus.notSet) {\n return '00:00';\n }\n\n if (status === AuctionStatus.finished) {\n return '00:00';\n }\n\n if (status === AuctionStatus.notStarted) {\n baseTime = startDateTime;\n } else if (status === AuctionStatus.ongoing) {\n baseTime = endDateTime;\n }\n\n const date = new Date();\n const remainingHoursToStart = moment(baseTime)\n .diff(moment(date), 'hours', true);\n\n if (remainingHoursToStart < 1) {\n const minsNumber = moment(baseTime)\n .diff(moment(date), 'minutes');\n\n const mins = minsNumber.toString().length === 1 ? '0' + minsNumber : minsNumber;\n\n const secsNumber = moment(baseTime)\n .diff(moment(date), 'seconds') - minsNumber * 60;\n\n const secs = secsNumber.toString().length === 1 ? '0' + secsNumber : secsNumber;\n\n return mins + ':' + secs;\n }\n\n const unit = remainingHoursToStart < 24 ? countdown.HOURS : countdown.DAYS;\n\n return (moment)(date)\n .countdown(baseTime, unit)\n .toString();\n }\n\n}\n","
\n\n \n\n \n \n\n \n\n
\n","import { PublicPagesGuardService } from './shared/public-pages-guard.service';\nimport { LoginGuardService } from './shared/login-guard.service';\nimport { AuthGuardService } from './shared/auth-guard.service';\nimport { UserApiService } from './shared/user-api.service';\nimport { LoginFormComponent } from './login-form/login-form.component';\nimport { AppFormsModule } from './../app-forms/app-forms.module';\nimport { LoginContainerComponent } from './login-container/login-container.component';\nimport { LoginPageComponent } from './login-page/login-page.component';\nimport { UserStore } from './shared/user.store';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\nimport { UserService } from './shared/user.service';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [\n LoginPageComponent,\n LoginContainerComponent,\n LoginFormComponent,\n ],\n imports: [\n SharedModule,\n AppFormsModule,\n RouterModule,\n ],\n providers: [\n UserStore,\n UserApiService,\n AuthGuardService,\n LoginGuardService,\n PublicPagesGuardService,\n UserService,\n ],\n})\nexport class UserModule {\n\n}\n","// tslint:disable:object-literal-sort-keys\n\nexport const appRoutesChildPaths = {\n chart: 'chart',\n};\n\nexport const appRoutesPaths = {\n root: '',\n login: 'login',\n notAuthorized: '403',\n noMatch: '**',\n purchaser: {\n default: 'purchaser/auctions',\n auctions: 'purchaser/auctions',\n auction: 'purchaser/auctions/:auctionId',\n auctionChart: `purchaser/auctions/:auctionId/${appRoutesChildPaths.chart}`,\n },\n supplier: {\n default: 'supplier/tenders',\n tenders: 'supplier/tenders',\n tender: 'supplier/auctions/:auctionId/tenders/:tenderId',\n },\n public: {\n root: 'public',\n cookies: 'public/cookies',\n },\n};\n","import { SettingsSocketsService } from './shared/settings-sockets.service';\nimport { SettingsStore } from './shared/settings.store';\nimport { NgModule } from '@angular/core';\nimport { AppFormsModule } from '../app-forms/app-forms.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { SettingsContainerComponent } from './settings-container/settings-container.component';\nimport { SettingsFormComponent } from './settings-form/settings-form.component';\nimport { SettingsPreviewComponent } from './settings-preview/settings-preview.component';\nimport { SettingsApiService } from './shared/settings-api.service';\n\n@NgModule({\n declarations: [\n SettingsFormComponent,\n SettingsPreviewComponent,\n SettingsContainerComponent,\n ],\n exports: [\n SettingsContainerComponent,\n ],\n imports: [\n AppFormsModule,\n SharedModule,\n ],\n providers: [\n SettingsApiService,\n SettingsStore,\n SettingsSocketsService,\n ],\n})\nexport class SettingsModule {\n\n}\n","import { AppTranslateStore } from './../../app-translate/shared/app-translate.store';\nimport { Injectable } from '@angular/core';\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable()\nexport class AppDatepickerI18nService extends NgbDatepickerI18n {\n\n constructor(\n private _appTranslateStore: AppTranslateStore,\n ) {\n super();\n }\n public getDayAriaLabel(date: NgbDateStruct): string {\n return `${date.day}-${date.month}-${date.year}`;\n }\n\n public getWeekdayShortName(weekday: number): string {\n const translations = this._appTranslateStore.getDatepickerTranslations();\n return translations.weekdays[weekday - 1];\n }\n\n public getMonthShortName(month: number): string {\n const translations = this._appTranslateStore.getDatepickerTranslations();\n return translations.months[month - 1];\n }\n\n public getMonthFullName(month: number): string {\n return this.getMonthShortName(month);\n }\n\n}\n","import { FormatedInputComponent } from './formated-input/formated-input.component';\nimport { FormatService } from './shared/format.ser';\nimport { AppTranslateModule } from './../app-translate/app-translate.module';\nimport { CommonModule } from '@angular/common';\nimport { DateTimeService } from './shared/date-time.service';\nimport { NgModule } from '@angular/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n FormatedInputComponent,\n ],\n exports: [\n FormatedInputComponent,\n ],\n imports: [\n NgbModule,\n CommonModule,\n AppTranslateModule,\n ],\n providers: [\n DateTimeService,\n FormatService,\n ],\n})\nexport class FormatModule {\n\n}\n","import {\n SettingsUpdatedSocketsResponseModel,\n AuctionProlongedSocketsResponseModel,\n} from './settings.interfaces';\nimport { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { SocketListenHook } from './../../core/shared/base-sockets.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SettingsSocketsService {\n\n constructor(\n private _baseSocketsService: BaseSocketsService,\n ) {}\n\n public settingsUpdated(): Observable {\n return this._baseSocketsService.get(SocketListenHook.settingsUpdated);\n }\n\n public auctionProlonged(): Observable {\n return this._baseSocketsService.get(SocketListenHook.auctionProlonged);\n }\n\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { Params, ActivatedRoute } from '@angular/router';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './auction-supplier-page.template.html',\n})\nexport class AuctionSupplierPageComponent implements OnInit {\n\n public auctionId: number;\n public tenderId: number;\n\n constructor(\n private _activatedRoute: ActivatedRoute,\n ) {}\n\n public ngOnInit(): void {\n this._activatedRoute.params.forEach((params: Params) => {\n this.auctionId = +params.auctionId;\n this.tenderId = +params.tenderId;\n });\n }\n\n}\n","","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-page-header',\n styleUrls: [\n './page-header.styles.less',\n ],\n templateUrl: './page-header.template.html',\n})\nexport class PageHeaderComponent {\n\n @Input()\n public procurementName: string;\n\n @Input()\n public procurementReferenceNumber: string;\n\n @Input()\n public procurementOrganizationName: string;\n\n public getTitle(): string {\n if (!this.procurementName) {\n return '';\n }\n return `${this.procurementReferenceNumber}: ${this.procurementName}`;\n }\n\n public getSubtitle(): string {\n return this.procurementOrganizationName;\n }\n\n}\n","
\n

{{getTitle()}}

\n
{{getSubtitle()}}
\n
","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AudioService {\n\n private _baseUrl: string = 'assets/sounds/';\n\n public playNotificationSound(): void {\n this._play('music_marimba_chord.mp3');\n }\n\n private _play(file: string): void {\n const audio = new Audio();\n audio.src = `${this._baseUrl}${file}`;\n audio.play();\n }\n\n}\n","import { baseEnvironment } from './base-environment';\n\nexport const environment = {\n ...baseEnvironment,\n //apiServerUrl: 'http://localhost:60000/api/',\n //socketsServerUrl: 'http://localhost:60000/notificationhub',\n\n};\n","import { AppTranslateService } from './../shared/app-translate.service';\nimport { Language } from './../shared/app-translate.interfaces';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'eau-languages-flags',\n styleUrls: [\n './languages-flags.styles.less',\n ],\n templateUrl: './languages-flags.template.html',\n})\nexport class LanguagesFlagsComponent {\n\n @Input()\n public languages: Language[];\n\n constructor(\n private _appTranslateService: AppTranslateService,\n ) {}\n\n public onChooseLanguage(langKey: string): void {\n this._appTranslateService.setAppLanguage(langKey);\n }\n\n public trackByFn(lang: Language): string {\n return lang.key;\n }\n\n}\n","\n\n","import { JoinAuctionState } from './join-auction.interfaces';\n\nexport const defaultJoinAuctionState: JoinAuctionState = {\n joinedSuppliers: [],\n};\n\nexport const joinAuctionPeriodicities = {\n cleanupOrphanSuppliers: 25000,\n maxIdleTime: 35000,\n supplierEmitsAsOnline: 5000,\n};\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auctions-page',\n templateUrl: './auctions-page.template.html',\n})\nexport class AuctionsPageComponent {\n\n}\n","","import { ErrorValue } from './../shared/validators.interfaces';\nimport { Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ValidationService } from './../../app-forms/shared/validation.service';\n\n@Component({\n selector: 'eau-validation-errors',\n styleUrls: [\n './validation-errors.styles.less',\n ],\n templateUrl: './validation-errors.template.html',\n})\nexport class ValidationErrorsComponent {\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public key: string;\n\n constructor(\n private _validationService: ValidationService,\n ) {}\n\n public getErrorMsg(): string {\n return this._validationService.getErrorMsg(this.form, this.key);\n }\n\n public getInterpolateParams(): boolean | null | ErrorValue {\n return this._validationService.getErrorValue(this.form, this.key);\n }\n\n public isInvalid(): boolean {\n return this._validationService.isInvalid(this.form, this.key);\n }\n\n}\n","
\n {{ getErrorMsg() | translate: getInterpolateParams() }}\n
\n","import {\n DataSyncSupplierContainerComponent,\n} from './data-sync-supplier-container/data-sync-supplier-container.component';\nimport {\n DataSyncPurchaserContainerComponent,\n} from './data-sync-purchaser-container/data-sync-purchaser-container.component';\nimport { DataSyncService } from './shared/data-sync.service';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n DataSyncPurchaserContainerComponent,\n DataSyncSupplierContainerComponent,\n ],\n exports: [\n DataSyncPurchaserContainerComponent,\n DataSyncSupplierContainerComponent,\n ],\n providers: [\n DataSyncService,\n ],\n})\nexport class DataSyncModule {\n\n}\n","import { RouterModule } from '@angular/router';\nimport { AppFormsModule } from './../app-forms/app-forms.module';\nimport {\n CreateAuctionFormContainerComponent,\n} from './create-auction-form-container/create-auction-form-container.component';\nimport { AuctionsApiService } from './shared/auctions-api.service';\nimport { AuctionsStore } from './shared/auctions.store';\nimport { AuctionsPageComponent } from './auctions-page/auctions-page.component';\nimport { AuctionsListComponent } from './auctions-list/auctions-list.component';\nimport { AuctionsContainerComponent } from './auctions-container/auctions-container.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n AuctionsPageComponent,\n AuctionsContainerComponent,\n AuctionsListComponent,\n CreateAuctionFormContainerComponent,\n ],\n exports: [AuctionsPageComponent],\n imports: [SharedModule, AppFormsModule, RouterModule],\n providers: [AuctionsStore, AuctionsApiService],\n})\nexport class AuctionsModule {}\n","import { NewBidArrivedSocketsResponseModel } from './bids.interfaces';\nimport { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { SocketListenHook } from './../../core/shared/base-sockets.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class BidsSocketsService {\n\n constructor(\n private _baseSocketsService: BaseSocketsService,\n ) {}\n\n public newBidArrived(): Observable {\n return this._baseSocketsService.get(SocketListenHook.newBidArrived);\n }\n\n}\n","import { AlertComponent } from './alert/alert.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmComponent } from './confirm/confirm.component';\nimport { DialogService } from './shared/dialog.service';\nimport { NgModule } from '@angular/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [AlertComponent, ConfirmComponent],\n imports: [NgbModule, TranslateModule],\n providers: [DialogService],\n})\nexport class DialogModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n Input,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-loader-launcher',\n styleUrls: [\n './loader-launcher.styles.less',\n ],\n templateUrl: './loader-launcher.template.html',\n})\nexport class LoaderLauncherComponent {\n\n @Input()\n public title: string;\n\n @HostBinding('class.eau-loader-launcher--wrap')\n public className: boolean = true;\n\n}\n","
\n
\n
{{title}}
\n","import { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { UserStore } from './user.store';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { UserRole } from '../../user/shared/user.interfaces';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n\n constructor(\n private _userStore: UserStore,\n private _redirectionService: RedirectionService,\n ) {}\n\n public canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Promise {\n const allowedRoles = route.data?.roles as UserRole[];\n\n return new Promise((resolve, reject) => {\n this._userStore.getLoggedInUser()\n .then((user) => {\n if (user) {\n const isAuthorized = allowedRoles.indexOf(user.role) > -1;\n\n if (isAuthorized) {\n resolve(true);\n } else {\n this._redirectionService.redirectNotAuthorized(state.url);\n resolve(false);\n }\n } else {\n this._redirectionService.redirectNotAuthenticated(state.url);\n resolve(false);\n }\n });\n });\n }\n\n}\n","import { FormGroup } from '@angular/forms';\nimport { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-app-datepicker',\n styleUrls: [\n './app-datepicker.styles.less',\n ],\n templateUrl: './app-datepicker.template.html',\n})\nexport class AppDatepickerComponent {\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public control: string;\n\n @Input()\n public isDisabled: boolean;\n\n}\n","
\n\n
\n\n \n\n
\n \n
\n\n
\n\n
\n","import { Separators, DateFormat } from './format.interfaces';\n\nexport const separators: Separators = {\n da: {\n decimal: ',',\n thousand: ['.'],\n },\n 'en-gb': {\n decimal: '.',\n thousand: [','],\n },\n nb: {\n decimal: ',',\n // Normal and unbreakable space:\n thousand: [' ', ' '],\n },\n sv: {\n decimal: ',',\n // Normal and unbreakable space:\n thousand: [' ', ' '],\n },\n};\n\nexport const monthDayTimeFormat: DateFormat = {\n da: 'D[.] MMMM, HH:mm',\n 'en-gb': 'D MMMM, HH:mm',\n nb: 'D[.] MMMM, HH:mm',\n sv: 'D MMMM, HH:mm',\n};\n\nexport const monthDayFormat: DateFormat = {\n da: 'D[.]M',\n 'en-gb': 'D[/]M',\n nb: 'D[.]M',\n sv: 'D[/]M',\n};\n","import { environment } from './../../../environments/environment';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AppConfig {\n\n public appTitle: string = environment.appTitle;\n\n public apiServerUrl: string = environment.apiServerUrl;\n\n public defaultLang: string = environment.defaultLang;\n\n public timespanBeforeSessionTimeout: number = environment.timespanBeforeSessionTimeout;\n\n public sessionTimeout: number = environment.sessionTimeout;\n\n public socketsHub: string = environment.socketsHub;\n\n public socketsServerUrl: string = environment.socketsServerUrl;\n\n}\n","import { DataSyncService } from './../../data-sync/shared/data-sync.service';\nimport { FormatService } from './../../format/shared/format.ser';\nimport { AppInfoStore } from './../../app-info/shared/app-info.store';\nimport { defaultBidsState } from './bids.data';\nimport { AudioService } from './../../core/shared/audio.service';\nimport { BidsApiService } from './bids-api.service';\nimport { BidsState, Bid, BidsTab } from './bids.interfaces';\nimport { BidsChartType } from './../../bids-chart/shared/bids-chart.interfaces';\nimport { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class BidsStore extends BaseStore {\n\n constructor(\n private _bidsApiService: BidsApiService,\n private _notificationsService: NotificationsService,\n private _audioService: AudioService,\n private _appInfoStore: AppInfoStore,\n private _formatService: FormatService,\n private _dataSyncService: DataSyncService,\n ) {\n super(defaultBidsState);\n }\n\n public loadBids(auctionId: number): void {\n this._updateState({\n isLoading: true,\n });\n\n this._bidsApiService.getBids(auctionId)\n .subscribe((response) => {\n this._updateState({\n bids: response.bids,\n isLoaded: true,\n isLoading: false,\n });\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n });\n }\n\n public getBids(): Bid[] {\n return [...this._getState().bids];\n }\n\n public addBid(bid: Bid, unit: string): void {\n this._informAboutNewBid(bid, unit);\n\n bid.animationState = 'isHighlighted';\n\n this._updateState({\n bids: [bid, ...this._getState().bids],\n });\n }\n\n public syncBids(auctionId: number, unit: string): void {\n const currentBids = this._getState().bids;\n\n this._bidsApiService.getBids(auctionId)\n .subscribe(\n ({ bids: newBids }) => {\n this._updateState({\n bids: newBids,\n });\n\n this._informAboutNewBids(currentBids, [...newBids], unit);\n },\n this._dataSyncService.onSyncFail,\n );\n }\n\n public setActiveTab(tab: BidsTab): void {\n if (this._getState().activeTab === tab) {\n return;\n }\n\n this._updateState({\n activeTab: tab,\n });\n }\n\n public setActiveChartType(type: BidsChartType): void {\n if (this._getState().activeChartType === type) {\n return;\n }\n\n this._updateState({\n activeChartType: type,\n });\n }\n\n public updateChartRange(range: number[]): void {\n this._updateState({\n chartRange: range,\n });\n }\n\n public setChartAsLoaded = (): void => {\n this._updateState({\n isChartLoaded: true,\n });\n }\n\n private _informAboutNewBid = (bid: Bid, unit: string): void => {\n const bidValue = this._formatService.getFormatedNumberWithUnit(bid.value, unit);\n const bidInfo = `${bid.supplierName}, ${bidValue}`;\n this._notificationsService.info(\n 'notifications.purchaser.new_bid_arrived',\n { bidInfo },\n true,\n );\n\n if (this._appInfoStore.isSoundOn()) {\n this._audioService.playNotificationSound();\n }\n }\n\n private _informAboutNewBids = (currentBids: Bid[], newBids: Bid[], unit: string): void => {\n currentBids.reverse();\n newBids.reverse();\n\n newBids.forEach((newBid) => {\n const doesBidExist = currentBids.some((currentBid) => {\n return currentBid.id === newBid.id;\n });\n\n if (!doesBidExist) {\n this._informAboutNewBid(newBid, unit);\n }\n });\n }\n\n}\n","import { DataSyncModule } from './../data-sync/data-sync.module';\nimport { JoinAuctionModule } from './../join-auction/join-auction.module';\nimport {\n AuctionSupplierContainerComponent,\n} from './auction-supplier-container/auction-supplier-container.component';\nimport {\n AuctionSupplierPageComponent,\n} from './auction-supplier-page/auction-supplier-page.component';\nimport { SettingsModule } from '../settings/settings.module';\nimport { AuctionInfoModule } from '../auction-info/auction-info.module';\nimport { LayoutModule } from '../layout/layout.module';\nimport { BiddingModule } from '../bidding/bidding.module';\nimport { BiddingStatusModule } from './../bidding-status/bidding-status.module';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n AuctionSupplierPageComponent,\n AuctionSupplierContainerComponent,\n ],\n imports: [\n BiddingModule,\n AuctionInfoModule,\n BiddingStatusModule,\n LayoutModule,\n SettingsModule,\n SharedModule,\n JoinAuctionModule,\n DataSyncModule,\n ],\n})\nexport class AuctionSupplierModule {\n\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ToastrService, ToastContainerDirective } from 'ngx-toastr';\nimport { NotificationsService } from '../shared/notifications.service';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\n\n@Component({\n animations: [\n trigger('closeBtnAnimation', [\n state('void', style({ opacity: 0, top: '0px' })),\n state('*', style({ opacity: 1, top: '-20px' })),\n transition('* <=> void', animate('200ms ease-in')),\n ]),\n ],\n encapsulation: ViewEncapsulation.None,\n selector: 'eau-notifications-holder',\n styleUrls: ['./notifications-holder.styles.less'],\n templateUrl: './notifications-holder.template.html',\n})\nexport class NotificationsHolderComponent implements OnInit {\n @ViewChild(ToastContainerDirective, { static: true })\n private toastContainer: ToastContainerDirective;\n\n constructor(\n private _toastrService: ToastrService,\n private _notificationsService: NotificationsService,\n ) {}\n\n public ngOnInit(): void {\n this._toastrService.overlayContainer = this.toastContainer;\n }\n\n public onClose(): void {\n this._toastrService.clear();\n }\n\n public shouldShowClose(): boolean {\n return this._notificationsService.getCount() > 1;\n }\n}\n","\n","\nimport { interval, Subscription } from 'rxjs';\nimport { joinAuctionPeriodicities } from './../shared/join-auction.data';\nimport { JoinAuctionSocketsService } from './../shared/join-auction-sockets.service';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-join-auction-supplier-container',\n templateUrl: './join-auction-supplier-container.template.html',\n})\nexport class JoinAuctionSupplierContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n private _subscriptions: Subscription[];\n\n constructor(\n private _joinAuctionSocketsService: JoinAuctionSocketsService,\n ) {}\n\n public ngOnInit(): void {\n const s1 = this._joinAuctionSocketsService.requestIfSupplierJoinedAuction()\n .subscribe(() => {\n this._joinAuctionSocketsService\n .respondAsSupplierJoinedAuction(this.auctionId);\n });\n\n const s2 = interval(joinAuctionPeriodicities.supplierEmitsAsOnline)\n .subscribe(() => {\n this._joinAuctionSocketsService.supplierIsOnline(this.auctionId);\n });\n\n this._subscriptions = [s1, s2];\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n}\n","import { BidsState, Bid, BidsTab } from './bids.interfaces';\nimport { BidsChartType } from './../../bids-chart/shared/bids-chart.interfaces';\n\nexport const defaultBidsState: BidsState = {\n activeChartType: BidsChartType.initialBids,\n activeTab: BidsTab.list,\n bids: [],\n chartRange: [0, 100],\n isChartLoaded: false,\n isLoaded: false,\n isLoading: false,\n};\n\nexport const defaultMockedBids: Bid[] = [\n {\n createdOn: '2016-10-27T11:13:49.575Z',\n id: 103,\n supplierName: 'Supplier3',\n tenderId: 3,\n value: 540,\n },\n {\n createdOn: '2016-10-27T09:13:49.575Z',\n id: 102,\n supplierName: 'Supplier2',\n tenderId: 2,\n value: 550,\n },\n {\n createdOn: '2016-10-27T07:13:49.575Z',\n id: 101,\n supplierName: 'Supplier1',\n tenderId: 1,\n value: 600,\n },\n];\n\nexport const bidsStateMock: BidsState = {\n activeChartType: BidsChartType.initialBids,\n activeTab: BidsTab.list,\n bids: defaultMockedBids,\n chartRange: [0, 100],\n isChartLoaded: false,\n isLoaded: true,\n isLoading: false,\n};\n","import { ValidationResult } from './../shared/validators.interfaces';\nimport { FormControl, Validators } from '@angular/forms';\nimport { CustomValidators } from 'ng2-validation';\n\nexport function integerValidator(control: FormControl): ValidationResult {\n const exp = /^-?[0-9]+$/;\n const valueInString = control.value + '';\n\n if (Validators.required(control)) {\n return null;\n }\n\n if (CustomValidators.number(control)) {\n return null;\n }\n\n if (!valueInString.match(exp)) {\n return {\n integer: true,\n };\n }\n\n return null;\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class LocalStorageService {\n\n public get(key: string): any {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch (e) {\n return;\n }\n }\n\n public set(key: string, data: any): void {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport {\n listItemDisappearAnimation,\n} from './../../core/shared/animations';\nimport { PendingBid } from './../../bids/shared/bids.interfaces';\nimport { integerValidator } from './../../app-forms/app-validators/integer.validator';\nimport { Observable } from 'rxjs';\nimport { AuctionsStore } from './../shared/auctions.store';\nimport {\n CreateAuctionApiRequestModel,\n AuctionCreateFormModel,\n} from './../shared/auctions.interfaces';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n animations: [\n listItemDisappearAnimation,\n ],\n styleUrls: [\n './create-auction-form-container.styles.less',\n ],\n templateUrl: './create-auction-form-container.template.html',\n})\nexport class CreateAuctionFormContainerComponent implements OnInit {\n\n @Input()\n public title: string;\n\n public createAuctionForm: FormGroup;\n\n public isCreatingAuction$: Observable;\n\n constructor(\n private _formBuilder: FormBuilder,\n private _activeModal: NgbActiveModal,\n private _auctionsStore: AuctionsStore,\n ) { }\n\n public ngOnInit(): void {\n this.isCreatingAuction$ = this._auctionsStore.getState$().pipe(\n map((state) => state.isCreatingAuction));\n\n this._buildForm();\n }\n\n public onSubmit(): void {\n const formValue: AuctionCreateFormModel = this.createAuctionForm.getRawValue();\n const model: CreateAuctionApiRequestModel = formValue;\n const lotId = +model.lotId;\n model.docsProjectId = +model.docsProjectId;\n delete model.lotId;\n this._auctionsStore.createAuction(lotId, model, this._activeModal.close.bind(this));\n }\n\n public onCancel(): void {\n this._activeModal.close();\n }\n\n public onAddBid(): void {\n const arrayControl = this.createAuctionForm.get('initialBids');\n const emptyBid: PendingBid = {\n supplier: '',\n supplierName: '',\n value: null,\n };\n\n const newGroup = this._getBidFormGroup(emptyBid);\n arrayControl.push(newGroup);\n }\n\n public onDeleteBid(index: number): void {\n const arrayControl = this.createAuctionForm.get('initialBids');\n arrayControl.removeAt(index);\n }\n\n public get initialBids(): FormArray {\n return this.createAuctionForm.get('initialBids') as FormArray;\n }\n\n public getCustomInputId(key: string, index: number): string {\n return `eau-app-input-${key}-${index}`;\n }\n\n private _buildForm(): void {\n const defaultBids = this._getInitialBids();\n const bidsFormGroupArray = defaultBids.map(this._getBidFormGroup.bind(this));\n\n this.createAuctionForm = this._formBuilder.group({\n currency: [\n 'SEK',\n [Validators.required],\n ],\n docsProjectId: [\n '0',\n ],\n initialBids: this._formBuilder.array(bidsFormGroupArray),\n lotId: [\n '0',\n [Validators.required, integerValidator],\n ],\n lotName: [\n 'Default lot',\n [Validators.required],\n ],\n procurementName: [\n 'Upphandling av kryofrysanläggning',\n [Validators.required],\n ],\n procurementOrganizationName: [\n 'Myndighetsverket',\n [Validators.required],\n ],\n procurementReferenceNumber: [\n '122/16',\n [Validators.required],\n ],\n unit: [\n 'SEK',\n [Validators.required],\n ],\n });\n }\n\n private _getInitialBids(): PendingBid[] {\n return [\n {\n supplier: 'supplier1',\n supplierName: 'Supplier1',\n value: 100000,\n },\n {\n supplier: 'supplier2',\n supplierName: 'Supplier2',\n value: 118000,\n },\n {\n supplier: 'supplier3',\n supplierName: 'Supplier3',\n value: 129000,\n },\n ];\n }\n\n private _getBidFormGroup(bid: PendingBid): FormGroup {\n return this._formBuilder.group({\n supplier: [\n bid.supplier,\n [Validators.required, integerValidator],\n ],\n supplierName: [\n bid.supplierName,\n [Validators.required],\n ],\n value: [\n bid.value,\n [Validators.required],\n ],\n });\n }\n\n}\n","
\n\n
\n \n

{{'auctions_list.btn.create_auction' | translate}}

\n
\n\n
\n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n

{{'auction_create.initial_bids' | translate}}

\n\n \n \n \n \n \n
\n\n
\n \n \n \n\n \n \n \n\n \n \n \n
\n\n
\n \n
\n\n \n\n \n\n
\n\n
\n \n\n \n
\n\n
\n","\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { appRoutesPaths } from './../../app-routing/shared/app-routes.constants';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { JoinAuctionStore } from './../../join-auction/shared/join-auction.store';\nimport { SettingsStore } from './../../settings/shared/settings.store';\nimport { BidsSocketsService } from './../shared/bids-sockets.service';\nimport { BidsStore } from './../shared/bids.store';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { Subscription , Observable } from 'rxjs';\nimport { Component, OnInit, Input, OnDestroy, ViewChild,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Bid, BidsTab } from '../shared/bids.interfaces';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-bids-container',\n styleUrls: [\n './bids-container.styles.less',\n ],\n templateUrl: './bids-container.template.html',\n})\nexport class BidsContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @ViewChild('tabs', {static: true})\n public tabs: any;\n\n public bids$: Observable;\n\n public isLoaded$: Observable;\n\n public isLoading$: Observable;\n\n public isChartLoaded$: Observable;\n\n public unit$: Observable;\n\n public startDateTime$: Observable;\n\n public joinedSuppliers$: Observable;\n\n public listTab: BidsTab = BidsTab.list;\n\n public chartTab: BidsTab = BidsTab.chart;\n\n private _unit: string;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _bidsStore: BidsStore,\n private _bidsSocketsService: BidsSocketsService,\n private _joinAuctionStore: JoinAuctionStore,\n private _auctionInfoStore: AuctionInfoStore,\n private _settingsStore: SettingsStore,\n private _redirectionService: RedirectionService,\n ) {}\n\n public ngOnInit(): void {\n this.bids$ = this._bidsStore.getState$().pipe(map((state) => state.bids));\n this.isLoaded$ = this._bidsStore.getState$().pipe(map((state) => state.isLoaded));\n this.isChartLoaded$ = this._bidsStore.getState$().pipe(map((state) => state.isChartLoaded));\n this.unit$ = this._auctionInfoStore.getState$()\n .pipe(map((state) => state.auctionModel.unit));\n\n this.startDateTime$ = this._settingsStore.getState$().pipe(\n map((state) => state.model.startDateTime),\n distinctUntilChanged());\n\n this.joinedSuppliers$ = this._joinAuctionStore.getState$().pipe(\n map((x) => {\n return x.joinedSuppliers.map((supplier) => {\n return supplier.name;\n });\n }),\n // only emit change when array of joined suppliers changed\n distinctUntilChanged(null, (arrayOfJoinedSuppliers) => {\n return JSON.stringify(arrayOfJoinedSuppliers);\n }));\n\n this._bidsStore.loadBids(this.auctionId);\n this._initSocketEvents();\n\n const s = this.unit$.subscribe((unit) => {\n this._unit = unit;\n });\n\n this._subscriptions.push(s);\n }\n\n public ngAfterViewInit(): void {\n this.tabs.classMap['nav-tabs-primary'] = true;\n }\n\n public ngOnDestroy(): void {\n this._bidsStore.resetState();\n this._subscriptions.forEach((s) => s.unsubscribe());\n }\n\n public onSelectTab(tab: BidsTab): void {\n this._bidsStore.setActiveTab(tab);\n\n if (tab === BidsTab.chart) {\n this._redirectionService.goToRoute(\n appRoutesPaths.purchaser.auctionChart,\n { skipLocationChange: true },\n this.auctionId,\n ).then(this._bidsStore.setChartAsLoaded);\n }\n }\n\n public isTabActive$(tab: BidsTab): Observable {\n return this._bidsStore.getState$().pipe(map((state) => state.activeTab === tab));\n }\n\n private _initSocketEvents(): void {\n const s = this._bidsSocketsService\n .newBidArrived()\n .subscribe((bid) => {\n this._bidsStore.addBid(bid, this._unit);\n });\n\n this._subscriptions.push(s);\n }\n\n}\n","
\n
\n\n

{{'bids.component_title' | translate}}

\n\n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n\n
\n
\n","\nimport { take, map } from 'rxjs/operators';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { UserStore } from './../../user/shared/user.store';\nimport { Component, ChangeDetectionStrategy, OnInit } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './home-page.template.html',\n})\nexport class HomePageComponent implements OnInit {\n\n constructor(\n private _redirectionService: RedirectionService,\n private _userStore: UserStore,\n ) {}\n\n public ngOnInit(): void {\n this._userStore.getState$().pipe(\n map((s) => s.user.role),\n take(1))\n .subscribe((role) => {\n this._redirectionService.redirectToDefault(role);\n });\n }\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ErrorPageService {\n\n private _title: string;\n\n private _text: string;\n\n private _textInterpolateParams: Object;\n\n private _iconType: string;\n\n constructor(\n private _activatedRoute: ActivatedRoute,\n private _translateService: TranslateService,\n ) {}\n\n public shouldShowErrorPage(): boolean {\n return !!this._title;\n }\n\n public getTitle(): string {\n return this._title;\n }\n\n public getText(): string {\n return this._text;\n }\n\n public getTextInterpolateParams(): Object {\n return this._textInterpolateParams;\n }\n\n public getIconType(): string {\n return this._iconType;\n }\n\n public show(\n title: string,\n text: string,\n textInterpolateParams: Object = null,\n iconType: 'success' | 'info' | 'warning' | 'error' = 'error',\n ): void {\n this._title = title;\n this._text = text;\n this._textInterpolateParams = textInterpolateParams;\n this._iconType = iconType;\n }\n\n public hide(): void {\n this._title = null;\n this._text = null;\n this._textInterpolateParams = null;\n this._iconType = null;\n }\n\n public showNotAuthorized(): void {\n const title = 'error_page.title.not_authorized';\n let text = this._translateService.instant('error_page.text.not_authorized');\n const requestedUrl = this._activatedRoute.snapshot.queryParams.requestedUrl;\n\n if (requestedUrl) {\n text += `. Url: ${decodeURIComponent(requestedUrl)}`;\n }\n\n this.show(title, text);\n }\n\n}\n","import { AnswerAppCommunicationService } from './shared/answer-app-communication.service';\nimport { AnswerAppApiService } from './shared/answer-app-api.service';\nimport {\n AnswerAppComponent,\n} from './answer-app/answer-app.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n AnswerAppComponent,\n ],\n exports: [\n AnswerAppComponent,\n ],\n imports: [\n CommonModule,\n TranslateModule,\n ],\n providers: [\n AnswerAppApiService,\n AnswerAppCommunicationService,\n ],\n})\nexport class AnswerAppIntegrationModule {\n\n}\n","import { UtilsModule } from './../utils/utils.module';\nimport { LanguagesFlagsComponent } from './languages-flags/languages-flags.component';\nimport { AppTranslateService } from './shared/app-translate.service';\nimport { AppTranslateApiService } from './shared/app-translate-api.service';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { AppTranslateStore } from './shared/app-translate.store';\nimport {\n LanguagesDropdownComponent,\n} from './languages-dropdown/languages-dropdown.component';\nimport { AppTranslateLoader } from './shared/app-translate-loader.service';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n LanguagesDropdownComponent,\n LanguagesFlagsComponent,\n ],\n exports: [\n TranslateModule,\n LanguagesDropdownComponent,\n LanguagesFlagsComponent,\n ],\n imports: [\n CommonModule,\n BsDropdownModule.forRoot(),\n TranslateModule,\n UtilsModule,\n ],\n})\nexport class AppTranslateModule {\n\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: AppTranslateModule,\n providers: [\n AppTranslateLoader,\n AppTranslateStore,\n AppTranslateApiService,\n AppTranslateService,\n ],\n };\n }\n\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-loader-btn',\n styleUrls: [\n './loader-btn.styles.less',\n ],\n templateUrl: './loader-btn.template.html',\n})\nexport class LoaderBtnComponent {\n\n @Input()\n public shouldShowLoader: boolean;\n\n}\n","
\n \n \n
\n","\nimport { throwError } from 'rxjs';\nimport { pubSubEvents } from './pub-sub-events.values';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ErrorPageService } from './../../layout/shared/error-page.service';\nimport { HttpError } from './api.interfaces';\nimport { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ErrorHandlingService {\n\n constructor(\n private _notificationsService: NotificationsService,\n private _errorPageService: ErrorPageService,\n private _translateService: TranslateService,\n private _pubSubService: PubSubService,\n ) { }\n\n public handleApiError(error: HttpError): any {\n if (!error || error.status === 404) {\n return throwError(error);\n }\n\n if (error.status === 401) {\n this._pubSubService.pub(pubSubEvents.userSessionExpired);\n return throwError(error);\n } else if (error.status === 403) {\n this._errorPageService.showNotAuthorized();\n return throwError(error);\n }\n\n const notificationMsg = this._getErrorNotificationMsg(error);\n\n if (notificationMsg) {\n this._notificationsService.error(notificationMsg);\n }\n\n return throwError(error);\n }\n\n private _getErrorNotificationMsg(error: any): string {\n const modelMessages = this._getErrorModelMessages(error);\n\n if (modelMessages.length) {\n return modelMessages.join('
---
');\n }\n\n return this._getErrorStatusMessage(error);\n }\n\n private _getErrorModelMessages(error: any): string[] {\n const messages: string[] = [];\n\n try {\n const errorModel = error.error;\n\n if (errorModel.errors) {\n errorModel.errors.forEach((err: any) => {\n for (const key in err) {\n if (err.hasOwnProperty(key)) {\n const keyErrors = err[key];\n keyErrors.forEach((keyError: any) => {\n const msg = key ? `${key}: ${keyError}` : keyError;\n messages.push(msg);\n });\n }\n }\n });\n }\n } catch (e) {\n //\n }\n\n return messages;\n }\n\n private _getErrorStatusMessage(error: any): string {\n if (error.status === 0) {\n // can happen when server or internet connection is down\n\n const untranslatedMsg = 'notifications.api_error.server_or_network_problem';\n const translatedMsg = this._translateService.instant(untranslatedMsg);\n const offlineMultilingualMsg = `Request failed due to a network hiccup\n / Begäran misslyckades på grund av ett tillfälligt nätverksfel`;\n\n const msg = untranslatedMsg === translatedMsg\n ? offlineMultilingualMsg // can happen when offline and no translations loaded yet\n : translatedMsg;\n\n return msg;\n }\n\n if (error.status && error.statusText) {\n return `${error.status} - ${error.statusText}
Url: ${error.url}`;\n }\n\n return '';\n }\n\n}\n","import { AuctionsState } from './auctions.interfaces';\n\nexport const defaultAuctionsState: AuctionsState = {\n auctions: [],\n isCreatingAuction: false,\n isLoaded: false,\n isLoading: false,\n};\n","import { GetBidsApiResponseModel } from './bids.interfaces';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class BidsApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getBids(auctionId: number): Observable {\n const url = this._getUrl(auctionId);\n return this._apiService.get(url);\n }\n\n private _getUrl(auctionId: number): string {\n return `auctions/${auctionId}/bids`;\n }\n\n}\n","\nimport { combineLatest,\n interval, Observable } from 'rxjs';\nimport { Component, OnInit, ChangeDetectionStrategy,\n Input, Output, EventEmitter } from '@angular/core';\nimport { SocketsConnectionState } from '../../core/shared/base-sockets.interfaces';\nimport { map } from 'rxjs/operators';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-connection-indicator',\n styleUrls: [\n './connection-indicator.styles.less',\n ],\n templateUrl: './connection-indicator.template.html',\n})\nexport class ConnectionIndicatorComponent implements OnInit {\n\n @Input()\n public connectionState: Observable;\n\n @Output()\n public togglePopover: EventEmitter = new EventEmitter();\n\n public className$: Observable<{ [key: string]: boolean }>;\n\n public ngOnInit(): void {\n const interval$ = interval(2000);\n\n this.className$ = combineLatest(\n [\n this.connectionState,\n interval$,\n ]).pipe(\n map(([state, observableInterval]) => {\n return this._getClassName(state, observableInterval);\n }));\n }\n\n public onTogglePopover(): void {\n this.togglePopover.emit();\n }\n\n private _getClassName(state: SocketsConnectionState, observableInterval: number): any {\n return {\n 'eau-connection-indicator--active': observableInterval % 2 === 0,\n 'eau-connection-indicator--connected': state === SocketsConnectionState.connected,\n 'eau-connection-indicator--connecting':\n state === SocketsConnectionState.connecting\n || state === SocketsConnectionState.reconnecting,\n 'eau-connection-indicator--disconnected': state === SocketsConnectionState.disconnected,\n };\n }\n}\n","\n","import { ErrorPageService } from './../shared/error-page.service';\nimport { Component, ChangeDetectionStrategy, OnInit } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './not-authorized-page.template.html',\n})\nexport class NotAuthorizedPageComponent implements OnInit {\n\n constructor(\n private _errorPageService: ErrorPageService,\n ) {}\n\n public ngOnInit(): void {\n this._errorPageService.showNotAuthorized();\n }\n\n}\n","\nimport { skip, filter, distinctUntilChanged,\n switchMap, take, skipWhile, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { defaultAppInfoState } from './app-info.data';\nimport { AppInfoState } from './app-info.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\nimport { SocketsConnectionState } from './../../core/shared/base-sockets.interfaces';\n\n@Injectable()\nexport class AppInfoStore extends BaseStore {\n\n constructor(\n ) {\n super(defaultAppInfoState);\n }\n\n public updateSocketsConnectionState(newState: SocketsConnectionState): void {\n this._updateState({\n hasFailedToInitReconnection: false,\n socketsConnectionState: newState,\n });\n }\n\n public toggleSound(): void {\n this._updateState({\n isSoundOn: !this._getState().isSoundOn,\n });\n }\n\n public showPopover = (): void => {\n const isShown = this._getState().isConnectionPopoverShown;\n\n if (!isShown) {\n this.togglePopover();\n }\n }\n\n public togglePopover(): void {\n this._updateState({\n isConnectionPopoverShown: !this._getState().isConnectionPopoverShown,\n });\n }\n\n public setAsFailedToInitReconnection(): void {\n this._updateState({\n hasFailedToInitReconnection: true,\n });\n }\n\n public whenConnected$(): Observable {\n return this.getState$().pipe(\n map((x) => x.socketsConnectionState),\n skipWhile((x) => x !== SocketsConnectionState.connected),\n map((x) => null),\n take(1));\n }\n\n public whenReconnected$(): Observable {\n return this.whenConnected$().pipe(\n switchMap(() => {\n return this.getState$().pipe(\n map((x) => x.socketsConnectionState),\n distinctUntilChanged(),\n filter((x) => x === SocketsConnectionState.connected),\n skip(1),\n map((x) => null));\n }));\n }\n\n public whenDisconnected$(): Observable {\n return this.getState$().pipe(\n map((x) => x.socketsConnectionState),\n skipWhile((x) => x !== SocketsConnectionState.disconnected),\n map((x) => null),\n take(1));\n }\n\n public isConnected(): boolean {\n return this._getState().socketsConnectionState === SocketsConnectionState.connected;\n }\n\n public isSoundOn(): boolean {\n return this._getState().isSoundOn;\n }\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { DialogService } from './../../dialog/shared/dialog.service';\nimport { AuctionStatus } from './../../auction-info/shared/auction-info.interfaces';\nimport { Subscription , Observable } from 'rxjs';\nimport {\n Settings, BidImprovementOption, SettingsForm, BidImprovementType, SettingsFormModel,\n} from './../shared/settings.interfaces';\nimport { DateTimeService } from './../../format/shared/date-time.service';\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n OnDestroy,\n Output,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n FormBuilder, FormGroup, Validators,\n FormControl, AbstractControl, ValidatorFn,\n} from '@angular/forms';\nimport { timeValidator } from '../../app-forms/app-validators/time.validator';\nimport { integerValidator } from '../../app-forms/app-validators/integer.validator';\nimport { dateValidator } from '../../app-forms/app-validators/date.validator';\nimport * as moment from 'moment';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomValidators } from 'ng2-validation';\nimport { lessThanValidator } from '../../app-forms/app-validators/lessThan.validator';\nimport { greaterThanValidator } from '../../app-forms/app-validators/greaterThan.validator';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-settings-form',\n styleUrls: [\n './settings-form.styles.less',\n ],\n templateUrl: './settings-form.template.html',\n})\nexport class SettingsFormComponent implements OnInit, OnDestroy {\n\n @Input()\n public settings: Settings;\n\n @Input()\n public areSettingsSet: boolean;\n\n @Input()\n public isLoading: boolean;\n\n @Input()\n public unit: string;\n\n @Input()\n public auctionStatusAsync: Observable;\n\n @Output()\n public onSave: EventEmitter = new EventEmitter();\n\n @Output()\n public onCancel: EventEmitter = new EventEmitter();\n\n public settingsForm: FormGroup;\n\n public bidImprovementTypes: BidImprovementOption[];\n\n public selectedBidImprovementType: BidImprovementType;\n\n public initialStartTime: string;\n\n public initialEndTime: string;\n\n public auctionStatus: AuctionStatus;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _formBuilder: FormBuilder,\n private _dateTimeService: DateTimeService,\n private _dialogService: DialogService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _translateService: TranslateService,\n ) { }\n\n public ngOnInit(): void {\n this.bidImprovementTypes = this._getBidImprovementTypes();\n this.selectedBidImprovementType = this.areSettingsSet\n ? this.settings.bidImprovementType\n : this.bidImprovementTypes[0].type;\n\n this._buildForm();\n\n const s = this.auctionStatusAsync.subscribe((status) => {\n this.auctionStatus = status;\n this._handleInputsDisabling();\n });\n\n const s1 = this._translateService.onLangChange.subscribe(() => {\n const startDate = this.settingsForm.get('startDate');\n const endDate = this.settingsForm.get('endDate');\n\n this.settingsForm.patchValue({\n ['startDate']: startDate.value,\n ['endDate']: endDate.value,\n });\n });\n\n this._subscriptions.push(s, s1);\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n public onSaveBtnClick(): void {\n if (this.auctionStatus === AuctionStatus.finished) {\n this._dialogService.alert('settings.cannot_edit_auction_finished');\n return;\n }\n\n // there are validation rules that depends on current time\n // if user adds valid data to form and then waits, it can become invalid after some time,\n // therefore need to revalidate form before submitting\n this.settingsForm.updateValueAndValidity();\n\n if (this.settingsForm.invalid) {\n return;\n }\n\n const newSettings = this._getNewSettingsFromFormValue();\n this.onSave.emit(newSettings);\n }\n\n public onCancelBtnClick(): void {\n this.onCancel.emit();\n }\n\n public onSelectBidImprovementType(option: BidImprovementOption): void {\n this.selectedBidImprovementType = option.type;\n const minBidImprovementControl = this.settingsForm.get('minBidImprovement');\n minBidImprovementControl.setValidators(this._getMinBidImprovementValidators());\n minBidImprovementControl.markAsDirty();\n minBidImprovementControl.updateValueAndValidity();\n }\n\n public onTimeChange(value: string, isEndTime: boolean): void {\n const newValue = this._dateTimeService.getFormatedTime(value);\n const formValues: SettingsForm = this.settingsForm.getRawValue();\n let hasChanged = false;\n\n if (isEndTime && formValues.endTime !== newValue) {\n formValues.endTime = newValue;\n hasChanged = true;\n }\n\n if (!isEndTime && formValues.startTime !== newValue) {\n formValues.startTime = newValue;\n hasChanged = true;\n }\n\n if (hasChanged) {\n this.settingsForm.patchValue(formValues);\n this.settingsForm.get(isEndTime ? 'endTime' : 'startTime').markAsDirty();\n }\n }\n\n public isSubmitBtnDisabled(): boolean {\n if (this.settingsForm.invalid) {\n return true;\n }\n\n if (this.isLoading) {\n return true;\n }\n\n if (this.areSettingsSet && this.settingsForm.pristine) {\n return true;\n }\n\n return false;\n }\n\n public isStartDateControlDisabled(): boolean {\n return this.settingsForm.get('startDate').disabled;\n }\n\n public isStartTimeControlDisabled(): boolean {\n return this.settingsForm.get('startTime').disabled;\n }\n\n private _getBidImprovementTypes(): BidImprovementOption[] {\n return [\n {\n title: '%',\n type: BidImprovementType.percentage,\n },\n {\n title: this.unit,\n type: BidImprovementType.unit,\n },\n ];\n }\n\n private _getNewSettingsFromFormValue(): SettingsFormModel {\n const values: SettingsForm = this.settingsForm.value;\n const formatedEndDate = this._dateTimeService.getDestructedDate(values.endDate);\n const isoEndDateTime = this._dateTimeService\n .getIsoDate(formatedEndDate, values.endTime);\n\n const model: SettingsFormModel = {\n bidImprovementType: this.selectedBidImprovementType,\n endDateTime: isoEndDateTime,\n minBidImprovement: values.minBidImprovement,\n timeExtension: parseInt(values.timeExtension + '', 10) * 60,\n };\n\n if (values.startDate) {\n const formatedStartDate = this._dateTimeService.getDestructedDate(values.startDate);\n const isoStartDateTime = this._dateTimeService\n .getIsoDate(formatedStartDate, values.startTime);\n\n model.startDateTime = isoStartDateTime;\n }\n\n return model;\n }\n\n private _buildForm(): void {\n const isoEndDate = this.areSettingsSet\n ? this.settings.endDateTime\n : this._getdefaultISODate();\n\n const endDate = this._dateTimeService.getStructedDate(isoEndDate);\n\n const isoEndTime = this.areSettingsSet\n ? this.settings.endDateTime\n : this._getdefaultISOTime(true);\n\n const endTime = this._dateTimeService.getFormatedTime(isoEndTime);\n\n const minBidImprovement = this.areSettingsSet ?\n this.settings.minBidImprovement : 10;\n\n const isoStartDate = this.areSettingsSet\n ? this.settings.startDateTime\n : this._getdefaultISODate();\n\n const startDate = this._dateTimeService.getStructedDate(isoStartDate);\n\n const isoStartTime = this.areSettingsSet\n ? this.settings.startDateTime\n : this._getdefaultISOTime(false);\n\n const startTime = this._dateTimeService.getFormatedTime(isoStartTime);\n\n const timeExtension = this.areSettingsSet ?\n this.settings.timeExtension / 60 : 2;\n\n this.settingsForm = this._formBuilder.group({\n endDate: [\n endDate,\n [Validators.required, dateValidator],\n ],\n endTime: [\n endTime,\n [Validators.required, timeValidator],\n ],\n minBidImprovement: [\n minBidImprovement,\n this._getMinBidImprovementValidators(),\n ],\n startDate: [\n startDate,\n [Validators.required, dateValidator],\n ],\n startTime: [\n startTime,\n [Validators.required, timeValidator],\n ],\n timeExtension: [\n timeExtension,\n [\n Validators.required,\n CustomValidators.number,\n integerValidator,\n greaterThanValidator(0),\n ],\n ],\n }, {\n validator: this._relatedInputsValidator(),\n });\n\n this.initialStartTime = isoStartTime;\n this.initialEndTime = isoEndTime;\n }\n\n private _relatedInputsValidator(): (group: FormGroup) => void {\n const self = this;\n\n return (group: FormGroup): void => {\n const startDateControl = group.get('startDate');\n const startDateObj: NgbDateStruct = startDateControl.value;\n const endDateControl = group.get('endDate');\n const endDateObj: NgbDateStruct = endDateControl.value;\n const startDate = this._dateTimeService.getDestructedDate(startDateObj);\n const endDate = this._dateTimeService.getDestructedDate(endDateObj);\n const startDateStamp = moment(startDate, 'L').unix();\n const endDateStamp = moment(endDate, 'L').unix();\n const startTimeControl = group.get('startTime');\n const endTimeControl = group.get('endTime');\n const startTimeStamp = moment(startTimeControl.value, 'HH:mm').unix();\n const endTimeStamp = moment(endTimeControl.value, 'HH:mm').unix();\n\n validateRelatedDates();\n validateRelatedTimes();\n\n function validateRelatedDates(): void {\n\n if (areDefaultDatesRulesFulfilledAndNotEmpty()\n && isStartDateLaterThanEndDate()) {\n endDateControl.setErrors({ datePeriod: true });\n endDateControl.markAsDirty();\n } else {\n endDateControl.setErrors(endDateControl.validator(endDateControl));\n }\n\n function areDefaultDatesRulesFulfilledAndNotEmpty(): boolean {\n const startDateFormControl = new FormControl(startDateObj, dateValidator);\n const endDateFormControl = new FormControl(endDateObj, dateValidator);\n\n if (Validators.required(startDateFormControl)\n || Validators.required(endDateFormControl)) {\n return false;\n }\n\n if (dateValidator(startDateFormControl)\n || dateValidator(endDateFormControl)) {\n return false;\n }\n\n return true;\n }\n\n function isStartDateLaterThanEndDate(): boolean {\n return startDateStamp > endDateStamp;\n }\n }\n\n function validateRelatedTimes(): void {\n let isStartTimeValid = true;\n let isEndTimeValid = true;\n\n if (areDefaultTimesRulesFulfilled()) {\n if (isStartTimeHigherThanOrEqualToEndTime()) {\n endTimeControl.setErrors({ timePeriod: true });\n endTimeControl.markAsDirty();\n isEndTimeValid = false;\n }\n\n if (self._canStartDateTimeControlsBeEdited()\n && !isStartTimeLaterThanCurrent()) {\n startTimeControl.setErrors({ laterThanCurrentTime: true });\n startTimeControl.markAsDirty();\n isStartTimeValid = false;\n }\n\n if (!isEndTimeLaterThanCurrent()) {\n endTimeControl.setErrors({ laterThanCurrentTime: true });\n endTimeControl.markAsDirty();\n isEndTimeValid = false;\n }\n }\n\n if (isStartTimeValid) {\n startTimeControl.setErrors(startTimeControl.validator(startTimeControl));\n }\n\n if (isEndTimeValid) {\n endTimeControl.setErrors(endTimeControl.validator(endTimeControl));\n }\n\n function areDefaultTimesRulesFulfilled(): boolean {\n const startTimeFormControl = new FormControl(\n startTimeControl.value,\n timeValidator,\n );\n const endTimeFormControl = new FormControl(endTimeControl.value, timeValidator);\n\n if (timeValidator(startTimeFormControl)\n || timeValidator(endTimeFormControl)) {\n return false;\n }\n\n return true;\n }\n\n function isStartTimeHigherThanOrEqualToEndTime(): boolean {\n if (startDateStamp !== endDateStamp) {\n return false;\n }\n\n return startTimeStamp >= endTimeStamp;\n }\n\n function isStartTimeLaterThanCurrent(): boolean {\n return isTimeLaterThanCurrent(startDateControl, startTimeControl);\n }\n\n function isEndTimeLaterThanCurrent(): boolean {\n return isTimeLaterThanCurrent(endDateControl, endTimeControl);\n }\n\n function isTimeLaterThanCurrent(\n dateControl: AbstractControl,\n timeControl: AbstractControl,\n ): boolean {\n const formatedDate = self._dateTimeService\n .getDestructedDate(dateControl.value);\n\n const isoDateTime = self._dateTimeService\n .getIsoDate(formatedDate, timeControl.value);\n\n const dateTimeUnix = moment(isoDateTime).unix();\n const currentDateTimeUnix = moment(new Date().toISOString()).unix();\n\n return dateTimeUnix > currentDateTimeUnix;\n }\n\n }\n };\n }\n\n private _getdefaultISODate(): string {\n return new Date().toISOString();\n }\n\n private _getdefaultISOTime(isEndTime: boolean): string {\n const oneHour = 60 * 60 * 1000;\n let time = new Date().getTime() + oneHour;\n\n if (isEndTime) {\n time += oneHour;\n }\n\n const date = new Date(time);\n date.setHours(date.getHours() + Math.ceil(date.getMinutes() / 60));\n date.setMinutes(0);\n\n return date.toISOString();\n }\n\n private _handleInputsDisabling(): void {\n const startDateControl = this.settingsForm.get('startDate');\n const startTimeControl = this.settingsForm.get('startTime');\n\n if (this._canStartDateTimeControlsBeEdited()) {\n startDateControl.enable();\n startTimeControl.enable();\n } else {\n startDateControl.disable();\n startTimeControl.disable();\n }\n\n // need to manually force change detection so date and time pickers\n // buttons disabled state is reflected in UI\n this._changeDetectorRef.markForCheck();\n }\n\n private _canStartDateTimeControlsBeEdited(): boolean {\n return this.auctionStatus === AuctionStatus.notSet\n || this.auctionStatus === AuctionStatus.notStarted;\n }\n\n private _getMinBidImprovementValidators(): ValidatorFn[] {\n const validators = [\n Validators.required,\n CustomValidators.number,\n integerValidator,\n greaterThanValidator(0),\n ];\n\n if (this.selectedBidImprovementType === BidImprovementType.percentage) {\n validators.push(lessThanValidator(100));\n }\n\n return validators;\n }\n\n}\n","
\n\n \n\n \n \n \n\n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n\n \n
\n \n min\n
\n
\n\n \n\n \n\n \n \n\n \n\n \n\n
\n\n
\n\n \n \n\n
\n\n","import { DataSyncService } from './../../data-sync/shared/data-sync.service';\nimport { BiddingStatusStore } from './../../bidding-status/shared/bidding-status.store';\nimport { defaultBiddingState } from './bidding.data';\nimport { BiddingState, BidModel } from './bidding.interfaces';\nimport { BiddingApiService } from './bidding-api.service';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class BiddingStore extends BaseStore {\n\n constructor(\n private _biddingApiService: BiddingApiService,\n private _biddingStatusStore: BiddingStatusStore,\n private _dataSyncService: DataSyncService,\n ) {\n super(defaultBiddingState);\n }\n\n public loadBid(auctionId: number, tenderId: number): void {\n\n this._updateState({\n isLoading: true,\n });\n\n this._biddingApiService.getBid(auctionId, tenderId)\n .subscribe(\n (response) => {\n this._updateState({\n bidModel: response,\n isLoaded: true,\n isLoading: false,\n });\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n });\n }\n\n public openInputInEditMode(): void {\n this._updateState({\n isInputInEditMode: true,\n });\n }\n\n public closeInputInEditMode(): void {\n this._updateState({\n isInputInEditMode: false,\n });\n }\n\n public updateBid(auctionId: number, tenderId: number, value: number): void {\n\n this._updateState({\n isInputInEditMode: false,\n isSavingBid: true,\n });\n\n this._biddingApiService.updateBid(auctionId, tenderId, value)\n .subscribe(\n (response) => {\n this._updateState({\n bidModel: response,\n isSavingBid: false,\n });\n\n this._biddingStatusStore.\n updateBiddingStatusAfterChangingPendingBid(response.value);\n },\n () => {\n this._updateState({\n isSavingBid: false,\n });\n });\n }\n\n public syncBid(auctionId: number, tenderId: number): void {\n this._biddingApiService.getBid(auctionId, tenderId)\n .subscribe(\n (response) => {\n if (!this._areBidModelsEqual(this._getState().bidModel, response)) {\n this._updateState({\n bidModel: response,\n });\n }\n }, this._dataSyncService.onSyncFail);\n }\n\n public submitBid(auctionId: number, tenderId: number): void {\n\n this._updateState({\n isSubmittingBid: true,\n });\n\n this._biddingApiService.submitBid(auctionId, tenderId)\n .subscribe(\n (response) => {\n this._updateState({\n bidModel: response.bid,\n isSubmittingBid: false,\n });\n\n this._biddingStatusStore\n .updateBiddingStatusAfterSubmittingBid(response.biddingStatus);\n },\n () => {\n this._updateState({\n isSubmittingBid: false,\n });\n });\n }\n\n private _areBidModelsEqual = (b1: BidModel, b2: BidModel): boolean => {\n return JSON.stringify(b1) === JSON.stringify(b2);\n }\n\n}\n","import { appRoutesPaths } from './app-routes.constants';\nimport { Router, NavigationExtras, ActivatedRoute } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { UserRole } from '../../user/shared/user.interfaces';\n\n@Injectable()\nexport class RedirectionService {\n\n constructor(\n private _router: Router,\n private _activatedRoute: ActivatedRoute,\n ) {}\n\n public redirectAfterLogin(role: UserRole): void {\n const returnUrl = this._activatedRoute.snapshot.queryParams.returnUrl;\n\n if (returnUrl) {\n this._router.navigateByUrl(decodeURIComponent(returnUrl))\n .then((isSuccess) => {\n if (!isSuccess) {\n // can happen if user logged in with different role\n // than at the time when he was redirected to login page\n this.redirectToDefault(role);\n }\n });\n } else {\n this.redirectToDefault(role);\n }\n }\n\n public redirectAfterLogout(): void {\n this.redirectNotAuthenticated();\n }\n\n public redirectNotAuthenticated(\n redirectUrl?: string,\n shouldRedirectToCurrentRoute?: boolean,\n ): void {\n const loginUrl = `/${appRoutesPaths.login}`;\n const currentUrl = this._router.routerState.snapshot.url;\n\n if (currentUrl === loginUrl) {\n // user already is in login page\n // and could get 401 from other pending ajax requests\n return;\n }\n\n let returnUrl = redirectUrl;\n\n if (!returnUrl) {\n returnUrl = shouldRedirectToCurrentRoute ? currentUrl : null;\n }\n\n const navigationExtras: NavigationExtras = {};\n\n if (returnUrl && returnUrl !== '/') {\n navigationExtras.queryParams = {\n returnUrl: encodeURIComponent(returnUrl),\n };\n }\n\n this._router.navigate([loginUrl], navigationExtras);\n }\n\n public redirectNotAuthorized(requestedUrl: string): void {\n const navigationExtras: NavigationExtras = {\n queryParams: {\n requestedUrl: encodeURIComponent(requestedUrl),\n },\n };\n\n this._router.navigate([`/${appRoutesPaths.notAuthorized}`], navigationExtras);\n }\n\n public redirectToDefault(role: UserRole): void {\n if (role === UserRole.purchaser) {\n this._router.navigateByUrl(`/${appRoutesPaths.purchaser.default}`);\n } else if (role === UserRole.supplier) {\n this._router.navigateByUrl(`/${appRoutesPaths.supplier.default}`);\n }\n }\n\n /**\n * Same method as redirectToDefault, but only used when user role is not known\n */\n public redirectToHome(): void {\n this._router.navigateByUrl(`/${appRoutesPaths.root}`);\n }\n\n public goToRoute( route: string,\n navigationExtras?: NavigationExtras,\n ...params: any): Promise {\n const routeWithParams = this.getRouteWithParams(route, ...params);\n return this._router.navigateByUrl(routeWithParams, navigationExtras);\n }\n\n public getRouteWithParams(route: string, ...params: any[]): string {\n if (params) {\n params.forEach((p) => {\n route = route.replace(/:[^\\/]*/, p);\n });\n }\n\n return '/' + route;\n }\n\n}\n","import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { ValidationResult } from './../shared/validators.interfaces';\nimport { FormControl } from '@angular/forms';\nimport * as moment from 'moment';\n\nexport function dateValidator(control: FormControl): ValidationResult {\n if (!control.value) {\n return null;\n }\n\n if (!isDateValid(control.value)) {\n return {\n date: true,\n };\n }\n\n return null;\n}\n\nfunction isDateValid(value: NgbDateStruct): boolean {\n const valueString = getFormattedDate(value);\n return moment(valueString, 'YYYY-MM-DD', true).isValid();\n}\n\n// Not possible to use NgbDateParserFormatter.format method in static method\n// So repeating implementation here\nexport function getFormattedDate(date: NgbDateStruct): string {\n if (!date) {\n return '';\n }\n\n const month = isNumber(date.month) ? padNumber(date.month) : '';\n const day = isNumber(date.day) ? padNumber(date.day) : '';\n return `${date.year}-${month}-${day}`;\n}\n\nfunction isNumber(value: any): boolean {\n return !isNaN(toInteger(value));\n}\n\nfunction padNumber(value: any): string {\n if (isNumber(value)) {\n return ('0' + value).slice(-2);\n }\n return '';\n}\n\nfunction toInteger(value: any): number {\n return parseInt('' + value, 10);\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n AfterViewInit,\n HostListener,\n } from '@angular/core';\n\n@Directive({\n selector: '[eauEmptyLink]',\n})\nexport class EmptyLinkDirective implements AfterViewInit {\n\n constructor(\n private _element: ElementRef,\n private _renderer: Renderer2,\n ) {}\n\n public ngAfterViewInit(): void {\n this._renderer.setAttribute(this._element.nativeElement, 'href', '');\n }\n\n @HostListener('click', ['$event'])\n public onClick(e: Event): void {\n e.preventDefault();\n }\n\n}\n","\nimport { catchError, map } from 'rxjs/operators';\nimport { ErrorHandlingService } from './error-handling.service';\nimport { AppConfig } from './app.config';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { pubSubEvents } from './pub-sub-events.values';\nimport { HttpError } from './api.interfaces';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable()\nexport class BaseApiService {\n\n private _apiUrl: string;\n\n constructor(\n config: AppConfig,\n private _http: HttpClient,\n private _errorHandlingService: ErrorHandlingService,\n private _pubSubService: PubSubService,\n ) {\n this._apiUrl = config.apiServerUrl;\n }\n\n public get(url: string): Observable {\n const fullUrl = this._apiUrl + url;\n\n return this._http.get(fullUrl, {\n headers: { Pragma: 'no-cache' },\n withCredentials: true,\n }).pipe(\n map(this._onSuccess),\n catchError(this._onError));\n }\n\n public post(url: string, body: any): Observable {\n const fullUrl = this._apiUrl + url;\n\n return this._http.post(fullUrl, body, { withCredentials: true }).pipe(\n map(this._onSuccess),\n catchError(this._onError));\n }\n\n public put(url: string, body: any): Observable {\n const fullUrl = this._apiUrl + url;\n\n return this._http.put(fullUrl, body, { withCredentials: true }).pipe(\n map(this._onSuccess),\n catchError(this._onError));\n }\n\n public delete(url: string): Observable<{}> {\n const fullUrl = this._apiUrl + url;\n\n return this._http.delete(fullUrl, { withCredentials: true }).pipe(\n map(this._onSuccess),\n catchError(this._onError));\n }\n\n private _onSuccess = (response?: Response): any => {\n this._publishRequestWasMadeEvent();\n return response;\n }\n\n private _onError = (error: HttpError): any => {\n this._publishRequestWasMadeEvent(error.status);\n return this._errorHandlingService.handleApiError(error);\n }\n\n private _publishRequestWasMadeEvent = (errorStatus?: number): void => {\n if (errorStatus === 401) {\n return;\n }\n\n this._pubSubService.pub(pubSubEvents.apiRequestWasMade);\n }\n\n}\n","import {\n Component, EventEmitter, Input, Output,\n ViewEncapsulation, OnInit, HostBinding,\n} from '@angular/core';\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n selector: 'eau-timepicker',\n styleUrls: [\n './timepicker.styles.less',\n ],\n templateUrl: './timepicker.template.html',\n})\nexport class TimepickerComponent implements OnInit {\n\n @HostBinding('class.eau-timepicker')\n public className: boolean = true;\n\n @Input()\n public initialValue: Date;\n\n @Input()\n public isDisabled: boolean;\n\n @Output('onChange')\n public valueChanged: EventEmitter = new EventEmitter();\n\n public isOpened: boolean = false;\n\n public value: Date;\n\n public ngOnInit(): void {\n this.value = this.initialValue;\n }\n\n public onChange(): void {\n this.valueChanged.emit(this.value);\n }\n\n}\n","
\n\n \n\n
\n\n \n\n
    \n
  • \n \n \n
  • \n
\n\n
\n\n
\n","import { appRoutesPaths } from './../../app-routing/shared/app-routes.constants';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { Tender } from './../shared/tenders.interfaces';\nimport {\n Component, Input, ChangeDetectionStrategy,\n } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-tenders-list',\n styleUrls: [\n './tenders-list.styles.less',\n ],\n templateUrl: './tenders-list.template.html',\n})\nexport class TendersListComponent {\n\n @Input()\n public tenders: Tender[];\n\n constructor(\n private _redirectionService: RedirectionService,\n ) {}\n\n public getTenderUrl(tender: Tender): string {\n return this._redirectionService\n .getRouteWithParams(appRoutesPaths.supplier.tender, tender.auctionId, tender.id);\n }\n\n}\n","
\n \n {{'tenders_list.no_tenders_exist' | translate}}\n
\n\n\n \n \n \n
\n {{tender.procurementName}}: Tender {{tender.id}}\n
\n","import { defaultAppTranslateState } from './app-translate.data';\nimport { AppTranslateState, Language, DatepickerTranslations } from './app-translate.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class AppTranslateStore extends BaseStore {\n\n constructor() {\n super(defaultAppTranslateState);\n }\n\n public setState(\n languagesKeys: string[],\n datepickerTranslations: DatepickerTranslations,\n activeLanguageKey: string,\n ): void {\n const languages: Language[] = languagesKeys.map((key) => {\n return {\n isActive: key === activeLanguageKey,\n key,\n title: `languages.selector.${key}`,\n };\n });\n\n this._updateState({\n activeLanguage: activeLanguageKey,\n datepickerTranslations,\n languages,\n });\n }\n\n public getDatepickerTranslations(): DatepickerTranslations {\n return this._getState().datepickerTranslations;\n }\n\n}\n","export enum SocketListenHook {\n settingsUpdated = 'settingsUpdated',\n auctionProlonged = 'auctionProlonged',\n newBidArrived = 'newBidArrived',\n competitorSubmittedBid = 'competitorSubmittedBid',\n supplierRespondedToPurchaserAsJoinedAuction =\n 'supplierRespondedToPurchaserAsJoinedAuction',\n supplierJoinedAuction = 'supplierJoinedAuction',\n supplierLeftAuction = 'supplierLeftAuction',\n requestIfSupplierJoinedAuction = 'requestIfSupplierJoinedAuction',\n supplierRespondedAsOnline = 'supplierRespondedAsOnline',\n}\n\nexport enum SocketEmitHook {\n joinAuction = 'joinAuction',\n leaveAuction = 'leaveAuction',\n respondAsSupplierJoinedAuction = 'respondAsSupplierJoinedAuction',\n supplierIsOnline = 'supplierIsOnline',\n}\n\nexport enum SocketsConnectionState {\n connecting = 0,\n connected = 1,\n reconnecting = 2,\n disconnected = 4,\n}\n\nexport interface SignalRSocketsConnectionResponseModel {\n oldState: number;\n newState: number;\n}\n","import { UtilsModule } from './../utils/utils.module';\nimport { FormatModule } from './../format/format.module';\nimport { LoadersModule } from './../loaders/loaders.module';\nimport { AppTranslateModule } from './../app-translate/app-translate.module';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n exports: [\n CommonModule,\n AppTranslateModule,\n LoadersModule,\n FormatModule,\n UtilsModule,\n ],\n imports: [\n CommonModule,\n LoadersModule,\n AppTranslateModule,\n FormatModule,\n UtilsModule,\n ],\n})\nexport class SharedModule {\n\n}\n","import { GetTendersApiResponseModel } from './tenders.interfaces';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class TendersApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getTenders(): Observable {\n const url = 'tenders';\n return this._apiService.get(url);\n }\n\n}\n","import { ConnectionPopoverComponent } from './connection-popover/connection-popover.component';\nimport {\n ConnectionIndicatorComponent,\n} from './connection-indicator/connection-indicator.component';\nimport {\n ConnectionContainerComponent,\n} from './connection-container/connection-container.component';\nimport { SoundToggleComponent } from './sound-toggle/sound-toggle.component';\nimport { SharedModule } from './../shared/shared.module';\nimport { AppInfoStore } from './shared/app-info.store';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n ConnectionContainerComponent,\n ConnectionIndicatorComponent,\n ConnectionPopoverComponent,\n SoundToggleComponent,\n ],\n exports: [\n ConnectionContainerComponent,\n SoundToggleComponent,\n ],\n imports: [\n SharedModule,\n ],\n providers: [\n AppInfoStore,\n ],\n})\nexport class AppInfoModule {\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport { showHideAnimation } from './connection-popover.animations';\nimport { AppInfoStore } from './../shared/app-info.store';\nimport { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SocketsConnectionState } from '../../core/shared/base-sockets.interfaces';\n\n@Component({\n animations: [\n showHideAnimation,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-connection-popover',\n styleUrls: [\n './connection-popover.styles.less',\n ],\n templateUrl: './connection-popover.template.html',\n})\nexport class ConnectionPopoverComponent {\n\n @Input()\n public connectionState: Observable;\n\n @Input()\n public hasFailedToInitReconnection: boolean;\n\n @Output()\n public reconnect: EventEmitter = new EventEmitter();\n\n @Output()\n public togglePopover: EventEmitter = new EventEmitter();\n\n constructor(\n private _appInfoStore: AppInfoStore,\n ) {}\n\n public isPopoverShown$(): Observable {\n // TODO: should receive isSocketsConnectionPopoverShown property as Input param\n // and this component should not be dependant on AppInfoStore\n // but change detection somewhy doesn't work in that case\n return this._appInfoStore.getState$().pipe(\n map((s) => s.isConnectionPopoverShown));\n }\n\n public onReconnect(): void {\n this.reconnect.emit();\n }\n\n public onTogglePopover(): void {\n this.togglePopover.emit();\n }\n\n public getPopoverTitle$(): Observable {\n return this.connectionState.pipe(map((s) => {\n return this._getPopoverTitle(s);\n }));\n }\n\n public getPopoverDescription$(): Observable {\n return this.connectionState.pipe(map((s) => {\n return this._getPopoverDescription(s);\n }));\n }\n\n public shouldShowReconnectBtn$(): Observable {\n return this.connectionState.pipe(map((s) => s === SocketsConnectionState.disconnected));\n }\n\n public shouldShowSpinner$(): Observable {\n return this.connectionState.pipe(map((s) => {\n return s === SocketsConnectionState.connecting\n || s === SocketsConnectionState.reconnecting;\n }));\n }\n\n private _getPopoverTitle(state: SocketsConnectionState): string {\n switch (state) {\n case SocketsConnectionState.connected:\n return 'sockets_connection.title.connected';\n case SocketsConnectionState.connecting:\n case SocketsConnectionState.reconnecting:\n return 'sockets_connection.title.connecting';\n case SocketsConnectionState.disconnected:\n return 'sockets_connection.title.disconnected';\n default:\n throw new Error('invalid SocketsConnection state');\n }\n }\n\n private _getPopoverDescription(state: SocketsConnectionState): string {\n switch (state) {\n case SocketsConnectionState.connected:\n return 'sockets_connection.description.connected';\n case SocketsConnectionState.connecting:\n case SocketsConnectionState.reconnecting:\n return 'sockets_connection.description.connecting';\n case SocketsConnectionState.disconnected:\n return 'sockets_connection.description.disconnected';\n default:\n throw new Error('invalid SocketsConnection state');\n }\n }\n}\n","
\n\n
\n

\n {{getPopoverTitle$() | async | translate}}\n\n \n\n \n

\n
\n {{getPopoverDescription$() | async | translate}}\n
\n \n\n

\n {{'sockets_connection.message.could_not_reconnect' | translate}}\n

\n
\n
\n","import { appRoutesPaths } from './../../app-routing/shared/app-routes.constants';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport {\n listItemAppearAnimation,\n listItemDisappearAnimation,\n} from './../../core/shared/animations';\nimport { Auction } from './../shared/auctions.interfaces';\nimport {\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy,\n } from '@angular/core';\n\n@Component({\n animations: [\n listItemAppearAnimation,\n listItemDisappearAnimation,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auctions-list',\n styleUrls: [\n './auctions-list.styles.less',\n ],\n templateUrl: './auctions-list.template.html',\n})\nexport class AuctionsListComponent {\n\n @Input() public auctions: Auction[];\n\n @Output('onDelete')\n public deleteAuction: EventEmitter = new EventEmitter();\n\n constructor(\n private _redirectionService: RedirectionService,\n ) {}\n\n public getAuctionUrl(auctionId: number): string {\n return this._redirectionService\n .getRouteWithParams(appRoutesPaths.purchaser.auction, auctionId);\n }\n\n public onDelete(auctionId: number): void {\n this.deleteAuction.emit(auctionId);\n }\n\n}\n","
\n \n {{'auctions_list.no_auctions_exist' | translate}}\n
\n\n\n \n \n \n \n
\n \n {{auction.procurementReferenceNumber}}: {{auction.procurementName}}\n \n \n \n
\n","\nimport { take, skipWhile, map } from 'rxjs/operators';\nimport { AuctionStatus } from './../../auction-info/shared/auction-info.interfaces';\nimport { SettingsSocketsService } from './../shared/settings-sockets.service';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { SettingsStore } from './../shared/settings.store';\nimport { Subscription , Observable } from 'rxjs';\nimport { AppTranslateStore } from './../../app-translate/shared/app-translate.store';\nimport { Settings, SettingsState, SettingsFormModel } from './../shared/settings.interfaces';\nimport { Component, OnInit, OnDestroy, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-settings-container',\n templateUrl: './settings-container.template.html',\n})\nexport class SettingsContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public title: string;\n\n @Input()\n public canUserEdit: boolean;\n\n public settingsState$: Observable;\n\n public areSettingsSet$: Observable;\n\n public unit$: Observable;\n\n public auctionStatus$: Observable;\n\n public language$: Observable;\n\n public shouldShowLoader$: Observable;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _settingsSocketsService: SettingsSocketsService,\n private _appTranslateStore: AppTranslateStore,\n private _auctionInfoStore: AuctionInfoStore,\n private _settingsStore: SettingsStore,\n ) {}\n\n public ngOnInit(): void {\n this.settingsState$ = this._settingsStore.getState$();\n this.areSettingsSet$ = this._settingsStore.selectors.areSettingsSet$();\n this.auctionStatus$ = this._auctionInfoStore.getState$().pipe(map((x) => x.auctionStatus));\n\n this.shouldShowLoader$ = this.settingsState$.pipe(map((s) => {\n if (!s.isLoaded) {\n return true;\n }\n\n if (s.isLoading) {\n return true;\n }\n\n if (!s.model.startDateTime && !s.isInEditMode) {\n return true;\n }\n\n return false;\n }));\n\n this.unit$ = this._auctionInfoStore.getState$().pipe(\n map((auctionInfo) => auctionInfo.auctionModel.unit));\n\n this.language$ = this._appTranslateStore.getState$().pipe(\n map((state) => state.activeLanguage));\n\n this._settingsStore.loadSettings(this.auctionId);\n this._initSocketsEvents();\n\n this.settingsState$.pipe(\n skipWhile((s) => !s.isLoaded),\n take(1))\n .subscribe(this._openEditModeIfSettingsNotSet.bind(this));\n }\n\n public ngOnDestroy(): void {\n this._settingsStore.resetState();\n this._subscriptions.forEach((s) => s.unsubscribe());\n }\n\n public onEdit(): void {\n this._settingsStore.openEditMode();\n }\n\n public onSave(newSettings: Settings | SettingsFormModel): void {\n this.areSettingsSet$.pipe(take(1)).subscribe((areSet) => {\n if (areSet) {\n this._settingsStore.updateSettings(this.auctionId, newSettings);\n } else {\n this._settingsStore.createSettings(this.auctionId, newSettings);\n }\n });\n }\n\n public onCancel(): void {\n this._settingsStore.closeEditMode();\n }\n\n public canSettingsBeEdited$(): Observable {\n return this._auctionInfoStore.getState$().pipe(\n map((x) => {\n return this.canUserEdit && x.auctionStatus !== AuctionStatus.finished;\n }));\n }\n\n private _initSocketsEvents(): void {\n const s1 = this._settingsSocketsService\n .settingsUpdated()\n .subscribe((newSettings) => {\n this._settingsStore.useNewSettings(newSettings);\n });\n\n const s2 = this._settingsSocketsService\n .auctionProlonged()\n .subscribe((response) => {\n this._settingsStore.prolong(response.endDateTime);\n });\n\n this._subscriptions = [s1, s2];\n }\n\n private _openEditModeIfSettingsNotSet(state: SettingsState): void {\n if (state.model.startDateTime) {\n return;\n }\n\n if (!this.canUserEdit) {\n return;\n }\n\n // TODO: does not work without timeout\n setTimeout(() => {\n this._settingsStore.openEditMode();\n });\n }\n\n}\n","
\n
\n

{{title}}

\n\n \n \n \n\n \n \n \n\n
\n
\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\";","export interface User {\n role: UserRole;\n displayName: string;\n}\n\nexport interface UserState {\n hasLoginFailed: boolean;\n isIdentityChecked: boolean;\n isLoggingIn: boolean;\n isLoggingOut: boolean;\n user: User;\n}\n\nexport interface LoginApiRequestModel {\n password: string;\n username: string;\n}\n\nexport interface LoginApiResponseModel extends User {\n}\n\nexport interface GetUserApiResponseModel extends User {\n}\n\nexport enum UserRole {\n host = 'Host',\n purchaser = 'Purchaser',\n supplier = 'Supplier',\n}\n","\nimport { switchMap, delay, filter, distinctUntilChanged, take, map } from 'rxjs/operators';\nimport { UserStore } from './../../user/shared/user.store';\nimport { Subscription , Observable } from 'rxjs';\nimport { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { AppInfoStore } from './../shared/app-info.store';\nimport { Component, OnInit, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { SocketsConnectionState } from '../../core/shared/base-sockets.interfaces';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-connection-container',\n styleUrls: [\n './connection-container.styles.less',\n ],\n templateUrl: './connection-container.template.html',\n})\nexport class ConnectionContainerComponent implements OnInit, OnDestroy {\n\n public connectionState$: Observable;\n\n public hasFailedToInitReconnection$: Observable;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _baseSocketsService: BaseSocketsService,\n private _appInfoStore: AppInfoStore,\n private _userStore: UserStore,\n ) {}\n\n public ngOnInit(): void {\n const state$ = this._appInfoStore.getState$();\n this.connectionState$ = state$.pipe(map((s) => s.socketsConnectionState));\n this.hasFailedToInitReconnection$ = state$.pipe(map((s) => s.hasFailedToInitReconnection));\n this._showPopoverWhenNeeded();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((s) => s.unsubscribe());\n this._appInfoStore.resetState();\n }\n\n public onTogglePopover(): void {\n this._appInfoStore.togglePopover();\n }\n\n public onReconnect(): void {\n this._baseSocketsService.reconnect();\n\n setTimeout(() => {\n // if after 100ms state hasn't changed from disconnected to some other,\n // it means reconnection initiation has failed (no internet connection or other reasons)\n\n this._appInfoStore.getState$().pipe(\n map((s) => s.socketsConnectionState),\n take(1))\n .subscribe((s) => {\n if (s === SocketsConnectionState.disconnected) {\n this._appInfoStore.setAsFailedToInitReconnection();\n }\n });\n }, 100);\n }\n\n private _showPopoverWhenNeeded(): void {\n const s = this.connectionState$.pipe(\n distinctUntilChanged(),\n map(shouldShow),\n filter((x) => !!x),\n delay(500),\n switchMap(() => this._userStore.getState$().pipe(map((x) => x.user))),\n filter((user) => !!user))\n .subscribe(this._appInfoStore.showPopover);\n\n this._subscriptions.push(s);\n\n function shouldShow(state: SocketsConnectionState): boolean {\n switch (state) {\n case SocketsConnectionState.reconnecting:\n case SocketsConnectionState.disconnected:\n return true;\n default:\n return false;\n }\n }\n }\n\n}\n","
\n\n \n \n\n \n \n\n
\n","\nimport { combineLatest, Observable } from 'rxjs';\n\nimport { skip, distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { appRoutesPaths } from './app-routing/shared/app-routes.constants';\nimport { RedirectionService } from './app-routing/shared/redirection.service';\nimport { pubSubEvents } from './core/shared/pub-sub-events.values';\nimport { PubSubService } from './pub-sub/shared/pub-sub.service';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { ErrorPageService } from './layout/shared/error-page.service';\nimport { AppInfoStore } from './app-info/shared/app-info.store';\nimport { NotificationsService } from './notifications/shared/notifications.service';\nimport { AppConfig } from './core/shared/app.config';\nimport { AppTranslateStore } from './app-translate/shared/app-translate.store';\nimport { Language } from './app-translate/shared/app-translate.interfaces';\nimport { AppTranslateService } from './app-translate/shared/app-translate.service';\nimport { UserStore } from './user/shared/user.store';\nimport { Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { BaseSocketsService } from './core/shared/base-sockets.service';\nimport { UserRole } from './user/shared/user.interfaces';\nimport { SessionService } from './core/shared/session.service';\nimport { UserService } from './user/shared/user.service';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n selector: 'eau-app',\n styleUrls: [\n './app.styles.less',\n ],\n templateUrl: './app.template.html',\n})\nexport class AppComponent implements OnInit {\n\n public isLoggedIn$: Observable;\n\n public shouldShowNav$: Observable;\n\n public isIdentityChecked$: Observable;\n\n public displayName$: Observable;\n\n public userRole$: Observable;\n\n public languages$: Observable;\n\n public appTitle: string;\n\n constructor(\n private _router: Router,\n private _appConfig: AppConfig,\n private _baseSocketsService: BaseSocketsService,\n private _userStore: UserStore,\n private _appInfoStore: AppInfoStore,\n private _appTranslateService: AppTranslateService,\n private _appTranslateStore: AppTranslateStore,\n private _notificationsService: NotificationsService,\n private _errorPageService: ErrorPageService,\n private _pubSubService: PubSubService,\n private _sessionService: SessionService,\n private _userService: UserService,\n private _redirectionService: RedirectionService,\n private _meta: Meta,\n ) {\n this._meta.addTag({ name: 'http-equiv', content: 'Content-Security-Policy' });\n this._meta.addTag({ name: 'content', content: 'upgrade-insecure-requests' });\n }\n\n public ngOnInit(): void {\n const userState$ = this._userStore.getState$();\n this.isLoggedIn$ = userState$.pipe(map((state) => !!state.user));\n this.isIdentityChecked$ = userState$.pipe(map((state) => state.isIdentityChecked));\n\n this.displayName$ = userState$.pipe(map((state) => {\n return state.user ? state.user.displayName : '';\n }));\n\n this.userRole$ = userState$.pipe(map((state) => {\n return state.user ? state.user.role : null;\n }));\n\n this.languages$ = this._appTranslateStore.getState$().pipe(map((s) => s.languages));\n this.appTitle = this._appConfig.appTitle;\n this._handeUserLoginStatusChange();\n this._handleErrorPage();\n this._appTranslateService.initMultilingualApp();\n\n this._pubSubService.sub(pubSubEvents.apiRequestWasMade)\n .subscribe(this._sessionService.extendUserSessionTimeouts);\n\n this._pubSubService.sub(pubSubEvents.userSessionExpired).subscribe(() => {\n this._userStore.unsetLoggedInUser();\n this._redirectionService.redirectNotAuthenticated(null, true);\n });\n\n const isLoginPageActive$ = this._router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this._router.routerState.snapshot.url.indexOf(appRoutesPaths.login) > -1));\n\n this.shouldShowNav$ = combineLatest(\n [\n isLoginPageActive$,\n this.isIdentityChecked$,\n ]).pipe(\n map(([activeLoginPage, isIdentityChecked]) => {\n return !activeLoginPage && isIdentityChecked;\n }));\n }\n\n public onLogout(): void {\n this._userService.logout();\n }\n\n public onToggleSound(): void {\n this._appInfoStore.toggleSound();\n }\n\n public shouldShowErrorPage(): boolean {\n return this._errorPageService.shouldShowErrorPage();\n }\n\n private _handeUserLoginStatusChange(): void {\n this.isLoggedIn$.pipe(\n distinctUntilChanged(),\n skip(1))\n .subscribe((isLoggedIn) => {\n this._notificationsService.closeAll();\n\n if (isLoggedIn) {\n this._baseSocketsService.connect();\n }\n });\n }\n\n private _handleErrorPage(): void {\n this._router.events.pipe(\n filter((x) => x instanceof NavigationStart))\n .subscribe(() => {\n this._errorPageService.hide();\n });\n }\n\n}\n","\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n \n
\n\n\n\n\n\n","import { Messages } from './validators.interfaces';\n\nexport const validationMessages: Messages = {\n date: 'validation.date',\n datePeriod: 'validation.date_period',\n greaterThan: 'validation.greaterThan',\n integer: 'validation.integer',\n laterThanCurrentTime: 'validation.later_than_current_time',\n lessThan: 'validation.lessThan',\n number: 'validation.number',\n required: 'validation.required',\n time: 'validation.time',\n timePeriod: 'validation.time_period',\n};\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './login-page.template.html',\n})\nexport class LoginPageComponent {\n\n}\n","","import { NotAuthorizedPageComponent } from './not-authorized-page/not-authorized-page.component';\nimport { ErrorPageService } from './shared/error-page.service';\nimport { ErrorPageComponent } from './error-page/error-page.component';\nimport { AlertPageComponent } from './alert-page/alert-page.component';\nimport { AppInfoModule } from './../app-info/app-info.module';\nimport { StickyDirective } from './sticky/sticky.directive';\nimport { NotFoundPageComponent } from './not-found-page/not-found-page.component';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from './../shared/shared.module';\nimport { NavComponent } from './nav/nav.component';\nimport { CommonModule } from '@angular/common';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n ErrorPageComponent,\n NavComponent,\n NotFoundPageComponent,\n StickyDirective,\n AlertPageComponent,\n NotAuthorizedPageComponent,\n ],\n exports: [\n ErrorPageComponent,\n NavComponent,\n NotFoundPageComponent,\n StickyDirective,\n NotAuthorizedPageComponent,\n ],\n imports: [\n CommonModule,\n BsDropdownModule.forRoot(),\n SharedModule,\n RouterModule,\n AppInfoModule,\n ],\n providers: [\n ErrorPageService,\n ],\n})\nexport class LayoutModule {\n\n}\n","import { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { SocketListenHook } from './../../core/shared/base-sockets.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class BiddingStatusSocketsService {\n\n constructor(\n private _baseSocketsService: BaseSocketsService,\n ) {}\n\n public competitorSubmittedBid(): Observable {\n return this._baseSocketsService.get(SocketListenHook.competitorSubmittedBid);\n }\n}\n","import { AuctionInfoModule } from './../auction-info/auction-info.module';\nimport { BiddingStatusStore } from './shared/bidding-status.store';\nimport { BiddingStatusApiService } from './shared/bidding-status-api.service';\nimport { BiddingStatusSocketsService } from './shared/bidding-status-sockets.service';\nimport {\n BiddingStatusContainerComponent,\n} from './bidding-status-container/bidding-status-container.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\nimport { LeadingBidComponent } from './leading-bid/leading-bid.component';\nimport { TenderRankComponent } from './tender-rank/tender-rank.component';\n\n@NgModule({\n declarations: [\n LeadingBidComponent,\n BiddingStatusContainerComponent,\n TenderRankComponent,\n ],\n exports: [\n BiddingStatusContainerComponent,\n ],\n imports: [\n AuctionInfoModule,\n SharedModule,\n ],\n providers: [\n BiddingStatusApiService,\n BiddingStatusStore,\n BiddingStatusSocketsService,\n ],\n})\nexport class BiddingStatusModule {\n\n}\n","import {\n AnswerAppIntegrationModule,\n} from './../answer-app-integration/answer-app-integration.module';\nimport { AppFormsModule } from './../app-forms/app-forms.module';\nimport { AnswerWidgetComponent } from './answer-widget/answer-widget.component';\nimport { QuestionContainerComponent } from './question-container/question-container.component';\nimport { BiddingStore } from './shared/bidding.store';\nimport { BiddingApiService } from './shared/bidding-api.service';\nimport { LayoutModule } from './../layout/layout.module';\nimport { AddBidToolbarComponent } from './add-bid-toolbar/add-bid-toolbar.component';\nimport { AddBidContainerComponent } from './add-bid-container/add-bid-container.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n AddBidContainerComponent,\n AddBidToolbarComponent,\n QuestionContainerComponent,\n AnswerWidgetComponent,\n ],\n exports: [\n AddBidContainerComponent,\n AddBidToolbarComponent,\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n AppFormsModule,\n LayoutModule,\n SharedModule,\n AnswerAppIntegrationModule,\n ],\n providers: [\n BiddingApiService,\n BiddingStore,\n ],\n})\nexport class BiddingModule {\n\n}\n","import { StickyOptions } from './sticky.interfaces';\nimport {\n Directive, ElementRef, HostListener, OnDestroy,\n AfterViewInit, AfterViewChecked, Input, OnInit, HostBinding, Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[eauSticky]',\n})\nexport class StickyDirective implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {\n\n @Input('eauSticky')\n public userOptions: StickyOptions;\n\n @HostBinding('class.eau-sticky-element')\n public className: boolean = true;\n\n private _el: HTMLElement;\n\n private _helperEl: HTMLElement;\n\n private _isStickyClassName: string;\n\n private _isSticky: boolean = false;\n\n private _options: StickyOptions;\n\n private _defaultOptions: StickyOptions = {\n maxWindowWidth: null,\n toTop: false,\n };\n\n constructor(\n angularEl: ElementRef,\n private _renderer: Renderer2,\n ) {\n this._el = angularEl.nativeElement;\n }\n\n public ngOnInit(): void {\n this._options = Object.assign({}, this._defaultOptions, this.userOptions || {});\n\n this._isStickyClassName = this._options.toTop\n ? 'eau-is-sticky-top'\n : 'eau-is-sticky-bottom';\n }\n\n public ngAfterViewInit(): void {\n this._createHelperElement();\n this._toggleSticky();\n }\n\n public ngAfterViewChecked(): void {\n this._toggleSticky();\n }\n\n public ngOnDestroy(): void {\n this._removeHelperElement();\n this._isSticky = false;\n }\n\n @HostListener('window:scroll', ['$event'])\n public onScroll(): void {\n this._toggleSticky();\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(): void {\n this._toggleSticky();\n }\n\n private _createHelperElement(): void {\n this._helperEl = document.createElement('div');\n this._el.parentNode.insertBefore(this._helperEl, this._el);\n }\n\n private _removeHelperElement(): void {\n this._el.parentNode.removeChild(this._helperEl);\n }\n\n private _toggleSticky(): void {\n if (this._isWindowWiderThanMaxAllowedWidth()\n || this._isElementHigherThanWindow()) {\n\n if (this._isSticky) {\n this._unsetSticky();\n }\n\n return;\n }\n\n this._isThresholdPassed() ? this._setSticky() : this._unsetSticky();\n }\n\n private _isWindowWiderThanMaxAllowedWidth(): boolean {\n const maxWidth = this._options.maxWindowWidth;\n\n if (maxWidth && maxWidth < window.innerWidth) {\n return true;\n }\n\n return false;\n }\n\n private _isElementHigherThanWindow(): boolean {\n return this._el.offsetHeight > window.innerHeight;\n }\n\n private _isThresholdPassed(): boolean {\n const toTop = !!this._options.toTop;\n const elOffsetTop = this._helperEl.getBoundingClientRect().top;\n const elOffsetBottom = elOffsetTop + this._el.offsetHeight;\n\n if (toTop && elOffsetTop <= 0) {\n return true;\n }\n\n if (!toTop && elOffsetBottom > window.innerHeight) {\n return true;\n }\n\n return false;\n }\n\n private _setSticky(): void {\n if (!this._isSticky) {\n this._helperEl.style.height = this._el.offsetHeight + 'px';\n }\n\n this._renderer.addClass(this._el, this._isStickyClassName);\n this._renderer.setStyle(this._el, 'width', this._helperEl.offsetWidth + 'px');\n this._isSticky = true;\n }\n\n private _unsetSticky(): void {\n if (this._isSticky) {\n this._helperEl.style.height = '0px';\n }\n\n this._renderer.removeClass(this._el, this._isStickyClassName);\n this._renderer.setStyle(this._el, 'width', 'auto');\n this._isSticky = false;\n }\n\n}\n","import { monthDayTimeFormat } from './../../format/shared/format.const';\nimport { FormatService } from './../../format/shared/format.ser';\nimport { Settings, BidImprovementType } from './../shared/settings.interfaces';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport * as moment from 'moment';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-settings-preview',\n styleUrls: [\n './settings-preview.styles.less',\n ],\n templateUrl: './settings-preview.template.html',\n})\nexport class SettingsPreviewComponent {\n\n @Input()\n public canEdit: boolean;\n\n @Input()\n public settings: Settings;\n\n @Input()\n public unit: string;\n\n // parent component must provide active language as input param\n // otherwise, because of change detections strategy = onPush,\n // methods that use moment.js won't be executed when language changes\n @Input()\n public language: string;\n\n @Output()\n public onEdit: EventEmitter = new EventEmitter();\n\n constructor(\n private _formatService: FormatService,\n ) {}\n\n public onEditBtnClick(): void {\n this.onEdit.emit();\n }\n\n public getPeriod(): string {\n const momentStart = moment(this.settings.startDateTime);\n const momentEnd = moment(this.settings.endDateTime);\n const startYear = momentStart.format('YYYY');\n const endYear = momentEnd.format('YYYY');\n const startMonth = momentStart.format('MMMM');\n const endMonth = momentEnd.format('MMMM');\n const startDay = momentStart.format('D');\n const endDay = momentEnd.format('D');\n let startFormat: string;\n let endFormat: string;\n\n if (startYear === endYear) {\n startFormat = monthDayTimeFormat[moment.locale()];\n } else {\n startFormat = 'LLL';\n }\n\n if (startYear === endYear && startMonth === endMonth && startDay === endDay) {\n endFormat = 'HH:mm';\n } else if (startYear === endYear && startMonth === endMonth) {\n endFormat = monthDayTimeFormat[moment.locale()];\n } else if (startYear === endYear ) {\n endFormat = monthDayTimeFormat[moment.locale()];\n } else {\n endFormat = 'LLL';\n }\n\n const startDate = momentStart.format(startFormat);\n const endDate = momentEnd.format(endFormat);\n\n return startDate + ' - ' + endDate;\n }\n\n public getTimeExtension(): string {\n return (this.settings.timeExtension / 60) + ' min';\n }\n\n public getMinImprovement(): string {\n const unit = this.settings.bidImprovementType === BidImprovementType.percentage\n ? '%'\n : this.unit;\n\n return this._formatService.getFormatedNumberWithUnit(this.settings.minBidImprovement, unit);\n }\n\n}\n","
    \n
  • {{getPeriod()}}
  • \n
  • \n {{'settings.automatic_extension' | translate}} {{getTimeExtension()}}\n
  • \n
  • \n {{'settings.min_bid_improvement' | translate}} {{getMinImprovement()}}\n
  • \n
\n\n","import { SettingsStore } from './../../settings/shared/settings.store';\nimport { Subscription } from 'rxjs';\nimport { BidsStore } from './../../bids/shared/bids.store';\nimport { AppInfoStore } from './../../app-info/shared/app-info.store';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-data-sync-purchaser-container',\n templateUrl: './data-sync-purchaser-container.template.html',\n})\nexport class DataSyncPurchaserContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public unit: string;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _bidsStore: BidsStore,\n private _appInfoStore: AppInfoStore,\n private _settingsStore: SettingsStore,\n ) {}\n\n public ngOnInit(): void {\n const s1 = this._appInfoStore.whenReconnected$()\n .subscribe(this._syncPurchaserData);\n\n this._subscriptions = [s1];\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n private _syncPurchaserData = (): void => {\n this._settingsStore.syncSettings(this.auctionId);\n this._bidsStore.syncBids(this.auctionId, this.unit);\n }\n\n}\n","import { Component, Input, ViewChild, ElementRef, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n templateUrl: './confirm.template.html',\n})\nexport class ConfirmComponent implements OnInit {\n\n @Input()\n public question: string;\n\n @ViewChild('yesBtn', {static: true})\n public yesBtn: ElementRef;\n\n constructor(\n private _activeModal: NgbActiveModal,\n ) {}\n\n public ngOnInit(): void {\n // if not wrapped in timeout, scroll position changes\n setTimeout(() => {\n this.yesBtn.nativeElement.focus();\n });\n }\n\n public onYesClick(): void {\n this._activeModal.close();\n }\n\n public onNoClick(): void {\n this._activeModal.dismiss();\n }\n\n public onCancelClick(): void {\n this._activeModal.dismiss();\n }\n\n}\n","
\n \n

{{'dialog.confirm.title' | translate}}

\n
\n\n
\n\n
\n \n\n \n
\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { Params, ActivatedRoute } from '@angular/router';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './auction-purchaser-page.template.html',\n})\nexport class AuctionPurchaserPageComponent implements OnInit {\n\n public auctionId: number;\n\n constructor(\n private _activatedRoute: ActivatedRoute,\n ) {}\n\n public ngOnInit(): void {\n this._activatedRoute.params.forEach((params: Params) => {\n this.auctionId = +params.auctionId;\n });\n }\n\n}\n","\n","import { FocusOnInitDirective } from './shared/focus-on-init.directive';\nimport { EmptyLinkDirective } from './shared/empty-link.directive';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n EmptyLinkDirective,\n FocusOnInitDirective,\n ],\n exports: [\n EmptyLinkDirective,\n FocusOnInitDirective,\n ],\n})\nexport class UtilsModule {\n\n}\n","import { ChartType } from '@eauc/charts/shared/chart.interfaces';\n\nexport enum BidsChartType {\n initialBids = 1,\n allBids,\n bySupplier,\n}\n\nexport interface BidsChartTypeObj {\n btnTitle: string;\n chartType: ChartType;\n key: BidsChartType;\n title: string;\n}\n\nexport interface ChartSliderConfig {\n connect?: boolean[];\n keyboard?: boolean;\n margin?: number;\n range?: {\n max: number;\n min: number;\n };\n start?: number[];\n step?: number;\n tooltips?: ChartTooltipFormatter[];\n}\n\nexport interface ChartTooltipFormatter {\n from: (isoDate: string) => number;\n to: (relativeSliderValue: number) => string;\n}\n\nexport interface ChartItem {\n datasetIndex: number;\n index: number;\n x: number;\n xLabel: number | string;\n y: number;\n yLabel: number;\n}\n\nexport interface ChartDatasetItem {\n supplierName: string;\n x: number;\n y: number;\n}\n","import { AuctionInfoState, AuctionStatus } from './auction-info.interfaces';\n\nexport const defaulAuctionInfotState: AuctionInfoState = {\n auctionModel: {\n biddingType: null,\n currency: null,\n id: null,\n procurementName: null,\n procurementOrganizationName: null,\n procurementReferenceNumber: null,\n unit: null,\n },\n auctionStatus: AuctionStatus.notSet,\n isLoaded: false,\n isLoading: false,\n};\n\nexport const auctionInfotStateMock: AuctionInfoState = {\n auctionModel: {\n biddingType: null,\n currency: 'SEK',\n id: 1,\n procurementName: 'Dummy procurement name',\n procurementOrganizationName: 'Dummy organization name',\n procurementReferenceNumber: 'Dummy reference number',\n unit: 'SEK',\n },\n auctionStatus: AuctionStatus.notStarted,\n isLoaded: true,\n isLoading: false,\n};\n","import { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-alert-page',\n templateUrl: './alert-page.template.html',\n})\nexport class AlertPageComponent {\n\n @Input()\n public title: string;\n\n @Input()\n public text: string;\n\n @Input()\n public iconType: 'success' | 'info' | 'warning' | 'error';\n\n constructor(\n private _redirectionService: RedirectionService,\n ) {}\n\n public goHome(): void {\n this._redirectionService.redirectToHome();\n }\n\n}\n","
\n
\n

{{title}}

\n\n
\n
\n \n {{text}}\n
\n
\n\n \n
\n
","import {\n Directive,\n ElementRef,\n } from '@angular/core';\n\n@Directive({\n selector: '[eauFocusOnInit]',\n})\nexport class FocusOnInitDirective {\n\n constructor(\n private _element: ElementRef,\n ) {}\n\n public ngAfterViewChecked(): void {\n setTimeout(() => {\n this._element.nativeElement.focus();\n }, 2000);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { pubSubEvents } from './../..//core/shared/pub-sub-events.values';\nimport { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { UserStore } from './user.store';\n\n@Injectable()\nexport class UserService {\n\n constructor(\n private _pubSubService: PubSubService,\n private _baseSocketsService: BaseSocketsService,\n private _userStore: UserStore,\n ) { }\n\n public logout(): void {\n this._pubSubService.pub(pubSubEvents.logoutInitiated);\n this._baseSocketsService.disconnect();\n this._userStore.logout();\n }\n\n}\n","import { AppTranslateService } from './../../app-translate/shared/app-translate.service';\nimport { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class AppResolver implements Resolve {\n\n constructor(\n private _appTranslateService: AppTranslateService,\n ) {}\n\n public resolve(): Observable {\n return this._appTranslateService.getTranslationsResolver$();\n }\n\n}\n","import { DateParserFormatter } from './format/shared/date.parser.formatter';\nimport { AppTranslateModule } from './app-translate/app-translate.module';\nimport { AppTranslateApiService } from './app-translate/shared/app-translate-api.service';\nimport { AppTranslateStore } from './app-translate/shared/app-translate.store';\nimport { AppConfig } from './core/shared/app.config';\nimport { LoadersModule } from './loaders/loaders.module';\nimport { TendersModule } from './tenders/tenders.module';\nimport { HomeModule } from './home/home.module';\nimport { AppRoutingModule } from './app-routing/app-routing.module';\nimport { AuctionSupplierModule } from './auction-supplier/auction-supplier.module';\nimport { AuctionPurchaserModule } from './auction-purchaser/auction-purchaser.module';\nimport { UserModule } from './user/user.module';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { NotificationsModule } from './notifications/notifications.module';\nimport { LayoutModule } from './layout/layout.module';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BidsModule } from './bids/bids.module';\nimport { AuctionsModule } from './auctions/auctions.module';\nimport { CoreModule } from './core/core.module';\nimport { AppComponent } from './app.component';\nimport { AppTranslateLoader } from './app-translate/shared/app-translate-loader.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { HttpClientModule } from '@angular/common/http';\n\nexport function AppTranslateLoaderFactory(\n appTranslateStore: AppTranslateStore,\n appTranslateApiService: AppTranslateApiService,\n): AppTranslateLoader {\n return new AppTranslateLoader(appTranslateStore, appTranslateApiService);\n}\n\n@NgModule({\n bootstrap: [AppComponent],\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n FormsModule,\n HttpClientModule,\n BidsModule,\n AuctionsModule,\n TendersModule,\n CoreModule,\n AuctionPurchaserModule,\n AuctionSupplierModule,\n LayoutModule,\n LoadersModule,\n HomeModule,\n NotificationsModule,\n UserModule,\n AppTranslateModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n deps: [AppTranslateStore, AppTranslateApiService],\n provide: TranslateLoader,\n useFactory: AppTranslateLoaderFactory,\n },\n }),\n ],\n providers: [\n AppConfig,\n [{ provide: NgbDateParserFormatter, useClass: DateParserFormatter }],\n ],\n})\nexport class AppModule {}\n","import { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { Injectable } from '@angular/core';\nimport { AppConfig } from './../../core/shared/app.config';\nimport { DialogService } from './../../dialog/shared/dialog.service';\nimport { UserApiService } from './../../user/shared/user-api.service';\nimport { UserService } from './../../user/shared/user.service';\nimport { UserStore } from './../../user/shared/user.store';\n\n@Injectable()\nexport class SessionService {\n\n private _sessionCloseToExpireTimeout: any;\n\n private _sessionExpireTimeout: any;\n\n constructor(\n private _appConfig: AppConfig,\n private _dialogService: DialogService,\n private _userApiService: UserApiService,\n private _userService: UserService,\n private _userStore: UserStore,\n private _redirectionService: RedirectionService,\n private _notificationsService: NotificationsService,\n ) { }\n\n public extendUserSessionTimeouts = (): void => {\n this._clearSesssionTimeouts();\n\n if (!this._shouldHandleSession()) {\n return;\n }\n\n this._sessionCloseToExpireTimeout = setTimeout(() => {\n this._dialogService.confirm('common.session_is_going_to_expire', true)\n .subscribe(\n this._forceExtendSession,\n this._forceEndSession,\n );\n }, this._appConfig.sessionTimeout - this._appConfig.timespanBeforeSessionTimeout);\n\n this._sessionExpireTimeout = setTimeout(\n this._handleExpiredSession,\n this._appConfig.sessionTimeout,\n );\n }\n\n private _clearSesssionTimeouts = (): void => {\n if (this._sessionCloseToExpireTimeout ) {\n clearTimeout(this._sessionCloseToExpireTimeout);\n }\n if (this._sessionExpireTimeout) {\n clearTimeout(this._sessionExpireTimeout);\n }\n }\n\n private _shouldHandleSession = (): boolean => {\n return this._userStore.isUserLoggedIn() && !this._userStore.isUserLoggingOut();\n }\n\n private _forceExtendSession = (): void => {\n this._userApiService.getLoggedInUser()\n // tslint:disable-next-line:no-empty\n .subscribe(() => {});\n }\n\n private _forceEndSession = (): void => {\n if (this._userStore.isUserLoggedIn()) {\n this._userService.logout();\n this._clearSesssionTimeouts();\n }\n }\n\n private _handleExpiredSession = (): void => {\n this._userStore.unsetLoggedInUser();\n this._redirectionService.redirectNotAuthenticated(null, true);\n this._dialogService.dismissActiveDialog();\n this._notificationsService.warning('common.session_expired');\n }\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport { BiddingStore } from './../shared/bidding.store';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { AuctionStatus } from './../../auction-info/shared/auction-info.interfaces';\nimport { BiddingStatusStore } from './../../bidding-status/shared/bidding-status.store';\nimport { StickyOptions } from './../../layout/sticky/sticky.interfaces';\nimport {\n BiddingStatusState,\n} from './../../bidding-status/shared/bidding-status.interfaces';\nimport { Observable, combineLatest } from 'rxjs';\nimport { Component, Input, OnInit, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { BiddingType } from '../../auctions/shared/auctions.interfaces';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\n\n@Component({\n animations: [\n trigger('toolbarInOutAnimation', [\n state('void', style({ opacity: 0 })),\n transition('void <=> *', [\n animate(200),\n ]),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-add-bid-container',\n styleUrls: [\n './add-bid-container.styles.less',\n ],\n templateUrl: './add-bid-container.template.html',\n})\nexport class AddBidContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n public biddingStatus$: Observable;\n\n public unit$: Observable;\n\n public shouldShowSinglePriceQuestion$: Observable;\n\n public isBiddingDisabled$: Observable;\n\n public shouldShowBiddingDisabledAlert$: Observable;\n\n public stickyToolbarOptions: StickyOptions = {\n toTop: false,\n };\n\n public isSubmittingBid$: Observable;\n\n constructor(\n private _biddingStore: BiddingStore,\n private _auctionInfoStore: AuctionInfoStore,\n private _biddingStatusStore: BiddingStatusStore,\n ) {}\n\n public ngOnInit(): void {\n const auctionInfo$ = this._auctionInfoStore.getState$();\n this.biddingStatus$ = this._biddingStatusStore.getState$();\n this.unit$ = auctionInfo$.pipe(\n map((auctionInfo) => auctionInfo.auctionModel.unit));\n this.shouldShowSinglePriceQuestion$ = auctionInfo$.pipe(\n map((auctionInfo) => auctionInfo.auctionModel.biddingType === BiddingType.SinglePrice));\n\n this.isBiddingDisabled$ = auctionInfo$.pipe(map((x) => {\n return x.auctionStatus === AuctionStatus.ongoing ? false : true;\n }));\n\n this.isSubmittingBid$ = this._biddingStore.getState$().pipe(map((s) => s.isSubmittingBid));\n\n this.shouldShowBiddingDisabledAlert$ = combineLatest([\n this.isBiddingDisabled$,\n auctionInfo$.pipe(map((x) => x.auctionModel.biddingType)),\n auctionInfo$.pipe(map((x) => x.auctionStatus)),\n this._biddingStore.getState$().pipe(map((x) => x.isLoaded)),\n ]).pipe(\n map(([ isBiddingDisabled, biddingType, auctionStatus, isSingleTenderLoaded ]) => {\n return this._shouldShowBiddingDisabledAlert(\n isBiddingDisabled,\n biddingType,\n auctionStatus,\n isSingleTenderLoaded);\n }));\n }\n\n public ngOnDestroy(): void {\n this._biddingStore.resetState();\n }\n\n public onSubmitBid(): void {\n this._biddingStore.submitBid(this.auctionId, this.tenderId);\n }\n\n private _shouldShowBiddingDisabledAlert(\n isBiddingDisabled: boolean,\n biddingType: BiddingType,\n auctionStatus: AuctionStatus,\n isSingleTenderLoaded: boolean,\n ): boolean {\n if (!isBiddingDisabled) {\n return false;\n }\n\n if (auctionStatus === AuctionStatus.notSet) {\n return false;\n }\n\n if (biddingType === BiddingType.SinglePrice && isSingleTenderLoaded) {\n return true;\n }\n\n return false;\n }\n\n}\n","
\n
\n\n

{{'bidding.component_title' | translate}}

\n\n
\n \n {{'bidding.bidding_is_disabled' | translate}}\n
\n\n \n \n\n \n \n\n
\n
\n\n
\n
\n\n \n \n
\n\n
\n
\n","import { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { UserStore } from './user.store';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class LoginGuardService implements CanActivate {\n\n constructor(\n private _userStore: UserStore,\n private _redirectionService: RedirectionService,\n ) {}\n\n public canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Promise {\n\n return new Promise((resolve, reject) => {\n this._userStore.getLoggedInUser()\n .then((user) => {\n if (!user) {\n resolve(true);\n } else {\n this._redirectionService.redirectToDefault(user.role);\n resolve(false);\n }\n });\n });\n }\n\n}\n","import { map } from 'rxjs/operators';\nimport { Tender } from '../shared/tenders.interfaces';\nimport { TendersStore } from './../shared/tenders.store';\nimport { Component, OnInit, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { Observable, combineLatest } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-tenders-container',\n templateUrl: './tenders-container.template.html',\n})\nexport class TendersContainerComponent implements OnInit, OnDestroy {\n\n public tenders$: Observable;\n\n public shouldShowLoader$: Observable;\n\n constructor(\n private _tendersStore: TendersStore,\n ) {}\n\n public ngOnInit(): void {\n const state$ = this._tendersStore.getState$();\n this.tenders$ = state$.pipe(map((state) => state.tenders));\n\n this.shouldShowLoader$ = combineLatest(\n [\n state$.pipe(map((state) => state.isLoaded)),\n state$.pipe(map((state) => state.isLoading)),\n ]).pipe(\n map(([isLoaded, isLoading]) => {\n return (!isLoaded || isLoading);\n }));\n\n this._tendersStore.getTenders();\n }\n\n public ngOnDestroy(): void {\n this._tendersStore.resetState();\n }\n\n}\n","
\n\t
\n\n\t\t
\n\t\t\t
\n\n

{{'common.tenders' | translate}}

\n\n\t\t\t\t\n\n \n \n\n\t\t\t\t\n\n\t\t\t
\n\t\t
\n\n\t
\n
\n","import { UserStore } from './user.store';\nimport { CanActivate } from '@angular/router';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PublicPagesGuardService implements CanActivate {\n\n constructor(\n private _userStore: UserStore,\n ) {}\n\n public canActivate(): Promise {\n\n return new Promise((resolve) => {\n this._userStore.getLoggedInUser()\n .then(() => {\n resolve(true);\n });\n });\n }\n\n}\n","import { FormatService } from './../../format/shared/format.ser';\nimport { listItemAppearAnimation } from './../../core/shared/animations';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Bid } from '../shared/bids.interfaces';\nimport * as moment from 'moment';\n\n@Component({\n animations: [listItemAppearAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-bids-list',\n styleUrls: [\n './bids-list.styles.less',\n ],\n templateUrl: './bids-list.template.html',\n})\nexport class BidsListComponent {\n\n @Input()\n public bids: Bid[];\n\n @Input()\n public unit: string;\n\n @Input()\n public joinedSuppliers: string[];\n\n constructor(\n private _formatService: FormatService,\n ) {}\n\n public getFormatedBidValue(bid: Bid): string {\n return this._formatService.getFormatedNumber(bid.value);\n }\n\n public getCreationTime(bid: Bid): string {\n return moment(bid.createdOn).format('L HH:mm:ss');\n }\n\n public isSupplierJoined(supplierName: string): boolean {\n return this.joinedSuppliers.some((x) => x === supplierName);\n }\n\n public getOnlineStatusTooltip(supplierName: string): string {\n return this.isSupplierJoined(supplierName)\n ? 'bids.tooltip.supplier_joined_auction'\n : 'bids.tooltip.supplier_not_joined_auction';\n }\n\n public trackByFn(bid: Bid): number {\n return bid.id;\n }\n\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'bids.rank' | translate}}{{'common.supplier' | translate}}{{'bids.bid' | translate}} ({{unit}}){{'bids.arrived' | translate}}
\n {{i + 1}}\n \n \n \n {{bid.supplierName}}\n \n {{getFormatedBidValue(bid)}}\n \n {{getCreationTime(bid)}}\n
\n","import { Bid, PendingBid } from './../../bids/shared/bids.interfaces';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\nexport interface BaseAuctionModel {\n currency: string;\n procurementName: string;\n procurementOrganizationName: string;\n procurementReferenceNumber: string;\n unit: string;\n}\n\nexport enum BiddingType {\n SinglePrice = 'SinglePrice',\n DocsApp = 'DocsApp',\n}\n\nexport interface Auction extends BaseAuctionModel {\n biddingType: BiddingType;\n animationState?: 'isHighlighted';\n bids?: Bid[];\n id: number;\n initialBids?: Bid[];\n}\n\nexport interface AuctionsState {\n auctions: Auction[];\n isCreatingAuction: boolean;\n isLoaded: boolean;\n isLoading: boolean;\n}\n\nexport interface AuctionCreateFormModel extends BaseAuctionModel {\n docsProjectId: number;\n lotId: number;\n lotName: string;\n initialBids: {\n createdDate: NgbDateStruct;\n createdTime: string;\n supplier: string;\n supplierName: string;\n tenderId: number;\n value: number;\n }[];\n}\n\nexport interface GetAuctionsApiResponseModel {\n auctions: Auction[];\n}\n\nexport interface CreateAuctionApiRequestModel extends BaseAuctionModel {\n docsProjectId: number;\n initialBids: PendingBid[];\n lotId: number;\n lotName: string;\n}\n\nexport interface CreateAuctionApiResponseModel extends BaseAuctionModel {\n id: number;\n initialBids: Bid[];\n lotId: number;\n lotName: string;\n biddingType: BiddingType;\n}\n","import { DataSyncModule } from './../data-sync/data-sync.module';\nimport { JoinAuctionModule } from './../join-auction/join-auction.module';\nimport {\n AuctionPurchaserContainerComponent,\n} from './auction-purchaser-container/auction-purchaser-container.component';\nimport {\n AuctionPurchaserPageComponent,\n} from './auction-purchaser-page/auction-purchaser-page.component';\nimport { SettingsModule } from '../settings/settings.module';\nimport { AuctionInfoModule } from '../auction-info/auction-info.module';\nimport { LayoutModule } from '../layout/layout.module';\nimport { NgModule } from '@angular/core';\nimport { BidsModule } from '../bids/bids.module';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n AuctionPurchaserPageComponent,\n AuctionPurchaserContainerComponent,\n ],\n imports: [\n BidsModule,\n AuctionInfoModule,\n LayoutModule,\n SettingsModule,\n SharedModule,\n JoinAuctionModule,\n DataSyncModule,\n ],\n})\nexport class AuctionPurchaserModule {\n\n}\n","import { defaultAuctionsState } from './auctions.data';\nimport { AuctionsApiService } from './auctions-api.service';\nimport { AuctionsState, CreateAuctionApiRequestModel } from './auctions.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class AuctionsStore extends BaseStore {\n\n constructor(\n private _auctionsApiService: AuctionsApiService,\n ) {\n super(defaultAuctionsState);\n }\n\n public getAuctions(): void {\n this._updateState({\n isLoading: true,\n });\n\n this._auctionsApiService.getAuctions()\n .subscribe((response) => {\n this._updateState({\n auctions: response.auctions,\n isLoaded: true,\n isLoading: false,\n });\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n });\n }\n\n public createAuction(\n lotId: number,\n model: CreateAuctionApiRequestModel,\n callback: () => void,\n ): void {\n\n const auctions = this._getState().auctions;\n\n this._updateState({\n isCreatingAuction: true,\n });\n\n this._auctionsApiService.createAuction(lotId, model)\n .subscribe((response) => {\n const newAuction = Object.assign({}, response, {\n animationState: 'isHighlighted',\n });\n\n this._updateState({\n auctions: [newAuction, ...auctions],\n isCreatingAuction: false,\n });\n\n callback();\n },\n () => {\n this._updateState({\n isCreatingAuction: false,\n });\n });\n }\n\n public deleteAuction(auctionId: number): void {\n const auctions = this._getState().auctions;\n\n this._auctionsApiService.deleteAuction(auctionId)\n .subscribe(() => {\n const newAuctions = auctions.filter((x) => {\n return x.id !== auctionId;\n });\n\n this._updateState({\n auctions: newAuctions,\n });\n });\n }\n\n}\n","import { Language } from './../../app-translate/shared/app-translate.interfaces';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { UserRole } from './../../user/shared/user.interfaces';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'eau-nav',\n styleUrls: [\n './nav.styles.less',\n ],\n templateUrl: './nav.template.html',\n})\nexport class NavComponent {\n\n public isClosed: boolean = true;\n\n @Input()\n public title: string;\n\n @Input()\n public displayName: string;\n\n @Input()\n public userRole: UserRole;\n\n @Input()\n public languages: Language[];\n\n @Input()\n public isLoggedIn: boolean;\n\n @Output()\n public logout: EventEmitter = new EventEmitter();\n\n @Output()\n public toggleSound: EventEmitter = new EventEmitter();\n\n constructor(\n private _redirectionService: RedirectionService,\n ) {}\n\n public onNavbarToggle(): void {\n this.isClosed = !this.isClosed;\n }\n\n public onLogout(): void {\n this.logout.emit();\n }\n\n public onHomeClick(): void {\n if (this.userRole) {\n this._redirectionService.redirectToDefault(this.userRole);\n } else {\n this._redirectionService.redirectToHome();\n }\n }\n\n public onToggleSound(): void {\n this.toggleSound.emit();\n }\n\n}\n","
\n\n\t
\n\n \n\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t
\n\t
\n\n \n\n
\n \n \n
\n\n
\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 = \"crnd\";","import { UserModule } from './../user/user.module';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { SharedModule } from './../shared/shared.module';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n HomePageComponent,\n ],\n imports: [\n CommonModule,\n SharedModule,\n UserModule,\n ],\n})\nexport class HomeModule {\n\n}\n","\nimport { mapTo, take, skipWhile } from 'rxjs/operators';\nimport { LocalStorageService } from './../../core/shared/local-storage.service';\nimport { Observable } from 'rxjs';\nimport { AppTranslateStore } from './app-translate.store';\nimport { AppTranslateState } from './app-translate.interfaces';\nimport { AppConfig } from './../../core/shared/app.config';\nimport { Translations } from './../../app-translate/shared/app-translate.interfaces';\nimport { TranslateService, TranslationChangeEvent } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\nimport * as moment from 'moment';\nconst countdown = require('countdown');\n\n@Injectable()\nexport class AppTranslateService {\n\n private _defaultLangKey: string;\n\n constructor(\n private _translateService: TranslateService,\n private _appTranslateStore: AppTranslateStore,\n private _localStorageService: LocalStorageService,\n config: AppConfig,\n ) {\n this._defaultLangKey = config.defaultLang;\n }\n\n public initMultilingualApp(): void {\n const userLangKey = this._getUserLanguage();\n this._translateService.use(userLangKey);\n\n this._translateService.onLangChange\n .subscribe((event: TranslationChangeEvent) => {\n this._setUserLanguage(event.lang);\n this._setVendorsLanguage(event.lang, event.translations);\n this._setHtmlLanguageAttribute(event.lang);\n });\n }\n\n public setAppLanguage(langKey: string): void {\n if (this._translateService.currentLang === langKey) {\n return;\n }\n\n // need to reset lang and make new api request,\n // otherwise datepicker translations would not be updated\n this._translateService.resetLang(langKey);\n this._translateService.use(langKey);\n }\n\n public getAppLanguage(): string {\n return this._getUserLanguage();\n }\n\n public getTranslationsResolver$(): Observable {\n return this._appTranslateStore.getState$().pipe(\n skipWhile((s) => {\n return !this._areTranslationsSet(s);\n }),\n take(1),\n mapTo(true));\n }\n\n private _areTranslationsSet(state: AppTranslateState): boolean {\n return !!state.languages.length;\n }\n\n private _getUserLanguage(): string {\n return this._localStorageService.get('language') || this._defaultLangKey;\n }\n\n private _setUserLanguage(langKey: string): void {\n this._localStorageService.set('language', langKey);\n }\n\n private _setVendorsLanguage(langKey: string, t: Translations): void {\n moment.locale(langKey);\n countdown.setLabels(\n `||| ${t['countdown.hour']}| ${t['countdown.day']}||||||`,\n `||| ${t['countdown.hours']}| ${t['countdown.days']}||||||`,\n null,\n null,\n null,\n null,\n );\n }\n\n private _setHtmlLanguageAttribute(lang: string): void {\n document.getElementsByTagName('html')[0].setAttribute('lang', lang);\n }\n\n}\n","import { BidsChartType } from './../../bids-chart/shared/bids-chart.interfaces';\n\ninterface BaseBid {\n createdOn: string;\n id: number;\n supplierName: string;\n tenderId: number;\n value: number;\n}\n\nexport interface PendingBid {\n supplier: string;\n supplierName: string;\n value: number;\n}\n\nexport interface Bid extends BaseBid {\n animationState?: string;\n}\n\nexport interface GetBidsApiResponseModel {\n bids: BaseBid[];\n}\n\nexport interface NewBidArrivedSocketsResponseModel extends Bid {\n}\n\nexport interface BidsState {\n activeChartType: BidsChartType;\n activeTab: BidsTab;\n bids: Bid[];\n chartRange: number[];\n isChartLoaded: boolean;\n isLoaded: boolean;\n isLoading: boolean;\n}\n\nexport enum BidsTab {\n list = 1,\n chart,\n}\n","\nimport { of, Observable } from 'rxjs';\nimport {\n GetAnswerAppApiResponseModel,\n GetPendingBidValueApiResponseModel,\n} from './answer-app.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class AnswerAppApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getAnswerApp(\n auctionId: number,\n tenderId: number,\n ): Observable {\n\n // let url = this._getUrl(auctionId, tenderId);\n // url += `answershtml?docsProjectId=3019&docsTenderId=4014`;\n // return this._apiService.get(url);\n\n return of({\n html: '
',\n // tslint:disable:object-literal-sort-keys\n params: {\n sessionToken: 'tsuumk_5f83v6l2mbsomlqm836x5a-f489nepq6ed4',\n projectId: 9,\n documentId: 40,\n tenderId: 9,\n baseUri: 'http://localhost:49915/api',\n language: 'en',\n activeMode: 'Default',\n selectedTenderIds: null,\n documentType: 'Specification',\n selectedTenderResultsLotId: null,\n selectedTenderId: null,\n selectedDocumentFilter: null,\n selectedLotFilter: null,\n selectedRequirementFilter: '',\n isReadOnly: false,\n isWeightOnly: false,\n isCommentOnly: false,\n isChooseLotsDialogVisible: false,\n appType: 'Supply',\n isLightVersion: true,\n },\n script: 'http://localhost:49915/api/assets?id=appSupplyAsync.js',\n });\n }\n\n public getPendingBidValue(\n auctionId: number,\n tenderId: number,\n ): Observable {\n\n let url = this._getUrl(auctionId, tenderId);\n url += `recalculatedbid?docsProjectId=1009&docsTenderId=1009`;\n\n return this._apiService.get(url);\n }\n\n private _getUrl(auctionId: number, tenderId: number): string {\n return `auctions/${auctionId}/tenders/${tenderId}/`;\n }\n\n}\n","import { Subscription } from 'rxjs';\nimport { AnswerAppCommunicationService } from './../shared/answer-app-communication.service';\nimport { BiddingStatusStore } from './../../bidding-status/shared/bidding-status.store';\nimport { AnswerAppApiService } from './../shared/answer-app-api.service';\nimport { Component, ChangeDetectionStrategy, OnDestroy,\n AfterViewInit, Input, ViewChild, ElementRef, ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-answer-app',\n styleUrls: [\n ],\n templateUrl: './answer-app.template.html',\n})\nexport class AnswerAppComponent implements AfterViewInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n @ViewChild('container')\n public containerEl: ElementRef;\n\n private _hasAppBootstrapped: boolean = false;\n\n private _hasLoadFailed: boolean = false;\n\n private _subscribtions: Subscription[] = [];\n\n constructor(\n private _answerAppApiService: AnswerAppApiService,\n private _biddingStatusStore: BiddingStatusStore,\n private _changeDetectorRef: ChangeDetectorRef,\n private _answerAppCommunicationService: AnswerAppCommunicationService,\n ) {}\n\n public ngAfterViewInit(): void {\n this._loadTendSignDocs();\n this._bindTendSignDocsEvents();\n }\n\n public ngOnDestroy(): void {\n this._subscribtions.forEach((x) => x.unsubscribe());\n }\n\n public shouldShowLoadingMsg(): boolean {\n return !this._hasAppBootstrapped && !this._hasLoadFailed;\n }\n\n public shouldShowErrorMsg(): boolean {\n return this._hasLoadFailed;\n }\n\n private _loadTendSignDocs = (): void => {\n this._answerAppApiService.getAnswerApp(this.auctionId, this.tenderId)\n .subscribe((response) => {\n\n const onSuccess = () => {\n this._answerAppCommunicationService.setAppAssetsAsLoaded();\n };\n\n const onError = () => {\n this._hasLoadFailed = true;\n this._changeDetectorRef.markForCheck();\n };\n\n // TODO: consider security risks here\n this.containerEl.nativeElement.innerHTML = response.html;\n this._answerAppCommunicationService.setAppParams(response.params);\n\n if (!this._answerAppCommunicationService.areAppAssetsLoaded()) {\n this._createScript(response.script, onSuccess, onError);\n } else {\n this._answerAppCommunicationService.bootstrapApp();\n }\n });\n }\n\n private _bindTendSignDocsEvents = (): void => {\n const s1 = this._answerAppCommunicationService.onAppBootstrapped$()\n .subscribe(() => {\n this._hasAppBootstrapped = true;\n this._changeDetectorRef.detectChanges();\n });\n\n const s2 = this._answerAppCommunicationService.onAppRendered$()\n .subscribe(() => {\n // Need this in order to update sticky \"add bid toolbar\" position\n this._changeDetectorRef.markForCheck();\n });\n\n const s3 = this._answerAppCommunicationService.onAnswerChange$()\n .subscribe(this._updatePendingBidValue);\n\n this._subscribtions = [s1, s2, s3];\n }\n\n private _updatePendingBidValue = (): void => {\n this._answerAppApiService.getPendingBidValue(this.auctionId, this.tenderId)\n .subscribe((x) => {\n this._biddingStatusStore\n .updateBiddingStatusAfterChangingPendingBid(x.pendingBidValue);\n });\n }\n\n private _createScript = (\n url: string,\n successCallback: () => any,\n errorCallback: () => any,\n ): void => {\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n\n script.type = 'text/javascript';\n script.src = url;\n script.onload = successCallback;\n script.onerror = errorCallback;\n\n head.appendChild(script);\n }\n\n}\n","\n
\n\n
{{'common.loading' | translate}}
\n\n
\n \n {{'answer_app_integration.failed_to_load_tendsigndocs' | translate}}\n
\n","import { PubSubEvent } from './pub-sub.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Subject , Observable } from 'rxjs';\n\n@Injectable()\nexport class PubSubService {\n private _events: PubSubEvent = {};\n\n public sub(key: string): Observable {\n if (!this._events[key]) {\n this._events[key] = new Subject();\n }\n\n return this._events[key].asObservable();\n }\n\n public pub(key: string, data?: any): void {\n if (!this._events[key]) {\n return;\n }\n\n this._events[key].next(data);\n }\n}\n","import { separators } from './format.const';\nimport { Injectable } from '@angular/core';\nimport { AppTranslateService } from './../../app-translate/shared/app-translate.service';\nimport { DecimalPipe } from '@angular/common';\n\ndeclare global {\n interface String {\n replaceAll(search: string, replacement: string): string;\n }\n}\n\n// tslint:disable:only-arrow-functions\nString.prototype.replaceAll = function(search: string, replacement: string): string {\n const target = this;\n return target.split(search).join(replacement);\n};\n\n@Injectable()\nexport class FormatService {\n\n constructor(\n private _appTranslateService: AppTranslateService,\n ) {}\n\n public getFormatedNumber(value: any, shouldRoundDecimals: boolean = true): string {\n if (!value && value !== 0) {\n return '';\n }\n\n value += '';\n\n const language = this._appTranslateService.getAppLanguage();\n const expression = shouldRoundDecimals ? '1.0-2' : '1.0-9';\n const formatedValue = new DecimalPipe(language).transform(value, expression);\n\n return this._getValueWithTrailingZerosHandled(formatedValue, language);\n }\n\n public getFormatedNumberWithUnit(value: any, unit: string): string {\n const separator = unit === '%' ? '' : ' ';\n return this.getFormatedNumber(value) + separator + unit;\n }\n\n public getRoundedNumber(value: number): number {\n return Number(Math.round(+(value + 'e2')) + 'e-2');\n }\n\n public getUnformatedNumber(formatedValue: string): number {\n if (formatedValue === '') {\n return null;\n }\n\n const language = this._appTranslateService.getAppLanguage();\n const decimalSeparator = this._getDecimalSeparator(language);\n const thousandSeparator = this._getThousandSeparator(language);\n\n thousandSeparator.forEach((x) => {\n formatedValue = formatedValue.replaceAll(x, '');\n });\n\n return +formatedValue.replaceAll(decimalSeparator, '.');\n }\n\n public getValueWithoutThousandSeparators(formatedValue: string): string {\n const language = this._appTranslateService.getAppLanguage();\n const separator = this._getThousandSeparator(language);\n\n separator.forEach((x) => {\n formatedValue = formatedValue.replaceAll(x, '');\n });\n\n return formatedValue;\n }\n\n public isDecimalSeparator(value: string): boolean {\n const language = this._appTranslateService.getAppLanguage();\n return this._getThousandSeparator(language).indexOf(value) > -1;\n }\n\n public isNumber(value: any): boolean {\n return !isNaN(parseFloat(value)) && isFinite(value);\n }\n\n private _getValueWithTrailingZerosHandled(value: string, language: string): string {\n const separator = this._getDecimalSeparator(language);\n const decimals = value.split(separator)[1];\n\n if (decimals && decimals.length === 1) {\n value += '0';\n }\n\n return value + '';\n }\n\n private _getDecimalSeparator(language: string): string {\n return separators[language].decimal;\n }\n\n private _getThousandSeparator(language: string): string[] {\n return separators[language].thousand;\n }\n\n}\n","import { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { UserApiService } from './user-api.service';\nimport { defaultUserState } from './user.data';\nimport { UserState, LoginApiRequestModel, User } from './user.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class UserStore extends BaseStore {\n\n constructor(\n private _userApiService: UserApiService,\n private _redirectionService: RedirectionService,\n ) {\n super(defaultUserState);\n }\n\n public login(model: LoginApiRequestModel): void {\n const user = this._getState().user;\n\n if (user) {\n // usually should not happen\n // can only happen if wrong error code was returned from api\n // or some other unexpected case\n this._redirectionService.redirectToDefault(user.role);\n return;\n }\n\n this._updateState({\n hasLoginFailed: false,\n isLoggingIn: true,\n });\n\n this._userApiService.login(model)\n .subscribe((response) => {\n this._updateState({\n isIdentityChecked: true,\n isLoggingIn: false,\n user: response,\n });\n\n this._redirectionService.redirectAfterLogin(response.role);\n },\n () => {\n this._updateState({\n hasLoginFailed: true,\n isLoggingIn: false,\n });\n });\n }\n\n public logout = (): void => {\n this._updateState({\n isLoggingOut: true,\n });\n\n this._userApiService.logout()\n .subscribe(() => {\n this._updateState({\n isLoggingOut: false,\n user: null,\n });\n\n this._redirectionService.redirectAfterLogout();\n },\n () => {\n this._updateState({\n isLoggingOut: false,\n });\n });\n }\n\n public getLoggedInUser(): Promise {\n return new Promise((resolve, reject) => {\n const isIdentityChecked = this._getState().isIdentityChecked;\n\n if (isIdentityChecked) {\n resolve(this._getState().user);\n return;\n }\n\n this._userApiService.getLoggedInUser()\n .subscribe((user) => {\n this._updateState({\n isIdentityChecked: true,\n user,\n });\n\n resolve(user);\n }, () => {\n this._updateState({\n isIdentityChecked: true,\n });\n\n resolve(null);\n });\n });\n }\n\n /**\n * Use this method when user is already unauthenticated (session expired)\n * and only unset of user data is needed\n */\n public unsetLoggedInUser(): void {\n this._updateState({\n user: null,\n });\n }\n\n public isUserLoggedIn(): boolean {\n return !!this._getState().user;\n }\n\n public isUserLoggingOut(): boolean {\n return this._getState().isLoggingOut;\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './not-found-page.template.html',\n})\nexport class NotFoundPageComponent {\n\n}\n","\n","import { ErrorPageService } from './../shared/error-page.service';\nimport { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-error-page',\n templateUrl: './error-page.template.html',\n})\nexport class ErrorPageComponent {\n\n constructor(\n private _errorPageService: ErrorPageService,\n ) {}\n\n public getTitle(): string {\n return this._errorPageService.getTitle();\n }\n\n public getText(): string {\n return this._errorPageService.getText();\n }\n\n public getTextInterpolateParams(): Object {\n return this._errorPageService.getTextInterpolateParams();\n }\n\n public getIconType(): string {\n return this._errorPageService.getIconType();\n }\n\n}\n","\n\n","\nimport { map } from 'rxjs/operators';\nimport { AuctionInfoStore } from './../shared/auction-info.store';\nimport { Component, OnInit, Input, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auction-info-container',\n templateUrl: './auction-info-container.template.html',\n})\nexport class AuctionInfoContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n public procurementName$: Observable;\n\n public procurementReferenceNumber$: Observable;\n\n public procurementOrganizationName$: Observable;\n\n public showLoader$: Observable;\n\n constructor(\n private _auctionInfoStore: AuctionInfoStore,\n ) {}\n\n public ngOnInit(): void {\n const auctionInfoState$ = this._auctionInfoStore.getState$();\n\n this.procurementName$ = auctionInfoState$.pipe(\n map((state) => state.auctionModel.procurementName));\n this.procurementReferenceNumber$ = auctionInfoState$.pipe(\n map((state) => state.auctionModel.procurementReferenceNumber));\n this.procurementOrganizationName$ = auctionInfoState$.pipe(\n map((state) => state.auctionModel.procurementOrganizationName));\n this.showLoader$ = auctionInfoState$.pipe(\n map((state) => !state.isLoaded));\n\n this._auctionInfoStore.getAuctionInfo(this.auctionId);\n }\n\n public ngOnDestroy(): void {\n this._auctionInfoStore.resetState();\n }\n\n}\n","\n \n \n","import { CustomValidators } from 'ng2-validation';\nimport { ValidationResult } from './../shared/validators.interfaces';\nimport { FormControl, ValidatorFn, Validators } from '@angular/forms';\n\nexport function greaterThanValidator(minValue: number): ValidatorFn {\n return (control: FormControl): ValidationResult => {\n\n if (Validators.required(control)) {\n return null;\n }\n\n if (CustomValidators.number(control)) {\n return null;\n }\n\n if (control.value <= minValue) {\n return {\n greaterThan: { minValue },\n };\n }\n\n return null;\n };\n}\n","import { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { DialogService } from './../../dialog/shared/dialog.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { FormatService } from './../../format/shared/format.ser';\nimport { PubSubService } from './../../pub-sub/shared/pub-sub.service';\nimport { pubSubEvents } from './../../core/shared/pub-sub-events.values';\nimport { highlightElementAnimation } from './../../core/shared/animations';\nimport {\n Component,\n Input,\n EventEmitter,\n Output,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n animations: [highlightElementAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-add-bid-toolbar',\n styleUrls: [\n './add-bid-toolbar.styles.less',\n ],\n templateUrl: './add-bid-toolbar.template.html',\n})\nexport class AddBidToolbarComponent implements OnInit, OnDestroy {\n\n @Input()\n public nextAllowedBidValue: number;\n\n @Input()\n public pendingBidValue: number;\n\n @Input()\n public submittedBidValue: number;\n\n @Input()\n public unit: string;\n\n @Input()\n public isSubmittingBid: boolean;\n\n @Output()\n public onSubmitBid: EventEmitter = new EventEmitter();\n\n public nextAllowedBidAnimationState: string;\n\n private _subscription: Subscription;\n\n constructor(\n private _pubSubService: PubSubService,\n private _formatService: FormatService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _translateService: TranslateService,\n private _dialogService: DialogService,\n private _notificationsService: NotificationsService,\n private _auctionInfoStore: AuctionInfoStore,\n ) {}\n\n public ngOnInit(): void {\n this._subscription = this._pubSubService.sub(pubSubEvents.nextAllowedBidCopied)\n .subscribe(this._animateCopiedNextBid);\n }\n\n public ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n public getNextAllowedBid(): string {\n return this._formatService.getFormatedNumberWithUnit(this.nextAllowedBidValue, this.unit);\n }\n\n public getNewBid(): string {\n return this._formatService.getFormatedNumberWithUnit(this.pendingBidValue, this.unit);\n }\n\n public isDisabled(): boolean {\n if (this.isSubmittingBid) {\n return true;\n }\n\n if (!this._isBidValid()) {\n return true;\n }\n\n return false;\n }\n\n public shouldShowIcon(): boolean {\n return this.pendingBidValue !== this.submittedBidValue;\n }\n\n public getIconClass(): {[key: string]: boolean} {\n const isValid = this._isBidValid();\n\n return {\n 'vismaicon-error': !isValid,\n 'vismaicon-success': isValid,\n };\n }\n\n public getIconTitle(): string {\n return this._isBidValid()\n ? 'bidding.icon_title.valid'\n : 'bidding.icon_title.not_valid';\n }\n\n public getMyNextBidText(): string {\n return this.pendingBidValue === this.submittedBidValue\n ? 'bidding_status.last_submitted_bid'\n : 'bidding.my_next_unsubmitted_bid';\n }\n\n public onSubmit(): void {\n const text = this._getConfirmSubmitText();\n\n this._dialogService.confirm(text)\n .subscribe(() => {\n if (this._auctionInfoStore.isBiddingDisabled()) {\n this._dialogService.alert('bidding.auction_has_ended');\n return;\n }\n\n if (!this._isBidValid()) {\n this._notificationsService.error('bidding.invalid_bid_when_submitting');\n return;\n }\n\n this.onSubmitBid.emit();\n });\n }\n\n private _isBidValid(): boolean {\n const roundedNextAllowedBidValue = this._formatService\n .getRoundedNumber(this.nextAllowedBidValue);\n\n return this.pendingBidValue <= roundedNextAllowedBidValue;\n }\n\n private _animateCopiedNextBid = (): void => {\n this.nextAllowedBidAnimationState = 'isHighlighted';\n this._changeDetectorRef.markForCheck();\n\n setTimeout(() => {\n this.nextAllowedBidAnimationState = '';\n this._changeDetectorRef.markForCheck();\n }, 1000);\n }\n\n private _getConfirmSubmitText(): string {\n const defaultMsg = this._translateService.instant('bidding.confirm_submit_bid');\n let warning = '';\n const diff = this._formatService.getRoundedNumber(this.nextAllowedBidValue) -\n this._formatService.getRoundedNumber(this.pendingBidValue);\n\n if (diff > 0) {\n const formatedDiff = this._formatService.getFormatedNumberWithUnit(diff, this.unit);\n const amount = `${formatedDiff}`;\n\n const warningMsg = this._translateService.instant('bidding.warning_of_too_good_bid', {\n amount,\n });\n\n warning = `
${warningMsg}

`;\n }\n\n const template = `\n ${warning}\n
${defaultMsg}
\n `;\n\n return template;\n }\n\n}\n","
\n
\n\n
\n
\n {{'bidding.next_allowed_bid' | translate}}:\n {{getNextAllowedBid()}}\n
\n
\n {{getMyNextBidText() | translate}}: {{getNewBid()}}\n \n
\n
\n
\n \n \n {{'bidding.btn.place_bid' | translate}}\n \n \n
\n\n
\n
","import {\n LoginApiRequestModel,\n LoginApiResponseModel,\n GetUserApiResponseModel,\n} from './user.interfaces';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class UserApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public login(model: LoginApiRequestModel): Observable {\n const url = 'auth/login';\n return this._apiService.post(url, model);\n }\n\n public logout(): Observable {\n const url = 'auth/logout';\n return this._apiService.post(url, {});\n }\n\n public getLoggedInUser = (): Observable => {\n const url = 'auth/user';\n return this._apiService.get(url);\n }\n\n}\n","import { BaseAuctionModel, Auction } from './../../auctions/shared/auctions.interfaces';\n\nexport interface GetAuctionApiResponseModel extends BaseAuctionModel {\n}\n\nexport interface AuctionInfoState {\n auctionModel: Auction;\n auctionStatus: AuctionStatus;\n isLoaded: boolean;\n isLoading: boolean;\n}\n\nexport enum AuctionStatus {\n notSet = 1,\n notStarted,\n ongoing,\n finished,\n}\n\nexport interface TimerLabelsStatus {\n [key: string]: string;\n}\n\nexport interface TimerLabelsStatuses {\n [key: number]: TimerLabelsStatus;\n}\n","import { BehaviorSubject , Observable } from 'rxjs';\n\nexport abstract class BaseStore {\n\n protected _state$: BehaviorSubject;\n private _stateAsObservable$: Observable;\n private _defaultState: T;\n\n constructor(defaultState: T) {\n this._state$ = new BehaviorSubject(defaultState);\n this._stateAsObservable$ = this._state$.asObservable();\n this._defaultState = defaultState;\n }\n\n public getState$(): Observable {\n return this._stateAsObservable$;\n }\n\n public resetState(): void {\n this._updateState(this._defaultState);\n }\n\n protected _getState(): T {\n return this._state$.getValue();\n }\n\n protected _updateState(partOfState: T): void {\n const newState: T = Object.assign(\n {},\n this._getState(),\n partOfState,\n );\n\n this._state$.next(newState);\n }\n\n}\n","import { validationMessages } from './validation.constants';\nimport { FormGroup } from '@angular/forms';\nimport { ErrorValue } from './validators.interfaces';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ValidationService {\n\n public isInvalid(form: FormGroup, key: string): boolean {\n const formControl = form.get(key);\n return formControl.dirty && formControl.errors ? true : false;\n }\n\n public getErrorMsg(form: FormGroup, key: string): string {\n const errorKey = this._getErrorKey(form, key);\n return validationMessages[errorKey];\n }\n\n public getErrorValue(form: FormGroup, key: string): boolean | null | ErrorValue {\n const formControl = form.get(key);\n const errors = formControl.errors;\n\n if (!errors) {\n return null;\n }\n\n const errorKey = this._getErrorKey(form, key);\n return errors[errorKey];\n }\n\n private _getErrorKey(form: FormGroup, key: string): string {\n const formControl = form.get(key);\n const errors = formControl.errors;\n for (const errorKey in errors) {\n if (errors.hasOwnProperty(errorKey)) {\n return errorKey;\n }\n }\n\n return null;\n }\n\n}\n","import { TendersState, Tender } from './tenders.interfaces';\n\nexport const defaultTendersState: TendersState = {\n isLoaded: false,\n isLoading: false,\n tenders: [],\n};\n\nexport const defaultTendersMocked: Tender[] = [\n {\n auctionId: 1,\n id: 1,\n procurementName: 'Dummy procurement name 1',\n },\n {\n auctionId: 2,\n id: 2,\n procurementName: 'Dummy procurement name 2',\n },\n];\n","import { GetAuctionApiResponseModel } from './auction-info.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class AuctionInfoApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getAuction(auctionId: number): Observable {\n const url = `auctions/${auctionId}`;\n return this._apiService.get(url);\n }\n\n}\n","import { TimerContainerComponent } from './timer-container/timer-container.component';\nimport { TimerComponent } from './timer/timer.component';\nimport {\n AuctionInfoContainerComponent,\n} from './auction-info-container/auction-info-container.component';\nimport { AuctionInfoStore } from './shared/auction-info.store';\nimport { AuctionInfoApiService } from './shared/auction-info-api.service';\nimport { PageHeaderComponent } from './page-header/page-header.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n AuctionInfoContainerComponent,\n PageHeaderComponent,\n TimerComponent,\n TimerContainerComponent,\n ],\n exports: [\n AuctionInfoContainerComponent,\n TimerComponent,\n TimerContainerComponent,\n ],\n imports: [\n SharedModule,\n ],\n providers: [\n AuctionInfoApiService,\n AuctionInfoStore,\n ],\n})\nexport class AuctionInfoModule {\n\n}\n","\nimport { take } from 'rxjs/operators';\nimport { AnswerAppParams } from './answer-app.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\ndeclare var TendSignDocs: any;\n\n@Injectable()\nexport class AnswerAppCommunicationService {\n\n private _areAppAssetsLoaded: boolean = false;\n\n public onAppBootstrapped$(): Observable {\n return this._onEvent$('appBootstrapped').pipe(\n take(1));\n }\n\n public onAppRendered$(): Observable {\n return this._onEvent$('appRendered').pipe(\n take(1));\n }\n\n public onAnswerChange$(): Observable {\n return this._onEvent$('answerChanged');\n }\n\n public bootstrapApp(): void {\n TendSignDocs.hostMethods.bootstrapApp();\n }\n\n public setAppParams(params: AnswerAppParams): void {\n if (!(window).TendSignDocs) {\n (window).TendSignDocs = {};\n }\n\n TendSignDocs.appParams = params;\n }\n\n public setAppAssetsAsLoaded(): void {\n this._areAppAssetsLoaded = true;\n }\n\n public areAppAssetsLoaded(): boolean {\n return !!this._areAppAssetsLoaded;\n }\n\n private _onEvent$(key: string): Observable {\n const $doc = $(document);\n const fullKey = `TendSignDocs:toHost:${key}`;\n\n return new Observable((observer: any) => {\n $doc.on(fullKey, () => {\n observer.next();\n });\n\n return () => {\n $doc.off(fullKey);\n };\n });\n }\n\n}\n","\nimport { from, Observable } from 'rxjs';\nimport { AlertComponent } from './../alert/alert.component';\nimport { ConfirmComponent } from './../confirm/confirm.component';\nimport { Injectable } from '@angular/core';\nimport { NgbModal, NgbModalOptions, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable()\nexport class DialogService {\n\n private _activeModalRef: NgbModalRef;\n\n constructor(\n private _modalService: NgbModal,\n ) { }\n\n public open(content: any): void {\n const options: NgbModalOptions = {\n backdrop: 'static',\n keyboard: false,\n };\n\n this._modalService.open(content, options);\n }\n\n public confirm(question: string, isUndismissible: boolean = false): Observable {\n const options: NgbModalOptions = {\n backdrop: 'static',\n size: 'sm',\n windowClass: 'eau-dialog--confirm',\n };\n\n if (isUndismissible) {\n options.keyboard = false;\n options.windowClass += ' eau-dialog--undismissible';\n }\n\n this._activeModalRef = this._modalService.open(ConfirmComponent, options);\n this._activeModalRef.componentInstance.question = question;\n return from(this._activeModalRef.result);\n }\n\n public alert(text: string, btnText?: string): Observable {\n const options: NgbModalOptions = {\n backdrop: 'static',\n size: 'sm',\n windowClass: 'eau-dialog--confirm',\n };\n\n this._activeModalRef = this._modalService.open(AlertComponent, options);\n this._activeModalRef.componentInstance.text = text;\n this._activeModalRef.componentInstance.btnText = btnText;\n return from(this._activeModalRef.result);\n }\n\n public dismissActiveDialog(): void {\n if (this._activeModalRef) {\n this._activeModalRef.dismiss();\n }\n }\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport { AuctionInfoStore } from './../../auction-info/shared/auction-info.store';\nimport { stickyElementsThresholds } from './../../core/shared/sticky-elements.values';\nimport { SettingsStore } from './../../settings/shared/settings.store';\nimport { StickyOptions } from './../../layout/sticky/sticky.interfaces';\nimport { Component, Input, ChangeDetectionStrategy, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-auction-purchaser-container',\n templateUrl: './auction-purchaser-container.template.html',\n})\nexport class AuctionPurchaserContainerComponent implements OnInit {\n\n @Input()\n public auctionId: number;\n\n public unit$: Observable;\n\n public shouldExpandSettings$: Observable;\n\n public startDateTime$: Observable;\n\n public endDateTime$: Observable;\n\n public stickyBiddingStatusOptions: StickyOptions = {\n maxWindowWidth: stickyElementsThresholds.maxWindowWidth,\n toTop: true,\n };\n\n constructor(\n private _auctionInfoStore: AuctionInfoStore,\n private _settingsStore: SettingsStore,\n ) {}\n\n public ngOnInit(): void {\n const settingsState$ = this._settingsStore.getState$();\n this.startDateTime$ = settingsState$.pipe(map((settings) => settings.model.startDateTime));\n this.endDateTime$ = settingsState$.pipe(map((settings) => settings.model.endDateTime));\n this.shouldExpandSettings$ = this._settingsStore.getState$().pipe(\n map((s) => {\n return s.isLoaded && !s.model.startDateTime;\n }));\n this.unit$ = this._auctionInfoStore.getState$().pipe(\n map((auctionInfo) => auctionInfo.auctionModel.unit));\n }\n\n public shouldRenderAllWidgets$(): Observable {\n return this._auctionInfoStore.getState$().pipe(\n map((s) => s.isLoaded));\n }\n\n}\n","\n\n\n\n\n
\n
\n \n
\n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\n\n@Component({\n animations: [\n trigger('loaderHolderAnimation', [\n state('void', style({ opacity: 0 })),\n state('*', style({ opacity: 1 })),\n transition(\n 'void => *',\n [animate('500ms')],\n ),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-loader-holder',\n styleUrls: [\n './loader-holder.styles.less',\n ],\n templateUrl: './loader-holder.template.html',\n})\nexport class LoaderHolderComponent {\n\n @Input()\n public showLoader: boolean;\n\n}\n","
\n
\n \n
\n\n \n
\n","import {\n GetSettingsApiResponseModel,\n CreateSettingsApiRequestModel,\n UpdateSettingsApiRequestModel,\n CreateSettingsApiResponseModel,\n UpdateSettingsApiResponseModel,\n} from './settings.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class SettingsApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getSettings(auctionId: number): Observable {\n const url = this._getUrl(auctionId);\n return this._apiService.get(url);\n }\n\n public createSettings(\n auctionId: number,\n model: CreateSettingsApiRequestModel,\n ): Observable {\n const url = this._getUrl(auctionId);\n return this._apiService.post(url, model);\n }\n\n public updateSettings(\n auctionId: number,\n model: UpdateSettingsApiRequestModel,\n ): Observable {\n const url = this._getUrl(auctionId);\n return this._apiService.put(url, model);\n }\n\n private _getUrl(auctionId: number): string {\n return `auctions/${auctionId}/settings`;\n }\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable()\nexport class NotificationsService {\n private _count: number = 0;\n\n constructor(\n private _toastrService: ToastrService,\n private _translateService: TranslateService,\n ) { }\n\n public info(\n description?: string,\n interpolateParams?: Object | boolean,\n isAutoClose?: boolean,\n ): void {\n description = this.translateDescription(description, interpolateParams);\n\n let disableTimeOutParam: boolean = true;\n if (isAutoClose) {\n disableTimeOutParam = false;\n }\n\n const toastr = this._toastrService.info(description, '', {\n disableTimeOut: disableTimeOutParam,\n });\n\n this.countToastrs(toastr);\n }\n\n public warning(description?: string, interpolateParams?: Object | boolean): void {\n description = this.translateDescription(description, interpolateParams);\n\n const toastr = this._toastrService.warning(description);\n this.countToastrs(toastr);\n }\n\n public error(description?: string, interpolateParams?: Object | boolean): void {\n if (!description.startsWith(\"200 - OK\")) {\n description = this.translateDescription(description, interpolateParams);\n\n const toastr = this._toastrService.error(description);\n this.countToastrs(toastr);\n }\n }\n\n public countToastrs(toastr: any): void {\n toastr.onShown.subscribe(() => {\n this._count++;\n });\n\n toastr.onHidden.subscribe(() => {\n this._count--;\n });\n }\n\n public getCount(): number {\n return this._count;\n }\n\n public closeAll(): void {\n this._toastrService.clear();\n }\n\n private translateDescription(\n description?: string,\n interpolateParams?: Object | boolean,\n ): string {\n if (interpolateParams !== false) {\n return this._translateService.instant(description, interpolateParams);\n }\n\n return description;\n }\n}\n","\nimport { map } from 'rxjs/operators';\nimport { HttpError } from './../../core/shared/api.interfaces';\nimport { defaultSettingsState } from './settings.data';\nimport { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { DateTimeService } from './../../format/shared/date-time.service';\nimport { SettingsApiService } from './settings-api.service';\nimport {\n SettingsState,\n Settings,\n SettingsStoreSelectors,\n SettingsFormModel,\n CreateSettingsApiRequestModel,\n} from './settings.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class SettingsStore extends BaseStore {\n\n public selectors: SettingsStoreSelectors;\n\n constructor(\n private _settingsApiService: SettingsApiService,\n private _dateTimeService: DateTimeService,\n private _notificationsService: NotificationsService,\n ) {\n super(defaultSettingsState);\n\n this.selectors = {\n areSettingsSet$: () => {\n return this.getState$().pipe(map((s) => !!s.model.startDateTime));\n },\n };\n }\n\n public openEditMode(): void {\n this._updateState({\n isInEditMode: true,\n });\n }\n\n public closeEditMode(): void {\n this._updateState({\n isInEditMode: false,\n });\n }\n\n public loadSettings(auctionId: number): void {\n\n this._updateState({\n isLoading: true,\n });\n\n this._settingsApiService.getSettings(auctionId)\n .subscribe((response) => {\n this._updateState({\n isLoaded: true,\n isLoading: false,\n model: response,\n });\n },\n (error: HttpError) => {\n const isLoaded = error.status === 404 ? true : false;\n\n this._updateState({\n isLoaded,\n isLoading: false,\n });\n });\n }\n\n public syncSettings(auctionId: number): void {\n this._settingsApiService.getSettings(auctionId)\n .subscribe((response) => {\n if (!this._areSettingsEqual(this._getState().model, response)) {\n this.useNewSettings(response);\n }\n });\n }\n\n public createSettings(auctionId: number, newSettings: Settings): void {\n this._createOrUpdateSettings(auctionId, newSettings, true);\n }\n\n public updateSettings(auctionId: number, newSettings: SettingsFormModel): void {\n this._createOrUpdateSettings(auctionId, newSettings, false);\n }\n\n public useNewSettings(settings: Settings): void {\n this._updateState({\n model: settings,\n });\n\n this._notificationsService.info('notifications.supplier.settings_updated');\n }\n\n public prolong(newEndDateTime: string): void {\n const state = this._state$.getValue();\n const newModel = Object.assign({}, state.model, {\n endDateTime: newEndDateTime,\n });\n\n this._updateState({\n model: newModel,\n });\n\n const msg = 'notifications.all.auction_prolonged';\n const formatedNewEndDateTime = this._dateTimeService\n .getFormatedDateTime(newEndDateTime);\n const minutes = state.model.timeExtension / 60;\n this._notificationsService.info(msg, {\n minutes,\n newEndDateTime: formatedNewEndDateTime,\n });\n }\n\n private _createOrUpdateSettings(\n auctionId: number,\n newSettings: Settings | SettingsFormModel,\n isCreateAction: boolean,\n ): void {\n this._updateState({\n isLoading: true,\n });\n\n const action = isCreateAction\n ? this._settingsApiService.createSettings(\n auctionId,\n newSettings,\n )\n : this._settingsApiService.updateSettings(auctionId, newSettings);\n\n action.subscribe((response) => {\n this._updateState({\n isInEditMode: false,\n isLoading: false,\n model: response,\n });\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n });\n }\n\n private _areSettingsEqual = (s1: Settings, s2: Settings): boolean => {\n return JSON.stringify(s1) === JSON.stringify(s2);\n }\n\n}\n","export const baseEnvironment = {\n apiServerUrl: '/api/',\n appTitle: 'Mercell eAuction',\n defaultLang: 'sv',\n production: false,\n // need the timeout to be 2 sec. shorter than timeout value in backend\n // so user is still authorized to make api requests to api when session expiration is detected\n sessionTimeout: 60 * 60 * 1000 - 2000,\n socketsHub: 'notificationhub',\n socketsServerUrl: '/notificationhub',\n timespanBeforeSessionTimeout: 5 * 60 * 1000,\n};\n","import { trigger, transition, animate, keyframes, style } from '@angular/animations';\n\nexport const showHideAnimation = trigger('showHideAnimation', [\n transition('void => *', [\n animate(200, keyframes([\n style({\n offset: 0,\n opacity: 0,\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n }),\n style({\n offset: 1,\n opacity: 1,\n transform: 'perspective(400px)',\n }),\n ])),\n ]),\n transition('* => void', [\n animate(200, keyframes([\n style({\n offset: 0,\n transform: 'perspective(400px)',\n }),\n style({\n offset: 1,\n opacity: 0,\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n }),\n ])),\n ]),\n]);\n","import { FormatService } from './../../format/shared/format.ser';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnChanges,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-leading-bid',\n styleUrls: [\n '../../shared/shared/shared.styles.less',\n './leading-bid.styles.less',\n ],\n templateUrl: './leading-bid.template.html',\n})\nexport class LeadingBidComponent implements OnChanges {\n\n @Input()\n public leadingBidValue: number;\n\n @Input()\n public unit: string;\n\n public isAnimated: boolean = false;\n\n private _previousLeadingBidValue: number;\n\n constructor(\n private _formatService: FormatService,\n ) {}\n\n public ngOnChanges(): void {\n this._handleValueChangeAnimation();\n }\n\n public getLeadingBid(): string {\n return this._formatService.getFormatedNumberWithUnit(this.leadingBidValue, this.unit);\n }\n\n private _handleValueChangeAnimation(): void {\n if (!this._previousLeadingBidValue) {\n this._previousLeadingBidValue = this.leadingBidValue;\n return;\n }\n\n if (this.leadingBidValue !== this._previousLeadingBidValue) {\n this._previousLeadingBidValue = this.leadingBidValue;\n this.isAnimated = true;\n\n setTimeout(() => {\n this.isAnimated = false;\n }, 1000);\n }\n }\n\n}\n","
\n
{{'bidding_status.leading_bid' | translate}}
\n
\n {{getLeadingBid()}}\n
\n
\n","import { PubSubModule } from './../pub-sub/pub-sub.module';\nimport { LocalStorageService } from './shared/local-storage.service';\nimport { ErrorHandlingService } from './shared/error-handling.service';\nimport { AppInfoModule } from './../app-info/app-info.module';\nimport { NotificationsModule } from './../notifications/notifications.module';\nimport {\n AppDatepickerI18nService,\n} from './../app-forms/app-datepicker/app-datepicker-i18n.service';\nimport { DialogModule } from './../dialog/dialog.module';\nimport { NgbModule, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfig } from './shared/app.config';\nimport { AudioService } from './shared/audio.service';\nimport { BaseSocketsService } from './shared/base-sockets.service';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { BaseApiService } from './shared/base-api.service';\nimport { SessionService } from './shared/session.service';\n\n@NgModule({\n exports: [\n NgbModule,\n ],\n imports: [\n CommonModule,\n DialogModule,\n NotificationsModule,\n AppInfoModule,\n PubSubModule,\n ],\n providers: [\n BaseApiService,\n AudioService,\n BaseSocketsService,\n ErrorHandlingService,\n LocalStorageService,\n // need to define custom NgbDatepickerI18n provider in the same place\n // where NgbModule.forRoot() is called:\n {\n provide: NgbDatepickerI18n,\n useClass: AppDatepickerI18nService,\n },\n SessionService,\n ],\n})\nexport class CoreModule {\n\n public static forRoot(config: AppConfig): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n { provide: AppConfig, useValue: config },\n ],\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error('CoreModule is already loaded. Import it in the AppModule only');\n }\n }\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport { AppInfoStore } from './../shared/app-info.store';\nimport { Component, OnInit, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-sound-toggle',\n styleUrls: [\n './sound-toggle.styles.less',\n ],\n templateUrl: './sound-toggle.template.html',\n})\nexport class SoundToggleComponent implements OnInit {\n\n public isSoundOff$: Observable;\n\n @Output()\n public toggleSound: EventEmitter = new EventEmitter();\n\n constructor(\n private _appInfoStore: AppInfoStore,\n ) {}\n\n public ngOnInit(): void {\n this.isSoundOff$ = this._appInfoStore.getState$().pipe(\n map((s) => !s.isSoundOn));\n }\n\n public onClick(): void {\n this.toggleSound.emit();\n }\n\n}\n","\n","import {\n JoinAuctionSupplierContainerComponent,\n} from './join-auction-supplier-container/join-auction-supplier-container.component';\nimport {\n JoinAuctionPurchaserContainerComponent,\n} from './join-auction-purchaser-container/join-auction-purchaser-container.component';\nimport {\n JoinAuctionSharedContainerComponent,\n} from './join-auction-shared-container/join-auction-shared-container.component';\nimport { JoinAuctionSocketsService } from './shared/join-auction-sockets.service';\nimport { JoinAuctionStore } from './shared/join-auction.store';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n JoinAuctionSharedContainerComponent,\n JoinAuctionPurchaserContainerComponent,\n JoinAuctionSupplierContainerComponent,\n ],\n exports: [\n JoinAuctionSharedContainerComponent,\n JoinAuctionPurchaserContainerComponent,\n JoinAuctionSupplierContainerComponent,\n ],\n imports: [\n SharedModule,\n ],\n providers: [\n JoinAuctionStore,\n JoinAuctionSocketsService,\n ],\n})\nexport class JoinAuctionModule {\n\n}\n","import { defaultJoinAuctionState, joinAuctionPeriodicities } from './join-auction.data';\nimport { JoinAuctionState, JoinedSupplier } from './join-auction.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\nimport * as moment from 'moment';\n\n@Injectable()\nexport class JoinAuctionStore extends BaseStore {\n\n constructor() {\n super(defaultJoinAuctionState);\n }\n\n public setSupplierAsJoinedAuction(supplierName: string): void {\n const joinedSuppliers = this._getState().joinedSuppliers;\n const isJoined = joinedSuppliers.some((x) => x.name === supplierName);\n const currentTime = this._getCurrentIsoTime();\n const newJoinedSupplier: JoinedSupplier = {\n lastSeenOnline: currentTime,\n name: supplierName,\n };\n let newJoinedSuppliers: JoinedSupplier[];\n\n if (isJoined) {\n newJoinedSuppliers = joinedSuppliers.map((x) => {\n if (x.name === supplierName) {\n return newJoinedSupplier;\n }\n\n return x;\n });\n } else {\n newJoinedSuppliers = [...joinedSuppliers, newJoinedSupplier];\n }\n\n this._updateState({\n joinedSuppliers: newJoinedSuppliers,\n });\n }\n\n public setSupplierAsLeftAuction(supplierName: string): void {\n const newJoinedSuppliers = this._getState().joinedSuppliers\n .filter((x) => x.name !== supplierName);\n\n this._updateState({\n joinedSuppliers: newJoinedSuppliers,\n });\n }\n\n public cleanupOrphanSuppliers = (): void => {\n const joinedSuppliers = this._getState().joinedSuppliers;\n const currentTime = this._getCurrentIsoTime();\n\n const newJoinedSuppliers = joinedSuppliers.filter((supplier) => {\n const diff = moment(currentTime)\n .diff(moment(supplier.lastSeenOnline), 'milliseconds', true);\n return diff < joinAuctionPeriodicities.maxIdleTime;\n });\n\n if (joinedSuppliers.length !== newJoinedSuppliers.length) {\n this._updateState({\n joinedSuppliers: newJoinedSuppliers,\n });\n }\n }\n\n private _getCurrentIsoTime(): string {\n return new Date().toISOString();\n }\n\n}\n","\nimport { map } from 'rxjs/operators';\nimport { appRoutesPaths } from './../../app-routing/shared/app-routes.constants';\nimport { RedirectionService } from './../../app-routing/shared/redirection.service';\nimport { AppConfig } from './../../core/shared/app.config';\nimport { AppTranslateStore } from './../../app-translate/shared/app-translate.store';\nimport { Language } from './../../app-translate/shared/app-translate.interfaces';\nimport { LoginApiRequestModel } from './../shared/user.interfaces';\nimport { UserStore } from './../shared/user.store';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-login-container',\n styleUrls: [\n './login-container.styles.less',\n ],\n templateUrl: './login-container.template.html',\n})\nexport class LoginContainerComponent implements OnInit {\n\n public appTitle: string;\n\n public hasLoginFailed$: Observable;\n\n public isLoggingIn$: Observable;\n\n public languages$: Observable;\n\n constructor(\n config: AppConfig,\n private _userStore: UserStore,\n private _appTranslateStore: AppTranslateStore,\n private _redirectionService: RedirectionService,\n ) {\n this.appTitle = config.appTitle;\n }\n\n public ngOnInit(): void {\n this.hasLoginFailed$ = this._userStore.getState$().pipe(map((s) => s.hasLoginFailed));\n this.isLoggingIn$ = this._userStore.getState$().pipe(map((s) => s.isLoggingIn));\n this.languages$ = this._appTranslateStore.getState$().pipe(map((s) => s.languages));\n }\n\n public onLogin(model: LoginApiRequestModel): void {\n this._userStore.login(model);\n }\n\n public getCookiesPageUrl(): string {\n return this._redirectionService.getRouteWithParams(appRoutesPaths.public.cookies);\n }\n\n click() {\n this.appTitle = \"My new title\";\n //document.location.href = 'https://api.dev.eauction.mercell.com/api/index.html';\n $.getJSON(\"https://api.dev.eauction.mercell.com/api/auctions/all/b683b845-8499-4b84-b28c-97962b8c95c3\");\n }\n}\n","\n\n\n\n\n","import { LoaderBtnComponent } from './loader-btn/loader-btn.component';\nimport { LoaderSpinnerComponent } from './loader-spinner/loader-spinner.component';\nimport { LoaderCoverComponent } from './loader-cover/loader-cover.component';\nimport { LoaderHolderComponent } from './loader-holder/loader-holder.component';\nimport { LoaderLauncherComponent } from './loader-launcher/loader-launcher.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@NgModule({\n declarations: [\n LoaderHolderComponent,\n LoaderCoverComponent,\n LoaderSpinnerComponent,\n LoaderBtnComponent,\n LoaderLauncherComponent,\n ],\n exports: [\n LoaderHolderComponent,\n LoaderCoverComponent,\n LoaderSpinnerComponent,\n LoaderBtnComponent,\n LoaderLauncherComponent,\n ],\n imports: [CommonModule],\n})\nexport class LoadersModule {}\n","import { getFormattedDate } from './../../app-forms/app-validators/date.validator';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { Injectable } from '@angular/core';\nimport * as moment from 'moment';\n\n@Injectable()\nexport class DateParserFormatter extends NgbDateParserFormatter {\n public parse(value: string): NgbDateStruct {\n if (value) {\n const mom = moment(value, 'L');\n return { day: mom.date(), month: mom.month() + 1, year: mom.year() };\n }\n return null;\n }\n\n public format(date: NgbDateStruct): string {\n let stringDate: string = '';\n if (date) {\n const momentDate = moment(getFormattedDate(date));\n stringDate = momentDate.format('L');\n }\n return stringDate;\n }\n}\n","\nimport { throwError, Observable } from 'rxjs';\n\nimport { catchError, map } from 'rxjs/operators';\nimport { AppConfig } from './../../core/shared/app.config';\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable()\nexport class AppTranslateApiService {\n\n private _apiUrl: string;\n\n constructor(\n private _http: HttpClient,\n config: AppConfig,\n ) {\n this._apiUrl = config.apiServerUrl;\n }\n\n public getTranslationsData(langKey: string): Observable {\n const url = this._apiUrl + `translations/${langKey}`;\n\n // Can't use BaseApiService here as it would cause circular dependency\n // (BaseApiService uses TranslateModule)\n return this._http.get(url).pipe(\n map((res) => res),\n catchError(() => {\n return throwError({});\n }));\n }\n\n}\n","import { BiddingStatusStore } from './../../bidding-status/shared/bidding-status.store';\nimport { BiddingStore } from './../../bidding/shared/bidding.store';\nimport { SettingsStore } from './../../settings/shared/settings.store';\nimport { Subscription } from 'rxjs';\nimport { AppInfoStore } from './../../app-info/shared/app-info.store';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-data-sync-supplier-container',\n templateUrl: './data-sync-supplier-container.template.html',\n})\nexport class DataSyncSupplierContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _appInfoStore: AppInfoStore,\n private _settingsStore: SettingsStore,\n private _biddingStore: BiddingStore,\n private _biddingStatusStore: BiddingStatusStore,\n ) {}\n\n public ngOnInit(): void {\n const s1 = this._appInfoStore.whenReconnected$()\n .subscribe(this._syncSupplierData);\n\n this._subscriptions = [s1];\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n private _syncSupplierData = (): void => {\n this._settingsStore.syncSettings(this.auctionId);\n this._biddingStore.syncBid(this.auctionId, this.tenderId);\n this._biddingStatusStore.syncBiddingStatus(this.auctionId, this.tenderId, false);\n }\n\n}\n","import { TendersApiService } from './tenders-api.service';\nimport { defaultTendersState } from './tenders.data';\nimport { TendersState } from './tenders.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\n\n@Injectable()\nexport class TendersStore extends BaseStore {\n\n constructor(\n private _tendersApiService: TendersApiService,\n ) {\n super(defaultTendersState);\n }\n\n public getTenders(): void {\n this._updateState({\n isLoading: true,\n });\n\n this._tendersApiService.getTenders()\n .subscribe((response) => {\n this._updateState({\n isLoaded: true,\n isLoading: false,\n tenders: response.tenders,\n });\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n });\n }\n\n}\n","import { RouterModule } from '@angular/router';\nimport { TendersApiService } from './shared/tenders-api.service';\nimport { TendersStore } from './shared/tenders.store';\nimport { TendersListComponent } from './tenders-list/tenders-list.component';\nimport { TendersContainerComponent } from './tenders-container/tenders-container.component';\nimport { TendersPageComponent } from './tenders-page/tenders-page.component';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\n\n@NgModule({\n declarations: [\n TendersPageComponent,\n TendersContainerComponent,\n TendersListComponent,\n ],\n exports: [\n TendersPageComponent,\n ],\n imports: [\n SharedModule,\n RouterModule,\n ],\n providers: [\n TendersStore,\n TendersApiService,\n ],\n})\nexport class TendersModule {\n\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './tenders-page.template.html',\n})\nexport class TendersPageComponent {\n\n}\n","","import { BiddingStatusState } from './bidding-status.interfaces';\n\nexport const defaultBiddingStatusState: BiddingStatusState = {\n isLoaded: false,\n isLoading: false,\n leadingBidValue: null,\n nextAllowedBidValue: null,\n pendingBidValue: null,\n submittedBidRank: null,\n submittedBidValue: null,\n};\n","import { PubSubService } from './shared/pub-sub.service';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n providers: [\n PubSubService,\n ],\n})\nexport class PubSubModule {\n\n}\n","import { trigger, transition, animate, keyframes, style } from '@angular/animations';\n\nconst successColor = '#ccebff';\nconst errorColor = '#D6565A';\n\nexport const listItemAppearAnimation = trigger('listItemAppearAnimation', [\n transition('void => isHighlighted', [\n animate(1000, keyframes([\n style({background: 'none', offset: 0}),\n style({background: successColor, offset: 0.3}),\n style({background: successColor, offset: 0.5}),\n style({background: '#fff', offset: 1}),\n ])),\n ]),\n]);\n\nexport const listItemDisappearAnimation = trigger('listItemDisappearAnimation', [\n transition('* => void', [\n animate(500, keyframes([\n style({background: errorColor, offset: 0, opacity: 1 }),\n style({background: errorColor, offset: 0.2, opacity: 1}),\n style({offset: 1, opacity: 0}),\n ])),\n ]),\n]);\n\nexport const shakeAnimation = trigger('shakeAnimation', [\n transition('* => isShaked', [\n animate(500, keyframes([\n style({ offset: 0, transform: 'translateX(0)' }),\n style({ offset: 0.1, transform: 'translateX(-5px)' }),\n style({ offset: 0.3, transform: 'translateX(5px)' }),\n style({ offset: 0.5, transform: 'translateX(-5px)' }),\n style({ offset: 0.7, transform: 'translateX(5px)' }),\n style({ offset: 0.9, transform: 'translateX(-5px)' }),\n style({ offset: 1, transform: 'translateX(0)'}),\n ])),\n ]),\n]);\n\nexport const highlightElementAnimation = trigger('highlightElementAnimation', [\n transition('* => isHighlighted', [\n animate(1000, keyframes([\n style({background: 'none', offset: 0}),\n style({background: successColor, offset: 0.3}),\n style({background: successColor, offset: 0.5}),\n style({background: 'none', offset: 1}),\n ])),\n ]),\n]);\n","import { RedirectionService } from './shared/redirection.service';\nimport { AppResolver } from './shared/app.resolver';\nimport { appRouting } from './shared/app.routing';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n exports: [\n RouterModule,\n ],\n imports: [\n appRouting,\n ],\n providers: [\n AppResolver,\n RedirectionService,\n ],\n})\nexport class AppRoutingModule {}\n","import { Component, Input, ElementRef, ViewChild, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n templateUrl: './alert.template.html',\n})\nexport class AlertComponent implements OnInit {\n\n @Input()\n public text: string;\n\n @Input()\n public btnText: string;\n\n @ViewChild('okBtn', {static: true})\n public yesBtn: ElementRef;\n\n constructor(\n private _activeModal: NgbActiveModal,\n ) {}\n\n public ngOnInit(): void {\n // if not wrapped in timeout, scroll position changes\n setTimeout(() => {\n this.yesBtn.nativeElement.focus();\n });\n }\n\n public onOkClick(): void {\n this._activeModal.close();\n }\n\n public getBtnText(): string {\n return this.btnText || 'common.btn.ok';\n }\n\n}\n","
\n\n
\n\n
\n \n
\n","import { AppTranslateService } from './../shared/app-translate.service';\nimport { Language } from './../shared/app-translate.interfaces';\nimport { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'eau-languages-dropdown',\n styleUrls: [\n './languages-dropdown.styles.less',\n ],\n templateUrl: './languages-dropdown.template.html',\n})\nexport class LanguagesDropdownComponent {\n\n @HostBinding('class.eau-languages-dropdown')\n public className: boolean = true;\n\n @Input()\n public title: string;\n\n @Input()\n public languages: Language[];\n\n constructor(\n private _appTranslateService: AppTranslateService,\n ) {}\n\n public onChooseLanguage(langKey: string): void {\n this._appTranslateService.setAppLanguage(langKey);\n }\n\n}\n","
  • \n\n \n \n {{title}}\n \n\n \n
  • \n","import {\n SupplierJoinedAuctionSocketsResponseModel,\n SupplierLeftAuctionSocketsResponseModel,\n SupplierRespondedToPurchaserAsJoinedAuctionSocketsResponseModel,\n SupplierRespondedAsOnlineSocketsResponseModel,\n} from './join-auction.interfaces';\nimport { BaseSocketsService } from './../../core/shared/base-sockets.service';\nimport { SocketListenHook, SocketEmitHook } from './../../core/shared/base-sockets.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class JoinAuctionSocketsService {\n\n constructor(\n private _baseSocketsService: BaseSocketsService,\n ) {}\n\n public joinAuction(auctionId: number): void {\n this._baseSocketsService.send(SocketEmitHook.joinAuction, auctionId);\n }\n\n public leaveAuction(auctionId: number): void {\n this._baseSocketsService.send(SocketEmitHook.leaveAuction, auctionId);\n }\n\n public supplierJoinedAuction(): Observable {\n return this._baseSocketsService.get(SocketListenHook.supplierJoinedAuction);\n }\n\n public supplierLeftAuction(): Observable {\n return this._baseSocketsService.get(SocketListenHook.supplierLeftAuction);\n }\n\n // observed by purchaser to get all online suppliers one by one\n public supplierRespondedToPurchaserAsJoinedAuction()\n : Observable {\n return this._baseSocketsService\n .get(SocketListenHook.supplierRespondedToPurchaserAsJoinedAuction);\n }\n\n // observed by supplier. When got this event, send socket event to backend\n // to inform that supplier is online\n public requestIfSupplierJoinedAuction(): Observable {\n return this._baseSocketsService.get(SocketListenHook.requestIfSupplierJoinedAuction);\n }\n\n public respondAsSupplierJoinedAuction(auctionId: number): void {\n this._baseSocketsService.send(\n SocketEmitHook.respondAsSupplierJoinedAuction,\n auctionId,\n );\n }\n\n public supplierIsOnline(auctionId: number): void {\n this._baseSocketsService.send(\n SocketEmitHook.supplierIsOnline,\n auctionId,\n );\n }\n\n public supplierRespondedAsOnline(): Observable {\n return this._baseSocketsService\n .get(SocketListenHook.supplierRespondedAsOnline);\n }\n\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AppInputDropdownOption } from './shared/app-input-dropdown.interfaces';\n\n@Component({\n selector: 'eau-app-input-dropdown',\n styleUrls: [\n '../shared/app-inputs.styles.less',\n ],\n templateUrl: './app-input-dropdown.template.html',\n})\nexport class AppInputDropdownComponent {\n\n public isOpened: boolean = false;\n\n @Input()\n public titleKey: string;\n\n @Input()\n public valueKey: string;\n\n @Input()\n public selectedOptionValueKey: string;\n\n @Input()\n public options: any[];\n\n @Output()\n public onSelect: EventEmitter\n = new EventEmitter();\n\n public onSelectOption(option: AppInputDropdownOption): void {\n this.onSelect.emit(option);\n }\n\n public getSelectedOptionLabel(): string {\n const selectedOption = this.options.find((option) => {\n return option[this.valueKey] === this.selectedOptionValueKey;\n });\n\n return selectedOption ? selectedOption.title : '';\n }\n\n}\n","
    \n\n \n\n
    \n\n \n\n \n\n
    \n\n
    \n","import {\n GetAuctionsApiResponseModel,\n CreateAuctionApiRequestModel,\n CreateAuctionApiResponseModel,\n} from './auctions.interfaces';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class AuctionsApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getAuctions(): Observable {\n const url = 'auctions';\n return this._apiService.get(url);\n }\n\n public createAuction(\n lotId: number,\n model: CreateAuctionApiRequestModel,\n ): Observable {\n\n const url = `auctions/${lotId}`;\n return this._apiService.post(url, model);\n }\n\n public deleteAuction(auctionId: number): Observable<{}> {\n const url = `auctions/${auctionId}`;\n return this._apiService.delete(url);\n }\n\n}\n","import { AfterViewInit, Component, ElementRef, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ValidationService } from './../../app-forms/shared/validation.service';\n\n@Component({\n selector: 'eau-app-input',\n styleUrls: [\n '../shared/app-inputs.styles.less',\n ],\n templateUrl: './app-input.template.html',\n})\nexport class AppInputComponent implements AfterViewInit {\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public key: string;\n\n @Input()\n public label: string;\n\n @Input()\n public id: string;\n\n private _el: ElementRef;\n\n constructor(\n private _validationService: ValidationService,\n el: ElementRef,\n ) {\n this._el = el;\n }\n\n public ngAfterViewInit(): void {\n const el = this._el.nativeElement;\n const input = el.querySelector('input');\n el.className += 'form-group';\n input.setAttribute('id', this.getId());\n input.className += 'form-control';\n }\n\n public isInvalid(): boolean {\n return this._validationService.isInvalid(this.form, this.key);\n }\n\n public getId(): string {\n if (this.id) {\n return this.id;\n }\n\n return `eau-app-input-${this.key}`;\n }\n\n}\n","
    \n \n
    \n \n \n
    \n
    \n","import { AppInfoStore } from './../../app-info/shared/app-info.store';\nimport {\n SocketsConnectionState,\n SocketEmitHook,\n SocketListenHook,\n} from './base-sockets.interfaces';\nimport { Injectable } from '@angular/core';\nimport { HubConnection } from '@microsoft/signalr';\nimport * as signalR from '@microsoft/signalr';\nimport { Observable } from 'rxjs';\nimport { environment } from './../../../environments/environment';\n\n@Injectable()\nexport class BaseSocketsService {\n\n private _hubConnection: HubConnection;\n\n constructor(\n private _appInfoStore: AppInfoStore,\n ) {\n this.createConnection();\n }\n\n public connect(): void {\n this._hubConnection\n .start()\n .then(() => {\n const connectionState =\n this._getConnectionStateFromSignalRGlobalObj(this._hubConnection.state);\n this._appInfoStore.updateSocketsConnectionState(connectionState);\n }).catch(err => {\n console.log(\"Cannot start the connection: \" + err);\n });\n\n // this._hubConnection.serverTimeoutInMilliseconds = 1000 * 60 * 20;\n // this._hubConnection.keepAliveIntervalInMilliseconds = 1000 * 60 * 10;\n }\n\n public disconnect(): void {\n this._hubConnection.stop();\n }\n\n public reconnect(): void {\n this._hubConnection.start();\n }\n\n public get(key: SocketListenHook): Observable {\n return new Observable((observer: any) => {\n this._hubConnection.on(key.toString(), (data: any) => {\n observer.next(data);\n });\n return () => {\n this._hubConnection.off(key.toString());\n };\n });\n }\n\n public send(key: SocketEmitHook, data: any): void {\n if (this._hubConnection.state !== signalR.HubConnectionState.Connected) { return; }\n if (!this._appInfoStore.isConnected()) { return; }\n const connectionState =\n this._getConnectionStateFromSignalRGlobalObj(this._hubConnection.state);\n if (connectionState === SocketsConnectionState.connected) {\n this._hubConnection.invoke(key.toString(), data);\n }\n }\n\n private _getConnectionStateFromSignalRGlobalObj(state: signalR.HubConnectionState)\n : SocketsConnectionState {\n switch (state) {\n case signalR.HubConnectionState.Connected:\n return SocketsConnectionState.connected;\n case signalR.HubConnectionState.Reconnecting:\n return SocketsConnectionState.reconnecting;\n case signalR.HubConnectionState.Disconnected:\n return SocketsConnectionState.disconnected;\n default:\n return SocketsConnectionState.connecting;\n }\n }\n\n private createConnection(): void {\n this._hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(environment.socketsServerUrl)\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Information)\n .build();\n }\n}\n","import { GetBidApiResponseModel, UpdateBidApiResponseModel,\n UpdateBidApiRequestModel, SubmitBidApiResponseModel } from './bidding.interfaces';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '../../core/shared/base-api.service';\n\n@Injectable()\nexport class BiddingApiService {\n\n constructor(\n private _apiService: BaseApiService,\n ) {}\n\n public getBid(\n auctionId: number,\n tenderId: number,\n ): Observable {\n\n const url = this._getUrl(auctionId, tenderId);\n return this._apiService.get(url);\n }\n\n public updateBid(\n auctionId: number,\n tenderId: number,\n value: number,\n ): Observable {\n\n const url = this._getUrl(auctionId, tenderId);\n\n const model: UpdateBidApiRequestModel = {\n value,\n };\n\n return this._apiService.put(url, model);\n }\n\n public submitBid(\n auctionId: number,\n tenderId: number,\n ): Observable {\n\n const url = this._getUrl(auctionId, tenderId);\n return this._apiService.post(url, {});\n }\n\n private _getUrl(auctionId: number, tenderId: number): string {\n return `auctions/${auctionId}/tenders/${tenderId}/bid`;\n }\n\n}\n","import { DataSyncService } from './../../data-sync/shared/data-sync.service';\nimport { defaultBiddingStatusState } from './bidding-status.data';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from './../../notifications/shared/notifications.service';\nimport { BiddingStatusApiService } from './bidding-status-api.service';\nimport { BiddingStatusState, BiddingStatus } from './bidding-status.interfaces';\nimport { Injectable } from '@angular/core';\nimport { BaseStore } from './../../store/shared/base-store';\nimport { AudioService } from '../../core/shared/audio.service';\nimport { AppInfoStore } from '../../app-info/shared/app-info.store';\n\n@Injectable()\nexport class BiddingStatusStore extends BaseStore {\n\n constructor(\n private _biddingStatusApiService: BiddingStatusApiService,\n private _notificationsService: NotificationsService,\n private _translateService: TranslateService,\n private _dataSyncService: DataSyncService,\n private _audioService: AudioService,\n private _appInfoStore: AppInfoStore,\n\n ) {\n super(defaultBiddingStatusState);\n }\n\n public syncBiddingStatus(\n auctionId: number,\n tenderId: number,\n isSilent: boolean,\n ): void {\n const wasLeader = this._isLeader();\n const rankBefore = this._getState().submittedBidRank;\n\n this._updateState({\n isLoading: true,\n });\n\n this._biddingStatusApiService.getBiddingStatus(auctionId, tenderId)\n .subscribe(\n (response) => {\n this._updateState(Object.assign({}, response, {\n isLoaded: true,\n isLoading: false,\n }));\n\n const hasRankChanged = rankBefore !== response.submittedBidRank;\n\n if (!isSilent && hasRankChanged) {\n const isLeader = this._isLeader();\n\n this._notifyAboutBiddingStatusChangeAfterCompetingBidIsPublished(\n wasLeader,\n isLeader,\n );\n }\n },\n () => {\n this._updateState({\n isLoading: false,\n });\n\n this._dataSyncService.onSyncFail();\n });\n }\n\n public updateBiddingStatusAfterSubmittingBid(\n newBiddingStatus: BiddingStatus,\n ): void {\n const wasLeader = this._isLeader();\n this._updateState(newBiddingStatus);\n const isLeader = this._isLeader();\n this._notifyAboutBiddingStatusChangeAfterOwnBidIsPublished(wasLeader, isLeader);\n }\n\n public updateBiddingStatusAfterChangingPendingBid(newBidValue: number): void {\n this._updateState({\n pendingBidValue: newBidValue,\n });\n }\n\n private _isLeader(): boolean {\n return this._getState().submittedBidRank === 1;\n }\n\n private _notifyAboutBiddingStatusChangeAfterCompetingBidIsPublished(\n wasLeader: boolean,\n isLeader: boolean,\n ): void {\n const competitorPublishedBid = this._translateService\n .instant('notifications.supplier.competitor_published_new_bid');\n const yourLostLeaderPosition = this._translateService\n .instant('notifications.supplier.you_lost_leader_position');\n\n let msg = competitorPublishedBid;\n\n if (wasLeader && !isLeader) {\n msg += `
    \n ${yourLostLeaderPosition}\n `;\n }\n if (!isLeader) {\n this._notificationsService.info(msg);\n\n if (this._appInfoStore.isSoundOn()) {\n this._audioService.playNotificationSound();\n }\n }\n }\n\n private _notifyAboutBiddingStatusChangeAfterOwnBidIsPublished(\n wasLeader: boolean,\n isLeader: boolean,\n ): void {\n const yourBidPublished = this._translateService\n .instant('notifications.supplier.your_bid_was_published');\n const yourBecameLeader = this._translateService\n .instant('notifications.supplier.you_became_leader');\n let msg = yourBidPublished;\n\n if (!wasLeader && isLeader) {\n msg += `
    \n ${yourBecameLeader}\n `;\n }\n\n this._notificationsService.info(msg, false);\n }\n\n}\n","import {\n NotificationsHolderComponent,\n} from './notifications-holder/notifications-holder.component';\nimport { NotificationsService } from './shared/notifications.service';\nimport { SharedModule } from '../shared/shared.module';\nimport { NgModule } from '@angular/core';\nimport { ToastrModule } from 'ngx-toastr';\n\n@NgModule({\n declarations: [\n NotificationsHolderComponent,\n ],\n exports: [\n NotificationsHolderComponent,\n ],\n imports: [\n SharedModule,\n ToastrModule.forRoot({\n closeButton: true,\n enableHtml: true,\n positionClass: 'toast-top-right',\n preventDuplicates: false,\n tapToDismiss: false,\n timeOut: 5000,\n }),\n ],\n providers: [\n NotificationsService,\n ],\n})\nexport class NotificationsModule {\n\n}\n","import { CustomValidators } from 'ng2-validation';\nimport { ValidationResult } from './../shared/validators.interfaces';\nimport { FormControl, ValidatorFn, Validators } from '@angular/forms';\n\nexport function lessThanValidator(maxValue: number): ValidatorFn {\n return (control: FormControl): ValidationResult => {\n\n if (Validators.required(control)) {\n return null;\n }\n\n if (CustomValidators.number(control)) {\n return null;\n }\n\n if (control.value >= maxValue) {\n return {\n lessThan: { maxValue },\n };\n }\n\n return null;\n };\n}\n","import { ValidationErrorsComponent } from './validation-errors/validation-errors.component';\nimport { AppDatepickerComponent } from './app-datepicker/app-datepicker.component';\nimport { AppInputDropdownComponent } from './app-input-dropdown/app-input-dropdown.component';\nimport { AppInputComponent } from './app-input/app-input.component';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\nimport { ValidationService } from './shared/validation.service';\nimport { TimepickerComponent } from './timepicker/timepicker.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n AppDatepickerComponent,\n AppInputComponent,\n AppInputDropdownComponent,\n TimepickerComponent,\n ValidationErrorsComponent,\n ],\n exports: [\n AppDatepickerComponent,\n AppInputComponent,\n AppInputDropdownComponent,\n TimepickerComponent,\n ValidationErrorsComponent,\n FormsModule,\n ReactiveFormsModule,\n ],\n imports: [\n BsDropdownModule.forRoot(),\n FormsModule,\n NgbModule,\n ReactiveFormsModule,\n SharedModule,\n TimepickerModule.forRoot(),\n ],\n providers: [\n ValidationService,\n ],\n})\nexport class AppFormsModule {\n\n}\n","\nimport { interval, Subscription } from 'rxjs';\nimport { joinAuctionPeriodicities } from './../shared/join-auction.data';\nimport { JoinAuctionStore } from './../shared/join-auction.store';\nimport { JoinAuctionSocketsService } from './../shared/join-auction-sockets.service';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-join-auction-purchaser-container',\n templateUrl: './join-auction-purchaser-container.template.html',\n})\nexport class JoinAuctionPurchaserContainerComponent implements OnInit, OnDestroy {\n\n @Input()\n public auctionId: number;\n\n private _subscriptions: Subscription[];\n\n constructor(\n private _joinAuctionSocketsService: JoinAuctionSocketsService,\n private _joinAuctionStore: JoinAuctionStore,\n ) {}\n\n public ngOnInit(): void {\n const s1 = this._joinAuctionSocketsService.supplierRespondedToPurchaserAsJoinedAuction()\n .subscribe((model) => {\n this._joinAuctionStore.setSupplierAsJoinedAuction(model.supplierName);\n });\n\n const s2 = this._joinAuctionSocketsService.supplierJoinedAuction()\n .subscribe((model) => {\n this._joinAuctionStore.setSupplierAsJoinedAuction(model.supplierName);\n });\n\n const s3 = this._joinAuctionSocketsService.supplierLeftAuction()\n .subscribe((model) => {\n this._joinAuctionStore.setSupplierAsLeftAuction(model.supplierName);\n });\n\n const s4 = interval(joinAuctionPeriodicities.cleanupOrphanSuppliers)\n .subscribe(this._joinAuctionStore.cleanupOrphanSuppliers);\n\n const s5 = this._joinAuctionSocketsService.supplierRespondedAsOnline()\n .subscribe((model) => {\n this._joinAuctionStore.setSupplierAsJoinedAuction(model.supplierName);\n });\n\n this._subscriptions = [s1, s2, s3, s4, s5];\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n}\n","\nimport { filter } from 'rxjs/operators';\nimport { Subscription , Observable } from 'rxjs';\nimport { shakeAnimation } from './../../core/shared/animations';\nimport { LoginApiRequestModel } from './../shared/user.interfaces';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport {\n Component,\n OnInit,\n AfterContentInit,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n OnDestroy, ElementRef, ViewChild,\n} from '@angular/core';\n\n@Component({\n animations: [\n shakeAnimation,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-login-form',\n styleUrls: [\n './login-form.styles.less',\n ],\n templateUrl: './login-form.template.html',\n})\nexport class LoginFormComponent implements OnInit, AfterContentInit, OnDestroy {\n\n @Input()\n public hasLoginFailed: Observable;\n\n @Input()\n public isLoggingIn: boolean;\n\n @Output()\n public login: EventEmitter = new EventEmitter();\n\n public loginForm: FormGroup;\n\n public isShaked: 'isShaked' | '';\n\n @ViewChild('usernameInput', { static: true })\n private _usernameInput: ElementRef;\n\n private _hasLoginEverFailed: boolean;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n private _formBuilder: FormBuilder,\n ) {}\n\n public ngOnInit(): void {\n this._buildForm();\n\n this._subscriptions.push(this.hasLoginFailed.pipe(\n filter((x) => !!x))\n .subscribe((x) => {\n this._hasLoginEverFailed = true;\n this._animateAlert();\n }),\n );\n }\n\n public ngAfterContentInit(): void {\n setTimeout(() => this._usernameInput.nativeElement.focus());\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.forEach((x) => x.unsubscribe());\n }\n\n public onSubmit(): void {\n if (!this.loginForm.valid) {\n this._hasLoginEverFailed = true;\n this._animateAlert();\n return;\n }\n\n const model: LoginApiRequestModel = this.loginForm.getRawValue();\n this.login.emit(model);\n }\n\n public shouldShowValidationAlert(): boolean {\n return this._hasLoginEverFailed;\n }\n\n private _buildForm(): void {\n this.loginForm = this._formBuilder.group({\n password: [\n '',\n [Validators.required],\n ],\n username: [\n '',\n [Validators.required],\n ],\n });\n }\n\n private _animateAlert(): void {\n this.isShaked = 'isShaked';\n setTimeout(() => {\n this.isShaked = '';\n });\n }\n\n}\n","\n","import { ValidationResult } from './../shared/validators.interfaces';\nimport { FormControl } from '@angular/forms';\n\nexport function timeValidator(control: FormControl): ValidationResult {\n const exp = /^([0-1][0-9]|2[0-3]):([0-5][0-9])$/;\n const valueInString = control.value + '';\n\n if (!valueInString.match(exp)) {\n return {\n time: true,\n };\n }\n\n return null;\n}\n","export const stickyElementsThresholds = {\n maxWindowWidth: 767,\n};\n","\nimport { map } from 'rxjs/operators';\nimport { FormatService } from './../../format/shared/format.ser';\nimport { BiddingStatusStore } from './../../bidding-status/shared/bidding-status.store';\nimport { Observable } from 'rxjs';\nimport { BiddingStore } from './../shared/bidding.store';\nimport { BidModel } from './../shared/bidding.interfaces';\nimport { Component, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'eau-question-container',\n styleUrls: [\n './question-container.styles.less',\n ],\n templateUrl: './question-container.template.html',\n})\nexport class QuestionContainerComponent implements OnInit {\n\n @Input()\n public auctionId: number;\n\n @Input()\n public tenderId: number;\n\n @Input()\n public isBiddingDisabled: boolean;\n\n @Input()\n public unit: string;\n\n public bidModel$: Observable;\n\n public showLoader$: Observable;\n\n public isSavingBid$: Observable;\n\n public isInputInEditMode$: Observable;\n\n public nextAllowedBidValue$: Observable;\n\n public inputId: string = 'eau-total-price-input';\n\n constructor(\n private _biddingStore: BiddingStore,\n private _biddingStatusStore: BiddingStatusStore,\n private _formatService: FormatService,\n ) {}\n\n public ngOnInit(): void {\n this.bidModel$ = this._biddingStore.getState$().pipe(map((state) => state.bidModel));\n\n this.showLoader$ = this.bidModel$.pipe(map((model) => {\n return model && model.value !== null ? false : true;\n }));\n\n this.isSavingBid$ = this._biddingStore.getState$().pipe(map((state) => state.isSavingBid));\n\n this.isInputInEditMode$ = this._biddingStore\n .getState$().pipe(map((s) => s.isInputInEditMode));\n\n this.nextAllowedBidValue$ = this._biddingStatusStore.getState$().pipe(\n map((s) => s.nextAllowedBidValue));\n\n this._biddingStore.loadBid(this.auctionId, this.tenderId);\n }\n\n public onBidValueChange(newValue: string): void {\n const parsedNewValue = parseFloat(newValue);\n\n this._biddingStore.updateBid(\n this.auctionId,\n this.tenderId,\n parsedNewValue,\n );\n }\n\n public onBidValueCancel(): void {\n this._biddingStore.closeInputInEditMode();\n }\n\n public onBidValueFocus(): void {\n this._biddingStore.openInputInEditMode();\n }\n\n public getLastSubmittedAnswer$(): Observable {\n return this.bidModel$.pipe(map((x) => {\n return this._formatService.getFormatedNumberWithUnit(x.valuePrevious, this.unit);\n }));\n }\n\n public getInitialAnswer$(): Observable {\n return this.bidModel$.pipe(map((x) => {\n return this._formatService.getFormatedNumberWithUnit(x.valueInitial, this.unit);\n }));\n }\n}\n","
    \n\n \n\n \n\n
    \n \n \n\n
    \n {{'bidding.my_last_submitted_answer' | translate}} {{getLastSubmittedAnswer$() | async}}
    \n {{'bidding.my_initial_answer' | translate}} {{getInitialAnswer$() | async}}\n
    \n
    \n\n
    \n\n
    \n","import { environment } from './environments/environment';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\nimport 'moment';\n\n// need to expose jQuery as global object for SignalR\n// (adds the `jquery` to the global object under the names `$` and `jQuery`)\nimport 'expose-loader?exposes[]=$&exposes[]=jQuery!jquery';\nimport '@microsoft/signalr';\n\n// Only these locales are defined to be loaded in webpack.config.js as well\nimport 'moment/locale/en-gb';\nimport 'moment/locale/sv';\nimport 'moment/locale/nb';\nimport 'moment/locale/da';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeEn from '@angular/common/locales/en-GB';\nimport localeSv from '@angular/common/locales/sv';\nimport localeDa from '@angular/common/locales/da';\nimport localeNb from '@angular/common/locales/nb';\n\nregisterLocaleData(localeEn);\nregisterLocaleData(localeSv);\nregisterLocaleData(localeDa);\nregisterLocaleData(localeNb);\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err));\n","export const pubSubEvents = {\n apiRequestWasMade: 'apiRequestWasMade',\n logoutInitiated: 'logoutInitiated',\n nextAllowedBidCopied: 'nextAllowedBidCopied',\n userSessionExpired: 'userSessionExpired',\n};\n","import { ModuleWithProviders } from '@angular/core';\nimport {\n NotAuthorizedPageComponent,\n} from './../../layout/not-authorized-page/not-authorized-page.component';\nimport { TendersPageComponent } from './../../tenders/tenders-page/tenders-page.component';\nimport { LoginGuardService } from './../../user/shared/login-guard.service';\nimport { HomePageComponent } from './../../home/home-page/home-page.component';\nimport { UserRole } from './../../user/shared/user.interfaces';\nimport { appRoutesPaths, appRoutesChildPaths } from './app-routes.constants';\nimport { AuthGuardService } from './../../user/shared/auth-guard.service';\nimport { AppResolver } from './app.resolver';\nimport { NotFoundPageComponent } from './../../layout/not-found-page/not-found-page.component';\nimport {\n AuctionSupplierPageComponent,\n} from './../../auction-supplier/auction-supplier-page/auction-supplier-page.component';\nimport {\n AuctionPurchaserPageComponent,\n} from './../../auction-purchaser/auction-purchaser-page/auction-purchaser-page.component';\nimport { AuctionsPageComponent } from './../../auctions/auctions-page/auctions-page.component';\nimport { LoginPageComponent } from './../../user/login-page/login-page.component';\nimport { Routes, RouterModule } from '@angular/router';\n\n// tslint:disable:object-literal-sort-keys\n\nconst routes: Routes = [\n {\n path: appRoutesPaths.login,\n component: LoginPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n LoginGuardService,\n ],\n },\n {\n path: appRoutesPaths.public.root,\n loadChildren: () =>\n import('app/public-pages/public-pages.module').then(m => m.PublicPagesModule),\n },\n {\n path: appRoutesPaths.root,\n component: HomePageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.purchaser,\n UserRole.supplier,\n ],\n },\n },\n {\n path: appRoutesPaths.purchaser.auction,\n component: AuctionPurchaserPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.purchaser,\n ],\n },\n children: [\n {\n path: appRoutesChildPaths.chart,\n loadChildren: () => {\n return import('app/bids-chart/bids-chart.module').then(m => m.BidsChartModule);\n },\n },\n ],\n },\n {\n path: appRoutesPaths.purchaser.auctions,\n component: AuctionsPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.purchaser,\n ],\n },\n },\n {\n path: appRoutesPaths.supplier.tender,\n component: AuctionSupplierPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.supplier,\n ],\n },\n },\n {\n path: appRoutesPaths.supplier.tenders,\n component: TendersPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.supplier,\n ],\n },\n },\n {\n path: appRoutesPaths.notAuthorized,\n component: NotAuthorizedPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.purchaser,\n UserRole.supplier,\n ],\n },\n },\n {\n path: appRoutesPaths.noMatch,\n component: NotFoundPageComponent,\n resolve: {\n translations: AppResolver,\n },\n canActivate: [\n AuthGuardService,\n ],\n data: {\n roles: [\n UserRole.purchaser,\n UserRole.supplier,\n ],\n },\n },\n];\n\nexport const appRouting: ModuleWithProviders = RouterModule.forRoot(routes);\n"]}