{"version":3,"file":"common.da8f10e03eac1af9.js","mappings":"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","names":["AddWeavePatternWithWeaveStructureId","_AddWeavePatternWithWeaveStructureId","constructor","patterns","this","execute","weaveStructureId","name","imageData","saveWeavePatternWithWeaveStructureId","i0","PATTERNS","factory","ɵfac","AutomaticStopInput","stopTextId","inputMask","_stopTextId","_inputMask","fromJSON","automaticStopInputJSON","toJSON","AutomaticStopMapping","inputMaskFilter","defaultStopTextId","stopInputs","_inputMaskFilter","_defaultStopTextId","_stopInputs","automaticStopMappingJSON","map","stopInput","CountConfiguration","productionCounter","pulsesPerUnit","_productionCounter","_pulsesPerUnit","countConfigurationJSON","DataUnitSetupCatalogStatus","APPROVED","REJECTED","DRAFT","OBSOLETE","dataUnitSetupCatalogStatusIconMap","Map","getStatusIconName","status","get","getListOfReviewStatus","currentStatus","result","DataUnitSetup","id","countConfiguration","automaticStopMapping","digitalInputConfig","_id","_name","_countConfiguration","_automaticStopMapping","_digitalInputConfig","dataUnitSetupJSON","DigitalInputConfig","stopMode","minimalAmountOfPulses","pulseTimeFrame","maximumPulseInterval","stopWindowSamples","stopWindowSampleRate","invertMask","_stopInput","_stopMode","_minimalAmountOfPulses","_pulseTimeFrame","_maximumPulseInterval","_stopWindowSamples","_stopWindowSampleRate","_invertMask","value","digitalInputConfigJSON","StopReasonText","text","abbreviation","translations","abbreviationTranslations","_text","_abbreviation","_translations","_abbreviationTranslations","stopReasonTextJSON","ColorSetTextileDataCardItem","ColorTextileDataCardItem","getRandomColorWithIdAndName","getRandomColor","ColoredYarnSetTextileDataCardItem","ColoredYarnTextileDataCardItem","CompanyWeaveStructureTextileDataCardItem","getRandomCompanyWeaveStructure","CreelTextileDataCardItem","getRandomCreelWithIdAndName","getRandomCreel","FinishingTemplateTextileDataCardItem","getRandomFinishingTemplate","getRandomFinishingTemplateWithIdAndName","ManageWeaveStructureTextileDataCardItem","WeaveStructureTextileDataCardItem","getRandomWeaveStructure","WeftColoredYarnSetTextileDataCardItem","YarnSetTextileDataCardItem","YarnTypeTextileDataCardItem","getRandomYarnType","getRandomYarnTypeWithIdAndName","CardItem","lastModified","totalCreated","_lastModified","_totalCreated","machineQualityFromJSON","cardItemJSON","cardItemFromJSON","yarnTypeFromJSON","finishingTemplateFromJSON","finishingFromJSON","colorFromJSON","creelFromJSON","weaveStructureFromJSON","coloredYarnSetFromJSON","weftColoredYarnSetFromJSON","colorSetFromJSON","yarnSetFromJSON","companyWeaveStructureFromJSON","coloredYarnFromJSON","manageWeaveStructureFromJSON","weaveProductFromJSON","groupedWeaveStructureFromJSON","tuftProductFromJSON","IdNameVersion","version","OverallEquipmentEffectivenessType","NONE","DOWN_TIME_LOSS","NON_WORKING_TIME_LOSS","PLANNED_TIME_LOSS","RejectReason","color","rejectType","code","displayOrder","machineTypes","group","description","_color","_rejectType","_code","_displayOrder","_machineTypes","_group","_description","rejectReasonJSON","Color","red","rgb","green","blue","machineTypeJSON","IdName","AssertionUtils","isNullOrUndefined","rejectReasonGroup","_this$_group","machineTypeIds","machineType","rejectReasonGroupId","YieldUnit","STITCHES","PICKS","CARPETS","METER","machineTypesWithYieldUnit","MachineType","CARPET_LOOM","CARPET_LOOM_NO_JQ","COLORTEC","COLORTECLPLUS","MYRIAD","TUFT","VELVET","VELVET_NO_JQ","JACQUARD","SUPERBADYE","SUPERBAHEAT","SUPERBAWINDER","FINISHING","WEAVING_MACHINE","getYieldUnitForMachineType","COMPANY_WEAVE_STRUCTURES","InjectionToken","HttpCompanyWeaveStructuresService","_HttpCompanyWeaveStructuresService","httpClient","backendConfiguration","getAll","NotImplementedError","getById","save","item","update","put","getEndpoint","delete","saveCompanyWeaveStructure","post","getByCompanyId","companyId","pipe","rxjsMap","weaveStructureIds","i1","i2","Language","language","_language","languageJSON","HttpDataUnitSetupService","_HttpDataUnitSetupService","getIotConfigEndpoint","dataUnitSetupsJSON","OverviewListDataUnitSetup","isIdentifierAvailable","params","HttpParams","set","response","dataUnitSetupNameAvailable","getAllFromCatalog","getAllStopReasonTexts","stopReasonTextCatalogsJSON","stopReasonTextCatalogJSON","saveStopReasonTexts","updateStopReasonTexts","deleteStopReasonTexts","getAllLanguages","languagesJSON","providedIn","getEntityServerSideDatasource","repository","unSubscribeOnViewDestroy","getParameters","undefined","afterDataLoadFunction","specialFilterModel","getRows","startRow","request","endRow","sliceSize","sortModel","filterModel","gridModel","GridModel","parameters","getSlice","takeUntil","subscribe","next","entityList","lastRow","length","api","showNoRowsOverlay","hideOverlay","success","rowData","rowCount","error","MachineGeneralDocumentation","number","_number","machineGeneralDocumentation","MachineManual","orderId","manualType","productline","languages","_orderId","_machineType","_manualType","_productline","_languages","machineManual","MachineSchematic","title","_title","machineSchematic","MachineSparePartsCatalogue","machineSparePartsCatalogue","MachineTechnicalWeaveSettingsFile","machineWeaveSettingsFileJSON","MachineTechnicalWeaveSettingsRevision","revisionNumber","files","_revisionNumber","_files","machineWeaveSettingsRevisionJSON","revision","file","MachineTechnicalWeaveSettings","type","revisions","_type","_revisions","machineTechnicalWeaveSettings","OverviewListMachineForDocumentation","machineJSON","HttpMachinesDocumentationService","_HttpMachinesDocumentationService","observableOf","getMachineOverviewEndpoint","machineDocumentationsJSON","machineDocumentationJSON","machine","getMachineGeneralDocumentations","machineId","machineGeneralDocumentationsJSON","machineGeneralDocumentationJSON","getMachineTechnicalWeaveSettings","machineTechnicalWeaveSettingsJSON","machineTechnicalWeaveSettingJSON","getMachineSparePartsCatalogue","machineSparePartsCatalogueJSON","getMachineManuals","machineManualsJSON","machineManualJSON","getMachineDitaManual","machineDitaManualUrl","getMachineSchematics","machineSchematicsJSON","machineSchematicJSON","downloadMachineGeneralDocumentationFile","observe","responseType","downloadMachineTechnicalWeaveSettingsFile","technicalWeaveSettingsType","technicalWeaveSettingsRevision","body","downloadMachineSetupFile","isSoftwareAvailable","downloadMachineSparePartsCatalogueFile","downloadMachineManualFile","downloadMachineSchematicFile","renameMachine","machineName","getMachineEndpoint","GroupedOrderLine","quality","colorSet","commercialWidthInCm","technicalWidthInDents","orderlineIds","lengthInMM","lengthInPicks","surfaceInMM2","numberOfPieces","_quality","_colorSet","_commercialWidthInCm","_technicalWidthInDents","_orderlineIds","_lengthInMM","_lengthInPicks","_surfaceInMM2","_numberOfPieces","groupedOrderlineJSON","commercialWidthInCM","orderLines","orderLine","parseInt","HttpOrderbookService","_HttpOrderbookService","target","productionScheduleId","scheduleId","url","gridModelJSON","overviewListOrderLinesJSON","overviewListOrderLine","OverviewListOrderLine","orderLineJSON","OrderLine","OrderLinesTarget","ORDER_BOOK","getGroupedOrderlines","groupedBy","groupedOrderLinesJSON","groupedOrderLineJSON","getListOfCustomSettings","saveCustomSettings","settings","getPossibleValues","columnIdentifier","HttpPhysicalQuantitiesService","_HttpPhysicalQuantitiesService","getWorkerEndpoint","physicalQuantitiesJSON","physicalQuantityJSON","PhysicalQuantity","identifier","isAvailable","getCatalogById","addFromCatalog","items","getConflicts","Error","NeedsAttentionItem","orderData","planningOrderId","_orderData","_planningOrderId","productionOrderCarpet","isCarpetOrder","productionOrderWeaving","isWeavingOrder","productionOrderTufting","isTuftingOrder","ProductionOrderCarpetForPlanningOrder","ProductionOrderWeavingForPlanningOrder","ProductionOrderTuftingForPlanningOrder","jsonData","parseOrderDataJson","productionOrderLiteId","fromNeedsAttentionItemJSON","tuftProduct","HttpPlanningService","_HttpPlanningService","authentication","getMachines","PlanningMachine","getGroupedRunsForPeriod","dateRange","first","getTime","last","currentSubscription","getCurrentSubscription","calendarItem","CalendarItemGroup","getMachineDetails","machineQuality","OverviewListMachineQuality","creel","OverviewMachineCreel","weaveProduct","OverviewListWeaveProduct","OverviewListTuftProduct","updateGroupedItems","groupedItems","itemsToSave","groupedItem","patch","getPlanningOrderDetails","planningOrderDetailsJSON","productionOrderLite","productionOrder","yield","planningOrder","PlanningOrder","startDate","endDate","efficiency","deletePlanningItem","planningItem","isEqual","PlanningItemType","RUN","processProductionOrder","getAggregatorEndpoint","queueProductionOrder","processAndQueueProductionOrder","getCreelForRun","runId","creelJSON","OverviewListCreel","checkRunCompatibilityWithMachine","deletePlanningOrder","productionOrderId","deletePlanningOrderLite","getCreelMapForRun","getOrdersThatRequireAttention","AUTHENTICATION","HttpRejectReasonsService","_HttpRejectReasonsService","rejectReasonsJSON","toolJSON","deleteMulti","ids","reponsesJSON","reponseJSON","MultiDeleteResponse","CheckName","isCodeAvailable","DeclarationPreviewComponent","_DeclarationPreviewComponent","hexColor","convertRGBToHexadecimalColorCode","selectors","inputs","pattern","decls","vars","consts","template","rf","ctx","ctx_r0","getToDateLabel","PeriodSelectionComponent","_PeriodSelectionComponent","BaseComponent","selectedDateRange","_selectedDateRange","cloneDeep","dialogBuilderFactoryService","super","timeViewMode","TimeViewMode","DAY","selectedDateRangeChanged","EventEmitter","DAY_FORMAT","YEAR_FORMAT","MONTH_FORMAT","DAY_MONTH_FORMAT","MONTH_YEAR_FORMAT","DAY_MONTH_YEAR_FORMAT","openDatePicker","event","getBuilder","withClass","openDialog","RepositionDialogComponent","component","DatePickerComponent","sourceElement","positionOfDialog","PositionOfDialog","BOTTOM","date","getFromDate","getToDate","isRangePicker","canShowDateRange","filter","toJSDate","moment","add","toDate","emitDateRangeChanges","selectPreviousDay","newStartDate","startOf","subtract","endOf","selectNextDay","getFromDateLabel","fromDate","isSame","format","emit","outputs","features","$event","PeriodSelectionComponent_span_4_Template","PeriodSelectionComponent_span_5_Template","PeriodSelectionComponent_ng_container_8_Template","_r2","ctx_r2","filterMachineGroupsAndMachines","filteredText","SelectPossibleMachinesComponent","_SelectPossibleMachinesComponent","colDefBuilderFactoryService","gridOptionsBuilderFactoryService","translate","fullHeight","fullWidth","selectedMachines","showSearchBar","selectedMachinesChange","showSelected","ngOnInit","setGridOptions","machinesGrid","setGridOption","onShowSelectedToggleChange","onFilterChanged","gridBuilder","getColumnDefs","GridIdentifier","SELECT_POSSIBLE_MACHINES","withRowSelection","withOnRowSelected","onRowSelected","withAutoGroupColumnDef","getAutoGroupColumnDef","withGroupDisplayType","withLoadingOverlay","scale","withNoRowsOverlay","getNoRowsOverlayTitleParameters","withDoesExternalFilterPass","node","isSelected","withIsExternalFilterPresent","withRememberStateForNavigationHelper","withOnFirstDataRendered","setFilteredText","forEachNode","setSelected","some","_node$data","data","withRowClassRules","_params$node$data","fixedSelectedMachineId","withOnFilterChanged","selectable","withSuppressRowClickSelection","gridOptions","build","manufacturerField","typeField","withHeaderName","withField","withRowGroup","withHide","withColId","withCellRenderer","checkbox","withCellClass","withSuppressMovable","getSelectedRows","includes","machines","find","_node$data2","gridApi","getDisplayedRowCount","noRowsOverlayComponentParams","titleKey","titleParam","hideDescription","isAnyFilterPresent","_this$machinesGrid","objects","instant","count","toLowerCase","_gridApi$getQuickFilt","getQuickFilter","viewQuery","_r1","SelectPossibleMachinesComponent_vdw_filter_15_Template","_c3","_c2","_c1","DataUnitSetupCatalogOverviewStatusComponent","_DataUnitSetupCatalogOverviewStatusComponent","getIconNameForDataUnitSetupCatalogStatus","dataUnitSetupCatalogStatus","isCancelledIcon","agInit","refresh","navigateToAddUnit","SelectUnitComponent","_SelectUnitComponent","physicalQuantityService","dialogRef","navigationHelperService","isCatalog","physicalQuantityId","gridOptionsForListOfUnits","listOfGridOptions","setGridOptionsForListOfUnits","physicalQuantity","listOfUnits","physicalUnits","ngAfterViewInit","_this$unitsGrid","listOfGridApis","unitsGrid","getIsCatalog","selectUnit","close","canSelectUnit","_this$unitsGrid2","navigateToNextRouteWithPartialState","dialogComponent","RouteUtils","paths","editPhysicalQuantity","absolutePath","replace","toString","getColumnDefsForListOfUnits","SELECT_UNIT","withOnCellDoubleClicked","i3","i4","MAT_DIALOG_DATA","SelectUnitComponent_Conditional_6_Template","DeviceTemplateSharedModule","_DeviceTemplateSharedModule","TextileDataSharedModule","MachineDocumentationOrderIdComponent","_MachineDocumentationOrderIdComponent","MachinesListComponent","_MachinesListComponent","machinesDocumentation","activatedRoute","machineSelected","initialiseGridOptionsForMachine","getMachinesAndSetSelectedMachineIfOrderIdIsProvided","ngOnChanges","changes","isNil","nameChanged","currentValue","getRowNode","newName","applyTransaction","deselectMachine","selectedMachine","deselectAll","listOfMachines","setSelectedMachineIfOrderIdIsProvided","queryParams","isEmpty","machineOrderId","convertMachineOrderIdIfLegacy","setSelectedMachine","ensureIndexVisible","indexOf","gridOptionsForMachines","getColumnDefsForMachines","MACHINE_LIST","withOnRowClicked","rowClickedEvent","onRowClicked","withOnRowDataUpdated","rowNodeOfSelectedMachine","machineOfRow","deselectRow","getMachineNameOrPlaceholder","StringUtils","getPropertyValueOrGeneralPlaceholderIfEmpty","withComparator","stringComparator","withValueGetter","MACHINES_DOCUMENTATION","TexbotSharedModule","_TexbotSharedModule","AgGridModule","SharedModule","ProductionScheduleSharedModule","_ProductionScheduleSharedModule","ConfirmProductionScheduleOnDesktopCommand","provide","PRODUCTION_SCHEDULES","useClass","HttpProductionSchedulesService","FINISHINGS","HttpFinishingsService","imports","FixedScheduleOverviewService","_FixedScheduleOverviewService","pageUrls","LastModifiedCardUtils","getPageUrls","withLinkIcon","nameColDef","withColIdAndField","LinkIconRendererComponent","editPageUrl","edit","getDefaultGridOptionsBuilder","builder","OverviewListYarnTypeService","_OverviewListYarnTypeService","yarnTypes","l10nIntlService","getColumnDefsForListOfYarnTypes","possibleYarnTypesSubject","canClickName","canClick","withTextMultiFilter","getPossibleColumnsValues","threads","thread","rawMaterial","join","withRightAlignment","AgGridUtils","buildAgGridCellTextWithUnit","getValue","yarnCountUnit","withTooltipValueGetter","buildAgGridCellTooltipWithUnit","withNumericMultiFilter","Unit","NUMBER_METRIC","asObservable","listOfYarnTypes","listOfYarnType","withoutFilter","StockLocationOverviewService","_StockLocationOverviewService","colDefBuilder","rowActionsComplete","contentSwitcherEntry","componentInfo","AddStockLocationComponent","colDefs","StockLocationSelectionService","_StockLocationSelectionService","injector","tools","stockLocationsService","overview","builderFactoryService","gridActionButtonsHelper","removeConfirmation","navigationHelper","init","crudOverviewButtonConfigs","getActionButtonsWithNewRouting","Permission","TEXSTYLE_STOCK_LOCATION_EDIT","rowNode","_this$config$selected","config","selectedObjects","open","openAlertDialog","titleText","object","messageText","DialogType","DELETE","withEntityName","withRowData","getStockLocations","withDefaultButtons","withCrudGridOptions","STOCK_LOCATION_OVERVIEW","openContentSwitcherDialog","inputValue","navigateWithContentSwitcher","CrudObjectSelectionDialogNewComponent","componentInputs","newClickedEntry","pageType","PageTypeEnum","ADD","canShowHeader","i5","i6","ToolSelectionModule","_ToolSelectionModule","ToolOverviewService","ToolSelectionService","PlasticProductSelectionModule","DndDragPreviewContentDirective","_DndDragPreviewContentDirective","dropList","dragPreviewContent","dndListSettings","dropListEntry","childEntries","overlayPlaceholder_r2","entry_r5","_r4","$implicit","dragDrop","childOnlyClass","dropListContent","isDropAllowed","DndDraggableDropListComponent_mat_expansion_panel_4_ng_template_1_ng_container_3_Template","placeholder_r6","DndDraggableDropListComponent_mat_expansion_panel_4_ng_template_1_Template","isExpanded","DndDraggableDropListComponent","_DndDraggableDropListComponent","dragActive","dragDropHelperService","_this$dropListEntry","parentOnlyClass","disabled","allowedTypes","effectAllowed","dndLibraryFixes","updateAllowedTypesOnDragStart","nestedDepth","getNestedDepth","removeGroup","parentEntry","splice","entryRemoved","removedEntry","entry","originalHandleDragStart","dndDraggable","handleDragStart","call","dataTransfer","setDragImage","dragPreview","nativeElement","nextSibling","dragStarted","sourceParent","draggedEntry","originalDragEnd","handleDragEnd","dndDragEnd","dragEnded","getNumberOfChildLevels","Math","max","childEntry","_ref","childDepth","dropAllowed","maxNestedDepth","DEFAULT_MAX_NESTED_DEPTH","DndDraggable","DndDraggableDropListComponent_ng_container_3_Template","DndDraggableDropListComponent_mat_expansion_panel_4_Template","isHidden","isDragDisabled","styles","DndDropListContentDirective","_DndDropListContentDirective","iif","condition","trueResult","falseResult","defer"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./apps/texconnect/src/app/application/command/add-weave-pattern-with-weave-structure-id.ts","./apps/texconnect/src/app/domain/data-unit-setup/automatic-stop-input.ts","./apps/texconnect/src/app/domain/data-unit-setup/automatic-stop-mapping.ts","./apps/texconnect/src/app/domain/data-unit-setup/count-configuration.ts","./apps/texconnect/src/app/domain/data-unit-setup/data-unit-setup-catalog-status.enum.ts","./apps/texconnect/src/app/domain/data-unit-setup/data-unit-setup.ts","./apps/texconnect/src/app/domain/data-unit-setup/digital-input-config.ts","./apps/texconnect/src/app/domain/data-unit-setup/stop-reason-text/stop-reason-text.ts","./apps/texconnect/src/app/domain/last-modified-card-object/color-set-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/color-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/colored-yarn-set-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/colored-yarn-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/company-weave-structure-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/creel-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/finishing-template-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/manage-weave-structure-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/weave-structure-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/weft-colored-yarn-set-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/yarn-set-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/yarn-type-textile-data-card-item.ts","./apps/texconnect/src/app/domain/last-modified-card-object/card-item.ts","./apps/texconnect/src/app/domain/machine/overall-equipment-effectiveness-type.enum.ts","./apps/texconnect/src/app/domain/settings/reject-reason/reject-reason.ts","./apps/texconnect/src/app/domain/yield-unit.enum.ts","./apps/texconnect/src/app/infrastructure/http/company-weave-structure/company-weave-structures.ts","./apps/texconnect/src/app/infrastructure/http/company-weave-structure/http-company-weave-structures.service.ts","./apps/texconnect/src/app/domain/data-unit-setup/stop-reason-text/language.ts","./apps/texconnect/src/app/infrastructure/http/data-unit-setup/http-data-unit-setup.service.ts","./apps/texconnect/src/app/infrastructure/http/grid/get-entity-server-side-datasource.ts","./apps/texconnect/src/app/domain/machine/machine-general.ts","./apps/texconnect/src/app/domain/machine/machine-manual.ts","./apps/texconnect/src/app/domain/machine/machine-schematic.ts","./apps/texconnect/src/app/domain/machine/machine-spare-parts-catalogue.ts","./apps/texconnect/src/app/domain/machine/machine-technical-weave-settings-file.ts","./apps/texconnect/src/app/domain/machine/machine-technical-weave-settings-revision.ts","./apps/texconnect/src/app/domain/machine/machine-technical-weave-settings.ts","./apps/texconnect/src/app/domain/machine/overview-list-machine-for-documentation.ts","./apps/texconnect/src/app/infrastructure/http/machines-documentation/http-machines-documentation.service.ts","./apps/texconnect/src/app/presentation/pages/texfab/production-schedule/add/drawing-library/views/order-lines-grouped-view/grouped-order-line.ts","./apps/texconnect/src/app/infrastructure/http/orderbook/http-orderbook.service.ts","./apps/texconnect/src/app/infrastructure/http/physical-quantity/http-physical-quantities.service.ts","./apps/texconnect/src/app/domain/planning/needs-attention-item.ts","./apps/texconnect/src/app/infrastructure/http/planning/http-planning.service.ts","./apps/texconnect/src/app/infrastructure/http/reject-reason/http-reject-reasons.service.ts","./apps/texconnect/src/app/presentation/components/declaration-preview/declaration-preview.component.ts","./apps/texconnect/src/app/presentation/components/declaration-preview/declaration-preview.component.html","./apps/texconnect/src/app/presentation/components/period-selection/period-selection.component.html","./apps/texconnect/src/app/presentation/components/period-selection/period-selection.component.ts","./apps/texconnect/src/app/presentation/components/select-possible-machines/select-possible-machines.component.html","./apps/texconnect/src/app/presentation/components/select-possible-machines/select-possible-machines.component.ts","./apps/texconnect/src/app/presentation/pages/settings/data-unit-setup/overview/overview-list-data-unit-setup.ts","./apps/texconnect/src/app/presentation/pages/settings/data-unit-setup/overview/status/data-unit-setup-catalog-overview-status.component.ts","./apps/texconnect/src/app/presentation/pages/settings/data-unit-setup/overview/status/data-unit-setup-catalog-overview-status.component.html","./apps/texconnect/src/app/presentation/pages/settings/device-template/add/counter/add/select-unit/select-unit.component.html","./apps/texconnect/src/app/presentation/pages/settings/device-template/add/counter/add/select-unit/select-unit.component.ts","./apps/texconnect/src/app/presentation/pages/settings/device-template/device-template-shared.module.ts","./apps/texconnect/src/app/presentation/pages/texbot/machine-documentation/machines-list/machine-documentation-order-id/machine-documentation-order-id.component.ts","./apps/texconnect/src/app/presentation/pages/texbot/machine-documentation/machines-list/machine-documentation-order-id/machine-documentation-order-id.component.html","./apps/texconnect/src/app/presentation/pages/texbot/machine-documentation/machines-list/machines-list.component.ts","./apps/texconnect/src/app/presentation/pages/texbot/machine-documentation/machines-list/machines-list.component.html","./apps/texconnect/src/app/presentation/pages/texbot/texbot-shared.module.ts","./apps/texconnect/src/app/presentation/pages/texfab/production-schedule/production-schedule-shared.module.ts","./apps/texconnect/src/app/presentation/pages/textile-data/fixed-schedule/fixed-schedule-overview.service.ts","./apps/texconnect/src/app/presentation/pages/textile-data/yarn-type/overview/overview-list-yarn-type.service.ts","./apps/texconnect/src/app/presentation/pages/utilities/tool/add/tool-status/stock-location-overview.service.ts","./apps/texconnect/src/app/presentation/pages/utilities/tool/add/tool-status/stock-location-selection.service.ts","./apps/texconnect/src/app/presentation/pages/utilities/tool/tool-selection.module.ts","./libs/angular-component-library/src/lib/custom-components/draggable-drop-list/dnd-draggable-drop-list/dnd-drag-preview-content.directive.ts","./libs/angular-component-library/src/lib/custom-components/draggable-drop-list/dnd-draggable-drop-list/dnd-draggable-drop-list/dnd-draggable-drop-list.component.html","./libs/angular-component-library/src/lib/custom-components/draggable-drop-list/dnd-draggable-drop-list/dnd-draggable-drop-list/dnd-draggable-drop-list.component.ts","./libs/angular-component-library/src/lib/custom-components/draggable-drop-list/dnd-draggable-drop-list/dnd-drop-list-content.directive.ts","./node_modules/rxjs/dist/esm/internal/observable/iif.js"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport {AddPatternReturnType} from '@application/command/add-pattern-return-type';\nimport {Command} from '@application/command/command';\nimport {PATTERNS, Patterns} from '@infrastructure/http/patterns/patterns';\nimport {Observable} from 'rxjs';\n\n@Injectable()\nexport class AddWeavePatternWithWeaveStructureId implements Command {\n public constructor(@Inject(PATTERNS) private readonly patterns: Patterns) {}\n\n public execute(weaveStructureId: number): AddPatternReturnType {\n return (name: string, imageData: string): Observable => {\n return this.patterns.saveWeavePatternWithWeaveStructureId(name, imageData, weaveStructureId);\n };\n }\n}\n","export class AutomaticStopInput {\n private _stopTextId: number;\n private _inputMask: string;\n\n public constructor(stopTextId: number, inputMask: string) {\n this._stopTextId = stopTextId;\n this._inputMask = inputMask;\n }\n\n public get stopTextId(): number {\n return this._stopTextId;\n }\n\n public set stopTextId(stopTextId: number) {\n this._stopTextId = stopTextId;\n }\n\n public get inputMask(): string {\n return this._inputMask;\n }\n\n public set inputMask(inputMask: string) {\n this._inputMask = inputMask;\n }\n\n public static fromJSON(automaticStopInputJSON: any): AutomaticStopInput {\n return new AutomaticStopInput(automaticStopInputJSON.stopTextId, automaticStopInputJSON.inputMask);\n }\n\n public toJSON(): JSON {\n return {\n stopTextId: this._stopTextId,\n inputMask: this._inputMask\n } as any as JSON;\n }\n}\n","import {AutomaticStopInput} from './automatic-stop-input';\n\nexport class AutomaticStopMapping {\n private _inputMaskFilter: string;\n private _defaultStopTextId: number;\n private _stopInputs: AutomaticStopInput[];\n\n public constructor(inputMaskFilter: string, defaultStopTextId: number, stopInputs: AutomaticStopInput[]) {\n this._inputMaskFilter = inputMaskFilter;\n this._defaultStopTextId = defaultStopTextId;\n this._stopInputs = stopInputs;\n }\n\n public get inputMaskFilter(): string {\n return this._inputMaskFilter;\n }\n\n public set inputMaskFilter(inputMaskFilter: string) {\n this._inputMaskFilter = inputMaskFilter;\n }\n\n public get defaultStopTextId(): number {\n return this._defaultStopTextId;\n }\n\n public set defaultStopTextId(defaultStopTextId: number) {\n this._defaultStopTextId = defaultStopTextId;\n }\n\n public get stopInputs(): AutomaticStopInput[] {\n return this._stopInputs;\n }\n\n public set stopInputs(stopInputs: AutomaticStopInput[]) {\n this._stopInputs = stopInputs;\n }\n\n public static fromJSON(automaticStopMappingJSON: any): AutomaticStopMapping {\n return new AutomaticStopMapping(\n automaticStopMappingJSON.inputMaskFilter,\n automaticStopMappingJSON.defaultStopTextId,\n automaticStopMappingJSON.stopInputs.map((stopInput: AutomaticStopInput) => AutomaticStopInput.fromJSON(stopInput))\n );\n }\n\n public toJSON(): JSON {\n return {\n inputMaskFilter: this._inputMaskFilter,\n defaultStopTextId: this._defaultStopTextId,\n stopInputs: this._stopInputs.map((stopInput: AutomaticStopInput) => stopInput.toJSON())\n } as any as JSON;\n }\n}\n","export class CountConfiguration {\n private _productionCounter: string;\n private _pulsesPerUnit: number;\n\n public constructor(productionCounter: string, pulsesPerUnit: number) {\n this._productionCounter = productionCounter;\n this._pulsesPerUnit = pulsesPerUnit;\n }\n\n public get productionCounter(): string {\n return this._productionCounter;\n }\n\n public set productionCounter(productionCounter: string) {\n this._productionCounter = productionCounter;\n }\n\n public get pulsesPerUnit(): number {\n return this._pulsesPerUnit;\n }\n\n public set pulsesPerUnit(pulsesPerUnit: number) {\n this._pulsesPerUnit = pulsesPerUnit;\n }\n\n public static fromJSON(countConfigurationJSON: any): CountConfiguration {\n return new CountConfiguration(countConfigurationJSON.productionCounter, countConfigurationJSON.pulsesPerUnit);\n }\n\n public toJSON(): JSON {\n return {\n productionCounter: this._productionCounter,\n pulsesPerUnit: this._pulsesPerUnit\n } as any as JSON;\n }\n}\n","export enum DataUnitSetupCatalogStatus {\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n DRAFT = 'DRAFT',\n OBSOLETE = 'OBSOLETE'\n}\n\nconst approvedIconName = 'confirm';\nconst rejectedIconName = 'cancelled';\nconst draftIconName = 'draft';\nconst obsoleteIconName = 'close';\n\nconst dataUnitSetupCatalogStatusIconMap: Map = new Map([\n [DataUnitSetupCatalogStatus.APPROVED, approvedIconName],\n [DataUnitSetupCatalogStatus.REJECTED, rejectedIconName],\n [DataUnitSetupCatalogStatus.DRAFT, draftIconName],\n [DataUnitSetupCatalogStatus.OBSOLETE, obsoleteIconName]\n]);\n\nexport namespace DataUnitSetupCatalogStatus {\n export function getStatusIconName(status: DataUnitSetupCatalogStatus): string {\n return dataUnitSetupCatalogStatusIconMap.get(status);\n }\n\n export function getListOfReviewStatus(currentStatus: DataUnitSetupCatalogStatus): DataUnitSetupCatalogStatus[] {\n let result: DataUnitSetupCatalogStatus[];\n\n switch (currentStatus) {\n case DataUnitSetupCatalogStatus.DRAFT:\n result = [DataUnitSetupCatalogStatus.DRAFT, DataUnitSetupCatalogStatus.REJECTED, DataUnitSetupCatalogStatus.APPROVED];\n break;\n case DataUnitSetupCatalogStatus.APPROVED:\n result = [DataUnitSetupCatalogStatus.APPROVED, DataUnitSetupCatalogStatus.REJECTED, DataUnitSetupCatalogStatus.OBSOLETE];\n break;\n case DataUnitSetupCatalogStatus.REJECTED:\n result = [DataUnitSetupCatalogStatus.REJECTED, DataUnitSetupCatalogStatus.APPROVED, DataUnitSetupCatalogStatus.OBSOLETE];\n break;\n case DataUnitSetupCatalogStatus.OBSOLETE:\n result = [DataUnitSetupCatalogStatus.OBSOLETE];\n break;\n default:\n result = [];\n }\n\n return result;\n }\n}\n","import {AutomaticStopMapping} from './automatic-stop-mapping';\nimport {CountConfiguration} from './count-configuration';\nimport {DigitalInputConfig} from './digital-input-config';\n\nexport class DataUnitSetup {\n private _id: number;\n private _name: string;\n private _countConfiguration: CountConfiguration;\n private _automaticStopMapping: AutomaticStopMapping;\n private _digitalInputConfig: DigitalInputConfig;\n\n public constructor(id: number, name: string, countConfiguration: CountConfiguration, automaticStopMapping: AutomaticStopMapping, digitalInputConfig: DigitalInputConfig) {\n this._id = id;\n this._name = name;\n this._countConfiguration = countConfiguration;\n this._automaticStopMapping = automaticStopMapping;\n this._digitalInputConfig = digitalInputConfig;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get countConfiguration(): CountConfiguration {\n return this._countConfiguration;\n }\n\n public set countConfiguration(countConfiguration: CountConfiguration) {\n this._countConfiguration = countConfiguration;\n }\n\n public get automaticStopMapping(): AutomaticStopMapping {\n return this._automaticStopMapping;\n }\n\n public set automaticStopMapping(automaticStopMapping: AutomaticStopMapping) {\n this._automaticStopMapping = automaticStopMapping;\n }\n\n public get digitalInputConfig(): DigitalInputConfig {\n return this._digitalInputConfig;\n }\n\n public set digitalInputConfig(digitalInputConfig: DigitalInputConfig) {\n this._digitalInputConfig = digitalInputConfig;\n }\n\n public static fromJSON(dataUnitSetupJSON: any): DataUnitSetup {\n return new DataUnitSetup(\n dataUnitSetupJSON.id,\n dataUnitSetupJSON.name,\n CountConfiguration.fromJSON(dataUnitSetupJSON.countConfiguration),\n AutomaticStopMapping.fromJSON(dataUnitSetupJSON.automaticStopMapping),\n DigitalInputConfig.fromJSON(dataUnitSetupJSON.digitalInputConfig)\n );\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n countConfiguration: this._countConfiguration.toJSON(),\n automaticStopMapping: this._automaticStopMapping.toJSON(),\n digitalInputConfig: this._digitalInputConfig.toJSON()\n } as any as JSON;\n }\n}\n","import {DataUnitSetupStopInputOptions} from './stop-input-options.enum';\nimport {DataUnitSetupStopModeOptions} from './stop-mode-options.enum';\n\nexport class DigitalInputConfig {\n private _stopInput: DataUnitSetupStopInputOptions;\n private _stopMode: DataUnitSetupStopModeOptions;\n private _minimalAmountOfPulses: number;\n private _pulseTimeFrame: number;\n private _maximumPulseInterval: number;\n private _stopWindowSamples: number;\n private _stopWindowSampleRate: number;\n private _inputMask: string;\n private _invertMask: string;\n\n public constructor(\n stopInput: DataUnitSetupStopInputOptions,\n stopMode: DataUnitSetupStopModeOptions,\n minimalAmountOfPulses: number,\n pulseTimeFrame: number,\n maximumPulseInterval: number,\n stopWindowSamples: number,\n stopWindowSampleRate: number,\n inputMask: string,\n invertMask: string\n ) {\n this._stopInput = stopInput;\n this._stopMode = stopMode;\n this._minimalAmountOfPulses = minimalAmountOfPulses;\n this._pulseTimeFrame = pulseTimeFrame;\n this._maximumPulseInterval = maximumPulseInterval;\n this._stopWindowSamples = stopWindowSamples;\n this._stopWindowSampleRate = stopWindowSampleRate;\n this._inputMask = inputMask;\n this._invertMask = invertMask;\n }\n\n public get stopInput(): DataUnitSetupStopInputOptions {\n return this._stopInput;\n }\n\n public set stopInput(value: DataUnitSetupStopInputOptions) {\n this._stopInput = value;\n }\n\n public get stopMode(): DataUnitSetupStopModeOptions {\n return this._stopMode;\n }\n\n public set stopMode(value: DataUnitSetupStopModeOptions) {\n this._stopMode = value;\n }\n\n public get minimalAmountOfPulses(): number {\n return this._minimalAmountOfPulses;\n }\n\n public set minimalAmountOfPulses(value: number) {\n this._minimalAmountOfPulses = value;\n }\n\n public get pulseTimeFrame(): number {\n return this._pulseTimeFrame;\n }\n\n public set pulseTimeFrame(value: number) {\n this._pulseTimeFrame = value;\n }\n\n public get maximumPulseInterval(): number {\n return this._maximumPulseInterval;\n }\n\n public set maximumPulseInterval(value: number) {\n this._maximumPulseInterval = value;\n }\n\n public get stopWindowSamples(): number {\n return this._stopWindowSamples;\n }\n\n public set stopWindowSamples(value: number) {\n this._stopWindowSamples = value;\n }\n\n public get stopWindowSampleRate(): number {\n return this._stopWindowSampleRate;\n }\n\n public set stopWindowSampleRate(value: number) {\n this._stopWindowSampleRate = value;\n }\n\n public get inputMask(): string {\n return this._inputMask;\n }\n\n public set inputMask(value: string) {\n this._inputMask = value;\n }\n\n public get invertMask(): string {\n return this._invertMask;\n }\n\n public set invertMask(value: string) {\n this._invertMask = value;\n }\n\n public static fromJSON(digitalInputConfigJSON: any): DigitalInputConfig {\n return new DigitalInputConfig(\n digitalInputConfigJSON?.stopInput,\n digitalInputConfigJSON?.stopMode,\n digitalInputConfigJSON?.minimalAmountOfPulses,\n digitalInputConfigJSON?.pulseTimeFrame,\n digitalInputConfigJSON?.maximumPulseInterval,\n digitalInputConfigJSON?.stopWindowSamples,\n digitalInputConfigJSON?.stopWindowSampleRate,\n digitalInputConfigJSON?.inputMask,\n digitalInputConfigJSON?.invertMask\n );\n }\n\n public toJSON(): JSON {\n return {\n stopInput: this._stopInput,\n stopMode: this._stopMode,\n minimalAmountOfPulses: this._minimalAmountOfPulses,\n pulseTimeFrame: this._pulseTimeFrame,\n maximumPulseInterval: this._maximumPulseInterval,\n stopWindowSamples: this._stopWindowSamples,\n stopWindowSampleRate: this._stopWindowSampleRate,\n inputMask: this._inputMask,\n invertMask: this._invertMask\n } as any as JSON;\n }\n}\n","export class StopReasonText {\n private _id: number;\n private _text: string;\n private _abbreviation: string;\n private _translations: {[language: string]: string};\n private _abbreviationTranslations: {[language: string]: string};\n\n public constructor(id: number, text: string, abbreviation: string, translations: {[language: string]: string}, abbreviationTranslations: {[language: string]: string}) {\n this._id = id;\n this._text = text;\n this._abbreviation = abbreviation;\n this._translations = translations;\n this._abbreviationTranslations = abbreviationTranslations;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get text(): string {\n return this._text;\n }\n\n public set text(text: string) {\n this._text = text;\n }\n\n public get abbreviation(): string {\n return this._abbreviation;\n }\n\n public set abbreviation(abbreviation: string) {\n this._abbreviation = abbreviation;\n }\n\n public get translations(): {[language: string]: string} {\n return this._translations;\n }\n\n public set translations(translations: {[language: string]: string}) {\n this._translations = translations;\n }\n\n public get abbreviationTranslations(): {[language: string]: string} {\n return this._abbreviationTranslations;\n }\n\n public set abbreviationTranslations(abbreviationTranslations: {[language: string]: string}) {\n this._abbreviationTranslations = abbreviationTranslations;\n }\n\n public static fromJSON(stopReasonTextJSON: any): StopReasonText {\n return new StopReasonText(stopReasonTextJSON.id, stopReasonTextJSON.text, stopReasonTextJSON.abbreviation, stopReasonTextJSON.translations, stopReasonTextJSON.abbreviationTranslations);\n }\n\n public toJSON(): JSON {\n return {\n text: this._text,\n abbreviation: this._abbreviation,\n translations: this._translations,\n abbreviationTranslations: this._abbreviationTranslations\n } as any as JSON;\n }\n}\n","export class ColorSetTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class ColorTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomColorWithIdAndName(id: number, name: string): ColorTextileDataCardItem {\n return new ColorTextileDataCardItem(id, name);\n }\n\n public static getRandomColor(): ColorTextileDataCardItem {\n return ColorTextileDataCardItem.getRandomColorWithIdAndName(1, 'Color_1');\n }\n}\n","export class ColoredYarnSetTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class ColoredYarnTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class CompanyWeaveStructureTextileDataCardItem {\n private readonly _id: string;\n private readonly _name: string;\n\n public constructor(id: string, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomCompanyWeaveStructure(): CompanyWeaveStructureTextileDataCardItem {\n return new CompanyWeaveStructureTextileDataCardItem('Id_1', 'MachineOrder_1');\n }\n}\n","export class CreelTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomCreelWithIdAndName(id: number, name: string): CreelTextileDataCardItem {\n return new CreelTextileDataCardItem(id, name);\n }\n\n public static getRandomCreel(): CreelTextileDataCardItem {\n return CreelTextileDataCardItem.getRandomCreelWithIdAndName(1, 'Creel_1');\n }\n}\n","export class FinishingTemplateTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomFinishingTemplate(): FinishingTemplateTextileDataCardItem {\n return this.getRandomFinishingTemplateWithIdAndName(1, 'FinishingTemplateTextileDataCardItem');\n }\n\n public static getRandomFinishingTemplateWithIdAndName(id: number, name: string): FinishingTemplateTextileDataCardItem {\n return new FinishingTemplateTextileDataCardItem(id, name);\n }\n}\n","export class ManageWeaveStructureTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class WeaveStructureTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomWeaveStructure(): WeaveStructureTextileDataCardItem {\n return new WeaveStructureTextileDataCardItem(1, 'Creel_1');\n }\n}\n","export class WeftColoredYarnSetTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class YarnSetTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n}\n","export class YarnTypeTextileDataCardItem {\n private readonly _id: number;\n private readonly _name: string;\n\n public constructor(id: number, name: string) {\n this._id = id;\n this._name = name;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static getRandomYarnType(): YarnTypeTextileDataCardItem {\n return this.getRandomYarnTypeWithIdAndName(1, 'YarnTypeTextileDataCardItem');\n }\n\n public static getRandomYarnTypeWithIdAndName(id: number, name: string): YarnTypeTextileDataCardItem {\n return new YarnTypeTextileDataCardItem(id, name);\n }\n}\n","import {IdNameVersion} from '@domain/id-name-version';\nimport {ArticleCardItem} from '@domain/last-modified-card-object/article-card-item';\nimport {TextileData} from '@domain/textile-data/textile-data';\nimport {ColorSetTextileDataCardItem} from './color-set-textile-data-card-item';\nimport {ColorTextileDataCardItem} from './color-textile-data-card-item';\nimport {ColoredYarnSetTextileDataCardItem} from './colored-yarn-set-textile-data-card-item';\nimport {ColoredYarnTextileDataCardItem} from './colored-yarn-textile-data-card-item';\nimport {CompanyWeaveStructureTextileDataCardItem} from './company-weave-structure-textile-data-card-item';\nimport {CreelTextileDataCardItem} from './creel-textile-data-card-item';\nimport {CustomerCardItem} from './customer-card-item';\nimport {FinishingTemplateTextileDataCardItem} from './finishing-template-textile-data-card-item';\nimport {ManageWeaveStructureTextileDataCardItem} from './manage-weave-structure-textile-data-card-item';\nimport {ProductConfigurationTexeditCardItem} from './product-configuration-texedit-card-item';\nimport {SettingsCardItem} from './settings-card-item';\nimport {TexfabCardItem} from './texfab-card-item';\nimport {WeaveStructureTextileDataCardItem} from './weave-structure-textile-data-card-item';\nimport {WeftColoredYarnSetTextileDataCardItem} from './weft-colored-yarn-set-textile-data-card-item';\nimport {YarnSetTextileDataCardItem} from './yarn-set-textile-data-card-item';\nimport {YarnTypeTextileDataCardItem} from './yarn-type-textile-data-card-item';\n\ntype LastModified = TextileData | TexfabCardItem | CustomerCardItem | ArticleCardItem | SettingsCardItem | ProductConfigurationTexeditCardItem | IdNameVersion;\n\nexport class CardItem {\n private _lastModified: LastModified;\n private _totalCreated: number;\n\n public constructor(lastModified: LastModified, totalCreated: number) {\n this._lastModified = lastModified;\n this._totalCreated = totalCreated;\n }\n\n public get lastModified(): LastModified {\n return this._lastModified;\n }\n\n public get totalCreated(): number {\n return this._totalCreated;\n }\n\n public static machineQualityFromJSON(cardItemJSON: any): CardItem {\n return this.cardItemFromJSON(cardItemJSON);\n }\n\n public static yarnTypeFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new YarnTypeTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static finishingTemplateFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new FinishingTemplateTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static finishingFromJSON(cardItemJSON: any): CardItem {\n return this.cardItemFromJSON(cardItemJSON);\n }\n\n public static colorFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new ColorTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static creelFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new CreelTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static weaveStructureFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new WeaveStructureTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static coloredYarnSetFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new ColoredYarnSetTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static weftColoredYarnSetFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new WeftColoredYarnSetTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static colorSetFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new ColorSetTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static yarnSetFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new YarnSetTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static companyWeaveStructureFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new CompanyWeaveStructureTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static coloredYarnFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new ColoredYarnTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static manageWeaveStructureFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(cardItemJSON?.lastModified ? new ManageWeaveStructureTextileDataCardItem(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name) : null, cardItemJSON?.totalCreated);\n }\n\n public static weaveProductFromJSON(cardItemJSON: any): CardItem {\n return this.cardItemFromJSON(cardItemJSON);\n }\n\n public static groupedWeaveStructureFromJSON(cardItemJSON: any): CardItem {\n return this.cardItemFromJSON(cardItemJSON);\n }\n\n public static tuftProductFromJSON(cardItemJSON: any): CardItem {\n return this.cardItemFromJSON(cardItemJSON);\n }\n\n private static cardItemFromJSON(cardItemJSON: any): CardItem {\n return new CardItem(\n cardItemJSON?.lastModified ? new IdNameVersion(cardItemJSON.lastModified.id, cardItemJSON.lastModified.name, cardItemJSON.lastModified.version) : null,\n cardItemJSON?.totalCreated\n );\n }\n}\n","export enum OverallEquipmentEffectivenessType {\n NONE = 'NONE',\n DOWN_TIME_LOSS = 'DOWN_TIME_LOSS',\n NON_WORKING_TIME_LOSS = 'NON_WORKING_TIME_LOSS',\n PLANNED_TIME_LOSS = 'PLANNED_TIME_LOSS'\n}\n","import {IdName} from '@domain/id-name';\nimport {AssertionUtils, Color} from '@vdw/angular-component-library';\nimport {RejectType} from './reject-type.enum';\n\nexport class RejectReason {\n private _id: number;\n private _name: string;\n private _color: Color;\n private _rejectType: RejectType;\n private _code: number;\n private _displayOrder: number;\n private _machineTypes: IdName[];\n private _group: IdName;\n private _description: string;\n\n public constructor(id: number, name: string, color: Color, rejectType: RejectType, code: number, displayOrder: number, machineTypes: IdName[], group: IdName, description: string) {\n this._id = id;\n this._name = name;\n this._color = color;\n this._rejectType = rejectType;\n this._code = code;\n this._displayOrder = displayOrder;\n this._machineTypes = machineTypes;\n this._group = group;\n this._description = description;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(value: number) {\n this._id = value;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(value: string) {\n this._name = value;\n }\n\n public get color(): Color {\n return this._color;\n }\n\n public set color(value: Color) {\n this._color = value;\n }\n\n public get rejectType(): RejectType {\n return this._rejectType;\n }\n\n public set rejectType(value: RejectType) {\n this._rejectType = value;\n }\n\n public get code(): number {\n return this._code;\n }\n\n public set code(value: number) {\n this._code = value;\n }\n\n public get displayOrder(): number {\n return this._displayOrder;\n }\n\n public set displayOrder(value: number) {\n this._displayOrder = value;\n }\n\n public get machineTypes(): IdName[] {\n return this._machineTypes;\n }\n\n public set machineTypes(value: IdName[]) {\n this._machineTypes = value;\n }\n\n public get group(): IdName {\n return this._group;\n }\n\n public set group(value: IdName) {\n this._group = value;\n }\n\n public get description(): string {\n return this._description;\n }\n\n public set description(value: string) {\n this._description = value;\n }\n\n public static fromJSON(rejectReasonJSON: any): RejectReason {\n return new RejectReason(\n rejectReasonJSON.id,\n rejectReasonJSON.name,\n new Color(null, null, {red: rejectReasonJSON.rgb.red, green: rejectReasonJSON.rgb.green, blue: rejectReasonJSON.rgb.blue}, false),\n rejectReasonJSON.rejectType,\n rejectReasonJSON.code,\n rejectReasonJSON.displayOrder,\n rejectReasonJSON.machineTypes.map((machineTypeJSON: any) => IdName.fromJSON(machineTypeJSON)),\n AssertionUtils.isNullOrUndefined(rejectReasonJSON.rejectReasonGroup) ? null : IdName.fromJSON(rejectReasonJSON.rejectReasonGroup),\n rejectReasonJSON.description\n );\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n rgb: {\n red: this._color.rgb.red,\n green: this._color.rgb.green,\n blue: this._color.rgb.blue\n },\n rejectType: this._rejectType,\n code: this._code,\n displayOrder: this._displayOrder,\n machineTypeIds: this._machineTypes.map((machineType: IdName) => machineType.id),\n rejectReasonGroupId: this._group?.id,\n description: this._description\n } as any as JSON;\n }\n}\n","import {MachineType} from '@domain/machine/machine-type.enum';\n\nexport enum YieldUnit {\n STITCHES,\n PICKS,\n CARPETS,\n METER\n}\n\nexport namespace YieldUnit {\n const machineTypesWithYieldUnit: Map = new Map([\n [MachineType.CARPET_LOOM, YieldUnit.PICKS],\n [MachineType.CARPET_LOOM_NO_JQ, YieldUnit.PICKS],\n [MachineType.COLORTEC, YieldUnit.STITCHES],\n [MachineType.COLORTECLPLUS, YieldUnit.STITCHES],\n [MachineType.MYRIAD, YieldUnit.STITCHES],\n [MachineType.TUFT, YieldUnit.METER],\n [MachineType.VELVET, YieldUnit.PICKS],\n [MachineType.VELVET_NO_JQ, YieldUnit.PICKS],\n [MachineType.JACQUARD, YieldUnit.PICKS],\n [MachineType.SUPERBADYE, YieldUnit.METER],\n [MachineType.SUPERBAHEAT, YieldUnit.METER],\n [MachineType.SUPERBAWINDER, YieldUnit.METER],\n [MachineType.FINISHING, YieldUnit.CARPETS],\n [MachineType.WEAVING_MACHINE, YieldUnit.METER]\n ]);\n\n export function getYieldUnitForMachineType(machineType: MachineType): YieldUnit {\n return machineTypesWithYieldUnit.get(machineType);\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {CompanyWeaveStructure} from '@domain/textile-data/company-weave-structure/company-weave-structure';\nimport {Observable} from 'rxjs';\nimport {Repository} from '../repository';\n\nexport const COMPANY_WEAVE_STRUCTURES = new InjectionToken('CompanyWeaveStructures');\n\nexport interface CompanyWeaveStructures extends Repository {\n saveCompanyWeaveStructure(item: CompanyWeaveStructure): Observable;\n getByCompanyId(companyId: string): Observable;\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {CompanyWeaveStructure} from '@domain/textile-data/company-weave-structure/company-weave-structure';\nimport {NotImplementedError} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\nimport {CompanyWeaveStructures} from './company-weave-structures';\n\n@Injectable()\nexport class HttpCompanyWeaveStructuresService implements CompanyWeaveStructures {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(httpClient: HttpClient, backendConfiguration: BackendConfiguration) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public getAll(): Observable {\n throw new NotImplementedError();\n }\n\n public getById(id: string): Observable {\n throw new NotImplementedError();\n }\n\n public save(item: CompanyWeaveStructure): Observable {\n throw new NotImplementedError();\n }\n\n public update(item: CompanyWeaveStructure): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}companyweavestructures`, item.toJSON(false));\n }\n\n public delete(id: number): Observable {\n throw new NotImplementedError();\n }\n\n public saveCompanyWeaveStructure(item: CompanyWeaveStructure): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getEndpoint()}companyweavestructures`, item.toJSON());\n }\n\n public getByCompanyId(companyId: string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}companyweavestructures/${companyId}`).pipe(\n rxjsMap((weaveStructureIds: number[]) => {\n return weaveStructureIds;\n })\n );\n }\n}\n","export class Language {\n private _code: string;\n private _language: string;\n\n public constructor(code: string, language: string) {\n this._code = code;\n this._language = language;\n }\n\n public get code(): string {\n return this._code;\n }\n\n public set code(code: string) {\n this._code = code;\n }\n\n public get language(): string {\n return this._language;\n }\n\n public set language(language: string) {\n this._language = language;\n }\n\n public static fromJSON(languageJSON: any): Language {\n return new Language(languageJSON.code, languageJSON.language);\n }\n}\n","import {HttpClient, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {DataUnitSetup} from '@domain/data-unit-setup/data-unit-setup';\nimport {Language} from '@domain/data-unit-setup/stop-reason-text/language';\nimport {StopReasonText} from '@domain/data-unit-setup/stop-reason-text/stop-reason-text';\nimport {OverviewListDataUnitSetup} from '@presentation/pages/settings/data-unit-setup/overview/overview-list-data-unit-setup';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\nimport {Repository} from '../repository';\nimport {UniqueIdentifierObjectRepository} from '../unique-identifier-object-repository';\n\n@Injectable({providedIn: 'root'})\nexport class HttpDataUnitSetupService implements Repository, UniqueIdentifierObjectRepository {\n public constructor(\n private readonly httpClient: HttpClient,\n private readonly backendConfiguration: BackendConfiguration\n ) {}\n\n public getAll(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups`)\n .pipe(rxjsMap((dataUnitSetupsJSON: any) => dataUnitSetupsJSON.map((dataUnitSetupJSON: any) => OverviewListDataUnitSetup.fromJSON(dataUnitSetupJSON))));\n }\n\n public save(item: DataUnitSetup): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups`, item.toJSON()).pipe(rxjsMap((id: number) => id));\n }\n\n public update(item: DataUnitSetup): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups/${item.id}`, item.toJSON());\n }\n\n public getById(id: string | number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups/${id}`).pipe(rxjsMap((dataUnitSetupJSON: any) => DataUnitSetup.fromJSON(dataUnitSetupJSON)));\n }\n\n public delete(id: string | number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups/${id}`);\n }\n\n public isIdentifierAvailable(name: string): Observable {\n const params = new HttpParams().set('name', name);\n\n return this.httpClient.get(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups/check-name`, {params}).pipe(\n rxjsMap((response: {dataUnitSetupNameAvailable: boolean}) => {\n return response.dataUnitSetupNameAvailable;\n })\n );\n }\n\n public getAllFromCatalog(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getIotConfigEndpoint()}data-unit-setups/catalog`)\n .pipe(rxjsMap((dataUnitSetupsJSON: any) => dataUnitSetupsJSON.map((dataUnitSetupJSON: any) => OverviewListDataUnitSetup.fromJSON(dataUnitSetupJSON))));\n }\n\n public getAllStopReasonTexts(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getIotConfigEndpoint()}stop-reason-texts`)\n .pipe(rxjsMap((stopReasonTextCatalogsJSON: any) => stopReasonTextCatalogsJSON.map((stopReasonTextCatalogJSON: any) => StopReasonText.fromJSON(stopReasonTextCatalogJSON))));\n }\n\n public saveStopReasonTexts(item: StopReasonText): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getIotConfigEndpoint()}stop-reason-texts`, item.toJSON()).pipe(rxjsMap((id: number) => id));\n }\n\n public updateStopReasonTexts(item: StopReasonText): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getIotConfigEndpoint()}stop-reason-texts/${item.id}`, item.toJSON());\n }\n\n public deleteStopReasonTexts(id: number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getIotConfigEndpoint()}stop-reason-texts/${id}`);\n }\n\n public getAllLanguages(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getIotConfigEndpoint()}languages`)\n .pipe(rxjsMap((languagesJSON: any) => languagesJSON.map((languageJSON: any) => Language.fromJSON(languageJSON))));\n }\n}\n","import {AssertionUtils, GridModel} from '@vdw/angular-component-library';\r\nimport {IServerSideDatasource, IServerSideGetRowsParams} from 'ag-grid-community';\r\nimport {Subject, takeUntil} from 'rxjs';\r\nimport {GetSliceRepository} from '../get-slice-repository';\r\n\r\nexport function getEntityServerSideDatasource>(\r\n repository: Repository,\r\n unSubscribeOnViewDestroy: Subject,\r\n getParameters: () => any = undefined,\r\n afterDataLoadFunction: () => any = undefined,\r\n specialFilterModel?: any\r\n): IServerSideDatasource {\r\n return {\r\n getRows: (params: IServerSideGetRowsParams): void => {\r\n const startRow = params.request.startRow;\r\n const endRow = params.request.endRow;\r\n const sliceSize = endRow - startRow;\r\n const sortModel = params.request.sortModel;\r\n let filterModel = params.request.filterModel;\r\n if (!AssertionUtils.isNullOrUndefined(specialFilterModel)) {\r\n filterModel = specialFilterModel;\r\n }\r\n\r\n const gridModel: GridModel = new GridModel(startRow, endRow, sortModel, filterModel);\r\n const parameters = AssertionUtils.isNullOrUndefined(getParameters) ? undefined : getParameters();\r\n\r\n repository\r\n .getSlice(gridModel, parameters)\r\n .pipe(takeUntil(unSubscribeOnViewDestroy))\r\n .subscribe({\r\n next: (entityList: EntityOverview[]) => {\r\n let lastRow: number = undefined;\r\n if (entityList.length < sliceSize) {\r\n lastRow = startRow + entityList.length;\r\n }\r\n\r\n if (startRow === 0) {\r\n if (entityList.length === 0) {\r\n params.api.showNoRowsOverlay();\r\n } else {\r\n params.api.hideOverlay();\r\n }\r\n }\r\n\r\n params.success({\r\n rowData: entityList,\r\n rowCount: lastRow\r\n });\r\n\r\n if (!AssertionUtils.isNullOrUndefined(afterDataLoadFunction)) {\r\n afterDataLoadFunction();\r\n }\r\n },\r\n error: () => {\r\n params.success({\r\n rowData: null,\r\n rowCount: 0\r\n });\r\n\r\n params.api.showNoRowsOverlay();\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","export class MachineGeneralDocumentation {\n private readonly _name: string;\n private readonly _number: string;\n\n public constructor(name: string, number: string) {\n this._name = name;\n this._number = number;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public get number(): string {\n return this._number;\n }\n\n public static fromJSON(machineGeneralDocumentation: any): MachineGeneralDocumentation {\n return new MachineGeneralDocumentation(machineGeneralDocumentation.name, machineGeneralDocumentation.number);\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n number: this._number\n } as any as JSON;\n }\n}\n","export interface MachineManualLanguage {\n number: string;\n name: string;\n version: string;\n language: string;\n masterNumber: string;\n masterName: string;\n masterVersion: string;\n masterLanguage: string;\n}\n\nexport class MachineManual {\n private _name: string;\n private _orderId: string;\n private _machineType: string;\n private _manualType: string;\n private _productline: string;\n private _languages: MachineManualLanguage[];\n\n public constructor(name: string, orderId: string, machineType: string, manualType: string, productline: string, languages: MachineManualLanguage[]) {\n this._name = name;\n this._orderId = orderId;\n this._machineType = machineType;\n this._manualType = manualType;\n this._productline = productline;\n this._languages = languages;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(value: string) {\n this._name = value;\n }\n\n public get orderId(): string {\n return this._orderId;\n }\n\n public set orderId(value: string) {\n this._orderId = value;\n }\n\n public get machineType(): string {\n return this._machineType;\n }\n\n public set machineType(value: string) {\n this._machineType = value;\n }\n\n public get manualType(): string {\n return this._manualType;\n }\n\n public set manualType(value: string) {\n this._manualType = value;\n }\n\n public get productline(): string {\n return this._productline;\n }\n\n public set productline(value: string) {\n this._productline = value;\n }\n\n public get languages(): MachineManualLanguage[] {\n return this._languages;\n }\n\n public set languages(value: MachineManualLanguage[]) {\n this._languages = value;\n }\n\n public static fromJSON(machineManual: any): MachineManual {\n return new MachineManual(machineManual.name, machineManual.orderId, machineManual.machineType, machineManual.manualType, machineManual.productline, machineManual.languages);\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n orderId: this._orderId,\n machineType: this._machineType,\n manualType: this._manualType,\n productline: this._productline,\n languages: this._languages\n } as any as JSON;\n }\n}\n","export class MachineSchematic {\n private readonly _name: string;\n private readonly _title: string;\n\n public constructor(name: string, title: string) {\n this._name = name;\n this._title = title;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public get title(): string {\n return this._title;\n }\n\n public static fromJSON(machineSchematic: any): MachineSchematic {\n return new MachineSchematic(machineSchematic.name, machineSchematic.title);\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n title: this._title\n } as any as JSON;\n }\n}\n","export class MachineSparePartsCatalogue {\n private readonly _name: string;\n\n public constructor(name: string) {\n this._name = name;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public static fromJSON(machineSparePartsCatalogue: any): MachineSparePartsCatalogue {\n return new MachineSparePartsCatalogue(machineSparePartsCatalogue.name);\n }\n\n public toJSON(): JSON {\n return {\n name: this._name\n } as any as JSON;\n }\n}\n","export class MachineTechnicalWeaveSettingsFile {\n private _name: string;\n private _number: string;\n\n public constructor(name: string, number: string) {\n this._name = name;\n this._number = number;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public get number(): string {\n return this._number;\n }\n\n public static fromJSON(machineWeaveSettingsFileJSON: any): MachineTechnicalWeaveSettingsFile {\n return new MachineTechnicalWeaveSettingsFile(machineWeaveSettingsFileJSON.name, machineWeaveSettingsFileJSON.number);\n }\n\n public toJSON(): JSON {\n return {\n name: this._name,\n number: this._number\n } as any as JSON;\n }\n}\n","import {map} from 'lodash-es';\nimport {MachineTechnicalWeaveSettingsFile} from './machine-technical-weave-settings-file';\n\nexport class MachineTechnicalWeaveSettingsRevision {\n private _revisionNumber: number;\n private _files: MachineTechnicalWeaveSettingsFile[];\n\n public constructor(revisionNumber: number, files: MachineTechnicalWeaveSettingsFile[]) {\n this._revisionNumber = revisionNumber;\n this._files = files;\n }\n\n public get files(): MachineTechnicalWeaveSettingsFile[] {\n return this._files;\n }\n\n public get revisionNumber(): number {\n return this._revisionNumber;\n }\n\n public static fromJSON(machineWeaveSettingsRevisionJSON: any): MachineTechnicalWeaveSettingsRevision {\n return new MachineTechnicalWeaveSettingsRevision(\n machineWeaveSettingsRevisionJSON.revision,\n map(machineWeaveSettingsRevisionJSON.files, (file: any) => {\n return MachineTechnicalWeaveSettingsFile.fromJSON(file);\n })\n );\n }\n\n public toJSON(): JSON {\n return {\n revision: this._revisionNumber,\n files: map(this._files, (file: MachineTechnicalWeaveSettingsFile) => file.toJSON())\n } as any as JSON;\n }\n}\n","import {map} from 'lodash-es';\nimport {MachineTechnicalWeaveSettingsRevision} from './machine-technical-weave-settings-revision';\n\nexport class MachineTechnicalWeaveSettings {\n private readonly _type: string;\n private readonly _revisions: MachineTechnicalWeaveSettingsRevision[];\n\n public constructor(type: string, revisions: MachineTechnicalWeaveSettingsRevision[]) {\n this._type = type;\n this._revisions = revisions;\n }\n\n public static fromJSON(machineTechnicalWeaveSettings: any): MachineTechnicalWeaveSettings {\n return new MachineTechnicalWeaveSettings(\n machineTechnicalWeaveSettings.type,\n map(machineTechnicalWeaveSettings.revisions, (revision: any) => {\n return MachineTechnicalWeaveSettingsRevision.fromJSON(revision);\n })\n );\n }\n\n public get type(): string {\n return this._type;\n }\n\n public get revisions(): MachineTechnicalWeaveSettingsRevision[] {\n return this._revisions;\n }\n\n public toJSON(): JSON {\n return {\n type: this._type,\n revisions: map(this._revisions, (revision: MachineTechnicalWeaveSettingsRevision) => revision.toJSON())\n } as any as JSON;\n }\n}\n","export class OverviewListMachineForDocumentation {\n private _id: number;\n private _name: string;\n private _orderId: string;\n private _type: string;\n\n public constructor(id: number, name: string, orderId: string, type: string) {\n this._id = id;\n this._name = name;\n this._orderId = orderId;\n this._type = type;\n }\n\n public static fromJSON(machineJSON: any): OverviewListMachineForDocumentation {\n return new OverviewListMachineForDocumentation(machineJSON.id, machineJSON.name, machineJSON.orderId, machineJSON.type);\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get orderId(): string {\n return this._orderId;\n }\n\n public set orderId(orderId: string) {\n this._orderId = orderId;\n }\n\n public get type(): string {\n return this._type;\n }\n\n public set type(value: string) {\n this._type = value;\n }\n}\n","import {HttpClient, HttpResponse} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {DitaManualType} from '@domain/dita-manual-type.enum';\nimport {MachineGeneralDocumentation} from '@domain/machine/machine-general';\nimport {MachineManual} from '@domain/machine/machine-manual';\nimport {MachineSchematic} from '@domain/machine/machine-schematic';\nimport {MachineSparePartsCatalogue} from '@domain/machine/machine-spare-parts-catalogue';\nimport {MachineTechnicalWeaveSettings} from '@domain/machine/machine-technical-weave-settings';\nimport {MachineTechnicalWeaveSettingsRevision} from '@domain/machine/machine-technical-weave-settings-revision';\nimport {OverviewListMachineForDocumentation} from '@domain/machine/overview-list-machine-for-documentation';\nimport {map} from 'lodash-es';\nimport {Observable, of as observableOf} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\nimport {MachinesDocumentation} from './machines-documentation';\n\n@Injectable()\nexport class HttpMachinesDocumentationService implements MachinesDocumentation {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(httpClient: HttpClient, backendConfiguration: BackendConfiguration) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public delete(id: number): Observable {\n return observableOf(null);\n }\n\n public getAll(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machines`).pipe(\n rxjsMap((machineDocumentationsJSON: any) =>\n map(machineDocumentationsJSON, (machineDocumentationJSON: any) => {\n return OverviewListMachineForDocumentation.fromJSON(machineDocumentationJSON);\n })\n )\n );\n }\n\n public getById(id: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machines/${id}`)\n .pipe(rxjsMap((machineDocumentationsJSON: any) => OverviewListMachineForDocumentation.fromJSON(machineDocumentationsJSON)));\n }\n\n public save(machine: OverviewListMachineForDocumentation): Observable {\n return observableOf(null);\n }\n\n public update(machine: OverviewListMachineForDocumentation): Observable {\n return observableOf(null);\n }\n\n public getMachineGeneralDocumentations(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/general`)\n .pipe(\n rxjsMap((machineGeneralDocumentationsJSON: any) =>\n map(machineGeneralDocumentationsJSON, (machineGeneralDocumentationJSON: any) => MachineGeneralDocumentation.fromJSON(machineGeneralDocumentationJSON))\n )\n );\n }\n\n public getMachineTechnicalWeaveSettings(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/technical-weave-settings`)\n .pipe(\n rxjsMap((machineTechnicalWeaveSettingsJSON: any) =>\n map(machineTechnicalWeaveSettingsJSON, (machineTechnicalWeaveSettingJSON: any) => MachineTechnicalWeaveSettings.fromJSON(machineTechnicalWeaveSettingJSON))\n )\n );\n }\n\n public getMachineSparePartsCatalogue(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/spare-parts-catalog`)\n .pipe(rxjsMap((machineSparePartsCatalogueJSON: any) => MachineSparePartsCatalogue.fromJSON(machineSparePartsCatalogueJSON)));\n }\n\n public getMachineManuals(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/manuals`)\n .pipe(rxjsMap((machineManualsJSON: any) => map(machineManualsJSON, (machineManualJSON: any) => MachineManual.fromJSON(machineManualJSON))));\n }\n\n public getMachineDitaManual(machineId: number, type: DitaManualType): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentationdita/${machineId}/index?type=${type}`)\n .pipe(rxjsMap((machineDitaManualUrl: string) => machineDitaManualUrl));\n }\n\n public getMachineSchematics(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/schematics`)\n .pipe(rxjsMap((machineSchematicsJSON: any) => map(machineSchematicsJSON, (machineSchematicJSON: any) => MachineSchematic.fromJSON(machineSchematicJSON))));\n }\n\n public downloadMachineGeneralDocumentationFile(machineId: number, number: string): Observable> {\n return this.httpClient.post(\n `${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/general/file`,\n {number},\n {\n observe: 'response',\n responseType: 'blob'\n }\n );\n }\n\n public downloadMachineTechnicalWeaveSettingsFile(\n machineId: number,\n technicalWeaveSettingsType: string,\n technicalWeaveSettingsRevision: MachineTechnicalWeaveSettingsRevision\n ): Observable> {\n const technicalWeaveSettingsRevisionJSON = technicalWeaveSettingsRevision.toJSON();\n const body = {type: technicalWeaveSettingsType, ...technicalWeaveSettingsRevisionJSON};\n\n return this.httpClient.post(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/technical-weave-settings/file`, body, {\n observe: 'response',\n responseType: 'blob'\n });\n }\n\n public downloadMachineSetupFile(machineId: number): Observable> {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/software/file`, {\n observe: 'response',\n responseType: 'blob'\n });\n }\n\n public isSoftwareAvailable(machineId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/software/available`)\n .pipe(rxjsMap((isSoftwareAvailable: boolean) => isSoftwareAvailable));\n }\n\n public downloadMachineSparePartsCatalogueFile(machineId: number, name: string): Observable> {\n return this.httpClient.post(\n `${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/spare-parts-catalog/file`,\n {name},\n {\n observe: 'response',\n responseType: 'blob'\n }\n );\n }\n\n public downloadMachineManualFile(machineId: number, machineManual: MachineManual): Observable> {\n return this.httpClient.post(`${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/manuals/file`, machineManual, {\n observe: 'response',\n responseType: 'blob'\n });\n }\n\n public downloadMachineSchematicFile(machineId: number, name: string): Observable> {\n return this.httpClient.post(\n `${this.backendConfiguration.getMachineOverviewEndpoint()}machinedocumentation/machine/${machineId}/schematics/file`,\n {name},\n {\n observe: 'response',\n responseType: 'blob'\n }\n );\n }\n\n public renameMachine(machineId: number, machineName: string): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getMachineEndpoint()}machines/machine/rename/${machineId}`, {name: machineName});\n }\n}\n","import {IdName} from '@domain/id-name';\nimport {AssertionUtils} from '@vdw/angular-component-library';\n\nexport class GroupedOrderLine {\n private _quality: IdName;\n private _colorSet: IdName;\n private _commercialWidthInCm: number;\n private _technicalWidthInDents: number;\n private _orderlineIds: number[];\n private _lengthInMM: number;\n private _lengthInPicks: number;\n private _surfaceInMM2: number;\n private _numberOfPieces: number;\n\n public constructor(\n quality: IdName,\n colorSet: IdName,\n commercialWidthInCm: number,\n technicalWidthInDents: number,\n orderlineIds: number[],\n lengthInMM: number,\n lengthInPicks: number,\n surfaceInMM2: number,\n numberOfPieces: number\n ) {\n this._quality = quality;\n this._colorSet = colorSet;\n this._commercialWidthInCm = commercialWidthInCm;\n this._technicalWidthInDents = technicalWidthInDents;\n this._orderlineIds = orderlineIds;\n this._lengthInMM = lengthInMM;\n this._lengthInPicks = lengthInPicks;\n this._surfaceInMM2 = surfaceInMM2;\n this._numberOfPieces = numberOfPieces;\n }\n\n public get quality(): IdName {\n return this._quality;\n }\n\n public set quality(value: IdName) {\n this._quality = value;\n }\n\n public get colorSet(): IdName {\n return this._colorSet;\n }\n\n public set colorSet(value: IdName) {\n this._colorSet = value;\n }\n\n public get commercialWidthInCm(): number {\n return this._commercialWidthInCm;\n }\n\n public set commercialWidthInCm(value: number) {\n this._commercialWidthInCm = value;\n }\n\n public get technicalWidthInDents(): number {\n return this._technicalWidthInDents;\n }\n\n public set technicalWidthInDents(value: number) {\n this._technicalWidthInDents = value;\n }\n\n public get orderlineIds(): number[] {\n return this._orderlineIds;\n }\n\n public set orderlineIds(value: number[]) {\n this._orderlineIds = value;\n }\n\n public get lengthInMM(): number {\n return this._lengthInMM;\n }\n\n public set lengthInMM(value: number) {\n this._lengthInMM = value;\n }\n\n public get lengthInPicks(): number {\n return this._lengthInPicks;\n }\n\n public set lengthInPicks(value: number) {\n this._lengthInPicks = value;\n }\n\n public get surfaceInMM2(): number {\n return this._surfaceInMM2;\n }\n\n public set surfaceInMM2(value: number) {\n this._surfaceInMM2 = value;\n }\n\n public get numberOfPieces(): number {\n return this._numberOfPieces;\n }\n\n public set numberOfPieces(value: number) {\n this._numberOfPieces = value;\n }\n\n public static fromJSON(groupedOrderlineJSON: any): GroupedOrderLine {\n return new GroupedOrderLine(\n groupedOrderlineJSON.quality,\n groupedOrderlineJSON.colorSet,\n !AssertionUtils.isNullOrUndefined(groupedOrderlineJSON.commercialWidthInCM) ? groupedOrderlineJSON.commercialWidthInCM : 0,\n !AssertionUtils.isNullOrUndefined(groupedOrderlineJSON.technicalWidthInDents) ? groupedOrderlineJSON.technicalWidthInDents : 0,\n groupedOrderlineJSON.orderLines.map((orderLine: any) => parseInt(orderLine.id)),\n groupedOrderlineJSON.lengthInMM,\n groupedOrderlineJSON.lengthInPicks,\n groupedOrderlineJSON.surfaceInMM2,\n groupedOrderlineJSON.numberOfPieces\n );\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {OrderLinesTarget} from '@domain/order-lines-target.enum';\nimport {OrderLine} from '@domain/orderbook/order-line';\nimport {PropertyValue} from '@domain/property-value';\nimport {Orderbook} from '@infrastructure/http/orderbook/orderbook';\nimport {OverviewListOrderLine} from '@presentation/pages/texfab/orderbook/overview/overview-list-order-line';\nimport {GroupedOrderLine} from '@presentation/pages/texfab/production-schedule/add/drawing-library/views/order-lines-grouped-view/grouped-order-line';\nimport {AssertionUtils, GridModel, NotImplementedError} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\n\n@Injectable()\nexport class HttpOrderbookService implements Orderbook {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(httpClient: HttpClient, backendConfiguration: BackendConfiguration) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public getSlice(target: OrderLinesTarget, gridModel: GridModel, productionScheduleId?: string): Observable {\n const scheduleId = AssertionUtils.isNullOrUndefined(productionScheduleId) ? null : productionScheduleId;\n const url = `${this.backendConfiguration.getEndpoint()}order-book/order-lines/get?target=${target}&scheduleIdToExcludeFromToPlanAmount=${scheduleId}`;\n const gridModelJSON = gridModel.toJSON();\n\n return this.httpClient\n .post(url, gridModelJSON)\n .pipe(rxjsMap((overviewListOrderLinesJSON: any) => overviewListOrderLinesJSON.map((overviewListOrderLine: any) => OverviewListOrderLine.fromJSON(overviewListOrderLine))));\n }\n\n public delete(id: number | string): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getEndpoint()}order-book/order-lines/${id}`);\n }\n\n public getById(id: number | string, target: OrderLinesTarget): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}order-book/order-lines/${id}?target=${target}`).pipe(\n rxjsMap((orderLineJSON: any) => {\n return OrderLine.fromJSON(orderLineJSON, OrderLinesTarget.ORDER_BOOK === target);\n })\n );\n }\n\n public getGroupedOrderlines(gridModel: GridModel, groupedBy: string[]): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getEndpoint()}order-book/summary`, {\n groupedBy,\n sortModel: gridModel.sortModel,\n filterModel: gridModel.filterModel\n })\n .pipe(rxjsMap((groupedOrderLinesJSON: any) => groupedOrderLinesJSON.map((groupedOrderLineJSON: any) => GroupedOrderLine.fromJSON(groupedOrderLineJSON))));\n }\n\n public save(item: OrderLine): Observable {\n throw new NotImplementedError();\n }\n\n public update(item: OrderLine): Observable {\n throw new NotImplementedError();\n }\n\n public getListOfCustomSettings(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}order-book/custom-settings`).pipe(rxjsMap((response: PropertyValue[]) => response));\n }\n\n public saveCustomSettings(settings: PropertyValue[]): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}order-book/custom-settings`, settings);\n }\n\n public getPossibleValues(columnIdentifier: string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}order-book/order-lines/${columnIdentifier}/possible-values`).pipe(rxjsMap((response: string[]) => response));\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {IdNamePhysicalUnitIds} from '@domain/physical-quantity/id-name-physical-unit-ids';\nimport {PhysicalQuantity} from '@domain/physical-quantity/physical-quantity';\nimport {Conflict} from '@vdw/angular-component-library';\nimport {map, Observable} from 'rxjs';\nimport {ConflictsRepository} from '../conflicts-repository';\nimport {Repository} from '../repository';\nimport {UniqueIdentifierObjectRepository} from '../unique-identifier-object-repository';\n\n@Injectable({providedIn: 'root'})\nexport class HttpPhysicalQuantitiesService implements Repository, UniqueIdentifierObjectRepository, ConflictsRepository {\n public constructor(\n private readonly httpClient: HttpClient,\n private readonly backendConfiguration: BackendConfiguration\n ) {}\n\n public getAll(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities`)\n .pipe(map((physicalQuantitiesJSON: any) => physicalQuantitiesJSON.map((physicalQuantityJSON: any) => PhysicalQuantity.fromJSON(physicalQuantityJSON))));\n }\n\n public delete(id: string | number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/${id}`);\n }\n\n public getById(id: string | number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/${id}`).pipe(map((physicalQuantityJSON: any) => PhysicalQuantity.fromJSON(physicalQuantityJSON)));\n }\n\n public save(item: PhysicalQuantity): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities`, item.toJSON()).pipe(map((response: {id: number}) => response.id));\n }\n\n public update(item: PhysicalQuantity): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/${item.id}`, item.toJSON());\n }\n\n public isIdentifierAvailable(identifier: string): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/check-name?name=${identifier}`)\n .pipe(map((response: {isAvailable: boolean}) => response.isAvailable));\n }\n\n public getAllFromCatalog(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/catalog`)\n .pipe(map((physicalQuantitiesJSON: any) => physicalQuantitiesJSON.map((physicalQuantityJSON: any) => PhysicalQuantity.fromJSON(physicalQuantityJSON))));\n }\n\n public getCatalogById(id: string | number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/catalog/${id}`)\n .pipe(map((physicalQuantityJSON: any) => PhysicalQuantity.fromJSON(physicalQuantityJSON)));\n }\n\n public addFromCatalog(items: IdNamePhysicalUnitIds[]): Observable {\n return this.httpClient\n .post(\n `${this.backendConfiguration.getWorkerEndpoint()}physical-quantities/catalog-import`,\n items.map((item: IdNamePhysicalUnitIds) => item.toJSON())\n )\n .pipe(map((physicalQuantitiesJSON: any) => physicalQuantitiesJSON.map((physicalQuantityJSON: any) => PhysicalQuantity.fromJSON(physicalQuantityJSON))));\n }\n\n public getConflicts(id: number): Observable {\n throw new Error('Method not implemented.');\n }\n}\n","import {AssertionUtils} from '@vdw/angular-component-library';\nimport {ProductionOrderCarpetForPlanningOrder} from './carpet/production-order-carpet-for-planning-order';\nimport {PlanningOrderData} from './planning-order-data';\nimport {ProductionOrderTuftingForPlanningOrder} from './tufting/production-order-tufting-for-planning-order';\nimport {ProductionOrderWeavingForPlanningOrder} from './weaving/production-order-weaving-for-planning-order';\n\nexport class NeedsAttentionItem {\n private _planningOrderId: number;\n private _orderData: PlanningOrderData;\n\n public constructor(orderData: PlanningOrderData, planningOrderId: number) {\n this._orderData = orderData;\n this._planningOrderId = planningOrderId;\n }\n\n public get productionOrderCarpet(): ProductionOrderCarpetForPlanningOrder {\n if (!this.isCarpetOrder) {\n return undefined;\n }\n return this._orderData as ProductionOrderCarpetForPlanningOrder;\n }\n\n public get productionOrderWeaving(): ProductionOrderWeavingForPlanningOrder {\n if (!this.isWeavingOrder) {\n return undefined;\n }\n return this._orderData as ProductionOrderWeavingForPlanningOrder;\n }\n\n public get productionOrderTufting(): ProductionOrderTuftingForPlanningOrder {\n if (!this.isTuftingOrder) {\n return undefined;\n }\n return this._orderData as ProductionOrderTuftingForPlanningOrder;\n }\n\n public get planningOrderId(): number {\n return this._planningOrderId;\n }\n\n public get isCarpetOrder(): boolean {\n return this._orderData instanceof ProductionOrderCarpetForPlanningOrder;\n }\n\n public get isWeavingOrder(): boolean {\n return this._orderData instanceof ProductionOrderWeavingForPlanningOrder;\n }\n\n public get isTuftingOrder(): boolean {\n return this._orderData instanceof ProductionOrderTuftingForPlanningOrder;\n }\n\n public static fromJSON(jsonData: any): NeedsAttentionItem {\n return new NeedsAttentionItem(this.parseOrderDataJson(jsonData), jsonData.planningOrderId);\n }\n\n private static parseOrderDataJson(jsonData: any): PlanningOrderData {\n if (AssertionUtils.isNullOrUndefined(jsonData.productionOrderLiteId)) {\n return ProductionOrderCarpetForPlanningOrder.fromNeedsAttentionItemJSON(jsonData);\n }\n\n if (!AssertionUtils.isNullOrUndefined(jsonData.tuftProduct)) {\n return ProductionOrderTuftingForPlanningOrder.fromNeedsAttentionItemJSON(jsonData);\n }\n\n return ProductionOrderWeavingForPlanningOrder.fromNeedsAttentionItemJSON(jsonData);\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Inject, Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {DateRange} from '@domain/date-range';\nimport {MachineType} from '@domain/machine/machine-type.enum';\nimport {CalendarItemGroup} from '@domain/planning/calendar-item-group';\nimport {ProductionOrderCarpetForPlanningOrder} from '@domain/planning/carpet/production-order-carpet-for-planning-order';\nimport {NeedsAttentionItem} from '@domain/planning/needs-attention-item';\nimport {PlanningItem} from '@domain/planning/planning-item';\nimport {PlanningItemType} from '@domain/planning/planning-item-type.enum';\nimport {PlanningMachine} from '@domain/planning/planning-machine';\nimport {PlanningOrder} from '@domain/planning/planning-order';\nimport {PlanningOrderData} from '@domain/planning/planning-order-data';\nimport {PlanningOrderDetails} from '@domain/planning/planning-order-details';\nimport {ProductionOrderTuftingForPlanningOrder} from '@domain/planning/tufting/production-order-tufting-for-planning-order';\nimport {ProductionOrderWeavingForPlanningOrder} from '@domain/planning/weaving/production-order-weaving-for-planning-order';\nimport {Subscription} from '@domain/profile/subscription';\nimport {CreelMap} from '@domain/textile-data/creel/creel-map';\nimport {AUTHENTICATION, Authentication} from '@infrastructure/http/authentication/authentication';\nimport {MachineDetails} from '@infrastructure/http/planning/machine-details';\nimport {Planning} from '@infrastructure/http/planning/planning';\nimport {OverviewMachineCreel} from '@presentation/pages/machine-overview/overview-machine-creel';\nimport {OverviewListCreel} from '@presentation/pages/textile-data/creel/overview/overview-list-creel';\nimport {OverviewListMachineQuality} from '@presentation/pages/textile-data/machine-quality/overview/overview-list-machine-quality';\nimport {OverviewListTuftProduct} from '@presentation/pages/textile-data/tuft-product/overview/overview-list-tuft-product';\nimport {OverviewListWeaveProduct} from '@presentation/pages/textile-data/weave-product/overview/overview-list-weave-product';\nimport {first, isEqual, last, map} from 'lodash-es';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\n\n@Injectable()\nexport class HttpPlanningService implements Planning {\n private httpClient: HttpClient;\n private backendConfiguration: BackendConfiguration;\n\n public constructor(\n @Inject(AUTHENTICATION) private authentication: Authentication,\n httpClient: HttpClient,\n backendConfiguration: BackendConfiguration\n ) {\n this.httpClient = httpClient;\n this.backendConfiguration = backendConfiguration;\n }\n\n public getMachines(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/machines`).pipe(\n rxjsMap((result: PlanningMachine[]) => {\n return map(result, (machine: any) => {\n return PlanningMachine.fromJSON(machine);\n });\n })\n );\n }\n\n public getGroupedRunsForPeriod(dateRange: DateRange): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning?from=${first(dateRange).getTime()}&to=${last(dateRange).getTime()}`).pipe(\n rxjsMap((result: any) => {\n const currentSubscription: Subscription = this.authentication.getCurrentSubscription();\n return map(result, (calendarItem: any) => {\n return CalendarItemGroup.fromJSON(calendarItem, currentSubscription);\n });\n })\n );\n }\n\n public getMachineDetails(machineId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/machines/${machineId}`).pipe(\n rxjsMap((result: MachineDetails) => {\n return {\n machineQuality: result.machineQuality && OverviewListMachineQuality.fromJSON(result.machineQuality),\n creel: result.creel && OverviewMachineCreel.fromJSON(result.creel),\n weaveProduct: result.weaveProduct && OverviewListWeaveProduct.fromJSON(result.weaveProduct),\n tuftProduct: result.tuftProduct && OverviewListTuftProduct.fromJSON(result.tuftProduct)\n };\n })\n );\n }\n\n public updateGroupedItems(groupedItems: CalendarItemGroup[]): Observable {\n const currentSubscription: Subscription = this.authentication.getCurrentSubscription();\n const itemsToSave = map(groupedItems, (groupedItem: CalendarItemGroup) => groupedItem.toJSON(currentSubscription));\n return this.httpClient.patch(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning`, itemsToSave);\n }\n\n public getPlanningOrderDetails(id: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/order/${id}`).pipe(\n rxjsMap((planningOrderDetailsJSON: any) => {\n const machine = PlanningMachine.fromJSON(planningOrderDetailsJSON.machine);\n let orderData: PlanningOrderData;\n if (machine.machineType === MachineType.TUFT) {\n orderData = ProductionOrderTuftingForPlanningOrder.fromJSON(planningOrderDetailsJSON.productionOrderLite);\n } else if (machine.machineType === MachineType.WEAVING_MACHINE) {\n orderData = ProductionOrderWeavingForPlanningOrder.fromJSON(planningOrderDetailsJSON.productionOrderLite);\n } else {\n orderData = ProductionOrderCarpetForPlanningOrder.fromJSON(planningOrderDetailsJSON.productionOrder);\n }\n orderData.yield = planningOrderDetailsJSON.yield;\n const planningOrder = new PlanningOrder(planningOrderDetailsJSON.id, planningOrderDetailsJSON.startDate, planningOrderDetailsJSON.endDate, planningOrderDetailsJSON.efficiency, orderData);\n\n return {\n machine,\n planningOrder\n };\n })\n );\n }\n\n public deletePlanningItem(planningItem: PlanningItem): Observable {\n return this.httpClient.delete(\n `${this.backendConfiguration.getMachineOverviewEndpoint()}planning/${isEqual(planningItem.type, PlanningItemType.RUN) ? 'run' : 'maintenance'}/${planningItem.id}`\n );\n }\n\n public processProductionOrder(id: number): Observable {\n return this.httpClient.patch(`${this.backendConfiguration.getAggregatorEndpoint()}planning/process/${id}`, {});\n }\n\n public queueProductionOrder(id: number): Observable {\n return this.httpClient.patch(`${this.backendConfiguration.getAggregatorEndpoint()}planning/queue/${id}`, {});\n }\n\n public processAndQueueProductionOrder(id: number): Observable {\n return this.httpClient.patch(`${this.backendConfiguration.getAggregatorEndpoint()}planning/process-and-queue/${id}`, {});\n }\n\n public getCreelForRun(runId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}planning/runs/${runId}/creel`).pipe(rxjsMap((creelJSON: any) => OverviewListCreel.fromJSON(creelJSON)));\n }\n\n public checkRunCompatibilityWithMachine(runId: number, machineId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getAggregatorEndpoint()}planning/runs/${runId}/is-compatible-machine/${machineId}`);\n }\n\n public deletePlanningOrder(productionOrderId: number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/production-order/${productionOrderId}`);\n }\n\n public deletePlanningOrderLite(productionOrderLiteId: number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/production-order-lite/${productionOrderLiteId}`);\n }\n\n public getCreelMapForRun(runId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getMachineOverviewEndpoint()}planning/run/${runId}/creel-mapping`);\n }\n\n public getOrdersThatRequireAttention(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getAggregatorEndpoint()}planning/require-attention`)\n .pipe(rxjsMap((result: any[]) => map(result, (item: any) => NeedsAttentionItem.fromJSON(item))));\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {RejectReason} from '@domain/settings/reject-reason/reject-reason';\nimport {MultiDeleteResponse} from '@domain/textile-data/multi-delete-reponse';\nimport {CheckName} from '@vdw/angular-component-library';\nimport {map, Observable} from 'rxjs';\nimport {Repository} from '../repository';\nimport {UniqueIdentifierObjectRepository} from '../unique-identifier-object-repository';\n\n@Injectable({providedIn: 'root'})\nexport class HttpRejectReasonsService implements Repository, UniqueIdentifierObjectRepository {\n public constructor(\n private readonly httpClient: HttpClient,\n private readonly backendConfiguration: BackendConfiguration\n ) {}\n\n public getAll(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason`)\n .pipe(map((rejectReasonsJSON: any) => rejectReasonsJSON.map((rejectReasonJSON: any) => RejectReason.fromJSON(rejectReasonJSON))));\n }\n\n public delete(id: number | string): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/${id}`);\n }\n\n public getById(id: number | string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/${id}`).pipe(map((toolJSON: any) => RejectReason.fromJSON(toolJSON)));\n }\n\n public save(item: RejectReason): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason`, item.toJSON()).pipe(map((response: {id: number}) => response.id));\n }\n\n public update(item: RejectReason): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/${item.id}`, item.toJSON());\n }\n\n public deleteMulti(ids: number[]): Observable {\n return this.httpClient\n .delete(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/multi-delete`, {body: ids})\n .pipe(map((reponsesJSON: any) => reponsesJSON.map((reponseJSON: any) => MultiDeleteResponse.fromJSON(reponseJSON))));\n }\n\n public isIdentifierAvailable(identifier: string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/check-name?name=${identifier}`).pipe(map((response: any) => CheckName.fromJSON(response)));\n }\n\n public isCodeAvailable(code: number, machineTypeIds: number[]): Observable {\n return this.httpClient\n .post(`${this.backendConfiguration.getWorkerEndpoint()}reject-reason/check-code?code=${code}`, {machineTypes: machineTypeIds})\n .pipe(map((response: any) => CheckName.fromJSON(response)));\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {Color, convertRGBToHexadecimalColorCode, Pattern} from '@vdw/angular-component-library';\n\n@Component({\n selector: 'app-declaration-preview',\n templateUrl: './declaration-preview.component.html',\n styleUrls: ['./declaration-preview.component.scss']\n})\nexport class DeclarationPreviewComponent {\n @Input() public set color(color: Color) {\n if (color?.rgb) {\n this.hexColor = convertRGBToHexadecimalColorCode(color.rgb);\n }\n }\n\n @Input() public pattern: Pattern;\n @Input() public abbreviation: string;\n\n public hexColor: string;\n}\n","
\n

\n {{ abbreviation }}\n

\n \n
\n","
\n
\n
\n
\n {{ 'GENERAL.DATETIME.FROM' | bmsTranslate }}\n {{ 'GENERAL.DATETIME.DATE' | bmsTranslate }}\n

\n {{ getFromDateLabel() }}\n

\n
\n\n \n \n\n
\n {{ 'GENERAL.DATETIME.TO' | bmsTranslate }} \n

\n {{ getToDateLabel() }}\n

\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {DateRange as MatDateRange} from '@angular/material/datepicker';\nimport {DateRange} from '@domain/date-range';\nimport {PositionOfDialog} from '@domain/position-of-dialog';\nimport {RepositionDialogComponent} from '@presentation/components/reposition-dialog/reposition-dialog.component';\nimport {AssertionUtils, BaseComponent, DatePickerComponent, DialogBuilderFactoryService, moment, TimeViewMode} from '@vdw/angular-component-library';\nimport {cloneDeep} from 'lodash-es';\nimport {DateTime} from 'luxon';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'app-period-selection',\n templateUrl: './period-selection.component.html',\n styleUrls: ['./period-selection.component.scss']\n})\nexport class PeriodSelectionComponent extends BaseComponent {\n @Input() public timeViewMode = TimeViewMode.DAY;\n @Input() public set selectedDateRange(dateRange: DateRange) {\n this._selectedDateRange = cloneDeep(dateRange);\n }\n\n @Output() public selectedDateRangeChanged: EventEmitter = new EventEmitter();\n\n private _selectedDateRange: DateRange;\n\n private readonly DAY_FORMAT = 'DD';\n private readonly YEAR_FORMAT = 'YYYY';\n private readonly MONTH_FORMAT = 'MMMM';\n private readonly DAY_MONTH_FORMAT = `${this.DAY_FORMAT} ${this.MONTH_FORMAT}`;\n private readonly MONTH_YEAR_FORMAT = `${this.MONTH_FORMAT} ${this.YEAR_FORMAT}`;\n private readonly DAY_MONTH_YEAR_FORMAT = `${this.DAY_FORMAT} ${this.MONTH_YEAR_FORMAT}`;\n\n public constructor(private readonly dialogBuilderFactoryService: DialogBuilderFactoryService) {\n super();\n }\n\n public openDatePicker(event: MouseEvent): void {\n this.dialogBuilderFactoryService\n .getBuilder()\n .withClass('reposition-dialog')\n .openDialog(RepositionDialogComponent, {\n component: DatePickerComponent,\n sourceElement: event.target,\n positionOfDialog: PositionOfDialog.BOTTOM,\n date: this.getFromDate(),\n endDate: this.getToDate(),\n isRangePicker: this.canShowDateRange()\n })\n .pipe(\n filter((result: DateTime | MatDateRange) => !AssertionUtils.isNullOrUndefined(result)),\n takeUntil(this.unSubscribeOnViewDestroy)\n )\n .subscribe((result: DateTime | MatDateRange) => {\n if (this.canShowDateRange()) {\n result = result as MatDateRange;\n this._selectedDateRange = [result[0].toJSDate(), result[1].toJSDate()];\n } else {\n const date = (result as DateTime).toJSDate();\n this._selectedDateRange = [date, moment(date).add(1, 'hours').toDate()];\n }\n\n this.emitDateRangeChanges();\n });\n }\n\n public selectPreviousDay(): void {\n const newStartDate = moment(this._selectedDateRange[0]).startOf('day').subtract(1, 'days').toDate();\n\n if (this.canShowDateRange()) {\n this._selectedDateRange = [newStartDate, moment(this._selectedDateRange[1]).endOf('day').subtract(1, 'days').toDate()];\n } else {\n this._selectedDateRange = [newStartDate, moment(newStartDate).add(1, 'hours').toDate()];\n }\n\n this.emitDateRangeChanges();\n }\n\n public selectNextDay(): void {\n const newStartDate = moment(this._selectedDateRange[0]).startOf('day').add(1, 'days').toDate();\n\n if (this.canShowDateRange()) {\n this._selectedDateRange = [newStartDate, moment(this._selectedDateRange[1]).endOf('day').add(1, 'days').toDate()];\n } else {\n this._selectedDateRange = [newStartDate, moment(newStartDate).add(1, 'hours').toDate()];\n }\n\n this.emitDateRangeChanges();\n }\n\n public getFromDateLabel(): string {\n const fromDate = moment(this.getFromDate());\n\n return fromDate.isSame(moment(this.getToDate()), 'year') ? `${fromDate.format(this.DAY_MONTH_FORMAT)}` : `${fromDate.format(this.DAY_MONTH_YEAR_FORMAT)}`;\n }\n\n public canShowDateRange(): boolean {\n return this.timeViewMode === TimeViewMode.DAY;\n }\n\n public getToDateLabel(): string {\n const toDate = moment(this.getToDate());\n\n return toDate.isSame(moment(this.getFromDate()), 'year') ? `${toDate.format(this.DAY_MONTH_FORMAT)}` : `${toDate.format(this.DAY_MONTH_YEAR_FORMAT)}`;\n }\n\n private getFromDate(): Date {\n return this._selectedDateRange[0];\n }\n\n private getToDate(): Date {\n return this._selectedDateRange[1];\n }\n\n private emitDateRangeChanges(): void {\n this.selectedDateRangeChanged.emit(this._selectedDateRange);\n }\n}\n","\n \n
\n
\n

\n {{ 'GENERAL.ACTIONS.SELECT_OBJECT' | bmsTranslate: {object: 'GENERAL.POSSIBLE_OBJECTS' | bmsTranslate: {objects: 'MACHINE.MACHINE' | bmsTranslate: ({count: 2})} | lowercase} }}\n

\n
\n
\n {{ 'GENERAL.SELECTED' | bmsTranslate }}\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {GridIdentifier} from '@application/grids/grid-identifier.enum';\nimport {MachineOverviewList} from '@presentation/pages/machine-overview/machine-overview-list';\nimport {ColDefBuilderFactoryService, GridOptionsBuilderFactoryService, NoDataOverlayComponentParams, TranslateService} from '@vdw/angular-component-library';\nimport {AgGridAngular} from 'ag-grid-angular';\nimport {CellClassParams, ColDef, FilterChangedEvent, FirstDataRenderedEvent, GridApi, GridOptions, RowNode, RowSelectedEvent} from 'ag-grid-community';\n\n@Component({\n selector: 'app-select-possible-machines',\n templateUrl: './select-possible-machines.component.html',\n styleUrls: ['./select-possible-machines.component.scss']\n})\nexport class SelectPossibleMachinesComponent implements OnInit {\n @HostBinding('class.full-height') public readonly fullHeight = true;\n @HostBinding('class.full-width') public readonly fullWidth = true;\n @ViewChild('machinesGrid') public machinesGrid: AgGridAngular;\n @Input() public selectedMachines: MachineOverviewList[] = [];\n @Input() public fixedSelectedMachineId: number;\n @Input() public machines: MachineOverviewList[];\n @Input() public selectable: boolean;\n @Input() public showSearchBar = true;\n @Output() public selectedMachinesChange: EventEmitter = new EventEmitter();\n\n public gridOptions: GridOptions;\n public showSelected = false;\n public filteredText: string;\n\n public constructor(\n private readonly colDefBuilderFactoryService: ColDefBuilderFactoryService,\n private readonly gridOptionsBuilderFactoryService: GridOptionsBuilderFactoryService,\n private readonly translate: TranslateService\n ) {}\n\n public ngOnInit(): void {\n this.setGridOptions();\n }\n\n public filterMachineGroupsAndMachines(filteredText: string): void {\n this.filteredText = filteredText;\n this.machinesGrid.api.setGridOption('quickFilterText', filteredText);\n }\n\n public onShowSelectedToggleChange(showSelected: boolean): void {\n this.showSelected = showSelected;\n this.machinesGrid.api.onFilterChanged();\n }\n\n private setGridOptions(): void {\n const gridBuilder = this.gridOptionsBuilderFactoryService\n .getBuilder(this.getColumnDefs(), GridIdentifier.SELECT_POSSIBLE_MACHINES)\n .withRowSelection(true, false, true)\n .withOnRowSelected(({api}: RowSelectedEvent) => this.onRowSelected(api))\n .withAutoGroupColumnDef(this.getAutoGroupColumnDef())\n .withGroupDisplayType('singleColumn')\n .withLoadingOverlay({\n scale: 1\n })\n .withNoRowsOverlay(this.getNoRowsOverlayTitleParameters())\n .withDoesExternalFilterPass((node: RowNode) => {\n return !this.showSelected || node.isSelected();\n })\n .withIsExternalFilterPresent(() => this.showSelected)\n .withRememberStateForNavigationHelper()\n .withOnFirstDataRendered(({api}: FirstDataRenderedEvent) => {\n this.setFilteredText(api);\n\n if (this.selectedMachines.length > 0) {\n api.forEachNode((node: RowNode) => {\n node.setSelected(this.selectedMachines.some((machine: MachineOverviewList) => machine.id === node.data?.id));\n });\n }\n })\n .withRowClassRules({\n ['fixed-selected-row']: (params: CellClassParams) => this.fixedSelectedMachineId && this.fixedSelectedMachineId === params.node.data?.id\n })\n .withOnFilterChanged(({api}: FilterChangedEvent) => this.onFilterChanged(api));\n\n if (!this.selectable) {\n gridBuilder.withSuppressRowClickSelection();\n }\n\n this.gridOptions = gridBuilder.build();\n }\n\n private getColumnDefs(): ColDef[] {\n const manufacturerField = 'manufacturer.name';\n const typeField = 'type';\n\n return [\n this.colDefBuilderFactoryService.getBuilder().withHeaderName('TEXTILE_DATA.GROUPS_AND_MACHINES').withField('machineGroup.name').withRowGroup().withHide(true).build(),\n this.colDefBuilderFactoryService.getBuilder().withColId(manufacturerField).withField(manufacturerField, true).withHeaderName('MACHINE.MANUFACTURER').build(),\n this.colDefBuilderFactoryService.getBuilder().withColId(typeField).withField(typeField, true).withHeaderName('GENERAL.TYPE').build()\n ];\n }\n\n private getAutoGroupColumnDef(): ColDef {\n return this.colDefBuilderFactoryService\n .getBuilder()\n .withHeaderName('TEXTILE_DATA.GROUPS_AND_MACHINES')\n .withField('name')\n .withCellRenderer('agGroupCellRenderer', {\n checkbox: this.selectable\n })\n .withCellClass('machine-group')\n .withSuppressMovable()\n .build();\n }\n\n private onRowSelected(api: GridApi): void {\n if (this.fixedSelectedMachineId && !api.getSelectedRows().includes(this.machines.find((machine: MachineOverviewList) => machine.id === this.fixedSelectedMachineId))) {\n api.forEachNode((node: RowNode) => {\n if (node.data?.id === this.fixedSelectedMachineId) {\n node.setSelected(true);\n }\n });\n } else {\n this.selectedMachinesChange.emit(api.getSelectedRows());\n\n if (this.showSelected) {\n api.onFilterChanged();\n }\n }\n }\n\n private onFilterChanged(gridApi: GridApi): void {\n if (gridApi.getDisplayedRowCount() < 1) {\n this.gridOptions.noRowsOverlayComponentParams = this.getNoRowsOverlayTitleParameters();\n gridApi.showNoRowsOverlay();\n } else {\n gridApi.hideOverlay();\n }\n }\n\n private getNoRowsOverlayTitleParameters(): Partial {\n const parameters: Partial = {\n scale: 1,\n titleKey: null,\n titleParam: null,\n hideDescription: true,\n isAnyFilterPresent: () => {\n return ((this.showSelected && this.machinesGrid.api.getSelectedRows().length > 0) || !this.showSelected) && this.machinesGrid?.api?.isAnyFilterPresent();\n }\n };\n\n if (this.showSelected) {\n parameters.titleKey = 'PRODUCTION_ORDER.OVERLAY.NO_OBJECTS_SELECTED_YET';\n parameters.titleParam = {objects: this.translate.instant('MACHINE.MACHINE', {count: 2}).toLowerCase()};\n } else {\n parameters.titleParam = 'MACHINE.MACHINE';\n }\n\n return parameters;\n }\n\n private setFilteredText(gridApi: GridApi): void {\n this.filteredText = gridApi.getQuickFilter()?.toLowerCase();\n }\n}\n","import {CountConfiguration} from '@domain/data-unit-setup/count-configuration';\n\nexport class OverviewListDataUnitSetup {\n private _id: number;\n private _name: string;\n private _countConfiguration: CountConfiguration;\n\n public constructor(id: number, name: string, countConfiguration: CountConfiguration) {\n this._id = id;\n this._name = name;\n this._countConfiguration = countConfiguration;\n }\n\n public get id(): number {\n return this._id;\n }\n\n public set id(id: number) {\n this._id = id;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public set name(name: string) {\n this._name = name;\n }\n\n public get countConfiguration(): CountConfiguration {\n return this._countConfiguration;\n }\n\n public set countConfiguration(countConfiguration: CountConfiguration) {\n this._countConfiguration = countConfiguration;\n }\n\n public static fromJSON(dataUnitSetupJSON: any): OverviewListDataUnitSetup {\n return new OverviewListDataUnitSetup(dataUnitSetupJSON.id, dataUnitSetupJSON.name, CountConfiguration.fromJSON(dataUnitSetupJSON.countConfiguration));\n }\n}\n","import {Component} from '@angular/core';\nimport {DataUnitSetupCatalogStatus} from '@domain/data-unit-setup/data-unit-setup-catalog-status.enum';\nimport {ICellRendererAngularComp} from 'ag-grid-angular';\nimport {ICellRendererParams} from 'ag-grid-community';\n\n@Component({\n templateUrl: './data-unit-setup-catalog-overview-status.component.html',\n styleUrls: ['./data-unit-setup-catalog-overview-status.component.scss']\n})\nexport class DataUnitSetupCatalogOverviewStatusComponent implements ICellRendererAngularComp {\n private dataUnitSetupCatalogStatus: DataUnitSetupCatalogStatus;\n\n public getIconNameForDataUnitSetupCatalogStatus(): string {\n return DataUnitSetupCatalogStatus.getStatusIconName(this.dataUnitSetupCatalogStatus);\n }\n\n public isCancelledIcon(): boolean {\n return this.dataUnitSetupCatalogStatus === DataUnitSetupCatalogStatus.REJECTED;\n }\n\n public agInit(params: ICellRendererParams): void {\n this.dataUnitSetupCatalogStatus = params.value;\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n}\n","
\n \n
\n","
\n \n
\n @if (!getIsCatalog()) {\n \n }\n \n
\n \n
\n","import {AfterViewInit, Component, Inject, OnInit, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {GridIdentifier} from '@application/grids/grid-identifier.enum';\nimport {NavigationHelperService} from '@application/helper/navigation-helper/navigation-helper.service';\nimport {RouteUtils} from '@application/helper/routing/route-utils';\nimport {PhysicalQuantity} from '@domain/physical-quantity/physical-quantity';\nimport {PhysicalUnit} from '@domain/physical-quantity/physical-unit';\nimport {HttpPhysicalQuantitiesService} from '@infrastructure/http/physical-quantity/http-physical-quantities.service';\nimport {BaseComponent, ColDefBuilderFactoryService, DialogComponentData, GridOptionsBuilderFactoryService, NoDataOverlayComponentParams, OverlayComponentParams} from '@vdw/angular-component-library';\nimport {AgGridAngular} from 'ag-grid-angular';\nimport {ColDef, GridApi, GridOptions} from 'ag-grid-community';\nimport {takeUntil} from 'rxjs';\n\n@Component({\n templateUrl: './select-unit.component.html'\n})\nexport class SelectUnitComponent extends BaseComponent implements OnInit, AfterViewInit {\n @ViewChild('unitsGrid') public unitsGrid: AgGridAngular;\n public listOfGridOptions: GridOptions[];\n public listOfGridApis: GridApi[];\n public listOfUnits: PhysicalUnit[];\n\n private physicalQuantityId: number;\n private isCatalog: boolean = false;\n\n public constructor(\n private readonly physicalQuantityService: HttpPhysicalQuantitiesService,\n private readonly dialogRef: MatDialogRef,\n private readonly gridOptionsBuilderFactoryService: GridOptionsBuilderFactoryService,\n private readonly colDefBuilderFactoryService: ColDefBuilderFactoryService,\n private readonly navigationHelperService: NavigationHelperService>,\n @Inject(MAT_DIALOG_DATA) data: any\n ) {\n super();\n this.physicalQuantityId = data.physicalQuantityId;\n this.isCatalog = data.isCatalog;\n }\n\n public get gridOptionsForListOfUnits(): GridOptions {\n return this.listOfGridOptions[0];\n }\n\n public ngOnInit(): void {\n this.setGridOptionsForListOfUnits();\n const request = this.isCatalog ? this.physicalQuantityService.getCatalogById(this.physicalQuantityId) : this.physicalQuantityService.getById(this.physicalQuantityId);\n request.pipe(takeUntil(this.unSubscribeOnViewDestroy)).subscribe((physicalQuantity: PhysicalQuantity) => {\n this.listOfUnits = physicalQuantity.physicalUnits;\n });\n }\n\n public ngAfterViewInit(): void {\n this.listOfGridApis = [this.unitsGrid?.api];\n }\n\n public getIsCatalog(): boolean {\n return this.isCatalog;\n }\n\n public selectUnit(): void {\n this.dialogRef.close(this.unitsGrid.api.getSelectedRows()[0]);\n }\n\n public canSelectUnit(): boolean {\n return this.unitsGrid?.api?.getSelectedRows().length > 0;\n }\n\n public navigateToAddUnit(): void {\n this.navigationHelperService.navigateToNextRouteWithPartialState>(\n {dialogComponent: SelectUnitComponent},\n RouteUtils.paths.settings.physicalQuantity.editPhysicalQuantity.absolutePath.replace(':id', this.physicalQuantityId.toString())\n );\n }\n\n private setGridOptionsForListOfUnits(): void {\n this.listOfGridOptions = [\n this.gridOptionsBuilderFactoryService\n .getBuilder(this.getColumnDefsForListOfUnits(), GridIdentifier.SELECT_UNIT)\n .withOnCellDoubleClicked(() => this.selectUnit())\n .withLoadingOverlay({\n scale: 0.7\n } as OverlayComponentParams)\n .withNoRowsOverlay({\n scale: 0.7,\n titleParam: 'GENERAL.UNIT.UNIT',\n hideDescription: true\n } as NoDataOverlayComponentParams)\n .build()\n ];\n }\n\n private getColumnDefsForListOfUnits(): ColDef[] {\n return [\n this.colDefBuilderFactoryService.getBuilder().withField('name', true).withHeaderName('GENERAL.NAME').build(),\n this.colDefBuilderFactoryService.getBuilder().withField('description', true).withHeaderName('GENERAL.DESCRIPTION').build()\n ];\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TextileDataSharedModule} from '@presentation/pages/textile-data/textile-data-shared.module';\nimport {SelectUnitComponent} from './add/counter/add/select-unit/select-unit.component';\n\n@NgModule({\n imports: [TextileDataSharedModule],\n declarations: [SelectUnitComponent],\n exports: [SelectUnitComponent]\n})\nexport class DeviceTemplateSharedModule {}\n","import {Component} from '@angular/core';\nimport {OverviewListMachineForDocumentation} from '@domain/machine/overview-list-machine-for-documentation';\nimport {ICellRendererAngularComp} from 'ag-grid-angular';\nimport {ICellRendererParams} from 'ag-grid-community';\n\n@Component({\n templateUrl: './machine-documentation-order-id.component.html',\n styleUrls: ['./machine-documentation-order-id.component.scss']\n})\nexport class MachineDocumentationOrderIdComponent implements ICellRendererAngularComp {\n public orderId: string;\n\n public agInit(params: ICellRendererParams): void {\n const overviewListMachineForDocumentation: OverviewListMachineForDocumentation = params.data;\n this.orderId = overviewListMachineForDocumentation.orderId;\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n}\n","
\n \n \n
\n","import {Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Params} from '@angular/router';\nimport {GridIdentifier} from '@application/grids/grid-identifier.enum';\nimport {StringUtils} from '@application/helper/string-utils';\nimport {OverviewListMachineForDocumentation} from '@domain/machine/overview-list-machine-for-documentation';\nimport {MachinesDocumentation, MACHINES_DOCUMENTATION} from '@infrastructure/http/machines-documentation/machines-documentation';\nimport {MachineDocumentationOrderIdComponent} from '@presentation/pages/texbot/machine-documentation/machines-list/machine-documentation-order-id/machine-documentation-order-id.component';\nimport {BaseComponent, ColDefBuilderFactoryService, convertMachineOrderIdIfLegacy, GridOptionsBuilderFactoryService, TranslateService} from '@vdw/angular-component-library';\nimport {AgGridAngular} from 'ag-grid-angular';\nimport {ColDef, GridApi, GridOptions, IRowNode, ITooltipParams, RowClickedEvent, RowDataUpdatedEvent, ValueGetterParams} from 'ag-grid-community';\nimport {find, indexOf, isEmpty, isEqual, isNil} from 'lodash-es';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'app-machines-list',\n templateUrl: './machines-list.component.html'\n})\nexport class MachinesListComponent extends BaseComponent implements OnInit, OnChanges {\n @ViewChild('machinesGrid') public machinesGrid: AgGridAngular;\n\n @Input() public machineId: number;\n @Input() public nameChanged: string;\n @Input() public gridIdentifier: GridIdentifier;\n @Output() public machineSelected: EventEmitter = new EventEmitter();\n public listOfMachines: OverviewListMachineForDocumentation[];\n public gridOptionsForMachines: GridOptions;\n\n private selectedMachine: OverviewListMachineForDocumentation;\n\n public constructor(\n @Inject(MACHINES_DOCUMENTATION) private readonly machinesDocumentation: MachinesDocumentation,\n private readonly translate: TranslateService,\n private readonly activatedRoute: ActivatedRoute,\n private readonly gridOptionsBuilderFactoryService: GridOptionsBuilderFactoryService,\n private readonly colDefBuilderFactoryService: ColDefBuilderFactoryService\n ) {\n super();\n }\n\n public ngOnInit(): void {\n this.initialiseGridOptionsForMachine();\n this.getMachinesAndSetSelectedMachineIfOrderIdIsProvided();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if ('nameChanged' in changes && !isNil(changes.nameChanged.currentValue)) {\n const nameChanged = changes.nameChanged.currentValue;\n const machineToUpdate = this.machinesGrid.api.getRowNode(nameChanged.id);\n const data = machineToUpdate.data;\n data.name = nameChanged.newName;\n this.machinesGrid.api.applyTransaction({update: [data]});\n }\n }\n\n public deselectMachine(): void {\n this.selectedMachine = null;\n this.machinesGrid.api.deselectAll();\n }\n\n private getMachinesAndSetSelectedMachineIfOrderIdIsProvided(): void {\n this.machinesDocumentation\n .getAll()\n .pipe(takeUntil(this.unSubscribeOnViewDestroy))\n .subscribe((listOfMachines: OverviewListMachineForDocumentation[]) => {\n this.listOfMachines = listOfMachines;\n\n this.setSelectedMachineIfOrderIdIsProvided();\n });\n }\n\n private setSelectedMachineIfOrderIdIsProvided(): void {\n this.activatedRoute.queryParams.pipe(takeUntil(this.unSubscribeOnViewDestroy)).subscribe((queryParams: Params) => {\n if (!isEmpty(queryParams)) {\n const machineOrderId = convertMachineOrderIdIfLegacy(queryParams.orderId);\n\n this.selectedMachine = find(this.listOfMachines, {orderId: machineOrderId});\n if (!isNil(this.selectedMachine)) {\n this.setSelectedMachine();\n this.machinesGrid.api.ensureIndexVisible(indexOf(this.listOfMachines, this.selectedMachine));\n }\n }\n });\n }\n\n private initialiseGridOptionsForMachine(): void {\n this.gridOptionsForMachines = this.gridOptionsBuilderFactoryService\n .getBuilder(this.getColumnDefsForMachines(), GridIdentifier.MACHINE_LIST)\n .withOnRowClicked((rowClickedEvent: RowClickedEvent) => this.onRowClicked(rowClickedEvent))\n .withOnRowDataUpdated(({api}: RowDataUpdatedEvent) => {\n if (!isNil(this.machineId)) {\n const rowNodeOfSelectedMachine: IRowNode = api.getRowNode(`${this.machineId}`);\n\n if (!isNil(rowNodeOfSelectedMachine)) {\n rowNodeOfSelectedMachine.setSelected(true);\n }\n }\n })\n .withNoRowsOverlay({\n titleParam: 'MACHINE.MACHINE',\n hideDescription: true,\n scale: 0.8\n })\n .withLoadingOverlay()\n .build();\n }\n\n private onRowClicked(event: RowClickedEvent): void {\n if (event && event.node && event.node.data) {\n const machineOfRow: OverviewListMachineForDocumentation = event.node.data;\n if (event.node.isSelected() && !isEqual(this.selectedMachine, machineOfRow)) {\n this.selectedMachine = machineOfRow;\n\n this.setSelectedMachine();\n } else {\n this.deselectRow(event.api);\n }\n }\n }\n\n private deselectRow(gridApi: GridApi): void {\n this.selectedMachine = null;\n gridApi.deselectAll();\n\n this.setSelectedMachine();\n }\n\n private getMachineNameOrPlaceholder(params: ValueGetterParams | ITooltipParams): string {\n return StringUtils.getPropertyValueOrGeneralPlaceholderIfEmpty(params.data, 'name', this.translate);\n }\n\n private getColumnDefsForMachines(): ColDef[] {\n return [\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('name', true)\n .withHeaderName('GENERAL.NAME')\n .withComparator(StringUtils.stringComparator)\n .withValueGetter((params: ValueGetterParams) => this.getMachineNameOrPlaceholder(params), true)\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('orderId', true)\n .withHeaderName('MACHINE.DETAILS.ORDER_ID')\n .withCellRenderer(MachineDocumentationOrderIdComponent)\n .withComparator(StringUtils.stringComparator)\n .build()\n ];\n }\n\n private setSelectedMachine(): void {\n this.machineSelected.emit(this.selectedMachine);\n }\n}\n","\n","import {NgModule} from '@angular/core';\nimport {SharedModule} from '@shared/shared.module';\nimport {AgGridModule} from 'ag-grid-angular';\nimport {MachinesListComponent} from './machine-documentation/machines-list/machines-list.component';\n\n@NgModule({\n imports: [AgGridModule, SharedModule],\n declarations: [MachinesListComponent],\n exports: [MachinesListComponent, SharedModule]\n})\nexport class TexbotSharedModule {}\n","import {NgModule} from '@angular/core';\nimport {FINISHINGS} from '@infrastructure/http/finishing/finishings';\nimport {HttpFinishingsService} from '@infrastructure/http/finishing/http-finishings.service';\nimport {HttpProductionSchedulesService} from '@infrastructure/http/production-schedule/http-production-schedules.service';\nimport {PRODUCTION_SCHEDULES} from '@infrastructure/http/production-schedule/production-schedules';\nimport {SharedModule} from '@shared/shared.module';\nimport {AgGridModule} from 'ag-grid-angular';\nimport {PathLengthComponent} from './add/plan/builder-summary/path-length/path-length.component';\nimport {PathWidthComponent} from './add/plan/builder-summary/path-width/path-width.component';\nimport {ProductionScheduleBuilderSummaryComponent} from './add/plan/builder-summary/production-schedule-builder-summary.component';\nimport {ConfirmProductionScheduleDesktopComponent} from './confirm/confirm-desktop/confirm-production-schedule-desktop.component';\nimport {WarningsForProductionSchedulePlanComponent} from './confirm/confirm-desktop/warnings-for-production-schedule-plan/warnings-for-production-schedule-plan.component';\nimport {ConfirmProductionScheduleOnDesktopCommand} from './confirm/confirm-production-schedule-on-desktop-command';\nimport {ConflictsWithOrderLinesAmountComponent} from './confirm/conflicts-with-order-lines/amount/conflicts-with-order-lines-amount.component';\nimport {ConflictsWithOrderLinesComponent} from './confirm/conflicts-with-order-lines/conflicts-with-order-lines.component';\n\n@NgModule({\n providers: [ConfirmProductionScheduleOnDesktopCommand, {provide: PRODUCTION_SCHEDULES, useClass: HttpProductionSchedulesService}, {provide: FINISHINGS, useClass: HttpFinishingsService}],\n imports: [AgGridModule, SharedModule],\n declarations: [\n ConfirmProductionScheduleDesktopComponent,\n WarningsForProductionSchedulePlanComponent,\n ConflictsWithOrderLinesAmountComponent,\n ConflictsWithOrderLinesComponent,\n ProductionScheduleBuilderSummaryComponent,\n PathWidthComponent,\n PathLengthComponent\n ],\n exports: [ConflictsWithOrderLinesComponent, ProductionScheduleBuilderSummaryComponent]\n})\nexport class ProductionScheduleSharedModule {}\n","import {Injectable} from '@angular/core';\r\nimport {LastModifiedCardUtils} from '@application/helper/last-modified-card-utils';\r\nimport {\r\n ColDefBuilderFactoryService,\r\n GridOptionsBuilder,\r\n LinkIconRendererComponent,\r\n NoDataOverlayComponentParams,\r\n OverlayComponentParams,\r\n StringUtils,\r\n TranslateService\r\n} from '@vdw/angular-component-library';\r\nimport {ColDef, ICellRendererParams} from 'ag-grid-community';\r\n\r\n@Injectable()\r\nexport class FixedScheduleOverviewService {\r\n private readonly pageUrls = LastModifiedCardUtils.getPageUrls('fixedSchedule');\r\n\r\n public constructor(\r\n private readonly colDefBuilderFactoryService: ColDefBuilderFactoryService,\r\n private readonly translate: TranslateService\r\n ) {}\r\n\r\n public getColumnDefs(withLinkIcon: boolean = true): ColDef[] {\r\n let nameColDef = this.colDefBuilderFactoryService.getBuilder().withColIdAndField('name', true).withHeaderName('GENERAL.NAME').withComparator(StringUtils.stringComparator);\r\n\r\n if (withLinkIcon) {\r\n nameColDef = nameColDef.withCellRenderer(LinkIconRendererComponent, (params: ICellRendererParams) => {\r\n return {\r\n params,\r\n editPageUrl: this.pageUrls.edit\r\n };\r\n });\r\n }\r\n\r\n return [\r\n nameColDef.build(),\r\n this.colDefBuilderFactoryService\r\n .getBuilder()\r\n .withHeaderName('GENERAL.REPORT_DATA_SET_TEMPLATES.REPORT_ITEM_TEMPLATE_FIELD.ORDER_NAME')\r\n .withColId('productionOrderName')\r\n .withField('productionOrder.name')\r\n .build(),\r\n this.colDefBuilderFactoryService.getBuilder().withHeaderName('TEXTILE_DATA.CREEL.NUMBER_OF_DENTS').withColId('nrDentsForFabric').withField('dentsForFabric').build(),\r\n this.colDefBuilderFactoryService.getBuilder().withHeaderName('TEXTILE_DATA.FIXED_ORDER.SOLENOIDS_PER_PILE').withColId('solenoidsPerPile').withField('nrSolenoidsPerPile').build(),\r\n this.colDefBuilderFactoryService.getBuilder().withHeaderName('TEXTILE_DATA.MACHINE_QUALITY.REEDDENSITY').withColIdAndField('reedDensityInDentsPerMeter').build(),\r\n this.colDefBuilderFactoryService.getBuilder().withHeaderName('MACHINE.DETAILS.NR_CREEL_POSITIONS').withColId('amountOfCreelPositions').withField('numberOfCreelPositions').build()\r\n ];\r\n }\r\n\r\n public getDefaultGridOptionsBuilder(builder: GridOptionsBuilder): GridOptionsBuilder {\r\n return builder\r\n .withLoadingOverlay({\r\n scale: 0.7\r\n } as OverlayComponentParams)\r\n .withNoRowsOverlay({\r\n scale: 0.7,\r\n titleParam: this.translate.instant('TEXTILE_DATA.FIXED_ORDER.FIXED_ORDER', {count: 1}),\r\n hideDescription: true\r\n } as NoDataOverlayComponentParams);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {LastModifiedCardUtils} from '@application/helper/last-modified-card-utils';\nimport {HttpYarnTypesService} from '@infrastructure/http/yarn-type/http-yarn-types.service';\nimport {AgGridUtils, BaseComponent, ColDefBuilderFactoryService, LinkIconRendererComponent, StringUtils, Unit} from '@vdw/angular-component-library';\nimport {ColDef, ICellRendererParams, ITooltipParams, ValueGetterParams} from 'ag-grid-community';\nimport {L10nIntlService} from 'angular-l10n';\nimport {map, Observable, ReplaySubject, takeUntil} from 'rxjs';\nimport {OverviewListYarnType} from './overview-list-yarn-type';\n\n@Injectable()\nexport class OverviewListYarnTypeService extends BaseComponent {\n private pageUrls = LastModifiedCardUtils.getPageUrls('yarnType');\n\n public constructor(\n private readonly yarnTypes: HttpYarnTypesService,\n private readonly colDefBuilderFactoryService: ColDefBuilderFactoryService,\n private readonly l10nIntlService: L10nIntlService\n ) {\n super();\n }\n\n public getColumnDefsForListOfYarnTypes(possibleYarnTypesSubject: ReplaySubject, canClickName: boolean): ColDef[] {\n return [\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('name', true)\n .withHeaderName('GENERAL.NAME')\n .withComparator(StringUtils.stringComparator)\n .withCellRenderer(LinkIconRendererComponent, (params: ICellRendererParams) => {\n return {\n params,\n canClick: canClickName,\n editPageUrl: this.pageUrls.edit\n };\n })\n .withTextMultiFilter(this.getPossibleColumnsValues('name'))\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withColId('yarnTypeThreads.thread.rawMaterial.name')\n .withField('threads')\n .withHeaderName('TEXTILE_DATA.YARN_TYPE.RAW_MATERIAL')\n .withValueGetter((params: ValueGetterParams) => params.data.threads.map((thread: {rawMaterial: string}) => thread.rawMaterial).join(', '), true)\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('yarnTypeThreads.thread.rawMaterial.name'))\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('yarnCount')\n .withHeaderName('TEXTILE_DATA.YARN_TYPE.YARN_COUNT')\n .withRightAlignment()\n .withCellRenderer((params: ICellRendererParams) => AgGridUtils.buildAgGridCellTextWithUnit(params.getValue(), (params.node.data as OverviewListYarnType).yarnCountUnit, this.l10nIntlService))\n .withTooltipValueGetter((params: ITooltipParams) => AgGridUtils.buildAgGridCellTooltipWithUnit(params.value, (params.node.data as OverviewListYarnType).yarnCountUnit, this.l10nIntlService))\n .withNumericMultiFilter(this.getPossibleColumnsValues('yarnCount'))\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('yarnCountInNm')\n .withHeaderName('TEXTILE_DATA.YARN_TYPE.YARN_COUNT', 1, false, 'GENERAL.UNIT.NUMBER_METRIC')\n .withRightAlignment()\n .withNumericMultiFilter(this.getPossibleColumnsValues('yarnCountInNm'))\n .withCellRenderer((params: ICellRendererParams) => AgGridUtils.buildAgGridCellTextWithUnit(params.getValue(), Unit.NUMBER_METRIC, this.l10nIntlService))\n .withTooltipValueGetter((params: ITooltipParams) => AgGridUtils.buildAgGridCellTooltipWithUnit(params.value, Unit.NUMBER_METRIC, this.l10nIntlService))\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('description', true)\n .withHeaderName('GENERAL.DESCRIPTION')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('description'))\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('threads')\n .withHeaderName('TEXTILE_DATA.YARN_TYPE.THREAD', 2, true)\n .withValueGetter((params: ValueGetterParams) => params.data.threads.length, true)\n .withNumericMultiFilter(\n possibleYarnTypesSubject.asObservable().pipe(\n map((listOfYarnTypes: OverviewListYarnType[]) => listOfYarnTypes.map((listOfYarnType: OverviewListYarnType) => listOfYarnType.threads.length)),\n takeUntil(this.unSubscribeOnViewDestroy)\n )\n )\n .withoutFilter()\n .withHide(true)\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('groupName', true)\n .withHeaderName('GENERAL.GROUP')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('groupName'))\n .withHide(true)\n .build(),\n this.colDefBuilderFactoryService\n .getBuilder()\n .withField('comment', true)\n .withHeaderName('GENERAL.COMMENT')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('comment'))\n .withHide(true)\n .build()\n ];\n }\n\n private getPossibleColumnsValues(columnIdentifier: string): Observable {\n return this.yarnTypes.getPossibleValues(columnIdentifier).pipe(takeUntil(this.unSubscribeOnViewDestroy));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n ColDefBuilderFactoryService,\n ContentSwitcherNavigationInput,\n CrudColdef,\n GridOptionsBuilder,\n LinkIconRendererComponent,\n NoDataOverlayComponentParams,\n OverlayComponentParams,\n TranslateService\n} from '@vdw/angular-component-library';\nimport {ICellRendererParams} from 'ag-grid-community';\nimport {Subject} from 'rxjs';\nimport {AddStockLocationComponent} from './add-stock-location/add-stock-location.component';\n\n@Injectable({providedIn: 'root'})\nexport class StockLocationOverviewService {\n public constructor(\n private readonly colDefBuilder: ColDefBuilderFactoryService,\n private readonly translate: TranslateService\n ) {}\n\n public getColumnDefs(withLinkIcon: boolean = true, rowActionsComplete?: Subject): CrudColdef {\n let nameColDef = this.colDefBuilder\n .getBuilder()\n .withField('name')\n .withHeaderName(this.translate.instant('UTILITIES.TOOL.STOCK_LOCATION', {count: 1}));\n\n if (withLinkIcon) {\n nameColDef = nameColDef.withCellRenderer(LinkIconRendererComponent, (params: ICellRendererParams) => {\n return {\n params,\n rowActionsComplete,\n contentSwitcherEntry: {componentInfo: {component: AddStockLocationComponent}} as ContentSwitcherNavigationInput\n };\n });\n }\n\n return {colDefs: [this.colDefBuilder.getBuilder().withField('id').withHide().build(), nameColDef.build()], rowActionsComplete} as CrudColdef;\n }\n\n public getDefaultGridOptionsBuilder(builder: GridOptionsBuilder): GridOptionsBuilder {\n return builder\n .withLoadingOverlay({scale: 0.7} as OverlayComponentParams)\n .withNoRowsOverlay({scale: 0.7, titleParam: this.translate.instant('UTILITIES.TOOL.STOCK_LOCATION', {count: 1}), hideDescription: true} as NoDataOverlayComponentParams);\n }\n}\n","import {Injectable, Injector} from '@angular/core';\nimport {GridIdentifier} from '@application/grids/grid-identifier.enum';\nimport {GridActionButtonsHelper} from '@application/helper/grid-action-buttons-helper/grid-action-buttons-helper';\nimport {PageTypeEnum} from '@application/helper/navigation-helper/page-type.enum';\nimport {RemoveConfirmationService} from '@application/helper/remove-confirmation/remove-confirmation.service';\nimport {AddComponentInput} from '@application/helper/routing/add-component-input.interface';\nimport {IdName} from '@domain/id-name';\nimport {Permission} from '@domain/profile/permission.enum';\nimport {HttpStockLocationService} from '@infrastructure/http/stock-location/http-stock-location.service';\nimport {HttpToolsService} from '@infrastructure/http/tool/http-tools.service';\nimport {\n AssertionUtils,\n ContentSwitcherNavigationInput,\n CrudObjectSelectionDialogInput,\n CrudObjectSelectionDialogNewComponent,\n CrudOverviewDataBuilderFactoryService,\n CrudOverviewDataConfig,\n DialogBuilderFactoryService,\n DialogType,\n GridButtonClickedEvent,\n GridOptionsBuilder,\n NavigationHelperPrototypeService,\n TranslateService\n} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\nimport {AddStockLocationComponent} from './add-stock-location/add-stock-location.component';\nimport {StockLocationOverviewService} from './stock-location-overview.service';\n\n@Injectable({providedIn: 'root'})\nexport class StockLocationSelectionService {\n private config: CrudOverviewDataConfig;\n\n public constructor(\n private readonly injector: Injector,\n private readonly tools: HttpToolsService,\n private readonly stockLocationsService: HttpStockLocationService,\n private readonly translate: TranslateService,\n private readonly overview: StockLocationOverviewService,\n private readonly builderFactoryService: CrudOverviewDataBuilderFactoryService,\n private readonly gridActionButtonsHelper: GridActionButtonsHelper,\n private readonly dialogBuilderFactoryService: DialogBuilderFactoryService,\n private readonly removeConfirmation: RemoveConfirmationService,\n private readonly navigationHelper: NavigationHelperPrototypeService\n ) {\n this.init();\n }\n\n public init(): void {\n const crudOverviewButtonConfigs = this.gridActionButtonsHelper.getActionButtonsWithNewRouting(\n AddStockLocationComponent,\n Permission.TEXSTYLE_STOCK_LOCATION_EDIT,\n ({gridApi, rowNode}: GridButtonClickedEvent) => {\n const data = AssertionUtils.isNullOrUndefined(rowNode) ? (gridApi?.getSelectedRows()[0] as IdName) : (rowNode.data as IdName);\n\n if (!AssertionUtils.isEmpty(this.config.selectedObjects) && data.id === this.config.selectedObjects[0]?.id) {\n this.dialogBuilderFactoryService.getBuilder().openAlertDialog({\n titleText: this.translate.instant('CONFLICTS.DIALOG.IN_USE', {object: data.name}),\n messageText: this.translate.instant('CONFLICTS.DIALOG.DESELECT'),\n type: DialogType.DELETE\n });\n return;\n }\n\n this.removeConfirmation.open(data, this.stockLocationsService.delete(data.id), 'UTILITIES.TOOL.STOCK_LOCATION', gridApi);\n }\n );\n\n this.config = this.builderFactoryService\n .getBuilder()\n .withEntityName('UTILITIES.TOOL.STOCK_LOCATION')\n .withRowData(this.tools.getStockLocations())\n .withDefaultButtons(crudOverviewButtonConfigs)\n .withCrudGridOptions(this.overview.getColumnDefs(true, crudOverviewButtonConfigs.rowActionsComplete), GridIdentifier.STOCK_LOCATION_OVERVIEW, null, (builder: GridOptionsBuilder) => {\n builder = this.overview.getDefaultGridOptionsBuilder(builder);\n\n return builder.withRowSelection(false, false).build();\n })\n .build();\n }\n\n public openContentSwitcherDialog(inputValue: IdName, data: any): Observable {\n this.config.rowData = null;\n this.config.selectedObjects = [inputValue];\n\n return this.navigationHelper.navigateWithContentSwitcher({\n componentInfo: {\n component: CrudObjectSelectionDialogNewComponent,\n componentInputs: {\n config: this.config,\n newClickedEntry: {\n componentInfo: {component: AddStockLocationComponent, componentInputs: {pageType: PageTypeEnum.ADD, canShowHeader: true} as AddComponentInput}\n } as ContentSwitcherNavigationInput\n } as CrudObjectSelectionDialogInput\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {PlasticProductSelectionModule} from '@presentation/pages/textile-data/plastic-product/plastic-product-selection.module';\nimport {ToolOverviewService} from './overview/tool-overview.service';\nimport {ToolSelectionService} from './tool-selection.service';\n\n@NgModule({\n imports: [PlasticProductSelectionModule],\n providers: [ToolOverviewService, ToolSelectionService]\n})\nexport class ToolSelectionModule {}\n","import {Directive, TemplateRef} from '@angular/core';\nimport {DndDraggableDropListComponent} from './dnd-draggable-drop-list/dnd-draggable-drop-list.component';\n\n@Directive({\n selector: '[vdwDndDragPreviewContent]'\n})\nexport class DndDragPreviewContentDirective {\n public constructor(\n template: TemplateRef,\n private readonly dropList: DndDraggableDropListComponent\n ) {\n this.dropList.dragPreviewContent = template;\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 {Component, ElementRef, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\nimport {DndDraggable, DndListSettings} from '@ryware/ngx-drag-and-drop-lists';\nimport {takeUntil} from 'rxjs';\nimport {BaseComponent} from '../../../../base-component';\nimport {AssertionUtils} from '../../../../common/utils/assertion-utils';\nimport {DndDragDropHelperService} from '../dnd-drag-drop-helper-service/dnd-drag-drop-helper.service';\nimport {DndDragStartedData} from '../dnd-drop-list-interfaces/dnd-drag-started-data';\nimport {DndDraggableDropListEntry} from '../dnd-drop-list-interfaces/dnd-draggable-drop-list-entry';\n\n@Component({\n selector: 'vdw-dnd-draggable-drop-list',\n templateUrl: './dnd-draggable-drop-list.component.html',\n styleUrls: ['./dnd-draggable-drop-list.component.scss']\n})\nexport class DndDraggableDropListComponent extends BaseComponent implements OnInit {\n @Input() public dropListContent: TemplateRef;\n @Input() public dragPreviewContent: TemplateRef;\n @Input() public parentEntry: DndDraggableDropListEntry;\n @Input() public dropListEntry: DndDraggableDropListEntry;\n @Input() public parentOnlyClass: string = '';\n @Input() public childOnlyClass: string = '';\n\n @ViewChild('dragPreview') public dragPreview: ElementRef;\n @ViewChild(DndDraggable, {static: true}) public dndDraggable: DndDraggable;\n\n public dndListSettings: DndListSettings = {\n disabled: false,\n allowedTypes: [],\n effectAllowed: 'move'\n };\n\n public get dragActive(): boolean {\n return this.dragDropHelperService.dragActive;\n }\n\n public set dragActive(value: boolean) {\n this.dragDropHelperService.dragActive = value;\n }\n\n private nestedDepth: number;\n\n public get isEmpty(): boolean {\n return AssertionUtils.isEmpty(this.dropListEntry?.childEntries);\n }\n\n public constructor(protected readonly dragDropHelperService: DndDragDropHelperService) {\n super();\n }\n\n @Input()\n public isDropAllowed: (parent: DndDraggableDropListEntry, child: DndDraggableDropListEntry) => boolean = () => true;\n\n public ngOnInit(): void {\n this.dndLibraryFixes();\n this.updateAllowedTypesOnDragStart();\n\n this.nestedDepth = this.dragDropHelperService.getNestedDepth(this.dropListEntry);\n }\n\n public removeGroup(): void {\n this.parentEntry.childEntries.splice(this.parentEntry.childEntries.indexOf(this.dropListEntry), 1);\n\n this.dragDropHelperService.entryRemoved.emit({parentEntry: this.parentEntry, removedEntry: this.dropListEntry});\n }\n\n public dragDrop(entry: DndDraggableDropListEntry): void {\n this.dragDropHelperService.dragDrop.emit(entry);\n }\n\n private dndLibraryFixes(): void {\n const originalHandleDragStart = this.dndDraggable.handleDragStart;\n this.dndDraggable.handleDragStart = (event: DragEvent): void => {\n originalHandleDragStart.call(this.dndDraggable, event);\n const element = this.dragPreview.nativeElement.nextSibling as HTMLElement;\n event.dataTransfer.setDragImage(element, 28, 28);\n\n this.dragDropHelperService.dragStarted.emit({sourceParent: this.parentEntry, draggedEntry: this.dropListEntry});\n };\n\n const originalDragEnd = this.dndDraggable.handleDragEnd;\n this.dndDraggable.handleDragEnd = (event: DragEvent): void => {\n originalDragEnd.call(this.dndDraggable, event);\n this.dndDraggable.dndDragEnd.emit(event);\n\n this.dragDropHelperService.dragEnded.emit(this.dropListEntry);\n };\n }\n\n private getNumberOfChildLevels(entry: DndDraggableDropListEntry): number {\n if (AssertionUtils.isEmpty(entry.childEntries)) {\n return 0;\n }\n return 1 + Math.max(...entry.childEntries.map((childEntry: DndDraggableDropListEntry) => this.getNumberOfChildLevels(childEntry)));\n }\n\n private updateAllowedTypesOnDragStart(): void {\n this.dragDropHelperService.dragStarted.pipe(takeUntil(this.unSubscribeOnViewDestroy)).subscribe((data: DndDragStartedData) => {\n const childDepth = this.getNumberOfChildLevels(data.draggedEntry);\n let dropAllowed = this.nestedDepth + childDepth < this.dragDropHelperService.maxNestedDepth ?? this.dragDropHelperService.DEFAULT_MAX_NESTED_DEPTH;\n dropAllowed &&= this.isDropAllowed(this.dropListEntry, data.draggedEntry);\n this.dndListSettings.allowedTypes = dropAllowed ? ['allowed'] : ['not_allowed'];\n });\n }\n}\n","import {Directive, TemplateRef} from '@angular/core';\nimport {DndDraggableDropListComponent} from './dnd-draggable-drop-list/dnd-draggable-drop-list.component';\n\n@Directive({\n selector: '[vdwDndDropListContent]'\n})\nexport class DndDropListContentDirective {\n public constructor(\n template: TemplateRef,\n private readonly dropList: DndDraggableDropListComponent\n ) {\n this.dropList.dropListContent = template;\n }\n}\n","import { defer } from './defer';\nexport function iif(condition, trueResult, falseResult) {\n return defer(() => (condition() ? trueResult : falseResult));\n}\n"],"x_google_ignoreList":[71]}